基于STC89C52和nRF24L01的智能小车设计

智能小车,是一个集环境感知、规划决策、自动行驶等功能于一体的综合系统。它可以适应不同环境,不受温度、湿度等条件的影响,完成危险地段、人类无法介入等特殊情况下的任务,因此在军事、航空、探险等领域有着极其重要的应用。但随着应用的深入,在很多场合下需要多个小车之间可以实时通信,协作开展工作。基于上述考虑,本文基于stc89c52和nrf24l01开发设计了一款具备无线通信功能的智能小车。该小车不仅具备循线、避障等功能,而且在一定距离范围内可以实时无线通信,协作开展相关工作。
1系统设计 1.1系统整体方案设计 基于stc89c52和nrf24l01的智能小车设计涉及到传感器的应用、无线数据传输等,系统总体方案如图1所示。
整个系统由单片机最小控制系统、电源模块、电机及驱动、无线通信模块、模式选择模块、循迹模块以及避障模块等。智能小车上电后,可由模式选择模块来确定小车的工作模式(作为主机或从机、循迹或避障等);循迹、避障模块是根据相应传感器所检测数据来执行相应动作。为了使多个小车能够同时协调工作,需要获取对方的精确定位,这里可建立坐标系并根据运行情况实时更新坐标,并通过设计通信模块及相应通信方式来实现小车之间的通信。
1.2特征信号选择 要实现自动行驶,智能小车的传感系统必须通过各类传感器,获取小车的状态特征、道路环境特征两类特征信号。
1.2.1小车特征参数
小车在共同工作时需要明确对方位置及行驶模式,从而可以获得信息采集点坐标。特征状态包括如下参数:
行驶模式,由拨码开关确定的行驶模式。
小车坐标,小车当前位置相对于上电地点的坐标。
程序标志位,标志数据是否接收完数据。
方向,小车当前状态与x轴方向的夹角。设上电时车身前方为x轴方向,逆时针旋转90°为y轴方向。单位脉冲转角,微控制器输出单位脉冲小车所转角度,数据需测量得到。
单位脉冲位移,微控制器输出单位脉冲小车改变位移,数据需测量得到。脉冲数,小车运动时微控制器所输出脉冲数。
1.2.2环境特征参数
实际工作时,两车需获知对方所处状态,故无线传输数据中应包括环境特征参数。环境状态包括以下参数:
状态位,小车在运行过程中检测到标志线后状态标志。
道路状态,由激光传感器读取的道路状态。
障碍物状态,由光电传感器读取的障碍物状态。绝对位移,两车之间的相对位置。
1.2.3参数定义及计算
对程序中各个参数的定义见表1。
小车方向的计算公式如式(1)所示:
angle=angle±n*δangle(1)
坐标的计算公式如式(2),式(3)所示:
x=x+cosα*n*δs(2)
y=y+sinα*n*δs(3)
绝对位移的计算公式如式(4)所示:l0=(x 1-x2)2+(y1-y2)2(4)
2系统硬件实现 2.1单片机最小控制系统 单片机最小控制系统原理图如图2所示,本系统采用stc89c52单片机作为控制核心,微控制器通过i/o口与各个模块相连。
stc89c5是一种低功耗、高性能cmos 8位微控制器,具有8k在系统可编程flash存储器。具有以下标准功能:8kb flash,512bram,32bi/o口线,看门狗定时器,内置4kb e2prom,max810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。此次设计传感器共需要控制器i/o口20个(传感器6个,电机4个,无线模块6个,拨码开关4个),对输出处理速度要求并不高,stc89c52芯片的i/o口,中断及定时器完全可以满足其功能要求。
2.2电机驱动 由于单片机输出电流无法直接驱动电机,本系统采用基于tb6560芯片的步进电机驱动用以驱动步进电机。
tb6560是东芝公司推出的低功耗、高集成两相混合式步进电机驱动芯片。其主要特点有:内部集成双全桥mosfet驱动;最高耐压40v,单相输出最大电流3.5a(峰值);具有整步、1/2,1/8,1/16细分方式;内置温度保护芯片;具有过流保护;采用hzip25封装。
基于tb6560的驱动电路中步进电机控制信号有3个(clk,cw,enable),分别由微控制器的p0.0,p0.1端控制电机的方向(转向时输出电平类型相反,前进时输出电平类型相同),p0.2,p0.3控制电机的转速,本电路中使能端始终接+5v。
2.3通信模块 本系统的无线通信模块采用nrf24l01无线模块。nrf24l01是一款内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型shockburst技术的新型单片射频收发器件。工作于2.4~2.5ghz ism频段,其中输出功率和通信频道可通过程序进行配置。nrf24l01功耗低,在以-6dbm的功率发射时,工作电流也只有9ma;接收时,工作电流只有12.3ma,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。
由模式选择模块确定小车的主、从机模式后,主机检测到相应标志线后发送数据,从机接收到数据后应答并反馈回自身信息,并执行相应程序。
nrf24l01无线模块原理图如图3所示,ce引脚功能为使能发射或接收,由p1.0控制;csn,sck,mosi,miso为spi引脚端,微处理器可通过p1.1,p1.2,p1.3,p1.4来配置nrf24l01;irq为中断标志位,由p1.5控制。
2.4循迹模块 循迹模块采用3个激光传感器,型号为hlsd-2010b,分别置于小车左、右、前方,通过p2.5,p2.6,p2.7控制。
hlsd-2010b激光传感器的工作电压为5v,工作电流最大为30ma,信号输出方式为直接电平输出。
激光传感器真值表见表2,控制器对于不同的测量值会执行不同的动作。
2.5避障模块 避障模块采用4个光电传感器,型号为e18-d80nk分别置于车体前方位置。
光电传感器e18的技术参数工作电压5v,消耗电流dc小于25ma,响应时间小于2ms,指向角小于等于15°,有效距离为3~80cm可调,工作环境温度为-25~55℃。
根据不同环境可将智能小车避障运动分为四种情况,如图4所示。
(1)只有1,2号红外传感器检测到障碍物,此时小车向右运动,若3,4号传感器检测到则向左运动方向运动。
(2)当前方发现障碍物,1,4号均未检测的障碍物时,令小车向右运动。
(3)当4个红外传感器都测到障碍物时,小车先倒退,然后向右运动。
(4)若1,4检测到障碍物而1,3没有检测到障碍物,小车并不改变方向仍按直线行走。
2.6电源模块 本系统采用2节容量为2 250ma·h,额定电压为3.6v的锂电池供电。由于系统中单片机、循迹模块及避障模块的工作电压为5v,无线模块工作电压为3.3v,设计过程中采用两个由lm2596芯片构成的dc-dc稳压模块。
原理图如图5所示,对于微控制器稳压模块,输入为7.2v,输出为5.0v;对于nrf24l01稳压模块,输入为5.0v,输出为3.3v。
3系统软件开发 本系统程序设计采取模块化的编程思想对各个模块进行程序编写。在keil4软件所提供的平台进行开发。
主程序流程图及中断子程序流程图如图6,图7所示。
设a车为主机,b车为从机。a车正常运行一段时间后发送自身特征参数与环境特征参数数据给b车,随后进入接收模式等待应答信号,从机接收到信息后返回应答信号。单次通信成功后a车转入接收模式,等待b车发送自身特征参数与环境特征参数,互相接收完成对方数据为一次完整通信成功。a、b在通信成功后又返回原行驶模式,并处理所接收对方数据后执行相应程序。
无线传输数据包格式为:x轴坐标-y轴坐标-状态位-道路状态-障碍物状态。
4结语 本文基于51单片机和nrf24l01无线模块设计的智能小车,其硬件部分采用模块化的设计思路不仅为软件的调试提供便利,同时有利于其他功能模块的添加。该智能小车不仅包含避障、循迹等功能单元模块,而且包含了无线通信模块,实现了多车之间的实时通信,为多车协作开展高复杂度和高难度工作提供了可能性。

华为的胜利,本质上美式制度和管理的胜利
Spring事务的传播行为与回滚机制
永续合约系统开发,场外OTC交易系统源码开发费用
Maxim推出完全集成的PMIC
产生EMI问题的2个原因
基于STC89C52和nRF24L01的智能小车设计
你觉得区块链是什么东西
高压陶瓷电容的生产工序
CMMB拓展新业务商业模式
人工智能技术如何推动育种领域的发展
全面分析2018中国半导体产业状况
正视人工智能带来的艺术挑战
基于IPv6的、需要低功耗和远程无线连接的智能和互联物联网应用
浅谈电源变压器的基本参数
苏宁再次携手康佳:发布国际米兰定制电视LED55R90
美国对脸书、亚马逊、苹果、谷歌的反垄断调查迎来实质性进展
重磅!台积电已从美国获得中国芯片豁免延期
华为最佳中端全能机,重新定义了性价比手机
国芯思辰 |霍尔开关芯片AH466(兼容HAL248)可用于无线充电器中
圣诞购机好选择!vivo送礼圣诞,四款手机打出超低优惠价