刘 程
(六安职业技术学院 汽车与机电工程学院, 安徽 六安 237000)
随着工业机器人技术的成熟和应用的普及,市场对于机器人的需求不断扩大。工业机器人通常在已经熟知的固定环境中工作,而移动机器人更加强调环境的感知,它要通过传感器获取周边环境,更新自己的位置,并根据环境信息作出动作调整[1-2]。移动机器人的研究关键就是如何能够实时、精确获取未知环境信息,并判断障碍物位置和大小,传感器采集到的信息经过转换之后,输入数学模型中,计算有效的躲避策略,指导机器人有效躲避障碍[3]。移动机器人的应用对提高工作效率、节约人工成本具有非常突出的作用。在机器人设计中,受到体积和价格限制,无法直接采用现有电机驱动器。所以,研究一套以ARM为控制核心的低成本移动机器人产品,对扩大移动机器人的应用范围非常关键[4]。
移动机器人控制系统选用ARM控制器为底层控制核心,完成嵌入式控制系统的设计如图1所示。ARM处理器同时支持16位和32位指令,它的耗电较少,功能突出,同时符合低成本要求。ARM处理器的指令执行速度比较快,多在寄存器中完成数据操作,寻址方式简单灵活,运行效率高。芯片本身集成了高精度的ADC采集模块和PWM模块,提供多种通讯接口服务[5]。综上所述,ARM芯片完全符合本文研究的需要。
图1 移动机器人控制系统框图Fig.1 Mobile robot control system block diagram
底层控制系统接收传感器采集到的信号,利用RS232通信串口将采集到的数据传送到上层控制器,同时接收上位机发送的命令,控制电机驱动电路。电机电路和单片机之间利用光耦合器件隔离,单片机接收霍尔传感器传递的信号,并对数据进行初步处理,然后将其发送给ARM处理器,最后将信号反馈给上位机[6]。上位机根据收到的信息计算PWM波的占空比,反馈给ARM,继而调整PWM波占空比。
电机驱动部分采用STC公司开发的15单片机为控制芯片,ARM和15单片机之间通过串口通信,ARM将上位机发送的控制命令传递给驱动电机的控制器15单片机。图2所示为驱动电机的整体框架示意图。
图2 驱动器结构示意图Fig.2 Schematic diagram of the drive structure
传感器采集到的信号会通过光耦隔离,然后发送到电机驱动模块的控制芯片,15单片机给驱动控制芯片发送控制信号,同时利用电机的霍尔传感器反馈回来的信号完成三相桥电路的控制。通过三相桥电路能够直接控制直流电机定子绕组中的电流进出,产生磁场带动转子转动。霍尔传感器反馈的信号传递到单片机中,单片机对数据进行一定的处理之后,利用串口将数据传递到ARM处理器,经过计算得出电机转速。
驱动模块控制芯片利用三相桥电路中的MOSFET管的接通和闭合来控制电机定子绕组电流,设计中要保证MOSFET管的最大漏源电压、电流符合要求。JY01A驱动芯片中带有过流保护电路,如果芯片的电压采样采集电压,并与内部1.25 V的标准电压进行比较,采样电压大于标准值时,即认为内部电流大,自动接通限流保护。直流电机选择Z4BLD60直流电机,其最大额定工作电流和启动电流分别为3.8 A和7 A。电机内部的绕组电流为6.25 A时,采样电压符合标准值要求;如果电流超过了6.25 A时,驱动芯片采取过流保护。驱动模块的电路设计如图3所示。
图3 驱动电机电路连接图Fig.3 Drive motor circuit connection diagram
在移动机器人的底层硬件设计过程中,传感器包括红外防撞传感器、陀螺仪和电池电量检测电路。陀螺
仪传感器采用JY-901传感器,它的精度优秀,利用插针的方式将陀螺仪传感器与电路板连接,与ARM之间的通信用串口实现。防撞传感器布置在机器人的四周,供电为5 V电源。如果在周围没有探测到障碍物,那么传感器的输出为高电平;如果监测到周围有障碍物,那么防撞传感器中的红外接收管会接收到障碍物反馈回来的信号,进而输出低电平。传感器电力设计如图4所示。
图4 传感器电路连接图Fig.4 Sensor circuit connection diagram
移动机器人的动力来源为无刷直流电机,它是一种永磁同步电动机,转子就是永磁体,永磁体的对数根据直流电机的不同而不同。定子用作绕组,一般的电机绕组为三相,控制器根据电机反馈的信号确定转子位置,控制电机绕组的接通和阻断,产生的电磁场带动转子,产生的力矩带动转子转动[7]。转子到达固定位置后,绕组中的电流进出再次改变。直流电机的数学模型如下:
Te=2keIp
Tl=Lσ/Rs
式中,Um表示电机的输入电压,Te表示电磁转矩,Tl表示时间常数,ω表示电机的角速度,Rs和Lσ分别表示单相绕组电阻和绕组电感,TL表示负载转矩,J表示转子的转动惯量,ke为反电动势系数。在电机驱动过程中,电源电压保持不变,调整PWM波的占空比来控制电机输出功率。如果PWM波的占空比为1,那么电机输入电压等于电源的电压,输出功率达到最大值。
PWM波的占空比和电机电源电压的乘积即为电机输入电压,用下式表示:
Um=ρUd
Um表示电机的输入电压,ρ为占空比,Ud为电源电压。
在电机驱动器中,单片机要采集其中的霍尔传感器的脉冲信号,并通过串口将信号发送给ARM芯片。移动机器人的电机驱动的最高转速为2 r/s,驱动轮转动一周产生375个脉冲,那么可以计算出单片机能够接收到的最高脉冲频率是759 Hz。脉冲频率比较小,所以可以采用T法测速的方式来测量脉冲频率。驱动电路软件流程如图5所示。
图5 驱动电路程序设计Fig.5 Driver circuit programming
T法测速就是通过计算两个脉冲之间的时间完成周期计算,然后得到频率。因为不可避免地存在半个时间单位,所以可能会存在一个时间单位的误差。如果被测的速度比较高,计算周期小,会带来比较大的计算误差,所以T法测速通常用于计算速度比较低的场合。可以通过降低编码器脉冲数目的方式来提升速度测量上限,或者可以适当的减小计时单位,能够获得更加精确的计算结果,确保以此测量的时间值尽量延长。
系统包括三层,第一层设置的是干扰较大和体积较大的器件,包括电池、直流电机、开关的电源模块以及电机的驱动电路。这种布置方式能够保证移动机器人的稳定性。第一层和二、三层之间要设置钢板,能够有效地避免电源、隔离电机、传感器和控制电路之间的电磁干扰。第二层布置的是激光雷达,为了减少信号干扰,所以这一层尽量不放置传感器和电路等。第三层放置工控机、调试电路以及ARM控制器,红外接收器放置在顶层反面,尽可能地降低外部电源带来的干扰。
移动机器人控制系统和上位机之间的通信借助RS232串口来实现,将通信信息错误的可能性降到最低。此次设计中的通信方案是16进制的,ARM和单片机反馈信息的格式如图6所示。
图6 系统通信信息格式Fig.6 System communication information format
通过通信测试验证,当移动机器人所处环境有电磁干扰时,系统的通信系统没有受到影响,上位机接收到的信息均有效。如果将系统的屏蔽层去除,那么上位机接收到的通信信号出现了较低程度的错误,上位机能通过数据校验发现这些错误并丢弃。
通过PWM波来实现直流电机的转速控制,而ARM控制PWM波的产生。在传播过程中,PWM波的变形情况将会直接影响系统控制稳定性和精确性。在ARM控制器和电机之间,设置高速光耦合电路,取PWM占空比为75%和25%的两段波形进行比较分析,结果验证原信号和经过光耦后的波形一致,符合要求。
本文研究了基于单片机的移动机器人的运动控制系统,介绍了基于ARM控制核心的底层运动系统硬件,包括红外防撞传感器、陀螺仪传感器、直流电机驱动电路和ARM控制电路。最后简要给出了系统驱动控制模块的实现过程,对系统设计方案进行验证。