基于单片机的一级倒立摆控制器设计Word文件下载.docx
《基于单片机的一级倒立摆控制器设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的一级倒立摆控制器设计Word文件下载.docx(31页珍藏版)》请在冰豆网上搜索。
由高精度电位器检测模块测得小车的位置和摆杆相对垂直方向的角度,作为系统的两个输出量被反馈至单片机。
单片机根据PID控制算法,计算出控制量,并转化为相应的电压信号提供给驱动电路,以驱动直流减速电机的运动,从而通过牵引机构带动小车的移动来控制摆杆和保持平衡。
借助倒立摆的数学模型加入PID调节来控制它,从而使其成为稳定的系统,通过Matlab对仿真效果的分析,基本上达到了预期的效果。
关键词一级倒立摆;
微处理器;
增量式PID;
伺服电机;
Matlab
Abstract
Linearinvertedpendulumsystem,isthemovementofthecarriagealongthelinearguiderailisfixedonthetrolleyandtheuniformityoflongrodcomposedofnonlinear,unstable.ThesystemismainlycontrolledbythemicrocontrollerC8051F020,whichcomprisesapowersupplymodule,highprecisionpotentiometerdetectionmodule,L298Nmotordrivemodule,DCmotorandtheinvertedpendulum.Ahighprecisionpotentiometerdetectionmodulemeasuredtrolleypositionandpendulumrelativeverticalangles,asthetwooutputsystemisfeedbacktothemicrocontroller.SCMbasedonPIDcontrolalgorithm,calculatesthevolumecontrol,andtoprovideacorrespondingvoltagesignaltothedrivecircuittodriveDCmotor,motor,andthroughthetractionmechanismtodrivethecartocontrolthemovementandbalance.WiththehelpofamathematicalmodelofinvertedpendulumwithPIDregulationtocontrolit,sothatitbecomesastablesystem,throughtheanalysisofthesimulationresultsoftheMatlab,basicallyachievedtheexpectedresults.
Keywords:
aninvertedpendulum;
microprocessor;
incrementalPID;
servomotor;
Matlab
第1章绪论
倒立摆是进行控制理论研究的典型实验平台。
倒立摆是机器人技术、控制理论、计算机控制等多个领域、多种技术的有机结合,其被控系统本身又是一个绝对不稳定、高阶次、多变量、强耦合的非线性系统,可以作为一个典型的控制对象对其进行研究。
1.1设计要求
倒立摆系统的模型参数有:
M:
小车的质量;
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)摆杆角度的超调量小于20度(0.35弧度);
(4)稳态误差小于2%。
如图1.2为直线一级倒立摆控制示意图。
1.2方案设计
控制原理:
旋转倒立摆的实现这里需要给控制器输入两个变量:
一个是摆杆角位移的误差,另外一个是它的变化率—。
当这两个量变化时,给出控制信号的模糊量,最后将模糊输出控制量转换成精确控制量控制直流减速电机。
系统是由微处理器、电机、倒立摆本体和传感器几大部分组成的闭环系统。
传感器1将小车的位移、速度信号反馈给控制器,摆杆的角度、角速度信号由传感器2反馈给运控制器。
微处理器从控制器中读取实时数据,确定控制决策(小车运动方向、移动速度、加速度等),并由运动控制卡来实现控制决策,产生相应的控制量,使电机转动,通过皮带带动小车运动,保持摆杆平衡。
1.2.1光电编码检测
本系统采用C8051F020具有10位转换精度的A/D转换器作为控制芯片。
采用增量式光电编码器作为角度监测装置,它将输入给轴的角度量,利用光电转换原理转换成相应的电脉冲,送入单片机进行处理,从而驱动直流减速电机来控制小车的运行,进而稳定倒立摆。
如图1.3为系统的结构框图。
1.2.2高精度电位器检测
采用高精度电位器,利用单片机自带的AD采样来检测摆杆的角度信息,通过算法处理,进而通过控制直流减速电机控制小车的运行,进而稳定倒立摆。
如图1.4为系统的控制结构框图。
1.2.3方案论证
通过比较分析两种方案,差别在于检测装置的不同。
采用C8051F020作为控制芯片。
AVR系列单片机吸收PIC及8051单片机的优点,而且C8051F020片上具有10位转换精度的A/D转换器,所以设计采用C8051F020实现。
方案一采用的是光电编码器来检测摆杆以及小车的状态,从而达到控制的目的。
方案二采用的是高精度电位器,结合单片机的的AD转换器来检测系统的状态,进而实现控制的目的。
但是,考虑到编码器受外界因素的影响较大容易产生累计误差;
同时,精密的可变电阻器具有易获得、价格低廉、重复性高、分辨率高、高频响应特性好、易使用等特点。
综合考虑,故选择方案二。
第二章一阶倒立摆的数学建模
对倒立摆这样的一个典型被控对象进行研究,无论在理论上和方法上都具有重要意义。
不仅由于其级数增加而产生的控制难度是对人类控制能力的有力挑战,更重要的是实现其控制稳定的过程中不断发现新的控制方法,探索新的控制理论,并进而将新的控制方法应用到更广泛的受控对象中。
2.1倒立摆模型抽象
首先建立一阶倒立摆的物理模型。
在忽略空气阻力和各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统,如图2.1所示。
2.1.1倒立摆微分方程模型
对一阶倒立摆系统中的小车和摆杆进行受力分析,其中,N和P为小车与摆杆相互作用力的水平和垂直方向的分量。
分析小车水平方向所受的合力,可以得到以下方程:
由摆杆水平方向的受力进行分析可以得到下面等式:
即:
把这个等式代入式中,就得到系统的第一个运动方程:
为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程:
力矩平衡方程如下:
由于所以等式前面有负号。
合并这两个方程,约去P和N,得到第二个运动方程:
设(φ是摆杆与垂直向上方向之间的夹角),假设φ<
<
1弧度,则可以进行近似处理:
用代表被控对象的输入力F,利用上述近似进行线性化得直线一阶倒立摆的微分方程为:
2.1.2倒立摆的传递函数模型
对式(1-9)进行拉普拉斯变换,得:
(注意:
推导传递函数时假设初始条件为0。
)
由于输出为角度φ,求解方程组的第一个方程,可得:
或
如果令,则有:
把上式代入方程组(2-1)的第二个方程,得:
整理后得到传递函数:
其中。
2.2一阶倒立摆的状态空间模型
设系统状态空间方程为:
方程组(2-9)对解代数方程,得到解如下
整理后得到系统状态空间方程:
摆杆的惯量为代入(1-9)的第一个方程为:
得:
化简得:
(3-4)
设,则有:
(3-5)
第三章基于Matlab的倒立摆PID分析及仿真
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB、Simulink两大部分。
3.1一级倒立摆模型
在忽略空气阻力和各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统,如图3.1所示。
分析得其传递函数:
其中
系统状态空间方程为:
3.1.1一级倒立摆实际参数
系统实际参数:
M小车质量1.0Kg、m摆杆质量0.1Kg、b小摩擦系数0.1N/m/sec、l摆杆转动轴心到杆质心的长度0.4m、I摆杆惯量0.0053kg×
m2T、采样时间T:
0.005秒
代入上述参数可得系统的实际模型。
摆杆角度和小车位移的传递函数:
摆杆角度和小车加速度之间的传递函数为:
摆杆角度和小车所受外界作用力的传递函数:
以外界作用力作为输入的系统状态方程:
以小车加速度为输入的系统状态方程:
3.1.2系统阶跃响应分析
上面已经提到系统的状态方程,先对其进行阶跃响应分析,在Matlab中键入以下命令:
clear;
A=[0100;
0000;
0001;
0024.50];
B=[0102.5]'
;
C=[1000;
0100];
D=[00]'
step(A,B,C,D)
得到以下计算结果:
从图3.1可以看出,在单位阶跃响应作用下,小车位置和摆杆角度都是发散的。
或者利用Matlab的simulink仿真功能,得到其仿真系统结构图如图3.2
3.2一阶倒立摆PID控制器设计
在模拟控制系统中,控制器最常用的控制规律是PID控制。
3.2.1PID概述
PID控制器是一种线性控制器,它是根据给定值r(t)与实际输出值y(t)构成控制偏差e(t)
将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,对被控对象进行控制,故称PID控制器。
其控制规律为
或写成传递函数的形式
式中——比例系数;
——积分时间常数;
——微分时间常数。
在控制系统设计和仿真中,也将传递传递函数写成
式中——比例系数;
——积分系数;
——微分系数。
简单说来,PID控制器各校正环节的作用如下:
(1)比例环节:
成比例地反映控制系统的偏差