当前位置:智城范文网>范文大全 > 征文 > 基于MC9S12XS128的简易旋转倒立摆的设计

基于MC9S12XS128的简易旋转倒立摆的设计

时间:2022-05-08 15:15:04 来源:网友投稿

摘要:本旋转倒立摆系统的设计以MC9S12XS128高速单片机为控制核心,能够独立执行实时控制算法,脱离计算机直接运行。主要采用数字电位器进行摆杆角度检测,辅以旋转编码器测量电机的速度,形成速度闭环。程序部分应用PID控制算法处理反馈信号,控制电机的转向及转速,能够形成高速度、高精度的无静差系统。经过多次测试,能使倒立摆的摆杆完成往复摆动、保持倒立、倒立状态下的圆周运动、抗撞击测试等一系列动作,可以较快速准确地达到设计要求。

关键词:旋转倒立摆MC9S12XS128PID控制 角度检测 速度闭环

中图分类号:TP368.2 文献标识码:A 文章编号:1007-9416(2014)01-0157-02

倒立摆控制系统是一个复杂的、不稳定的非线性系统,是进行控制理论研究和实验的理想平台。目前,亚洲、日本、韩国、俄罗斯、美国等多个国家都在进行这个领域的研究。对于倒立摆控制的研究有着非常重大的现实意义,机器人的站立与行走类似双倒立摆系统,而机器人的行走控制至今仍未很好地解决。对倒立摆系统的研究能有效地反应控制中的许多问题:如非线性问题、鲁棒性问题[1]、镇定问题及跟踪问题等。通过对倒立摆的控制,可用来检测新的控制方法是否有较强的处理非线性和不稳定性问题的能力。同时,其控制方法在军工、航天和一般工业过程领域中都有着广泛的用途,如火箭发射中的垂直度控制和卫星飞行过程中十分重要的姿态控制等。

倒立摆的种类很多,有悬挂式倒立摆、平行倒立摆、环形倒立摆、平面倒立摆等;根据级数也可以将其分为一级、二级、三级乃至多级。本文主要就旋转平面的一级倒立摆系统进行研究,采用MC9S12XS128微控制器通过速度闭环和DIP算法控制使该倒立摆系统完成包括往复摆动直至完成圆周运动、保持倒立、倒立状态下的圆周运动以及抗干扰测试等一系列动作,主题思想是对摆杆的姿态进行实时的、精确的调整。

1 系统方案设计

1.1 系统设计总方案

本倒立摆系统主要由三大部分组成:电机驱动电路、倒立摆装置和微控制器。倒立摆的工作原理为:通过数字电位计得到反馈电压,经转化得到摆杆的实际角度,微分后得到其速度,连杆的位置和速度可以通过电机编码器(200p/r)转换得到,MCU(微控制器)根据上述四个输入使用增量式PID算法,预调节PWM波脉宽以及驱动端口信号,来分别调节电机转速和转向,实现倒立摆的稳定控制。

系统组成框图如(图1)所示:

1.2 传感器选择

角度传感器采用数字式电位器SFOP22AJ型,这是一种用数字传感器检测转轴的角度变化,并将这个角度变化用多种信号类型反馈输出的器件。信号转换电路根据需要将角度值转换成模拟量(电压/电流)信号,通过AD采样测得电压值从而获取转轴角度。这个方法的优点是调节非常简便,只需一个传感器,缺点是调节精度不高。另一种方法是角度传感器采用数字重力加速度计MMA8451Q,角速度用陀螺仪ENC-03RC,通过卡尔曼滤波使角速度积分后信息跟随加速度计角度信息。但这个方法传感器调节复杂,参数较多且需很长时间调试。

1.3 电机的选择

旋转倒立摆装置电机的特性直接影响到摆杆的调节时间和稳定性。因此,电机的性能和驱动的方式的选择是非常重要的,这里我们选择使用直流电机。

直流电机是将直流电能转换成机械能或将机械能转换成直流电能的旋转电机,并且直流电机变速平稳,几乎感觉不到振动;并且它温升低,可靠性好,响应快、起动转矩较小、从零转速至额定转速具备可提供额定转矩的性能,且直流电机的工作电流小耗电量小。也可以使用步进电机驱动,它是通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。但是,步进电机容易产生共振、转速低、反应不够灵敏。基于稳定性和耗电量的考虑,我们选择使用直流电机。

2 系统的硬件与程序设计

2.1 倒立摆的机械结构设计

设计并制作一套简易旋转倒立摆装置,旋转倒立摆的结构如(图2)所示。电动机A固定在支架B上,通过转轴F驱动旋转臂C旋转。摆杆E通过转轴D固定在旋转臂C在电动机A驱动下作往复旋转运动时,带动摆杆E在垂直于旋转臂C的平面作自由旋转。

2.2 电路设计

电源电路:由于在主控电路中需要用到3.3V和5V两种电压,故需要进行电压转换。电源模块我们采用TPS7333(线性稳压芯片)提供3.3V电压,LM2940(5V线性稳压器)为数字电位器等器件供电,电路图如(图3)所示。

电机驱动电路:驱动电路中使用74HC244DW双向总线收发器隔离单片机与电机驱动芯片信号,防止驱动芯片工作不正常时对单片机口产生灌电流烧毁单片机。驱动芯片使用TPS7960B通过两路信号DIR和PWM控制直流电机的方向和转速,从而控制摆杆,电路图如(图4)所示。

2.3 程序结构与设计

主程序的框架如(图5)所示,它的主要功能包括有:(1)各传感器信号的采集、处理;(2)电机PWM输出;(3)倒立摆运行控制:摆动控制、直立控制、直立圆周运动控制;(4)系统运行流程控制:程序初始化、系统启动与结束、摆杆状态监控。

程序说明:

程序上电运行后,便进行单片机的初始化。初始化的工作包括两部分,一部分是对于单片机各个应用到的模块进行初始化。这部分代码由CodeWarrior集成环境的ProcessorExpert工具生成。第二部分是应用程序初始化,是对于倒立摆控制程序中应用到的变量值进行初始化。

初始化完成后,首先进入倒立摆直立检测子程序。该程序通过读取数字电位器的竖直判断摆杆是否出于直立状态。如果一旦处于直立状态则启动摆杆直立控制、方向控制以及速度控制。

程序在主循环中不停发送监控数据,再通过串口发送到上位机进行监控。同时检查摆杆是否倒下,摆杆的直立控制、速度控制以及方向控制都是在中断程序中完成。通过全局标志变量确定是否进行闭环控制,中断程序框架如(图6)所示。

程序中加入了摆杆倒下关闭电机的程序,目的是防止摆杆倒下后电机仍在高速转动伤及人体。摆杆倒下的判断可以通过检测摆杆倾角是否超过一定范围进行确定,一旦摆杆倒下,则停止电机运行,包括电机的直立控制、速度控制以及方向控制。然后重新进入摆杆直立判断过程。

3 测试方案与测试结果

3.1 往复摆测试

摆杆从自然下垂状态(摆角)开始,给电机一个固定脉冲宽度PWM,让其带动旋转臂正反转,使摆杆往复摆动,测试摆角是否达到或超过- — +范围,及摆角达到要求的时间,测试结果如(表1)所示。

3.2 倒立测试

控制摆杆的倒立,必须通过传感器的反馈信号,让其自动调节。单片机采用PID控制算法,反应速度快,能够消除静差。

外力拉起摆杆至接近位置,外力撤除同时,启动倒立摆系统,测试摆杆是否能保持倒立摆状态及其保持时间,同时观察旋转臂的转动角度是否超过。测试结果如(表2)所示。

让摆杆从自然下垂状态开始,由单片机控制旋转臂作往复运动直到摆杆达到倒立的角度范围,测试是否能使摆杆倒立,记录完成倒立的时间和倒立保持时间如(表3)所示。

4 实验结论及意义

通过以上对倒立摆系统的一系列测试,证明了本系统可以实现对旋转平面内一级倒立摆的非线性的稳定控制,使之完成诸如倒立,圆周运动等的一系列动作。

并且,该系统有一个非常重要的性质——它是非线性不稳定的。不稳定系统的控制问题是目前大多数控制系统需要克服的难点,有必要在实验室中研究,但是由于绝大多数的不稳定控制系统都存在着危险性,因此成了实验室研究的主要障碍。而倒立摆系统却能很好地解决这一矛盾,它简单、安全并且具备了一个非稳定系统所具有的重要的动态特性,因此,本系统对控制系统的设计而言可以说是一个比较理想的研究模型。

参考文献

[1]王惠姣.不确定线性系统的鲁棒控制及其在倒立摆系统中的应用[D].杭州:杭州电子工业学院,2003.

[2]李光飞.单片机课程设计指导[M].北京:北京航空航天大学出版社,2007.6.

[3]何希才.传感器及其应用[M].北京:国防工业出版社,2001.

[4]王晓明.电动机的单片机控制[M].北京:航空航天大学出版社,2007.

[5]郭天祥.51单片机C语言教程—入门、提高、开发、拓展全攻略[M].电子工业出版社,2009.

推荐访问: 倒立 简易 旋转 设计 MC9S12XS128

版权所有:智城范文网 2010-2025 未经授权禁止复制或建立镜像[智城范文网]所有资源完全免费共享

Powered by 智城范文网 © All Rights Reserved.。粤ICP备20058421号