C8051F单片机在自动机器人上的应用
2.3 电机的选择
由于在比赛时电源必须自带,驱动电机采用直流电机,本文采用的是FAULHABER公司生产的2342L024CR直流电机。通过改变PWM的占空比来改变它的转速,通过改变电源的极性来改变电机的转向。为了能够准确测出电机的转速和转向,在每个电机上装有两路光电编码器,光电编码器输出与电机转速成正比的方波信号,两路信号在频率上相等,在相位上相差90°,如图2所示的CHa和CHb信号。

2.4 电机驱动电路
为了控制直流电动机,需用半导体功率器件进行驱动。大多数直流电动机的驱动是采用开关型驱动方式。由于PWM调制方式使晶体管工作在开关状态,这种调速方式不仅功率损耗低、效率高,而且具有调速范围广、响应速度快等特点。当输入信号为零时,伺服电机处于微振状态,克服了静摩擦力的影响,有利于改善伺服系统低速运行时的平稳性。
本文采用L298为电机驱动芯片,它采用双H桥式为主驱动电路,如图3所示。该电路不仅能够调速而且还能正反转,可以驱动同步进电机或同时驱动2个直流电机。通过它的2个引脚PWM和DIR实现对电机的控制。通过改变PWM引脚的占空比,可以实现对电机的转速控制;通过改变DIR引脚的高低电平,可以实现电机的正反转控制。


经过74LS86芯片倍频和74LS74芯片鉴向后的信号输送给MCU(C8051F310),MCU经过PID运算后的结果输送给MCU内部的PCA阵列,从而输出符合要求的PWM脉冲信号以及电机的转向信号给直流电机,精确控制电机的转速和转向。
2.7 引导线的检测
在比赛场地上有3 cm宽的白色引导线,自动机器人可以沿着引导线确定自己的运动轨迹,因此,自动机器人可以利用白色的引导线来校正自己的运动轨迹。为了能够准确地检测到场地的白色引导线,采用光纤传感器来检测。光纤传感器上主要有如图5所示的发射光装置和接收光装置。

发射光装置发射出的光遇到前方的检测物后,反射回来给接收装置,如果检测物的距离和灰度不同,则反射回来的光的强度也不同。当调节好距离之后,设定不同的阈值就可以检测不同的灰度。光纤传感器检测比赛场地上的白色引导线,利用场地灰度不同,即白色引导线比周围背景的反射率更高的特点,使机器人行走时引导线处于机器人两驱动轮的中间。具体设计是:机器人左右各有4个光纤传感器,分别为1~4号传感器,如图6所示。考虑到引导线的宽度为3 cm,左1号传感器和右1号传感器之间的距离设为4 cm,留1cm的余地,左右传感器内部之间的距离为2.5 cm。机器人行走时:如果左右光纤传感器都没有检测到引导线,说明引导线在机器人两驱动轮的中间,两轮的速度正确;当左边的光纤传感器检测到引导线,说明左驱动轮的速度偏大,机器人在往右边偏移,这时应该减小左驱动轮速度或增大右驱动轮速度进行校正。左边的光纤传感器有4个,当1号光纤传感器检测到,说明偏移量较小其校正量也应较小;如果是2号光纤传感器检测到,说明偏移量更大,校正量也应更大。以此类推,4号光纤传感器偏移量最大,校正量也最大。若是右边的光纤传感器检测到白色引导线,其原理同左边的光纤传感器。这样MCU就可以通过光纤传感器传送来的信号实时调整左右驱动轮的速度,使机器人按要求的路线运行。

以上是以C8051F单片机作为主MCU在自动机器人控制电路中的应用,它通过PID算法和光电检测器构成双闭环的控制电路,实现了对驱动电机的精确控制,能够很好地满足比赛的控制要求。通过比赛实践证明了该电路具有体积小、功耗低、控制精度高、成本低的优点,非常适合大学生参赛使用,同时也是一个很好的训练和培养学生实践创新能力的试验项目。
从电机的编码器上输出两路矩型脉冲信号,它们的频率相等,与电机的转速成正比,相位上相差90°(如图2的Cha、CHb)。在PID算法中,为了提高脉冲取样的频率,提高算法的控制精度,要求能够提高编码器的矩形脉冲分辨率。因此本文对光电编码器的两路脉冲信号进行倍频。倍频芯片采用74LS86,它同时能够进行4个“异或”运算:Q=A×B。驱动电机的两路矩形方波信号CHa、CHb输入给74LS86的A、B端,通过74LS86“异或”运算后所得到的频率为原来的两倍(如图2的CHc)。
2.6 鉴向电路
在控制电机的PID算法中,MCU要知道电机的正反转,即需要鉴向电路。本文所用鉴向器的芯片是74LS74。74LS74是2路正边缘D触发器,它可以同时检测2路电机的转向,其工作过程为:74LS74的触发端CK引脚和输入端D引脚分别与电机光电编码器输送过来的2路方波信号CHa、CHb相连。因为74LS74的输出信号是:Q = CK↑·D,若CK引脚与CHb相连,D引脚与CHa相连,属于上升沿触发器。当电机正转时,其2路脉冲信号如图4(a)所示,CHb信号上升沿所对应的CHa信号为高电平,这时74LS74芯片的输出端Q为1;当电机反转时,其2路脉冲信号如图4(b)所示,CHb信号上升沿所对应的CHa信号为低电平,这时74LS74芯片的输出端Q为0。因此通过鉴向电路可以判断电机的转向。
单片机 51单片机 MCU 单片机视频教程 单片机开发 ARM单片机 AVR单片机 PIC单片机 Atmel stm32 单片机学习 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)
