1、xx 文理学院课程设计报告课程名称: 专业课程设计 专业班级: 自动化 11101 班 学号 39 学生姓名: xxx 指导教师: xxx 完成时间: 2014 年 6 月 12 日 报告成绩: 评阅意见:评阅教师 日期 基于单片机的一级倒立摆控制器设计I摘 要直线一级倒立摆,是由沿直线导轨运动的小车以及一端固定于小车的匀质长杆组成的非线性的、不稳定的系统。系统以 C8051F020 单片机为主控芯片,包括 电源模块、高精度电位器检测模块、L298N 电机驱动模块、直流减速电机以及倒立摆本体构成。由高精度电位器检测模块测得小车的位置和摆杆相对垂直方向的角度,作为系统的两个输出量被反馈至单片机。
2、单片机根据 PID 控制算法,计算出控制量,并转化为相应的电压信号提供给驱动电路,以驱动直流减速电机的运动,从而通过牵引机构带动小车的移动来控制摆杆和保持平衡。借助倒立摆的数学模型加入 PID 调节来控制它,从而使其成为稳定的系统,通过 Matlab 对仿真效果的分析,基本上达到了预期的效果。关键词 一级倒立摆;微处理器;增量式 PID;伺服电机;Matlab基于单片机的一级倒立摆控制器设计IIAbstractLinear inverted pendulum system, is the movement of the carriage along the linear guide rail
3、is fixed on the trolley and the uniformity of long rod composed of nonlinear, unstable.The system is mainly controlled by the microcontroller C8051F020, which comprises a power supply module, high precision potentio meter detection module, L298N motor drive module, DC motor and theinverted pendulum.
4、 A high precision potentiometer detection module measuredtrolley position and pendulum relative vertical angles, as the two output system isfeedback to the microcontroller. SCM based on PID control algorithm, calculates the volume control, and to provide a corresponding voltage signal to the drive c
5、ircuit to drive DC motor, motor, and through the traction mechanism to drive thecar to control the movement and balance. With the help of a mathematical model of inverted pendulum with PID regulation to control it, so that it becomes a stable system, through the analysis of the simulation results of
6、 the Matlab, basically achieved the expected results.Keywords: an inverted pendulum; microprocessor; incremental PID; servo motor; Matlab基于单片机的一级倒立摆控制器设计III目 录摘 要 .IAbstractII第一章 绪论 .11.1 设计要求 11.2 方案设计 .11.2.1 光电编码检测 .21.2.2 高精度电位器检测 .21.2.3 方案论证 2第二章 一阶倒立摆的数学建模 .42.1 倒立摆模型抽象 42.1.1 倒立摆微分方程模型 .42.1
7、.2 倒立摆的传递函数模型 .52.2 一阶倒立摆的状态空间模型 .6第三章 基于 Matlab 的倒立摆 PID 分析及仿真 .83.1 一级倒立摆模型 .83.1.1 一级倒立摆实际参数 .83.1.2 系统阶跃响应分析 93.2 一阶倒立摆 PID 控制器设计 .103.2.1 PID 概述 103.2.2 PID 参数设定 113.3 MATLAB 仿真 .123.3.1 MATLAB 简述 123.3.2 MATLAB 仿真应用 13第四章 一级倒立摆硬件电路设计 .174.1 单片机最小系统 .174.2 高精度电位器检测模块 .174.3 L298N 电机驱动模块 .174.4
8、电源模块 .18第五章 一级倒立摆软件设计 .195.1 主程序设计 195.2 比较中断子序设计 195.3 ADC 转换中断程序设计 .19参考文献 .19总 结 .21致 谢 .22基于单片机的一级倒立摆控制器设计IV附录一 硬件电路图 .23基于单片机的一级倒立摆控制器设计1图 1.2 直线一级倒立摆控制示意图第 1 章 绪论倒立摆是进行控制理论研究的典型实验平台。倒立摆是机器人技术、控制理论、计算机控制等多个领域、多种技术的有机结合,其被控系统本身又是一个绝对不稳定、高阶次、多变量、强耦合的非线性系统,可以作为一个典型的控制对象对其进行研究。1.1 设计要求倒立摆系统的模型参数有:M
9、:小车的质量;m:摆杆的质量;b:小车的摩擦系数;L:摆杆的中心到转轴的长度;J:摆杆对重心的转动惯量;T:采样周期;如图 1.1 为倒立摆物理模型示意图。一、 用 Matlab 进行阶跃输入仿真,验证系统的稳定性。二、设计 PID 控制器,使得当在小车上施加 0.1N 的脉冲信号时,闭环系统的响应指标为:(1)稳定时间小于 5 秒;(2)稳态时摆杆与垂直方向的夹角变化小于 0.1 弧度。三、设计状态空间极点配置控制器,使得当在小车上施加 0.2m 的阶跃信号时,闭环系统的响应指标为:(1)摆杆角度和小车位移 x 的稳定时间小于 3 秒;(2)x 的上升时间小于 1 秒;(3)摆杆角度的超调量
10、小于 20 度(0.35 弧度) ;(4)稳态误差小于 2%。如图 1.2 为直线一级倒立摆控制示意图。图 1.1 直线一级倒立摆物理模型示意图基于单片机的一级倒立摆控制器设计21.2 方案设计控制原理:旋转倒立摆的实现这里需要给控制器输入两个变量:一个是摆杆角位移的误差 ,另外一个是它的变化率 。当这两个量变化时,给出控制信号的模糊量,01e2e最后将模糊输出控制量转换成精确控制量控制直流减速电机。系统是由微处理器、电机、倒立摆本体和传感器几大部分组成的闭环系统。传感器 1将小车的位移、速度信号反馈给控制器,摆杆的角度、角速度信号由传感器 2 反馈给运控制器。微处理器从控制器中读取实时数据,
11、确定控制决策(小车运动方向、移动速度、加速度等) ,并由运动控制卡来实现控制决策,产生相应的控制量,使电机转动,通过皮带带动小车运动,保持摆杆平衡。1.2.1 光电编码检测本系统采用 C8051F020 具有 10 位转换精度的 A/D 转换器作为控制芯片。采用增量式光电编码器作为角度监测装置,它将输入给轴的角度量,利用光电转换原理转换成相应的电脉冲,送入单片机进行处理,从而驱动直流减速电机来控制小车的运行,进而稳定倒立摆。如图 1.3 为系统的结构框图。1.2.2 高精度电位器检测本系统采用 C8051F020 具有 10 位转换精度的 A/D 转换器作为控制芯片。采用高精度电位器,利用单片
12、机自带的 AD 采样来检测摆杆的角度信息,通过算法处理,进而通过控制直流减速电机控制小车的运行,进而稳定倒立摆。如图 1.4 为系统的控制结构框图。微处理器 高精度电位器 1倒立摆本体电机驱动模块高精度电位器 2直流减速电机图 1.4 系统结构框图1.2.3 方案论证通过比较分析两种方案,差别在于检测装置的不同。采用 C8051F020 作为控制芯片。AVR 系列单片机吸收 PIC 及 8051 单片机的优点,而且 C8051F020 片上具有 10 位转换精微处理器 光电编码器 1倒立摆本体电机驱动模块光电编码器 2直流减速电机图 1.3 系统结构框图基于单片机的一级倒立摆控制器设计3度的
13、A/D 转换器,所以设计采用 C8051F020 实现。方案一采用的是光电编码器来检测摆杆以及小车的状态,从而达到控制的目的。方案二采用的是高精度电位器,结合单片机的的 AD 转换器来检测系统的状态,进而实现控制的目的。但是,考虑到编码器受外界因素的影响较大容易产生累计误差;同时,精密的可变电阻器具有易获得、价格低廉、重复性高、分辨率高、高频响应特性好、易使用等特点。综合考虑,故选择方案二。基于单片机的一级倒立摆控制器设计4第二章 一阶倒立摆的数学建模对倒立摆这样的一个典型被控对象进行研究,无论在理论上和方法上都具有重要意义。不仅由于其级数增加而产生的控制难度是对人类控制能力的有力挑战,更重要
14、的是实现其控制稳定的过程中不断发现新的控制方法,探索新的控制理论,并进而将新的控制方法应用到更广泛的受控对象中。2.1 倒立摆模型抽象首先建立一阶倒立摆的物理模型。在忽略空气阻力和各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统,如图 2.1所示。M:小车的质量;m:摆杆的质量;b:小车的摩擦系数;L:摆杆的中心到转轴的长度;J:摆杆对重心的转动惯量;T:采样周期;2.1.1 倒立摆微分方程模型对一阶倒立摆系统中的小车和摆杆进行受力分析,其中,N 和 P 为小车与摆杆相互作用力的水平和垂直方向的分量。图 2.2 旋转臂及摆杆受力图分析小车水平方向所受的合力,可以得到以下方程:
15、NxbFM由摆杆水平方向的受力进行分析可以得到下面等式: )sin(d2lxtmN即:图 2.1 直线一级倒立摆物理模型示意图基于单片机的一级倒立摆控制器设计5sincos2mllxmN把这个等式代入式中,就得到系统的第一个运动方程: sincos)( 2 llxbMF为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程: )cos(2ldtmgP即: cossin2ll力矩平衡方程如下: INlPlcossin-由于 所以等式前面有负号。sinsi,c, 合并这两个方程,约去 P 和 N,得到第二个运动方程:ossin)(2 xmlglmlI 设 ( 是摆杆与垂
16、直向上方向之间的夹角) ,假设 1 弧度,则可以进行近似处理: 用 u代表被控对象的输入力 F,利用上述0,sin,1-co2dt近似进行线性化得直线一阶倒立摆的微分方程为:umlxbMxglI)(22.1.2 倒立摆的传递函数模型对式(1-9)进行拉普拉斯变换,得:(注意:推导传递函数时假设初始 )()()()( 222 sUsmlsbXsmMXgllI条件为 0。 )基于单片机的一级倒立摆控制器设计6由于输出为角度 ,求解方程组的第一个方程,可得: )()(2sgmlIsX或 glslIs2)()如果令 ,则有:xv mglslIV2)()把上式代入方程组(2-1)的第二个方程,得: )(
17、)()()()()()( 2222 sUsmlsslIbsgmlIM 整理后得到传递函数: sqbglsqlMsqmlIslU 2324 2)()()(其中。 22)()(qllImM2.2 一阶倒立摆的状态空间模型设系统状态空间方程为:方程组(2-9)对 解代数方程,得到解如下DuCXyBA ,x uMmlIMmlIglxMmlIlb lImllImglxlImx 222 2222 )()()( )()()( 整理后得到系统状态空间方程:基于单片机的一级倒立摆控制器设计7uMmlIllIxMmlIgllImlMlmIlblIbx 2222222 )(0)(01)(0)(0)(0)(1 uxx
18、y 010摆杆的惯量为 代入(1-9)的第一个方程为:23mlIxlgllI )(2得: mllmll )31(2化简得: xllg43xuxXT,设, 则有:uT,ulxlgx 430143001 (3-4)(3-5)基于单片机的一级倒立摆控制器设计8第三章 基于 Matlab 的倒立摆 PID 分析及仿真MATLAB 是美国 MathWorks 公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB、Simulink 两大部分。3.1 一级倒立摆模型首先建立一阶倒立摆的物理模型。在忽略空气阻力和各种摩擦之后,可将直线一级倒
19、立摆系统抽象成小车和匀质杆组成的系统,如图 3.1所示。M:小车的质量;m:摆杆的质量;b:小车的摩擦系数;L:摆杆的中心到转轴的长度;J:摆杆对重心的转动惯量;T:采样周期;分析得其传递函数: sqbmglsqlMsqmlIslU2324 2)()()(其中 22)()(qllIM系统状态空间方程为: ulxlgx 4301430013.1.1 一级倒立摆实际参数系统实际参数:M 小车质量 1.0Kg、m 摆杆质量 0.1Kg、b 小摩擦系数 0.1N/m/sec、l摆杆转动轴心到杆质心的长度 0.4m、I 摆杆惯量 0.0053kgm2T、采样时间 T:0.005 秒代入上述参数可得系统的
20、实际模型。摆杆角度和小车位移的传递函数:图 3.1 直线一级倒立摆物理模型示意图基于单片机的一级倒立摆控制器设计958.024.6)(2ssX摆杆角度和小车加速度之间的传递函数为: )(2ssV摆杆角度和小车所受外界作用力的传递函数: 45.18.318.054)(23 sssX以外界作用力作为输入的系统状态方程: 54.0812.018.345.0672.18. 0 xx uxxy 010以小车加速度为输入的系统状态方程: 5.2015.240uxx 010uxxy 3.1.2 系统阶跃响应分析上面已经提到系统的状态方程,先对其进行阶跃响应分析,在 Matlab 中键入以下命令:clear;
21、A=0 1 0 0;0 0 0 0;0 0 0 1;0 0 24.5 0;B=0 1 0 2.5;C=1 0 0 0;0 1 0 0;基于单片机的一级倒立摆控制器设计10D=0 0;step(A,B,C,D)得到以下计算结果:图 3.1 一级倒立摆阶跃响应仿真从图 3.1 可以看出,在单位阶跃响应作用下,小车位置和摆杆角度都是发散的。或者利用 Matlab 的 simulink 仿真功能,得到其仿真系统结构图如图 3.23.2 一阶倒立摆 PID 控制器设计在模拟控制系统中,控制器最常用的控制规律是PID 控制。3.2.1 PID 概述PID 控制器是一种线性控制器,它是根据给定值 r(t)与
22、实际输出值 y(t)构成控制偏差 e(t) )()(tytrte将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,对被控对象进行控制,故称 PID 控制器。其控制规律为图 3.2 倒立摆开环系统结构图图 3.3 倒立摆开环系统仿真图基于单片机的一级倒立摆控制器设计11pKpK)()(1)()(0dteTtetKtuDtIp或写成传递函数的形式 式中)1()(sTsEUGDIp 比例系数; 积分时间常数;IT微分时间常数。DT在控制系统设计和仿真中,也将传递传递函数写成 ssEDIp)(式中 比例系数; IK积分系数; DK微分系数。简单说来,PID 控制器各校正环节的作用如下:
23、(1)比例环节:成比例地反映控制系统的偏差信号 e(t),偏差一旦产生,控制器立即产生控制作用,以减少偏差。(2)积分环节:主要用于消除稳态误差,提高系统的型别。积分作用的强弱取决于积分时间常数 , 越大,积分作用越弱,反之则越强。ITI(3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。3.2.2 PID 参数设定这个控制问题和我们之前遇到的标准控制问题有些不同,在这里输出量为摆杆的位置,它的初始位置为垂直向上,我们给系统施加一个扰动,观察摆杆的响应。考虑到输入 r(s)=0,结构图可以很
24、容易地变换成该系统的输出为其中:)()()()()(1)()(1)( sFnumPIDdenPIDumsdenIusGsKsynum被控对象传递函数的分子项den被控对象传递函数的分母项基于单片机的一级倒立摆控制器设计12numPIDPID 控制器传递函数的分子项denPIDPID 控制器传递函数的分母项通过分析上式就可以得到系统的各项性能。由(2-13)可以得到摆杆角度和小车加速度的传递函数: mglslIsV2)()PID 控制器的传递函数为: denPIDusKsKsKDIpDIP 2)(只需调节 PID 控制器的参数,就可以得到满意的控制效果。前面的讨论只考虑了摆杆角度,那么,在控制的
25、过程中,小车位置如何变化呢?小车的位置输出为: )()(2sVX通过对控制量 v 双重积分即可以得到小车位置。3.3 MATLAB 仿真MATLAB 是美国 MathWorks 公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括 MATLAB 和 Simulink 两大部分。如图 3.12 所示。3.3.1 MATLAB 简述如图 3.13 为 MATLAB 工作界面。其默认形式,如图 1.2-1 所示。该桌面的上层铺放着三个最常用的界面:指令窗(Command Window)、当前目录(Current Directory)浏览器、历
26、史指令(Command History)窗。在当前目录窗的下面还铺放一个 MATLAB 内存工作空间(Workspace)浏览器图 3.12 MATLAB 界面图 3.13 MATLAB 工作界面基于单片机的一级倒立摆控制器设计13如图为 MATLABSimulink 工具栏,Simulink 是 MATLAB 最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。如图 3.14 所示。图 3.14 Simulink 界面3.3.2 MATLAB 仿真应用参数的预置是相辅相成的运行现场应根据实际情
27、况进行如下细调:被控物理量在目标值附近振荡,首先加大积分时间 I,如仍有振荡,可适当减小比例增益 P。被控物理量在发生变化后难以恢复,首先加大比例增益 P,如果恢复仍较缓慢,可适当减小积分时间I,还可加大微分时间 D。实际系统的物理模型: 58.024.6)(ssV在 Simulink 中建立如图 3.6 所示的直线一级倒立摆模型:在 I、D 为零的情况下,找到 P 使得系统稳定下来能够近似等幅振荡。如图为 P 取 48 时图 3.6 比例环节系统调节仿真图基于单片机的一级倒立摆控制器设计14的图形。由图可知系统能够稳定吗,但是响应振荡太强。比例控制是一种最简单的控制方式。其控制器的输出与输入
28、误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差。图 3.7 比例环节系统调节仿真图在 P=48、D=0 为零的情况下,找到 I=21 使得系统振荡减弱。如图为 3.8 所示 I 取 21时的图形。由图可见系统响应振荡减弱。如图 3.9 所示。图 3.8 系统调节仿真图比例增益 P 越大,调节灵敏度越高,但由于传动系统和控制电路都有惯性,调节结果达到最佳值时不能立即停止,导致“超调”,然后反过来调整,再次超调,形成振荡。为此引入积分环节 I,其效果是,使经过比例增益 P 放大后的差值信号在积分时间内逐渐增大(或减小),从而减缓其变化速度,防止振荡。但积分时间 I 太长,又会当反馈信号急
29、剧变化时,被控物理量难以迅速恢复。因此,I 的取值与拖动系统的时间常数有关:拖动系统的时间常数较小时,积分时间应短些;拖动系统的时间常数较大时,积分时间应长些。基于单片机的一级倒立摆控制器设计15图 3.9 积分环节系统调节仿真图在 P=48、I=21 的情况下。找到合适的 I 使得系统的超调量减小。系统调节结构图如 3.10所示。图 3.10 系统调节结构图微分时间 D 是根据差值信号变化的速率,提前给出一个相应的调节动作,从而缩短了调节时间,克服因积分时间过长而使恢复滞后的缺陷。D 的取值也与拖动系统的时间常数有关:拖动系统的时间常数较小时,微分时间应短些;反之,拖动系统的时间常数较大时,
30、微分时间应长些。基于单片机的一级倒立摆控制器设计16。图 3.11 系统调节仿真图图 3.2 系统调节仿真图基于单片机的一级倒立摆控制器设计17经过多次调试将 Kp、KI、KD 的值分别设为 48、31、3,用 MATLAB 仿真得到如图 3.11所示。从上面仿真结果可以看出,系统可以较好的稳定,但由于积分因素的影响,稳定时间明显增大。此外,得到小车的位置输出曲线如图 3.12 所示:由图 3.12 可以看出,由于 PID 控制器为单输入单输出系统,所以只能控制摆杆的角度,并不能控制小车的位置,所以小车会往一个方向运动。图 3.12 小车位置仿真图图 3.2 系统调节仿真图基于单片机的一级倒立
31、摆控制器设计18图 4.3 电机驱动模块第四章 一级倒立摆硬件电路设计系统以 C8051F020 单片机为主控芯片,包括高精度电位器检测模块、L298N 电机驱动模块、电源模块、直流减速电机以及倒立摆本体构成。4.1 单片机最小系统C8051F020 单片机 C8051F020/1/2/3 器件是完全集成的混合信号系统级 MCU 芯片,真正 8位 500 ksps 的 ADC,带 PGA 和 8 通道模拟多路开关。其最小系统包括电源、复位电路、晶振电路一级下载电路。如图 4.1 所示。4.2 高精度电位器检测模块角度检测模块由高精度电位器、放大电路以及 AD 转换电路组成。如图 4.2 所示。
32、图 4.2 角度检测模块4.3 L298N 电机驱动模块内部包含 4 通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个 H桥的高电压大电流双全桥式驱动器,接收标准 TTL 逻辑电平信号,可驱动 46V、2A 以下的电机。L298 可驱动 2 个电机,OUTl、OUT2 和 OUT3、OUT4 之间分别接 2 个电动机。5、7、10、12 脚接输入控制电平,控制电机的正反转,ENA,ENB 接控制使能端,控制电机的停转。LN298 的输入端连图 4.1 C8051F020 最小系统基于单片机的一级倒立摆控制器设计19接单片机的 P3.0、P3.1、P3.2、P3.3。使能端连接 P
33、3.4 以及 P3.5。如图 4.3 所示。4.4 电源模块整个设计电路中电源等级可分为 3.3V、5V、12V。所有的电源都采用三端稳压电源,3.3V-ASM1084CM-3.3、+5V-ASM1084CM5.0、-5V-ASM1084CM-5.0、+12V-LM7812、-12VLM7812CV。其电路图如图 4.4 所示。图 4.4 电源模块电路基于单片机的一级倒立摆控制器设计20第五章 一级倒立摆软件设计一级倒立摆的软件设计包括主程序设计、比较中断子程序设计、ADC 转换完成中断程序设计等三部分组成。根据 PID 算法得出摆杆角度与脉冲占空比之间的函数关系,采用测试法和计算结合方法得出
34、 PID 控制系数。5.1 主程序设计根据倒立摆控制系统要求本身的特点:实时性高,采用前、后台方式的程序结构,即前台主程序循环等待终端,后台运行中断服务程序。如图 5.1 为主程序流程图。5.2 比较中断子序设计主程序在完成初始化和变量初值的给定后,循环等待中断,完成通信数据的处理,以及 PID 的算法控制。如图 5.2所示。自动恢复现场自动保护现场T0/C 比较中断开始CNT=0x01自动中断返回图 5.2 子程序流程图5.3 ADC 转换中断程序设计ADC 转换中断程序完成数据的转换,ADC 完成中断后,将数据保存起来,读取结果,进而转换成电压值,进而由处理器进行PID 算法的处理,进而控
35、制电机,达到控制倒立摆的目的。如图5.3 所示。开始ADC 转换完成中断开始GPRS 初始化GPRS 初始化GPRS 初始化GPRS 初始化GPRS 初始化YN开始初始化控制模式选择结束电机控制A/D 转换滤波是否结束?图 5.1 主程序流程图换成电压值自动保护现场ADC 完成中断开始读取转换结果自动恢复现场自动中断返回图 5.3 子程序流程图基于单片机的一级倒立摆控制器设计21参考文献:1胡寿松.自动控制原理(第五版)科学出版社,20072刘卫国.MATLAB 程序设计教程北京:中国水利水电出版社,20053王晓凯.基于简化模型的倒立摆控制实验研究J.计算技术与自动化,1997(1).4赵文
36、峰.控制系统设计与仿真M.西安:电子科技大学出版社,2002.基于单片机的一级倒立摆控制器设计22总 结本次专业课程设计的时间是二周,其内容是针对直线一阶倒立摆建立控制系统模型,根据技术参数和指标要求对系统进行 PID 控制器设计。对倒立摆进行结构的受力分析,进而得到一阶倒立摆的微分方程模型、传递函数模型以及状态空间数学模型,最后用MATLAB 对系统进行仿真,分析其系统阶跃响应。进而进行直线一阶倒立摆的 PID 控制器设计,在建模结果的基础上,进行 PID 系数的匹配与调试,借助 MATLAB 仿真得到一组比较适合的系数。从数学建模到仿真系统的搭建,再到加进控制环节进行实时控制,最后得出结果
37、的过程中,参考了大量的资料,通过对比整合,设计出了适合自己的一套实验方法:倒立摆数学模型推导部分:首先用牛顿欧拉方法建立数学模型,接着用动态系统空间状态方程法导出状态方程系数矩阵,然后用 MATLAB 对数学模型进行从状态空间到传递函数的变换(包括传递函数的拉氏变换与 Z 变换),得到系统的传递函数模型。接着根据数学建模得出的传递函数进行系统模型的搭建,在 Simulink 软件上进行系统仿真,采用最为广泛的 PID 控制算法,先用连续系统的设计方法设计出模拟控制器,然后在满足一定条件下,对其进行离散化处理,(采用加零阶保持器的 Z 变换法)形成数字控制器。接着进行PID 参数整定,利用试凑法
38、,根据 PID 控制器各组成环节对系统性能的影响,从一组初始PID 参数开始反复试凑,直至获得,满意的控制效果。此实验中,系统的控制非常稳定,性能较好。基于单片机的一级倒立摆控制器设计23致 谢感谢一直以来支持着我的父母,他们不仅于我有养育之恩,更是用以身作则的教育感染着我,父母为了我的成长,一直在背后默默的付出和辛勤的工作,他们的恩情,我将用自己的一生去回报。感谢 xx 文理学院的一切,感谢 xx 文理学院电气与信息工程学院的所有,他们提供了安逸的生活环境、活泼的学习氛围、现代化的实验室、丰富的学习资源,正是有了这些,我才能全身心的投入到学习之中,尽享学习之乐趣。感谢 xxx 老师,老师平日里工作繁多,但在我做专业课程设计的每个阶段,都给予我悉心的指导和帮助,另外,他的治学严谨和科学研究的态度也是我永远学习的榜样,并将积极影响我今后的学习和工作。感谢余旭同学,在整个设计过程中,当遇到一些左右不定的问题,我们都会相互交流讨论,这使得整个设计少走了些弯路;总之,感谢每一位关心过我,爱护过我的人。滴水之恩,当涌泉相报。基于单片机的一级倒立摆控制器设计1附录一 硬件电路图