基于红外传感器的智能循迹小车设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于红外传感器的智能循迹小车设计
首先设计基于ARM Cortex-M3内核的智能小车控制系统,利用模块化的理念设计了无线通信、红外传感器、避障模块、电机驱动、电机测速、电源管理等硬件模块,采用NRF24L01设计了智能小车的无线通讯系统,利用红外传感器沿白线寻迹,采用光电编码器实现小车的测速功能,设计了小车行车程序,实现小车按控制者要求完成特定路线,并通过软件速度调节实现小车启停、匀速和加减速控制。
标签:NRF24L01无线传输;智能小车;红外传感器寻迹
引言
在当代智能化的潮流下,通过智能化能从很大程度上减轻人工的工作负担,是今后的发展方向。本设计的智能寻迹小车,可以按照预设的模式在一个预先安置轨迹的环境里,根据指令在不同的预设节点间自行运作,并具避障能力。采用STM32F103VBT6芯片作为小车的检测控制核心;采用以LM339电压比较器为核心的红外传感器模块进行循迹,并采用hc-sr04超声波模块检测障碍物,使微处理器按照预设的模式控制小车进行寻迹和避障。
1 控制系统结构和无线通信网络设计
基于ARM Cortex-M3 内核的STM32F103VBT6微处理器芯片和nRF24L01的智能小车涉及到传感器应用、无线传输等。智能小车上电后,可由上位机确定小车的工作方式(待机,循迹或避障等);循迹,避障模块是根据相应传感器所检测数据来执行相应动作。为了获取对小车方位的精准定位,这里选择建设坐标的方式并根据运行情况更新坐标。
(1)要实现自动寻迹,智能小车的传感器系统必须通过各类传感器,获取小车的状态、场地环境特征两种信号。
(2)预行轨道设计.本设计的预设主行驶轨迹分为横向(Y轴)与纵向(X 轴)。节点标志为与主行驶轨迹垂直,且于主行驶轨迹等宽的一条线段与主行驶轨迹的交点。即主行驶轨迹X轴与Y轴的交点也视为一个节点。
2 控制系统硬件和软件设计
智能小车的硬件采用模块化设计理念,智能小车的硬件设计如图2所示,主要包括以下几个方面。
(1)处理器模块。该模块是智能小车的“大脑”,用于接收指令,发出控制命令,MCU选用了基于ARM Cortex-M3内核的STM32F1
03VBT6微处理器芯片。
(2)循迹模块。该模块采用以LM339电压比较器为核心制作的4路红外传感器,可识别白线和黑线。当感应到传感器反射回来的红外光时,红色指示灯亮,输出为低电平;当味感应到传感器反射回来的红外光时,指示灯不亮,输出高电平。通过编程实现智能小车的寻迹。
(3)电机驱动模块。设计采用TB6612FNG电机驱动模块。TB6612FNG是基于MOSFET的H桥集成电路,效率远高于晶体管H桥驱动器。相比L293D 每通道平均600ma的驱动电流和1.2A的脉冲峰值电流,它的输出负载能力提高了一倍。相比L298N的热耗性和外围二极管续流电路,它无需外加散热片,外围电路简单,只需外接电源滤波电容就可以直接驱动电机,利于减小系统尺寸。对于PWM信号,高达100KHz的频率相比以上2款芯片的5KHz和40KHz也具有非常大的优势。并配合4个直流减速电机和麦克纳姆轮已达到可以随意切换4个行进方向。
(4)无线通信模块。采用nRF24L01,nRF24L01输出功率频道选择和协议的设置可以通过SPI接口进行设置。几乎可以连接到各种单片机芯片,并完成无线数据传送工作。
电流消耗极低:当工作在发射模式下发射功率为0dBm时电流消耗为11.3mA,接收模式时为12.3mA,掉电模式和待机模式下电流消耗更低。
(5)避障模块。选用hc-sr04超声波模块检测障碍物。考虑到在不同的场合下,照明光源可能不同,对于在车身上侧的红外传感器可能会有未知的干扰。而且考虑到在工厂中可能会存在抛光金屬类的对红外光漫反射性差的障碍物,可能对于红外传感器无法正确识别。超声波对外界光线和电磁场不敏感,可用于黑暗、有灰尘或烟雾、电磁干扰强、有毒等恶劣环境中。本设计对于测距的要求不是很长,所以选用了超声波传感器。
3 红外传感器寻迹算法设计
//侧方的红外传感器检测到设定位置,控制电机停止
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==Bit_RESET)
{
systick_config(10);while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==Bit_RESET)
{
forward();//前进程序
}
stop();//停止程序
x--;
systick_config(1000);
}
传感器检测到小车偏离轨道,自动校正回直线
if((GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4)==Bit_RESET)&&(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_5)!=Bit_RESET)){
Setleft(seep);//传感器检测到向右偏移,左电机加速,小车校正回原轨道
}
elseif((GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_5)==Bit_RESET)&&(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4)!=Bit_RESET)){
SetRight(seep);//传感器检测到向左偏移,右电机加速,小车校正回原轨道
}
else
{
hold(seep);//传感器未检测偏移,小车保持原来状态行驶
}
4 结束语
本文主要分析红外传感器在智能小车寻迹方面的应用,采用nRF24L01无线
通讯模块,实现了上位机对小车的控制,控制芯片基于ARM Cortex-M3内核的微处理器,硬件采用模块化设计理念设计无线通讯模块、寻迹模块、电机驱动模块等硬件模块,设计了智能小车上位机控制系统,使得本智能小车能在多种场合使用,对于智能小车的控制研究和控制平台的设计有十分重要的意义。
参考文献
[1]申忠宇,郑启文,王川,等.无线通信网络的多智能小车编队控制系统[J].南大学学报,2013.
[2]强彦,叶文鹏,屈明月,等.基于红外避障的智能小车的设计[J].太原理工大学计算机科学与技术学院,2013.
[3]陈晖,张军国,李默涵.基于STC89C52和nRF24L01的智能小车设计[J].现代电子技术2012,35(17).
[4]张伟,陈迎,韩丽娜,等.智能小车系统的设计[J].实验室研究与探索,2011,30(9).