基于AVR单片机的轮式机器人硬件设计与实现
作者:肖若娴 杨晶菁 夏天 汤任飞 孙文鹏 陈圣王 来源:《电子科学技术》2017年第03期
摘 要:本文详细介绍了一种基于AVR ATmega128的轮式机器人硬件设计。本设计的机器人可实现在由挡板组成的迷宫中自主行走并记忆路线的功能。选用Atmega128作为微处理器,红外线发射接收对管作为避障模块,DRV8833作为微型直流电机控制芯片,并设计了电压转换和充电模块。微控制器控制红外线模块的发射和接收,计算机器人和迷宫挡板的距离;采用PWM信号控制微型直流电机的转速和转向;通过电机编码器反馈的脉冲信号计算机器人的转速和前进方向。本文详细介绍了各模块的工作原理和具体实现电路。 关键词:单片机;轮式机器人;直流电机;红外线传感器
中图分类号:TP242.6 文献标识码:A 文章编号:2095-8595 (2017) 03-081-005 电子科学技术 URL: http://www.china-est.com.cn DOI: 10.16453/j.issn.2095-8595.2017.03.020 引言
迷宫轮式机器人是一种由微控制器、传感器、电机和执行机构组成的智能行走装置。它可以在迷宫中从起点出发自主行走、记忆走过的路径、选择合适的路径到达终点[1]。为了实现这些功能,迷宫机器人的硬件可由电源、微控制器、直流电机、红外线传感器以及车轮和机械支撑结构等模块构成[2]。
文献[3]设计了一种基于STM32的迷宫机器人,可以实现稳定快速的行走能力、记忆迷宫搜寻轨迹能力和优化最短执行路径能力,但是在多路信号处理方面存在处理速度过慢问题。文献[4]设计了一种基于ARM—M3的迷宫机器人,优点是低成本、低功耗,但目前已有的芯片的功能太少,而且其采用步进电机也有速度慢、体积大、质量重等问题。周立功公司提供的成品轮式机器人,可在迷宫中自动行走,但此轮式机器人的硬件性能比较差,即使算法再精巧,也很难提高速度[5]。
本文介绍了一种基于AVR单片机的迷宫机器人硬件,选用AVR单片机Atmega 128作为主控芯片,具有低功耗低成本、资源丰富等特点;选用微型直流电机作为机器人的执行机构,具有控制电路简单、驱动能力强等优势;选用红外传感器作为机器人的避障和测距传感器,具有精度高、反应快等优点。本文详细分析了各硬件模块的电路和工作原理。
1 硬件系统设计
本设计迷宫机器人硬件电路总体结构如图1所示。其中电源模块选用DC-DC同步降压稳压器SY8120B,为迷宫机器人各模块电路提供合适的电压。采用双H桥式电动机驱动器DRV8833控制微型直流电机1516SR的转速和转动方向,使机器人可以在迷宫中完成直行、转弯和调头等动作。选用红外线发光二极管IR533C构成机器人的红外线发射模块,配合红外线接收管用于侦测机器人与迷宫挡板之间的距离,实现避障和自动寻迹功能。选用ATmega128作為微处理器,接收并融合多传感器信息,得到机器人在迷宫中的位置和姿态,并加以控制。 1.1 电源模块
本设计的电源控制电路如图2所示。SY8120B是矽力杰(SILERGY)公司推出的一款高效的同步压降DC-DC转换器。该芯片采用PWM架构,同时集成了主开关及同步开关,能耗低瞬态响应快,其输入电压可在4.5V至18V范围内进行选择。图2中FB为输出反馈引脚,C8为输出电容,L1为输出电感,R3和R4为反馈电阻。电阻值在10k欧姆和1M欧姆之间,并采用公式Vout=0.6*(1+R3/R4)进行选择,以获得所需的输出电压Vout。 1.2 微控制器
ATmega 128是一款高性能、低功耗的8位微处理器,具有先进的RISC结构。本设计使用具有预分频器和比较器功能的8位定时器/计数器和同时具有捕捉功能的16位定时器/计数器采集直流电机转速脉冲;使用8位PWM作为直流电机的控制信号;使用10位ADC采集红外线接收管的电压值;使用可编程的串行USART作为调试接口。其中端口A作为I/O口连接蜂鸣器和指示灯。A口输出高电平时,蜂鸣器响起指示灯亮;低电平时蜂鸣器不响指示灯灭。端口B作为4路PWM(脉宽调制)信号输出引脚分别连接电机控制芯片的4个输入端,用于控制微型直流电机的转速与转向。端口C作为I/O口连接6个红外线发射管,通过高低电平控制红外线的发射与关闭。端口F作为模数转换器输入引脚连接6个红外线接收管,将表示挡板位置的模拟电压值转换为数字量用于微处理器的处理。 1.3 直流电机 1.3.1电机选型
轮式机器人的身材小巧玲珑,而电机是机器人中最大最重最耗能的元件,是影响速度等硬件性能的重要因素,因此需要选择一款合适的电机非常重要。常见的可以用于轮式机器人的电机主要有步进电机和直流电机两种。
步进电机控制简单,只需要按照一定的规律给步进电机脉冲信号就可以精确控制其转动角度,实现精确定位控制。采用步进电机控制的轮式机器人可以省去测速环节,采用开环控制系
统,通过脉冲和转动角度的精确比例关系方便地计算出位移和速度。但是步进电机体积大、重量重,转速较低、转矩较小,当采用步进电机开环控制的轮式机器人发生失步,将对控制器的判断和计算产生严重影响。相比步进电机,直流电机的定位精度不高,但体积小,重量轻,转速高,转矩大,驱动芯片种类很多,效率较高,控制较方便。因此直流电机更合适作为轮式机器人的电机。 1.3.2 驱动电路
本设计的微型电机驱动电路采用DRV8833作为驱动器,DRV8833是一款双通道H桥电机驱动器,它的每个H桥能够接受PWM控制方式驱动一个直流刷式电机。该器件可提供1.5A的驱动电流。同时该器件提供过流、过热和短路保护,以及欠压闭锁。另外,还提供5V下1.6μA的低功耗睡眠模式。
直流电机控制电路如图3所示。其中DRV8833的AIN1、AIN2、BIN1、BIN2接AVR单片机的PWM控制引脚,接收微控制器输出的PWM控制信号。AOUT1、AOUT2、BOUT1、BOUT2分别连接至左右轮电机的绕组,用于控制左右轮电机的转向和转速。
控制左轮电机的H桥输入与输出的逻辑关系如表1所示。控制右轮电机的H桥逻辑关系与其相同。在实际使用中,当电机正转需要停止时,常常在输入刹车信号前输入短时间的反转信号,可以有效地缩短刹车距离和时间,实现轮式机器人更精确的定位。 1.3.3 辨向电路
微控制器从微型直流电机编码器采样的脉冲个数可以用于计算车轮转过的圈数,进而可以计算出轮式机器人走过的距离。但是迷宫算法需要的是轮式机器人的位移而不是距离。轮式机器人在迷宫中会有直线行走,45°转弯,90°转弯,180°调头等动作,所以微控制器从编码器输出脉冲计算出的数据不足以计算出轮式机器人的位移。因此加入由D触发器CD4013BPWR构成的辩向电路,如图4所示。左轮电机编码器的输出信号MOTOL_Channel_A和MOTOL_Channel_B,与经过图4的辨相电路后的输出为MOTOL_Direction_P和
MOTOL_Direction_N的波形如图5所示。根据MOTOL_Direction_P判断轮式机器人的移动方向。当输出为1时电机正转即机器人前进,当输出为0时电机反转即机器人后退。 1.4 红外线传感器
轮式机器人在迷宫中行走需要避障模块判断周围的迷宫挡板的情况。常用的避障方案有超声波避障和红外线避障两种。其中,超声波模块的工作距离一般大于1米,而本设计迷宫挡板位置一般在10厘米左右,因此选择红外线避障。本设计采用电路简单小巧的发射接收对管方式。利用发射管发射红外线,接收管直接接收,微处理器根据接收到的表示红外线强弱的电压信号来判断障碍物的远近。
相关推荐: