计算机系统应用  2022, Vol. 31 Issue (2): 96-101   PDF    
基于51与K66双芯片的智能小车控制系统
张荣辉1, 黄敏2, 江华丽3, 胡香琳1     
1. 闽南科技学院 光电信息学院, 泉州 362332;
2. 福建江夏学院 先进传感技术实验室, 福州 350108;
3. 厦门理工学院 光电与通信工程学院, 厦门 361024
摘要:本文提出一种新的智能小车主动及被动控制手段, 采用STC89C51RC与K66双芯片实现对智能小车的控制. 运用蓝牙通信技术实现通过手机端APP控制小车进行基本动作, 同时利用超声波测距技术实现小车自动避障. 此外, 还加入了红外探测传感器以实现小车的自动循迹, 结合低功耗的MT9V032摄像头, 利用图像识别技术实现了信标灯寻的. 实验测试结果表明该移动小车在光照条件适当的情况下具备良好的循迹性能, 在小车速度为20 cm/s时避障准确率达到99%, 能够以3.1 m/s的稳定速度识别到直径为7.85 m辐射范围内的信标灯.
关键词: 小车    超声波    循迹    摄像头    图像识别    
Intelligent Car Control System Based on 51 and K66 Dual Chips
ZHANG Rong-Hui1, HUANG Min2, JIANG Hua-Li3, HU Xiang-Lin1     
1. Faculty of Optoelectronic Information, Minnan Science and Technology University, Quanzhou 362332, China;
2. Laboratory of Advanced Sensing Technology, Fujian Jiangxia University, Fuzhou 350108, China;
3. School of Opto-electronic and Communication Engineering, Xiamen University of Technology, Xiamen 361024, China
Abstract: In this study, an active and passive control method of intelligent cars is proposed. The STC89C51RC and K66 dual chips are used to control intelligent cars. With the Bluetooth communication technology, the car is controlled on a mobile phone APP. Meanwhile, automatic obstacle avoidance of the car is achieved with the ultrasonic ranging technology. In addition, an infrared detection sensor is added to facilitate the automatic tracking of the car. Beacon light homing is accomplished with the image recognition technology and the low-power MT9V032 camera. The experimental results show that the mobile car delivers a good tracking performance under proper lighting conditions. When the speed of the car is 20 cm/s, the obstacle avoidance accuracy reaches 99% and beacon lights within 7.85 m away from the car can be identified at a stable speed of 3.1 m/s.
Key words: smart car     ultrasonic     tracking     camera     image recognition technology    

1 引言

移动智能小车在主控中心、传感器以及执行部件这3个主要部分的共同协作下能够进行环境感知、做出规划决策从而实现计划任务. 在整个过程中涉及到传感、智能控制算法、多信息融合、通信等技术, 是一个高新技术集合体. 虽然我国智能小车技术的研究比国外起步晚一些[1], 但是也已取得了许多成果并广泛应用于军事、物流、安防、智能家居、机器人等各个领域. 曾贵苓等[2]利用 UWB定位技术实现智能搬运小车的目标物高精度跟随; 黄衍标等[3]利用多传感器检测技术结合移动小车设计出一款能够自主巡逻并智能预警和远程监控的机器人, 解决传统危化品仓库安全管理中落后的监控现状; 汪腾[4]以STM32F103 为主控芯片, 结合角度传感器与路径规划算法设计出一款扫地机器人. 刘永兵等[5]利用激光雷达与摄像头为感知单元实现了基于Intel SoC 的羽毛球捡拾机器人, 能够对散落在场地的羽毛球准确定位与无损拾捡. 结合物联网传感技术, 智能小车在主动及被动控制手段上的研究也越来越多样化: Qi[6]以STC90C52单片机为控制核心, 通过红外反射传感器检测路面信息, 判断SCM的内部程序并使用PWM信号控制小车绕电机运行的旋转, 以达到自动小车跟踪的目的, 但是由于仅使用8位单芯片设计控制系统, MCU资源限制无法增加更多光电传感设备, 造成小车允许运行速度不高, 避障准确率较低; Dong等[7]面向智能交通系统的车辆控制系统设计以STM32F103为主要控制芯片, 补充了道路检测模块, 显示模块和其他外围设备, 但是未充分利用摄像头功能辅助自动模式, 提高自动模式的跟踪与避障准确率; Lv等[8]设计了具有热源检测和跟踪功能的六足爬行机器人, 红外检测模块由菲涅尔透镜和热释电红外传感器组成. 当它在一定范围内检测到人体时, 它将自动跟踪. 然而仅使用红外传感器进行目标物体跟踪容易受到环境中发热物体的影响, 抗干扰能力差. 随着智能制造2025的到来, 各产业链智能化升级需求迫切, 各领域中移动小车的应用研究仍然会保持一定热度.

本设计采用STC89C51RC与NXP公司的K66双芯片实现对移动小车的控制. 移动小车包括遥控模式和自动模式. 遥控模式采用蓝牙通信, 通过手机APP可以控制小车进行基本动作; 自动模式无需人工参与, 实现循迹以及信标灯寻的功能. 小车在行驶过程中通过超声波测距实现避障[9], 采用红外探测实现循迹, 在小车上安装摄像头, 利用图像识别技术实现信标灯寻的.

2 系统硬件设计 2.1 系统结构

该控制系统由STC89C51RC单片机芯片主控小车的基本动作如前进、后退、转弯以及加减速, 飞思卡尔芯片K66控制小车进行摄像头寻的[10], 51单片机与K66通过串口相互通信. 使用12 V/5 200 mA的锂电池对机身进行供电. 整个系统主要包含蓝牙模块、红外循迹模块、摄像寻址模块、超声波避障模块等相互协调以实现功能. 小车控制系统组成框图如图1所示.

图 1 小车控制系统框图

2.2 双芯片控制

由STC89C51RC和K66这两块芯片通过串口相互通信, 相互作用控制其他模块运作. STC89C51RC芯片工作典型频率为12 MHz, 其内含有4组8位并行端口, 低功耗掉电模式<0.1 μA, 可外中断或专用定时器唤醒; 2个16位定时器; 具有EEPROM掉电保存的功能. 而采用K66芯片对摄像头采集的画面进行处理. K66芯片主频为180 MHz, 对摄像头的图像处理可以从容应对; 含有两路16位ADC, 5个串口, 4路IIC , 实现输出PWM、进行脉冲计数功能.

2.3 超声波避障

小车利用51芯片作为主控, 通过超声波传感器对运动前方的障碍物进行距离测量, 当距离小于设定值时, 控制小车的电机开始制动, 慢慢减速避免发生碰撞. 若未到达目的地, 小车将左转或右转避开障碍物, 直至完全避开, 随后小车按照原路线前进.

超声波测距模块采用的是HC-SR04超声波模块, 该模块精度高, 测量范围2–450 cm, 盲区约等于2 cm; 模块含有VCC电源端、trig (触发端)、echo (接收端)、out (空脚)、GND 端.

超声波主要由发射电路和接收电路组成, 超声波电路原理图所如图2所示.

图 2 超声波模块原理图

2.4 电机驱动模块

L298N是ST公司生产的一种高电压、大电流的电机驱动芯片; 采用15脚封装; 具有高电压工作电压, 最高电压可达46 V; 输出电流大, 瞬间峰值电流可达3 A; 可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载; 可以外接检测电阻, 将变化量反馈给控制电路. 具有驱动能力强、发热量低、抗干扰能力强的特点. 电机驱动模块PCB原理图如图3所示.

图 3 电机驱动模块

2.5 红外循迹

循迹功能实现采用红外模块, 该模块含有一对红外发射和接收管[11], 发射管发射出一定频率的红外线, 当遇到障碍物时, 红外线反射回来被接收管接收, 模块输出低电平; 若发出的红外线遇到深色物体则大部分会被吸收, 接收管能够收到反射红外线很少, 模块输出高电平. 可以通过电位器旋钮调节检测距离. 为了提高小车运行速度以及循迹的准确度, 采用三线循迹的方法. 在小车前端安装3个一体式红外收发模块1, 2, 3, 间隔距离与轨道宽度相匹配, 如图4所示.

2.6 蓝牙模块电路设计

使用带底板HC-05主从机一体的蓝牙模块, 含有TTL和RS232电平逻辑, 含有TXD数据发送端和RXD数据接收端, 并且模块兼容单片机系统. 当模块配对成功后, STA闪烁的时间会比连接时长一点(大约一次闪两下, 一下2 s). 其特性如表1所示.

图 4 红外安装示意

表 1 HC-05蓝牙模块部分参数

2.7 摄像头模块

数字摄像头采用MT9V032, 具有最大有效像素752×480, 功耗小于250 mW, 能进行逐行扫描, 具有自动曝光功能, 可以适应不同的环境; 当改变曝光时间时, 不需要复位摄像头; 软件可调FPS, 帧率在60–500内可以随意切换, 且此内的图像均很稳定. 可以准确的寻找用户所指定的目标, 并且可以在任何环境下减少相应的误差, 使小车在高速运动中还能捕捉到高品质的画面.

3 系统软件设计

该软件系统可以分为手动模式(即手机控制小车的动作)和双芯片自控模式(双芯片自动控制小车的运作). 系统软件流程图如图5 所示.

通过手机上的蓝牙串口软件与小车上的HC-05型号的蓝牙模块相接通, 然后在手机上建立矩阵键盘, 按照程序内容, 设置前后左右的移动符号和其他模块执行符号. 该模块含有两种工作模式: 遥控工作模式和自动工作模式. 当模块处于自动连接工作模式时, 将自动根据事先设定的方式连接数据传输, 包括自动循迹与避障, 寻找目标物; 当处于遥控模式时用户可向模块发送各种AT指令, 为模块设定控制参数或发布控制指令例如通过触发手机屏幕上的按键, 来改变小车的行迹方向, 使小车到达指定的位置, 或者执行指定的任务后回到指定的位置, 等待下一个指令.

图 5 系统软件流程

3.1 红外循迹

红外循迹方案通常有采用2路, 3路, 5路. 采用的传感器个数越多, 循迹准确度越高, 但是同时制作成本随之增加. 本设计采用3路循迹算法. 由红探头工作原理可知, 当传感器返回高电平1的时候意味着当前红外传感器正下方是浅色区, 对应着黑色轨道外; 当传感器返回低电平0的时候意味着当前红外传感器正下方是深色区, 对应着黑色轨道内.

每个红外对管模块都可以输出电平0或者1, 3个红外对管一共可以有7组输出电平方式. 每组电平情况反映了此时小车处于路线上还是路线外, 是左边偏离路线, 还是右边偏离路线. 针对当前循迹状态主控芯片做出合适的控制动作. 综上所述, 可以总结出如表2所示的控制方式.

3.2 超声波测距避障

避障采用HC-SR04超声波模块, 当电源接通, 芯片开始运作时, 通过STC89C51RC内的定时器来实现对该模块的控制, 通过产生高电平的时间来确定障碍物的距离, 再经过数据处理返回到单片机上[12]. 在与HC-SR04的trig (触发端)相连接的IO口上产生一个大于10 μs的高电平信号, 该模块会自动检测是否有信号返回, 当有信号返回时, 通过IO口输出一个高电平, 高电平的持续时间就是超声波发射到返回的时间, 模块的echo (接收端)与51单片机的某一个IO口相连, 当检测到高电平的时候开启定时器, 当检测到echo从高电平变成低电平时, 关闭定时器. 通过式(1)即可计算出障碍物的距离S, 并且反馈到主控处重新规划小车动作:

$ S=\frac{1}{2}(T \times V) $ (1)

其中, 参数T是定时器定时时间, V=340 m/s是超声波在空气中的传播速度.

表 2 红外循迹传感器状态以及控制

3.3 摄像头寻的算法

由于测试场中光线不够理想, 摄像头MT9V032视线场中存在杂点, 远处图像不够清晰等问题, 使得拍摄得到的图像无法得到最佳效果. 解决方法一方面硬件上多做调试例如调整镜头焦距, 曝光时间等, 另一方面需要在软件上对采集所得图像进行滤波, 降低噪声. 滤波的方法比较多, 本设计采用中值滤波, 基本思路是把采集到的目标图像当前像素值用该像素的一个邻域中各像素值的中值代替, 让周围的像素值接近的真实值, 从而消除孤立的噪声点[13]. 用二维滑动模板, 根据灰度值从大到小排列板内像素, 二维中值滤波输出如式(2):

$ P\left( {x, y} \right) = med\left\{ {F\left( {x - k, y - 1} \right), \left( {k, 1 \in W} \right)} \right\} $ (2)

其中, W选取为3×3二维模板, F(x, y), P(x, y)分别为原始图像和处理后图像.

为了使后续处理变得简单, 需要对中值滤波后的灰度图像二值化[14]. 逐行扫描采集图像记录灰度直方图特征, 寻找直方图中的两个最大波峰进而找到两个波峰之间的最小波谷像素值K. 将K设为二值化阈值遍历所有像素, 对大于灰度值大于K的点灰度置为255, 将小于K的点灰度置为0, 从而得到较为理想的二值图像.

接下来采用连通域算法, 提取出图像中所有的连通域并根据连通域的形状和大小特征筛选出与信标特征最为接近的连通域[15]. 经过这一系列的滤波处理, 提取出的连通域基本就是信标的连通域, 此时如果连通域还是很多, 则跳过这一帧图像, 等待下一帧图像. 而对于连通域只有一个或者数量较少且位置相近, 则认为找到信标, 采用取平均的方法提取信标灯的坐标.

4 系统测试

将智能移动小车置于一个模拟测试的环境, 对小车进行分别进行红外循迹、超声波避障以及摄像头寻址性能测试.

4.1 红外循迹性能测试

将小车放置在如图6类似的黑色线上. 该实验采用3个红外对管对其进行作用; 可对小车进行弯道, 直角, 斜角等的巡线测试. 分别测试在白天光线的强、中、弱和在夜晚时的光线处于强、中、弱对小车的循迹影响. 本次测量将小车置于多弯道的复杂轨迹中进行比较测量, 每个变量分别测试50组, 并将测试结果数据记录下来(未完成该轨道的全部路程则属于该次测试不成功), 表3为小车循迹成功比率图.

4.2 超声波的试验数据

本次试验将对小车进行50次的试验, 通过改变其速度, 测试其避障成功率. 所得的数据图 如图7超声波避障折线图所示. 本次试验采用避障距离为10±1.5 cm, 若超出该范围, 则被判定失败.

4.3 摄像头寻址的性能测试

本次试验使用摄像头MT9V032和信标灯, 测试条件为: 室内、瓷砖地面、白炽灯光照强度在200–900 lx的范围, 信标灯的功率为5 W. 测试结果显示小车能识别最远距离的指示灯为7.85 m, 当小车自转为1.7 r/s时最稳定且最快速定位到目标位置, 小车最大稳定移动速度为3.1 m/s. 图8为小车寻址示意图.

图 6 红外循迹性能测试场地示意图

表 3 不同光照条件循迹成功率统计表(%)

图 7 超声波避障统计

图 8 小车寻址示意图

5 结论与展望

本设计实现了基于51和K66双芯片的智能小车控制系统. 该系统采用三线红外传感器使其能够在自动模式下实现准确循迹, 并能在移动过程中利用超声波避障与重新规划路线, 采用摄像头采集图像识别的方法找寻目的信标灯并准确移动至该位置. 本移动小车同时具有遥控模式, 采用蓝牙通信利用手机端即可对小车进行例如前进、后退、左转、右转、加减速等基本控制.

实验测试结果表明该移动小车在光照条件适当的情况下具备良好的循迹性能, 在小车速度为20 cm/s时避障准确率达到99%, 能够以3.1 m/s的稳定速度识别到直径为7.85 m辐射范围内的信标灯. 该设计采用的方法和算法可以指导学生参加各类比赛, 采用的技术可以进一步改进和移植至生产生活中例如消费电子、智能物流、自动驾驶等其他领域.

参考文献
[1]
唐小煜, 苏思伟, 翁哲, 等. 智能车追寻信标灯过程的图像处理. 华南师范大学学报(自然科学版), 2019, 51(5): 12-17.
[2]
曾贵苓, 王苹, 张玉明, 等. 基于UWB的智能搬运小车. 湖北民族学院学报(自然科学版), 2019, 37(2): 223-227.
[3]
黄衍标, 罗广岳. 一种自主巡逻智能预警的机器人系统设计. 单片机与嵌入式系统应用, 2018, 18(7): 39-43, 47.
[4]
汪腾. 基于STM32的扫地机器人控制系统设计[硕士学位论文]. 南昌: 南昌大学, 2019.
[5]
刘永兵, 何伟, 张玲. 基于Intel SoC的羽毛球捡拾机器人设计与实现. 电子技术应用, 2020, 46(9): 118-122.
[6]
齐悦. 基于STC90C52智能循迹小车的设计. 太原师范学院学报(自然科学版), 2016, 15(3): 23–26.
[7]
Dong J, Wang GB. Design of intelligent tracking car based on STM32. Electronic Design Engineering, 2013, 21(12): 158-160.
[8]
Lv XH, Liu YX. Design of human motion detection and tracking robot based on pyroelectric infrared sensor. Proceedings of the 8th World Congress on Intelligent Control and Automation. Jinan: IEEE, 2010. 3737–3740.
[9]
杨令晨, 周武能, 汤文兵, 等. 超声波测距系统的研究及其硬件设计. 仪表技术与传感器, 2018(2): 41-47. DOI:10.3969/j.issn.1002-1841.2018.02.011
[10]
陈二阳, 张修军, 袁姜红. 基于图像识别的自主驾驶智能小车的设计与实现. 现代电子技术, 2018, 41(18): 162-165, 169.
[11]
陈孟臻, 陈莹. 智能小车红外寻迹检测技术的研究与应用. 信息系统工程, 2017(10): 93-94. DOI:10.3969/j.issn.1001-2362.2017.10.064
[12]
张禾, 李俊兰, 葛亮, 等. 一种高精度超声波测距系统的设计. 自动化仪表, 2012, 33(2): 62-64. DOI:10.3969/j.issn.1000-0380.2012.02.018
[13]
刘学君, 卢浩, 江帆, 等. 危化品码垛仓储的定位数据中值滤波去噪算法. 自动化仪表, 2018, 39(1): 58-61.
[14]
王瑞, 柴瑞强. 基于单目视觉的电动小车设计. 农业装备与车辆工程, 2019, 57(12): 78-82. DOI:10.3969/j.issn.1673-3142.2019.12.017
[15]
刘亚亚, 于凤芹, 陈莹. 基于连通区域和统计特征的图像文本定位. 计算机工程与应用, 2016, 52(5): 165-168, 208. DOI:10.3778/j.issn.1002-8331.1403-0104