陈振伟, 张 立
(1.安徽矿业职业技术学院 自动化与信息工程系,安徽 淮北 235000;2.淮北煤电技师学院 自动化与信息工程系,安徽 淮北 235000)
考虑上述因素,越来越多的体积较小、环保、节能型自平衡车被社会大众所认可。自平衡电动车是响应全球节能减排宗旨,能够将无人自动驾驶技术与机器人技术完美结合,不仅具有微型电动车的优点,而且还具有智能控制等特点。
自平衡电动车由于其具有智能控制和纯电力动力、零排放、体积小、灵活性强、时速低等特点而越来越适应社会发展的需要,具有广阔的应用前景。
两轮循迹自平衡车控制单元系统采用飞思卡尔的16位微控制器MC9S12XS128单片机作为核心用于智能汽车系统的控制。线性CCD采集赛道明暗信息,返回到单片机作为转向控制的依据。加速度计返回的模拟信号作为车身当前角度的信号,陀螺仪采集车身转动的角速度[1]。主控输出PWM波控制电机的转速以保持车身的平衡和锁定赛道。同四轮车不同,平衡车需要使用左右轮的差速来转弯。为了控制的准确性和快速性,使用编码器作为速度传感器。编码器返回的信号可以形成闭环,使用PID控制电机转速。平衡车强烈的加减速会导致车身的倾角剧烈的变化,这并不利于车身保持平衡。因此,整个调试过程就是要在保证车身稳定的前提下不断提高自平衡车前进的平均速度。
根据以上系统方案设计,自平衡车共包括6大模块:主控模块采用飞思卡尔MC9S12XS128芯片、电源模块、传感器模块、电机驱动模块、速度检测模块和辅助调试模块。电源模块为整个系统提供合适而又稳定的电源。
以MC9S12XS128为核心的单片机最小系统是本平衡车的核心。
主控模块(飞思卡尔MC9S12XS128芯片)作为整个自平衡车的“大脑”,将采集CCD传感器、加速度计、陀螺仪和光电编码器等传感器的信号,根据控制算法做出控制决策,驱动两个直流电机完成对平衡车的控制。
图1 主控芯片最小系统电路
电机驱动模块驱动直流电机和伺服电机完成智能汽车的加减速控制和转向控制;电机采用芯片BTS7970,其应用非常简单,只需要向芯片第2引脚输入PWM波就能控制。当系统中只需要单向控制时,让电机一端接地,另一端接BTS7960第4引脚。如果需要电机双向旋转控制,则需要另一片BTS7960共同组成全桥。由于小车使用双电机,所以使用4片BTS7970构成两个全桥分别控制两个电机。
速度检测模块检测反馈智能汽车轮的转速,用于速度的闭环控制;本车使用欧姆龙300P/R的光电编码器对车速进行测量,以保证测量精度,并且直接有方向输出,使用方便。LM2940-5为其提供5V工作电压。由于飞思卡尔单片机芯片MC9S12XS128只有一个脉冲计数器,我们采用分时复用的方式对左右两轮计数。
缑卫军[10]以钼酸铵和硫化钠为原料,聚乙二醇为分散剂,在盐酸水溶液中通过水合热法合成了类似于富勒烯型的MoS2纳米微球,其直径在30~60 nm之间,该方法制备出的MoS2纳米微球外表坚硬,物化性能稳定,然而所得产物大小不均。
传感器模块是智能汽车的“眼睛”,可以通过一定的前瞻性,提前感知前方的赛道信息,为智能汽车的“大脑”做出决策提供必要的依据和充足的反应时间,同时,使用陀螺仪和加速度计计算车模行进过程中的实时角速度和加速度信息,用以保持车模稳定行进[2]。
加速度传感器可以测量由地球引力作用或者物体运动所产生的加速度,文中采用的是飞思卡尔公司的MMA7260加速度传感器,该系列的传感器采用了半导体微机械加工和集成电路技术,通过集成的开关电容放大电路量测电容参数的变化,形成了与加速度成正比的电压输出,具有体积小、重量轻、低g值、三轴测量等优点。
由于加速度传感器采用低g值的传感器MMA7260,它的输出信号很大,不需要再进行放大[3]。其中MMA7260可以测量3个方向的加速度,文中只需要测量其中一个方向的加速度值,即Z轴方向上的加速度信号。车模直立时,固定加速度计在Z轴水平方向。当车模发生倾斜时,重力加速度g会在Z轴方向形成加速的分量,从而引起该轴输出电压变化,如下式所示:
式中:g——重力加速度;
θ——车模倾角;
k——加速度传感器的灵敏度系数。
当倾角非常小时,输出电压的变化可以近似与倾角成正比,只需要加速度就可以获得车模的倾角,再对此角度进行微分,即得到倾角速度。但车模实际运行过程中,由于车模本身的摆动所产生的加速度会产生很大的干扰信号,它叠加在测量信号上使得输出的信号无法准确反映车模的倾角,因此,对于小车直立控制所需要的倾角角度和角速度需要通过另外一种传感器获得,即陀螺仪。
直立平衡循迹小车的硬件电路设计已完成,其能否正常稳定的运行,还需要通过编写与硬件电路相适应的控制软件。软件的编写任务是保证车模运行,主要包括配置主控单片机资源,初步编写程序框架;建立软件编译、下载、调试的环境;编程实现各个子模块的功能等。
软件的主要功能有:3个传感器信号的采集、处理;电机的PWM输出;车模的直立控制、速度控制、方向控制。
软件控制流程为:程序的初始化、启动与结束、状态监控[4]。
程序上电后,先对运用到的单片机模块进行初始化,完成初始化后,进行直立检测子程序,程序将读取加速度计数值判断小车是否直立,若直立,则进入中断服务程序进行速度控制、方向控制,同时,判断小车倾斜角度是否超过一定范围,确定小车是否跌倒,若跌倒,则停止运行,重新进行小车直立检测子程序。程序在这个主循环中不断将这些数据由串口发送到上位机进行监测。直立控制、速度控制、方向控制是在中断程序中完成的,其主要读取和清除电机脉冲计数器数值,积累电机脉冲总数;进行20次模拟量的采集,计算各AD转换通道模拟量的平均值;计算小车倾斜角度和直立控制量,电机PWM输出;读取电磁场检波数值,计算偏差数值等。
陀螺仪加速度计采集处理程序:
可以选用5V工作电压的300线欧姆龙光电编码器进行速度的测量,保证测量的精度[5]。速度传感器用螺钉通过支架固定在后轮支架上,这样固定好之后,就有了较高的稳定性。然后调节编码器齿轮,使其与差速齿轮紧密咬合,增大测速的精确性,但是咬合过紧也增大了摩擦,减小了对电机做功的利用率,影响小车的快速行驶[6],因此,减小摩擦同时增强齿轮间的咬合是我们主要考虑的因素。用齿轮润滑油涂抹齿轮有不错效果。
本设计中陀螺仪采用的是村田公司的ENC-03系列的陀螺仪。平衡车在行进过程中,车体仅绕两后轮的轴心线做转动[7]。芯片外观是长方形的,安装时应注意将长的一边与后轮轴心线平行。此外,还应注意的是陀螺仪的输出受温度的影响比较大,为避免环境温度变化对输出的影响,我们将陀螺仪和加速度计作为一个单独的模块,采用FFC线与主板连接,安装在车身的背面[8]。
与陀螺仪一样,加速度传感器的性能与安放位置也有很大的关系。加速度传感器是根据其XYZ轴上的模拟输出电压来确定车身的倾角[9]。由于测量的倾角只有一个,所以可以使用Z轴的输出来计算,当小车倾角为0时,Z轴对应的面应该处于水平。
通过CodeWarrior编译软件的在线调试功能,可以得到大量的信息,为平衡车的调试提供了较大的方便。
综合来看,自平衡车包括硬件和软件部分。文中研究的两轮自平衡循迹小车受到各国科学界的重视,成为自动控制领域的热点,具有广泛的应用前景。
[1] 王俊,许林,岳东,等.基于CCD的两轮自平衡智能车系统设计[J].信息技术,2013(8):181-182.
[2] 严起邦,谭峰,张洪来.基于xs128的光电平衡智能车系统设计[J].科技创新与应用,2014,20:17-18.
[3] 李大朋,曹国华,陈佶言.基于STM32单片机驱动面阵CCD实时图像显示的研究[J].长春理工大学学报:自然科学版,2014(1):37-40.
[4] 段其昌,袁洪跃,金旭东.两轮自平衡车无速度传感器平衡控制仿真研究[J].控制工程,2013,20(4):619-620.
[5] 郑晓伟.基于DSP的两轮自平衡小车系统的研究[J].工业控制计算机,2012,25(9):34.
[6] 李虹瑶,冯开凯,李庆源.自平衡小车原理研究[J].硅谷,2012(18):26.
[7] 董锟,韩帅,孙继龙,等.两轮自平衡智能车系统设计[J].单片机与嵌入式系统应用,2013,13(1):72-73.
[8] 周牡丹,康恺,蔡普郎,等.两轮自平衡车控制系统的设计与实现[J].自动化技术与应用,2014,10:4-8.
[9] 刘二林,姜香菊.基于卡尔曼滤波的两轮自平衡车姿态检测[J].自动化与仪器仪表,2015(2):52-54.