基于MC9S12XS128的二轮直立车设计方案

2018-03-18来源: eefocus关键字:MC9S12XS128  二轮直立车

    内容摘要:笔者以飞思卡尔16位单片机MC9S12XS128为核心控制器,以二轮玩具车为控制对象,使用ENC-03RC陀螺仪传感器与MMA7361加速度传感器,通过使用匹配滤波算法实现二轮玩具车模倾斜角度的测量。在此基础上,将二轮玩具车直立运动线性分解,设计出直立速度控制器。实现了二轮车直立运行。

    进入21世纪以来,随着我国城乡经济的高速发展,人们生活水平的提高,越来越多的人开始拥有私家车,这在一定程度上造成了日益严重的交通压力。为了解决这一问题,人们开始研究新的交通工具。与三轮车,四轮车等交通工具相比,两轮车具有的便于在狭窄空间运行,轻便灵活的车身以及易于存放管理的特点,成为近年来的一个研究热点,具有广泛的运用前景。鉴于此,本文以玩具车模(以下简称车模)为研究对象,以现代电路电子先进的SMT技术为依托,使用先进的控制理论,对两轮车进行了深入研究。

    MC9S12XS128是飞思卡尔半导体公司推出的性价比较高的16位单片机。日本村田公司生产的测量角速度的传感器ENC-03RC价格低廉,配合三轴角度测量传感器MMA7361可以实现角度的测量。本文以MC9S12XS128为核心控制器,以ENC-03RC和MMA7361为主要传感器,采用先进PID算法,设计了直立速度控制器,实现了车模的直立运行。

    1 系统总体方案设计

    1.1 车模倾斜角度的测量

    通过对倒立摆的研究可以发现,要实现车模的直立控制,需要克服车模的重力影响。要做到这一点,必须获得车模倾斜的角度以及角速度。这样,当车模往后倾斜时,通过得到的角度与角速度控制车模电机往后加速,当车模往前倾斜时,利用角度与角加速度的值使电机往前加速,从而保持车模在平衡点直立。

    单独使用角度传感器MMA7361可以测量倾斜角度,再通过微分可以获得角速度,但是由于其存在一定的噪声,因此不适合用于直立控制。基于此,本文结合两种传感器,使用匹配滤波算法,实现角度与角速度的测量。匹配滤波算法的原理框图如图1所示。

基于MC9S12XS128的二轮直立车设计与实现

    1.2 车模的直立控制

    由图1.1可知,通过匹配滤波算法实现了车模角度的平滑,由陀螺仪传感器得到了角加速度的值。车模的直立控制是通过角度负反馈控制,使其实现直立控制。使用比例控制,可以控制车模在平衡点直立。但是要保证车模具有较强的抗干扰性,具有快速的响应速度,即当车模遇到干扰时能够快速稳定到平衡点,还需要用到微分控制,即加入车模的角加速度。这样,使用角度的比例与微分控制可以实现车模快速地稳定在平衡点(车模实际模型待画)。直立控制的原理图如图2所示。

基于MC9S12XS128的二轮直立车设计与实现

    1.3 车模的速度控制

    为了解决陀螺仪传感器温漂以及传感器安装问题,可以通过加入速度控制来实现车模的平衡点稳定。通过车模的角度控制车模的直立是一个正反馈的过程而不是负反馈,这与其它常见的控制方式不同。其根本原因在于车模的重力方向与恢复到平衡点的力的方向是相反的。当车模快速向一个方向倾斜时,为了改变运动方向,即改变车模的倾斜角度,这时应该施加正反馈使电机加大力度,改变车模倾角,而不是减小电机控制量。所以速度反馈是一个正反馈。由于车模的执行机构是直流电机,通过控制电机实现对车模直立与速度控制,由电机拖动可知直流电机产生的力矩与电流的关系近似为

    T=CeφIa (1)

    其中Ce为电机常数,φ为电势常数,Ia为电枢电流。

    从式(1)可以将电机看作一个线性机构。这样直立控制与速度控制可以看作两个控制器线性叠加在一起,并且相互之间是可以近似看作无耦合的。这时可以独立于直立控制,单独设计速度控制器。速度控制采用改进型PI控制器,图3表示了速度控制的原理框图:

基于MC9S12XS128的二轮直立车设计与实现

    车模直立运行的关键是直立控制与速度控制,基于陀螺仪与加速度计以及测速传感器可以实现。整个系统的原理框图如图4所示。

基于MC9S12XS128的二轮直立车设计与实现

    2 系统的硬件设计

    系统硬件由主要由MC9S12XS128最小系统,电机驱动电路,速度传感器电路,陀螺仪与加速度计电路与调试电路等组成。测电机速度时采用单片机测速模块和计数器芯片CD4051B。电机驱动芯片采用集成驱动芯片BTS7960。调试电路使用PL2303芯片,将单片机中的信息传回到上位机。硬件系统框图如图5所示。

基于MC9S12XS128的二轮直立车设计与实现

    3 系统的软件设计

    3.1 数字PID算法

    模拟PID的表达式如式(2)所示

基于MC9S12XS128的二轮直立车设计与实现

    到这一步已经求得数字位置式PID的表达式。本文设计的直立与速度控制器的核心思想是从数字位置式PID表达式来的,下面说明软件的各个部分。

    3.2 软件各部分实现

    系统的软件部分主要由传感器信号滤波处理,匹配滤波算法,直立控制算法以及速度控制算法组成。信号的采样在中断函数中处理。为了减轻噪声干扰,在程序采取了中位值,平均值等几种算法结合的方式。匹配滤波算法用于获得车模的倾角与角加速度。直立控制算法用于获得车模直立控制量。速度控制算法使用PI算法实现车模的静止运行。


    4 实验应用

    本文的车模直立行走算法实现了基本功能。但是存在很多参数需要调整,首先在使用AD采样得到陀螺仪与加速度计信号值后,要减去静态值,然后需要加速度参数与陀螺仪参数进行归一化处理,得到实际的角度。同时,在匹配滤波算法中存在比例因子GTA需要调试。而且,在直立控制与速度控制中分别存在P参数,D参数,以及速度P参数,速度I参数。这些参数需要不断调试才能得到一个较好的效果。本文经过长期测试,得到了一定的效果,图6表示匹配滤波算法算得的车模角度。


基于MC9S12XS128的二轮直立车设计与实现

    在该图中可以看到,蓝色的线毛刺较多,而另外那条线明显平滑,没有噪声,而且也很好地跟踪到了加速度计传回的角度,说明达到了预期的效果。运用本文提出的直立速度控制算法,得到车模直立运行的效果,图7中设定车模速度为0,立在原地的效果图。

基于MC9S12XS128的二轮直立车设计与实现

    5 结束语

    文中基于加速度传感器MMA7361与陀螺仪传感器ENC03-RC设计与实现了二轮直立车的速度与直立控制方案。实验证明,整个系统具有较强的抗干扰能力与较快的动态响应特性,二轮直立车可以很好地实现直立运行。


关键字:MC9S12XS128  二轮直立车

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/article_2018031838286.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:SMC62T3单片机基本线路连接电路
下一篇:使用单片机的智能照明控制系统的设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

MC9S12XS128驱动LEDP10显示屏

;  TSCR2=0x87;//使能溢出中断   128分频       TCNTH=((unsigned int)(-20000))/256; //500ms       TCNTL=((unsigned int)(-20000))%6;        TFLG2_TOF=1;   //清除溢出中断标志位       
发表于 2015-09-25

基于线性CCD图像识别智能小车的设计与开发

驾驶,具有极强的实用价值和市场前景。 1 系统设计思想 经过调研与分析,我们采用了MC9S12XS128单片机、TSL1401CL线性CCD图像采集模块、稳压芯片以及液晶OLED等外围器件设计与开发出这套智能小车系统。MC9S12XS128高速单片机为Freescale公司新推出的16位高性能高速单片机,其接口丰富、功耗低、信息处理能力强大,能对小车前方路径及障碍进行及时分析,处理迅速、性能稳定。为了提高路面图像采集的速度与质量,我们选用了TSL1401CL线性CCD图像传感器。TSL1401CL具有功耗小、性能稳定、灵敏度高、响应速度快等优点,其工作过程是先将路况光学信号转换为模拟电流,模拟电流放大后再进行A/D转换变成
发表于 2015-08-20
基于线性CCD图像识别智能小车的设计与开发

基于MC9S12XS128的蓄电池多功能充电系统设计

需隔离驱动,本设计选用了三菱公司IBGT专用驱动芯片M57962L,图2是其应用电路。      由于选用了4只IGBT组成全桥逆变器,每个IGBT需要一个M57962L芯片驱动,而每个M57662L芯片需要3个电压等级即15V、l0V、5v为其供电,其中5v电压同时为MC9S12XS128单片机供电,本文设计了一款功率为50W的变压器,为单片机及4个M57962L芯片供电,其次级绕组输出3组电压,经整流滤波稳压后,得到上述所需的3个电压。   1.2 充电控制回路   选用飞思卡尔MC9S12XS128单片机作为控制核心进行数据采集和控制,其内部数据存储器8KB、程序存储器128KB,2个SCI、1个SPI、1个IIC
发表于 2014-02-17
基于MC9S12XS128的蓄电池多功能充电系统设计

基于MC9S12XS128的汽车BCM的设计与实现

    Freescale的S12系列16位MCU在车身控制系统中应用广泛,用于车身控制器BCM、门锁模块、RKE接收器、智能执行器、灯光模块等车身ECU中。在某整车厂开发的BCM中,采用MC9S12XS128做为中央处理器,实现了车身控制的大部分功能,包括门锁控制、灯光控制、雨刷控制、车窗控制和防盗报警,还实现了CAN/LIN网关功能,通过CAN总线接收车速和碰撞信号,从而实现安全驾驶和紧急操作,通过LIN总线接收来自雨量传感器的信号,控制雨刷的快速、慢速或间歇操作。下面从硬件设计和软件设计中的关键技术方面介绍MC9S12XS128在BCM中的应用。1 硬件设计1.1 MC9S12XS128简介
发表于 2012-10-19
基于MC9S12XS128的汽车BCM的设计与实现

基于单片机MC9S12XS128的车身控制模块设计

Freescale的S12系列16位MCU在车身控制系统中应用广泛,用于车身控制器BCM、门锁模块、RKE接收器、智能执行器、灯光模块等车身ECU中。在某整车厂开发的车身控制模块中,采用MC9S12XS128做为中央处理器,实现了车身控制的大部分功能,包括门锁控制、灯光控制、雨刷控制、车窗控制和防盗报警,还实现了CAN/LIN网关功能,通过CAN总线接收车速和碰撞信号,从而实现安全驾驶和紧急操作,通过LIN总线接收来自雨量传感器的信号,控制雨刷的快速、慢速或间歇操作。下面从硬件设计和软件设计中的关键技术方面介绍MC9S12XS128在BCM中的应用。 1 硬件设计 1.1 MC9S12XS128简介 MC9S12XS128
发表于 2012-10-19
基于单片机MC9S12XS128的车身控制模块设计

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved