范平平
摘要 为了更加稳定高效的完成迷宫的行走,论文设计了以LM3S615为核心处理器的电脑鼠。硬件结构采用空心杯直流电机,应用PWM技术调速,利用其自带的编码器得到电机的实际转速,并判断电机的正反转。红外传感器是完成行走的先决条件,借助72 89板调节电脑鼠红外至适合的强度状态,从而达到检测迷宫一定范围内的障碍物。陀螺仪用于调节转弯中的小车的角度。论文先对615 -儿电脑鼠硬件的整体结构进行综述,然后详细阐述了各部分硬件的设计,并对电脑鼠几种运行状态的实现提出了方案。试验结果表明车体运行平稳灵活,控制精度高,满足应用需求。
【关键词】电脑鼠 红外传感器 空心杯直流电机 运行状态
1 引言
615-JL电脑鼠是由各种电子元器件组成,由核心微处理器控制的机电一体化智能机器人,它集感知、判断、行走功能于一体,能够自动寻找迷宫最佳路径到达目的地。电脑鼠的制作结合了机械、电子、控制、电机、程序设计、光学和人工智能等多方面知识。其灵活性和智能程度不但取决于软件设计的优良,更取决于硬件的结构和性能,越是智能的电脑鼠,其硬件结构越完善。
2 电脑鼠的整体结构
615-JL电脑鼠的硬件主要由核心微控制器,直流电机及电机驱动电路,红外传感器电路、陀螺仪、电源和接口等部分组成。结构如图l。其中,微控制器是电脑鼠整个硬件的核心部分,它可以控制各模块协调工作,使电脑鼠在迷宫中根据路况快速稳定的行进;红外传感器检测迷宫的挡板状况,为电脑鼠的行进提供依据。编码器通过相关电路反馈电机的状态。电机模块控制直流电机的转动速度和方向,电源模块为整个系统供电。
3 电脑鼠各部分硬件
3.1 LM3S615处理器
选用Luminary Micro Stellaris~系列微控制器,是首款基于ARM~CortexTM-M3的控制器,它将高性能的32位计算引入的嵌入式微控制器应用中。Stellaris系列的LM3S615微控制器拥有ARM微控制器所具有的众多优点,如拥有广泛使用的开发工具,片上系统( SoC)的底层结构IP的应用,以及众多的用户群体。控制器还采用了ARM可兼容Thumb@的Thumb-2指令集来降低内存的需求量,进而降低成本。
3.2 直流电机
直流电机选用FAULHABER1717SR空心杯直流电机,采用全桥结构驱动方式,输入电压7.4V,可以输出1.96W的功率,最大转速为14000rmps。MAX4427芯片增强电机驱动电流,ZXMHC3AOIT8是H桥电机驱动芯片,实现电机正反转控制。
3.2.1 PWM(脉宽调制)技术调速
改变电枢电压是直流调速的主要方法。本电脑鼠采用PWM(脉宽调制)调速方式,通过调节微处理器PWM触发信号的占空比来改变外施的平均电压,从而实现直流电机的调速。选用单极性PWM信号驱动直流电机,通过改变PWM占空比调节电机的速度大小。
3.2.2 直流电机之速度反馈一一编码器
在PI控制器中的速度反馈是通过编码器来实现的,我们的直流电机自身带有编码器(IE2-1024),因而我们就能通过编码器就能得到电机的实际转速,同时也能判断出电机是正转还是反转。
编码器测速的实现:电机编码器的分辨率是1024,1024表示电机每旋转一圈输出的脉冲数是1024个,这样我们只要在固定时间内读取电机的输出脉冲数,再除以1024就能得到在这段时间内电机旋转了多少圈,再除以时间就可以得到电机的转速(转/min)了。若要得到电脑鼠的行驶速度,可以根据电机与车轮间的齿轮比得到车轮的转速,再测出车轮的直径就能换算出电脑鼠的行驶速度了。那么我们要得到电机的转速就只需在固定时间内读出电机的输出脉冲数就行了。
3.2.3 电机正反转的判断
由于在做闭环控制时我们需要知道电机的真实旋转方向,因而需要判断电机的正反转。由于编码器输出的两通道信号(A相、B相)存在这样的特点A相和B相存在90度相位差,并且只有两种情况,一种是A相超前B相90度,另一种是A相滞后B相90度,电机的正反转分别对应上面的一种情况,因而我们只需要判断A相和B相的相位关系就能知道电机是正转还是反转。
3.3 红外传感器
615-JL电脑鼠上共有6组红外线传感器,每组红外线传感器由红外线发射和红外线接收组成。借助红外传感器可以有效地检测一定范围内的障碍物和控制转弯。MicroMouse615-JL上的红外接收头是一体化红外线接收头,其型号为IRM8601S。该接收头内部集成自动增益控制电路、带通滤波电路、解码电路及输出驱动电路。
六组红外传感器,分为前方(Ul、U2)、斜45度(U3、U4)、左右(U5、U6)三组,其位置如图2。其中Ul、U2为一组,用来检测前方挡板信息和行走斜45度;U3、U4为一组,用来修正电脑鼠姿态;U5、U6为一组,用来检测左右挡板信息和修正电脑鼠姿态。通过7289板上的按键分别调节这三组的红外发射频率从而调节红外发射强度,即调节传感器的检测范围。
3.3.1 两侧都存在挡板的修正原理
(1)正常运行时,电脑鼠保持在迷宫格中间,左右45度均检测不到挡板,此时电脑鼠处于最佳的姿势,且不需要修正。
(2)当电脑鼠向左偏移,左侧45度红外检测到左侧挡板,需要调整姿势,使它回到中间位置。修正方法为:当电脑鼠左侧斜45度红外检测到挡板而右侧斜45度红外没有检测到挡板就表明电脑鼠此时出现了左偏,这时应该调整电脑鼠左轮速度大于右轮速度使电脑鼠向右偏移回到中间位置。右偏调节方法类似。
3.3.2 当电脑鼠只有一侧存在挡板的修正原理
迷宫只有左侧有挡板,当电脑鼠靠近右侧时,由于右边没有挡板,这时两侧斜45度红外都检测不到挡板信息,如果只看斜45度红外,则这和电脑鼠在中间时现象是一样的,因而无法检测出此时电脑鼠已经右偏了,所以就要使用正左方的U5傳感器,当U5检测到左方存在挡板,且距离挡板的距离太远时,说明此时电脑鼠右偏,电脑鼠就应该向左靠,通过调整电脑鼠左轮速度小于右轮速度使电脑鼠向左偏移回到中间位置,以达到修正目的。
3.3.3 红外调节助手7289板
强度适合的红外传感器是完成行走的先决条件。红外传感器调节的助手是7289REJDIS BOARD模块,它是一个键盘控制以及数码管驱动PACK板,控制芯片为ZLG7289B。7289小板8个数码管从左到右分别编号1~8。1~6位数码管分别用来指示Ul-U6六个传感器的状态;第6,7,8位数码管显示当前红外的频率。电脑鼠底板上的六个可调电阻可微调对应红外传感器的发射强度。使用时需要通过调节红外驱动信号频率和六个电位器来调整传感器的探测距离,也就是调节电脑鼠的视觉距离。
3.4 MPU6050陀螺仪
陀螺仪用于调节转弯中的小车的角度,其中MPU6050集成了3轴MEMS陀螺仪,3轴MEMS加速度计。MPU6050用内部集成16位ADC,将其测量的模拟量转化为可输出的数字信号。通过I2C接口进行寄存器的设置和对数据的读取。MPU6050内部寄存器可通过400kHz的I2C接口来操作。本电脑鼠的陀螺仪I2C接口由通用I/O口模拟。
转弯角度值的计算:MPU6050的陀螺仪输出16位的数字信号,将其先转换成电脑鼠运动过程中的角速度,角速度积分就能得到转弯角度值了。
3.5 615-JL电脑鼠电源系统
615-JL电脑鼠电源系统由7.4V/350mAH可充电锂电池提供系统输入电源,包含7.4V、5V和3.3V三个电压等级。
5V供电采用SPX1117-5转换芯片获得,为系统门电路、红外传感器等提供电源。3.3V供电采用SPX1117-33转换芯片获得,为系统CPU提供供电电源。电机额定电压6V,采用MAX4427与ZXMHC3AOIT8实现对7.6V电源输入的斩波,控制电机速度。
可充电锂电池过放电导致电池损坏或减少其使用寿命,本系统采用LM311比较器对电池设定3.3v和电池分压之后的电压BATTLE比较,如果电池电压过低LED灯亮,提醒使用者断电保护。
4 电脑鼠几种运行状态的具体实现
电脑鼠要在前进的过程中不断调整姿势,以免碰到挡板。电脑鼠在迷宫中的理想姿势是处于迷宫格的中央,且前进方向平行于挡板,在这种状态下电脑鼠才不容易碰触挡板。
4.1 电脑鼠直行
设定直行速度( xSpeed)为期望速度值,旋转速度(wSpeed)为O,这样就能控制电脑鼠直行了。
4.2 电脑鼠转弯
4.2.1 原地转弯
原地转弯就是电脑鼠停在原地后一个轮胎正转一个轮胎反转就实现原地转弯了,这时候第一个PI闭环的直行速度(xSpeed)设定值为O,通过设定旋转速度(wSpeed)的正负和大小来使电脑鼠进行往左旋转和往右旋转。
4.2.2 原地左转
原地左转就是电脑鼠停在原地后左轮往后转、右轮往前转,这时候第一个PI闭环的直行速度设定值为O,设定旋转速度的为正值大小为所需旋转速度,这样就能控制电脑鼠原地左转了。
4.2.3 原地右转
原地右转就是电脑鼠停在原地后左轮往前转、右轮往后转,这时候第一个PI闭环的直行速度设定值为O,设定旋转速度的为负值大小为所需旋转速度,就能控制电脑鼠原地右转了。
4.2.4 原地左转90度,右转90度,后转180度
根据以上对原地左转、右转的分析可以知道,通过上面的设置就能是使电脑鼠在原地旋转,我们若想电脑鼠旋转90度或180度可通过陀螺仪来控制电脑鼠旋转到90度或180度就停下来,就实现了90度转弯和180度后转。
4.3 前进中转弯
前进中转弯,就是一个电机快转,另一个慢转,通过两轮速度差来实现前进中转弯。由于原地转弯在转弯前需先停止下来,因而前进中转弯相对于原地转弯节约时间,效率高。
4.3.1 前进中左转弯
前进中左转弯就是电脑鼠左轮、右轮都往前转,左轮速度小、右轮速度大,这时候第一个PI闭环的直行速度设定值为所需值,设定旋转速度的为正值、大小为所需旋转速度,就能控制电脑鼠在前进中左转弯了。
4.3.2 前进中右转弯
前进中右转弯就是电脑鼠左轮、右轮都往前转,左轮速度大、右轮速度小,这时候第一个PI闭环的直行速度设定值为所需值,设定旋转速度为正值、大小为所需旋转速度,就能控制电脑鼠在前进中左转弯了。
5 结束语
为了使电脑鼠在迷宫里运行平稳灵活,控制系统实时性强、精度高。基于LM3S615微控制器设计了一款自主搜索迷宫的电脑鼠。文中详细阐述了核心控制器模块、直流电机模块、红外传感模块、陀螺仪模块及电源模块。经过测试,此款电脑鼠在电路的可靠性方面比以往的电脑鼠具有一定的优越性。论文对电脑鼠几种姿态的实现进行了研究并提出了实现方案,对于避障能力和路径规划能力具有重要参考价值。
参考文献
[1]吴刚,曾国强,汪键等.基于多传感器的IEEE电脑鼠位置检测技术研究[J],传感器与微系统,2014 (06):41-44.
[2]梁爽,基于双直流电机控制的电脑鼠系统研究[D].吉林:吉林大學,2 015.
[3]杨晶菁,张浩.基于AVR单片机的电脑鼠硬件设计与实现[J].福州大学学报:自然科学版,2014 (06):876-882.