课程设计计算机控制技术课程设计成绩评定表设计课题两轮直立代步车控制器设计学院名称:电气工程学院专业班级:学生姓名:学号:指导教师:设计地点:设计时间:指导教师意见:成绩:签名:年月日课程设计1计算机控制技术课程设计课程设计名称:两轮直立代步车控制器设计专业班级:自动化1004学生姓名:学号:指导教师:课程设计地点:31-503课程设计时间:2011-06-11~2011-06-15课程设计2计算机控制技术课程设计任务书学生姓名专业班级学号题目两轮直立代步车控制器设计课题性质工程设计课题来源自拟指导教师臧海河主要内容(参数)利用S12G128设计两轮直立代步车控制系统,实现以下功能:1.系统启动时,控制电机使系统保持平衡;2.当按下前进或后退按钮时,系统保持一顶的倾角前进或后退;3.按下左右方向按钮时,通过电机差速来调整方向;4.按下停止按钮时,电机减速运行至停止,并保持系统直立;任务要求(进度)第1天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。第2天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。第3天:软件设计,编写程序。第4-5天:撰写课程设计报告。要求内容完整、图表清晰、语言流畅、格式规范、方案合理、设计正确,篇幅不少于6000字。主要参考资料[1]张迎新.单片微型计算机原理、应用及接口技术(第2版)[M].北京:国防工业出版社,2004[2]熊志奇.微机自动配料控制系统[J].电子技术应用,1997,(10):30-32[4]唐介,电机与拖动(第二版)[M].北京:高等教育出版社,2007[5]阎石,数字电子技术基础(第五版)[M].北京:高等教育出版社,2005[6]胡寿松,自动控制原理(第二版)[M].北京:科学出版社,2007审查意见系(教研室)主任签字:年月日目录1引言..............................................................3课程设计32总体方案设计......................................................42.1硬件组成.....................................................42.2整体电路框图.................................................42.3直立任务分解.................................................42.4平衡控制.....................................................52.5角度和角速度测量.............................................52.4速度控制.....................................................72.5方向控制.....................................................93硬件电路设计......................................................93.1单片机及其外围电路..........................................93.2控制电路划分为如下子模块:..................................104系统软件设计.....................................................134.1主程序设计.................................................134.2控制相关的软件函数:........................................144.3中断服务程序................................................155总结.............................................................15参考文献...........................................................15附录A电路图......................................................161引言两轮自平衡电动代步车是一种两轮左右并行布置结构的具有自平衡系统的电动车。利用倒立摆控制原理,使车体始终保持平衡。在车体内嵌入式CPU的控课程设计4制下,采集平衡传感器以及速度、加速度传感器的数据,通过建立的系统数学模型和控制算法,计算输出PWM信号,自动控制两个伺服电机的转矩,使车体保持平衡并能够根据人体重心的偏移,自动前进、后退及转弯。2总体方案设计2.1硬件组成按两轮自平衡电动代步车控制系统的技术要求,控制系统的硬件应包括以下几部分:(1)控制器。作为控制系统的核心,采用S12G128单片机控制各个模块。(2)速度检测通道。将运动量转换为数字量,送给单片机,直接读取当前速度。(3)控制输出通道。控制器输出的控制信号传送给电机,控制电机的正反转和速度。(4)加速度检测通道。将电机角加速度转换为电信号。(5)角度检测通道。将系统倾角转换为电信号。2.2整体电路框图S12G1281:::::2:::::3::::::::::::X2::::::::::::::AD2AD33.3V7.2VTIMERPWM4图2.1总体控制框图2.3直立任务分解(1)控制平衡:通过控制两个电机正反向运动保持车模直立平衡状态;(2)速度控制:通过调节车模的倾角来实现车模速度控制,实际上最后还课程设计5是演变成通过控制电机的转速来实现车轮速度的控制。(3)控制方向:通过控制两个电机之间的转动差速实现车模转向控制。车的直立和方向控制任务都是直接通过控制车的两个后轮驱动电机完成的。假设电机可以虚拟地拆解成两个不同功能的驱动电机,它们同轴相连,分别控制系统的直立平衡、左右方向。在实际控制中,是将控制直立和方向的控制信号叠加在一起加载电机上,只要电机处于线性状态就可以同时完成上面两个任务。速度是通过调节车模倾角来完成的。不同的倾角会引起车的加减速,从而达到对于速度的控制。2.4平衡控制重力场中使用细线悬挂着重物经过简化便形成理想化的单摆模型。直立着的车可以看成放置在可以左右移动平台上的倒立着的单摆。当物体离开垂直的平衡位置之后,便会受到重力与悬线的作用合力,驱动重物回复平衡位置。这个力称之为回复力,在偏移角度很小的情况下,回复力与偏移的角度之间大小成正比,方向相反。在此回复力作用下,单摆便进行周期运动。在空气中运动的单摆,由于受到空气的阻尼力,单摆最终会停止在垂直平衡位置。空气的阻尼力与单摆运动速度成正比,方向相反。阻尼力越大,单摆越会尽快在垂直位置稳定下来。总结单摆能够稳定在垂直位置的条件有两个:(1)受到与位移(角度)相反的恢复力;(2)受到与运动速度(角速度)相反的阻尼力。通过类比倒立摆可得到了车直立的控制方案。控制车模直立稳定的条件如下:(1)能够精确测量车模倾角θ的大小和角速度'θ的大小;(2)可以控制车轮的加速度。2.5角度和角速度测量(1)加速度传感器加速度传感器可以测量由地球引力作用或者物体运动所产生的加速度。MMA7260是一款三轴低g半导体加速度计,可以同时输出三个方向上的加速度模拟信号,通过设置可以使得MMA7260各轴信号最大输出灵敏度为800mV/g,这个信号无需要在进行放大,直接可以送到单片机进行AD转换。只需要测量其中一个课程设计6方向上的加速度值,就可以计算出倾角,比如使用Z轴方向上的加速度信号。车直立时,固定加速度器在Z轴水平方向,此时输出信号为零偏电压信号。当车发生倾斜时,重力加速度g便会在Z轴方向形成加速度分量,从而引起该轴输出电压变化。变化的规律为sinukgkg式中,g为重力加速度;θ为车模倾角;k为加速度传感器灵敏度系数系数。当倾角θ比较小的时候,输出电压的变化可以近似与倾角成正比。(2)角速度传感器-陀螺仪陀螺仪可以用来测量物体的旋转角速度。竞赛允许选用村田公司出品的ENC-03系列的加速度传感器。它利用了旋转坐标系中的物体会受到科里奥利力的原理,在器件中利用压电陶瓷做成振动单元。当旋转器件时会改变振动频率从而反映出物体旋转的角速度。在车上安装陀螺仪,可以测量车模倾斜角速度,将角速度信号进行积分便可以得到车模的倾角。由于陀螺仪输出的是车的角速度,不会受到车体运动的影响,因此该信号中噪声很小。车的角度又是通过对角速度积分而得,这可进一步平滑信号,从而使得角度信号更加稳定。因此车控制所需要的角度和角速度可以使用陀螺仪所得到的信号。由于从陀螺仪角速度获得角度信息,需要经过积分运算。如果角速度信号存在微小的偏差和漂移,经过积分运算之后,变化形成积累误差。这个误差会随着时间延长逐步增加,最终导致电路饱和,无法形成正确的角度信号,为了消除这个累积误差一种简单的方法就是通过上面的加速度传感器获得的角度信息对此进行校正。通过对比积分所得到的角度与重力加速度所得到的角度,使用它们之间的偏差改变陀螺仪的输出,从而积分的角度逐步跟踪到加速度传感器所得到的角度。如图2.2所示:课程设计7陀螺仪积分比例加速度计+++-++角度Ɵ角速度ω图2.2加速度计陀螺仪采集框图(3)双加速度传感器获得角度和角速度加速度传感器Z轴信号除了由于重力加速度引起的输出之外,还包括有车模的角加速度和移动加速度产生的信息。在车模现有的参数基础上,这些信号在幅值、频率等方面没有太大差异,它们叠加在一起无法将它们分开。如果在车模上另外再增加一个加速度传感器,两个加速度传感器安装的高度不同,那么就可以通过这两个信号的差值求出车模的角加速度。通过上下两个加速度传感器输出信号相减,便可以得到车模倾角加速度。对于这个信号进行两次积分,便可以的获得车模倾角的角速度和角度。对于积分所可能带来的积分漂移问题仍然可以采用上面的重力加速度计补偿的方法进行消除。可以得到如下角度控制方案框图2.3所示。陀螺仪积分比例加速度计+++-++角度Ɵ角速度ω+k2k2++电机驱动电压图2.3角度控制方案框图2.4速度控制对于直立车速度的控制相对于普通车的速度控制则比较复杂。由于在速度控制过程中需要始终保持车的平衡,因此车速度控制不能够直接通过改变电机转速课程设计8来实现。具体实现需要解决三个问题:(1)如何测量车速度?(2)如何通过车模直立控制实现车倾角的改变?(3)如何根据速度误差控制车倾角?第一个问题可以通过安装在电机输出轴上的光码盘来测量得到车的车轮速度。利用控制单片机的计数器测量在固定时间间隔内速度脉冲信号的个数可以反映电机的转速。第二个问题可以通过角度控制给定值来解决。给定车直立控制的设定值,在角度控制调节下,车模将会自动维持在一个角度。通过前面车直立控制算法可以知道,车模倾角最终是跟踪重力加速度Z轴的角度。因此车的倾角给定值与重力加速度Z轴角度相减,便可以最终决定车的倾角。控制框图如图2.4所示。陀螺仪积分比例加速度计+++-++角度Ɵ角速度ω+k2k2++电机驱动电压++倾角给定量-图2.4倾角控制框图第三个问题介意在前两个问题的基础上增加微分控制,控制框图如图2.5所示。陀螺仪积分比例加速度计+++-++角度Ɵ角速度ω+k2k2++电机驱动电压++-++Dspeed-Pspeed+速度反馈速度给定图2.5速度闭环控制框图课程设计92.5方向控制车的方向控制可在直立和速度闭环的基础上,给电机叠加上方向电信号,实现电机差速,从而实现方向的改变。在车模控制中的直立、速度和方向控制三个环节中,都使用了比例微分(PD)控制,这三种控制算法的输出量最终通过叠加通过