




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、北 京 航 空 航 天 大 学现代控制理论实验报告倒立摆控制系统学院名称 专业方向 学 号 学生姓名 指导教师 日 期 目 录1 系统设计任务及技术指标.12 系统的组成和工作原理.22.1 系统的组成.22.2 工作原理.23 建立数学模型.44 系统设计与仿真.74.1 系统静态设计.74.2 系统动态设计.74.3 系统仿真.84.4 分析与结论.95 计算机控制系统设计与实现.105.1 模拟控制系统的设计方案.105.2 计算机控制系统的设计方案(硬件、软件).105.3 实时控制软件框图.115.4 数据采集与模拟量输出.125.5 界面设计与实现.146 系统的组装与调试.156
2、.1 倒立摆实现电路.156.2 系统调试.166.3 系统性能分析与结论.187 收获和体会.21参考文献.21附录.221 系统设计任务及技术指标1、设计任务现代控制理论实验设计任务为:(1)了解倒立摆系统的组成和工作原理。(2) 掌握模拟摆的调节方法。(3) 任选一种或多种控制理论设计控制系统(静态设计、动态设计)(4) 仿真验证动态系统性能(5) 数字控制系统电路设计(6) 数字控制器软件设计(7) 闭环系统实验和调试(8) 编写实验报告2、技术指标设计完成的系统技术指标如下:(1)摆角稳定时间小于3秒(2)有一定的抗干扰能力且在5分钟内保持不倒(3)小车控制在45厘米内运动2 系统的
3、组成和工作原理 2.1 系统的组成1、 实验设备本实验所用到的实验设备如下:(1)金棒-2型倒立摆系统实验平台。(2)PC机一台。(3)HY-123 AD/DA接口板。(4)数字万用表一台。其中倒立摆系统的结构分为机械和电器控制系统两部分组成,机械部分的由小车、导轨、皮带轮和摆组成,其结构如图2.1所示:图2.1 倒立摆实验平台机械部分组成电器部分由检测路、 调零电路、计算机 A/D 、D/A 变换器 、功率放大变换器和伺服电机组成。如图2.2所示。图2.2 计算机控制倒立摆系统结构框图 2.2 工作原理在进行模拟控制时,系统的工作原理为由检测电位器测量出摆的偏转角度以及小车位置x,通过调零微
4、分检测电路,得到、经过计算后输出控制信号,通过功率放大器放大后驱动伺服电机。电机旋转拖动小车向着减少的方向移动,从而使倒立摆达到平衡。电路原理如图2.3所示。图2.3 模拟控制倒立摆电路原理图在进行计算机控制时,系统的工作原理为,由检测电位器测量出摆的偏转角度以及小车位置x,通过A/D采入计算机,经过计算后输出控制信号,经D/A转换为模拟量,通过功率放大器放大后驱动伺服电机。电机旋转拖动小车向着减少的方向移动,从而使倒立摆达到平衡。电路原理如图2.4所示。图2.4 计算机控制倒立摆电路原理图3 建立数学模型单级倒立摆系统的建模可采用受力分析或Lagrange方程建立得到。这里采用受力分析方法建
5、模。倒立摆系统的受力分析如图3.1所示。图3.1 倒立摆系统受力分析图根据牛顿第二定律可知:以摆杆偏角、角速度、小车的位移和小车速度为状态变量,即令:同时假设倒立摆摆杆的垂直倾斜角度与1(单位为rad)相比很小,即。则可以近似处理,并忽略高阶小量,则可得:则摆杆系统的状态方程为:写成向量的形式为:其中参数a、b、c、d分别为:选择摆杆的倾斜角度和小车的水平位移作为系统的输出,则输出方程为:根据金棒-2型倒立摆系统实验平台的参数,。同时,这里建模时候使用的u是以力作为输入信号的,而实际系统采用的是以电压作为输入信号的,通过电机做了一定的转化,这里约定:先暂时以力作为输入信号,最后再统一做处理。则
6、有,。因此,4 系统设计与仿真 4.1 系统静态设计系统的静态设计即指系统的稳态特性设计,在单级倒立摆系统中,要求系统镇定,故倒立摆系统稳态时,要求系统状态空间中的各个状态为0且保持状态为0。且有一定的抗干扰能力。在实际中要求小车控制在45 厘米内运动,且维持稳态五分钟不倒。系统的动态设计即指对系统暂态品质的设计,由系统的自然条件与设计要求可知,该系统的超调量不能太大,因为过大的超调量会导致系统不稳定,且要求较小的调节时间,摆角的调节时间小于3秒。 4.2 系统动态设计通过建模分析可得系统的状态空间表达为:系统状态完全可控的充分条件是可控判别矩阵U的秩等于系数矩阵A的维数n,即。其中。经验证,
7、对于本系统,完全可控。故可以通过设计控制器,使系统达到稳定。在Matlab中利用pole函数求出原系统的极点可得,。有一个极点分布在左半平面,系统不稳定。通过仿真得到系统的阶跃响应如图4.1所示,从曲线可知,阶跃响应发散,系统自然不稳定。图4.1 倒立摆系统开环阶跃响应因此可以通过设计全状态反馈控制律对原开环系统进行镇定,通过对极点进行配置,将系统处在右半平面和零点上的极点配置到复平面的右半部分,使系统达到稳定。设置预期的极点为。由于原系统是自然不稳定系统,加入控制器后的闭环系统必须保证其稳定性,所以系统所有几点都应在复平面的左半部分。而且该系统需要一个主导极点以保证系统响应的收敛速度,而设置
8、一对共轭极点是为了改善系统的暂态特性,减少调节时间且不引起巨大的超调从而避免了震荡。综上通过多方尝试,选定上述极点。由上述预期极点,按照按极点配置全状态反馈控制器设计方案可得控制器的反馈增益为K=909.9253 202.3233 505.1923。 4.3 系统仿真图4.2为系统通过simulink进行仿真的框图。在上述控制器下,闭环系统的阶跃响应图如图4.3所示。图4.2 倒立摆系统simulink仿真框图图4.3 倒立摆系统阶跃响应仿真为进一步验证闭环系统的抗干扰行,在仿真过程中,对系统在第10s加入一个强度为1的扰动,此时系统的响应如图4.4所示图4.4 倒立摆系统抗干扰仿真 4.4
9、分析与结论通过分析仿真结果易得,倒立摆属于自然不稳定系统。不加控制的开环系统施加阶跃冲击,其响应迅速发散。因此需通过设计控制器构成闭环系统使其稳定,并达到设计指标要求。本设计采用基于极点配置的全状态反馈法,通过比例增益K使系统的极点配置到复平面的左半部分,从而系统达到稳定。通过仿真,得到闭环系统的阶跃响应。可以发现系统此时可以达到稳定,且摆动角调节时间小于1s,小车位移调节时间小于2s,满足设计要求。同时,在仿真中,对系统在第10s加入一个强度为1的扰动,系统在扰动后,经短时间的波动恢复稳定,具有良好的抗干扰性。5 计算机控制系统设计与实现5.1 模拟控制系统的设计方案模拟控制系统通过调节模拟
10、控制器上的旋钮,改变系统控制参数,通过变换电路,控制私服电机的转速和转向,实现对倒立摆的控制。系统模拟和数字控制式可以通过开关选择,T1,T4为摆角和位移x运放调零拨动开关,K1、K2、X、V分别为系统摆角、角速度、位移x、速度参数的调节旋钮。5.2 计算机控制系统的设计方案(硬件、软件)(1)硬件设计方案在硬件方面,倒立摆系统由直流稳压电源、检测电路、变换放大电路、导轨和工作台组成。和实验相关的主要是检测电路和变换放大电路。检测电路主要由摆的转角传感器和位置传感器构成,分别将转角和位置转化为电压信号。变换放大电路提供了模拟摆的控制律,可通过调节面板上的旋钮控制摆;而且,变换电路中通过差分计算
11、,分别可以求出倒立摆的角度和位置的微分,即速度和角速度,这样可在计算机中直接采样得到倒立摆的位置、速度、转角和角速度。在采用数字控制时,计算机通过AD/DA板的控制信号要经过变换和功率放大电路作用在直流电机上,使电机转动。(2)软件设计方案在进行软件部分设计时,应利用硬件定时器实现周期为5毫秒的采样。并能够实时显示小车位置,小车速度,摆杆摆动角度,摆杆摆动角速度曲线。实现参数的实时修改以及基本数据的记录。具体实施方案为:设置软件运行过程中屏幕显示界面的相关参数和模式,在屏幕上显示横纵坐标。开启AD/DA,进行数据的采集和转换。设置控制律,对采集到的数据进行运算处理得到控制器的输出,经DA转换后
12、输出给实验台上的电机,该周期的控制完成,并开始下一周期的采样、控制和输出。 5.3 实时控制软件框图图5.1 倒立摆控制系统主程序流程图图5.2 倒立摆控制系统中断子程序流程图 5.4 数据采集与模拟量输出本实验所采用的数据采集与模拟量输出方法为AD/DA接口板。该AD/DA板可将5伏的电压转化为12位的数字信号,也可将12位的数字信号转化为5伏或05伏的电压输出。在本实验中,它工作在双极性状态,其板口地址为280H(16进制)。由于该接口板提供32路 A/D输入通道,在本次实验中,只选用了六路A/D通道。具体地址定义及选用A/D通道说明参见表5.1。表5.1 HD1219接口板A/D通道说明
13、(基地址为310H)地址芯片R/W功能BaseAD574W通道选择Base+1AD574WAD启动Base+2AD574R高4位Base+3AD574R低8位Base+4DA1232(1)W高8位Base+5DA1232(1)W/R低4位,启动DABase+6DA1232(2)W高8位Base+7DA1232(2)W/R低4位,启动DABase+88253(计数器)W计数器0Base+98253(计数器)W计数器1Base+108253(计数器)W计数器2Base+118253(计数器)W控制字Base+128255(并口)W/RA口Base+138255(并口)W/RB口Base+14825
14、5(并口)W/RC口Base+158255(并口)W控制字表5.2 HD1219接口板A/D通道说明(基地址为310H)项目A/D通道号范围小车位置13小车速度5角度14角速度6由于在控制模型中我们使用的都是实际的物理量,而这些物理量在被采集并转化成计算机能够处理的数字量的过程中,进过了位置传感器(或角位移传感器)、模拟控制箱、AD变换等处理。所以必须将AD转换得到的数字量经过相应的处理才能的到对应的实际物理量,然后才能带入实际模型当中进行运算。在考虑小车位置和速度回路时要考虑的因素有:位置传感器1.30V/m的变换作用,模拟控制箱本身3倍的放大作用,和AD变换的影响。同理在对计算所得的输出量
15、进行输出的过程中,要考虑的因素有:DA的变换作用,输出通道末端功率放大器本身9.5倍的放大作用,以及力矩电机电压和力矩之间的关系等因素。由于接口板输出电压要经过功放才作用于电机,为安全起见,建议设置输出饱和阈值,该值不宜过小,以免输出量过小,从而影响系统的快速性和稳定性。一般情况下,该值可取为2000(数字量,2047为数字量基准)。本实验在计算机控制中,AD/DA控制程序的子函数如下所示:/*DA 函数 */void dac(float Volt) unsigned int x;unsigned char lo,hi,newhi,newlo;x=(Volt+1)/2*0xfff0; /*转换
16、为16进制*/lo=x%256; /*低8位*/hi=(x-lo)/256; /*高8位*/newhi=hi%16*16+(int)hi/16; /*高8位的高4位和低4位互换*/outportb(0x314,newhi); /*写入高8位*/newlo=lo%16*16+(int)lo/16; /*低8位的高4位和低4位互换*/outportb(0x315,newlo); /*写入低8位*/inportb(0x314); /*启动D/A转换*/*AD函数*/float adc(int num)int i,j,k,r; unsigned int p,q;int data; float ad;o
17、utportb(0x31b,0x18);outportb(0x310,num);for(i=0;i1000;i+)outportb(0x311,0x0);for(i=0;i1000;i+)p=inportb(0x312)%16;q=inportb(0x313);r=p*256+q; data=r-0x800;ad=10.0*data/0x800;return ad; 5.5 界面设计与实现本系统中上位机界面的设计利用C语言中的绘图函数完成。主要实现对倒立摆状态的实时监控和显示。界面的主要组成是四个坐标系:倒立摆摆动角、角速度、小车位移x以及小车速度。界面右上方通过动画实时显示倒立摆的摆动角以及
18、小车位置。完整界面如图5.3所示。图5.3 倒立摆控制系统上位机界面截图6 系统的组装与调试 6.1 倒立摆实现电路倒立摆电器部分由检测路、 调零电路、计算机 A/D 、D/A 变换器 、功率放大变换器和伺服电机组成。如图6.1所示。图6.1 计算机控制倒立摆系统结构框图在进行模拟控制时,系统的工作原理为由检测电位器测量出摆的偏转角度以及小车位置x,通过调零微分检测电路,得到、经过计算后输出控制信号,通过功率放大器放大后驱动伺服电机。电机旋转拖动小车向着减少的方向移动,从而使倒立摆达到平衡。电路原理如图6.2所示。图6.2 模拟控制倒立摆电路原理图在进行计算机控制时,系统的工作原理为,由检测电
19、位器测量出摆的偏转角度以及小车位置x,通过A/D采入计算机,经过计算后输出控制信号,经D/A转换为模拟量,通过功率放大器放大后驱动伺服电机。电机旋转拖动小车向着减少的方向移动,从而使倒立摆达到平衡。电路原理如图6.3所示。图6.3 计算机控制倒立摆电路原理图 6.2 系统调试本装置在拆开包装箱后,应检查元件有无损坏现象.将实验装置安放在工作地点之后,把支承杆放在工作台板面中间位置,并固定好,然后将小车及摆移到导轨的中间并用支撑杆上的钩簧勾住上摆,使上、下摆吊直(处于铅垂位置)。在通电检查之前,检查所有电气部分有无损坏现象。电源线与传感器连接的插头P5,与计算机连接的插头L5等外部接插头是否接好
20、。通电应在设备完好情况下进行。在此之前电源开关应处于OFF位置,控制电机与功放连接线上的功放开关也应处于OFF位置。首先,小车、倒立摆L1初始位置的校验(电源开关置 ON)。小车初始位置的校验:先将小车置于导轨的中间位置。然后用三用表测量其位移传感器(导轨左侧的WXD7的多圈线绕电位计,阻值为10)电压值,并将负极性的表笔置传感器端子2,另一表笔分别置1和3,适当地转动电位计的轴使其端子2-1间,2-3间的电压值分别为 U21=+3V,U23=-3V时,然后将电位器的轴与皮带轮轴用螺钉固紧,这样就基本上保证了电位器的滑臂处在其几何中心处或电气中心处。倒立摆初始位置的校验:下摆角位移传感器是一只
21、转角为360的WDD35D1型的塑料导电电位器。电阻值为2,适当的转动电位器的轴使其端子2-1间,2-3间的电压值分别为U2-1=-3V,U2-3=+3V时,然后将摆与电位器的轴用螺钉紧固。从而保证了滑臂处在其几何中心处或电气中心处。小车,倒立摆L1位移输出零位调整。在零位调整之前,一定要接上后盖板上的插头P5。小车位移x零位的调节:首先将“X运放调零 电桥调零”拨动开关T4拨向“电桥调零”处,然后旋动其左侧的“X调零”电位器的旋钮,并观察“X测量”孔处的输出电压(对地)是否为零,反复调节直至输出为零为止。倒立摆L1角位移零位调节:先将拨动开关T1转向“电桥调零”处,然后旋动其左侧的“1调零”
22、电位器的旋钮,并观察“1测量”孔处的输出电压(对地)是否为零,反复调节直至输出为零为止。实验步骤为:(1)将拨动开关T1及T4拨向“电桥调零”处,以便进行零位调节,T2和T3拨向“运放调零”处。(2)调节电位器K1,K2,K3 和K4 ,使其极性和读数处在相应的位置上。(3)功放开关置“OFF”,电源开关置“ON”,指示灯亮,调节小车和倒立摆L1的零位,使“X 测量”孔和“、测量”孔输出电压均为零。(4)松开下摆的勾簧吊钩,用手扶住摆,然后接通控制电机,即功放开关置“ON”将手轻轻地离开摆,此时摆应能稳定地立住。若摆稳定不理想时,再用手扶住摆,微调控制参数Kt,直到稳住为止。在实验过程中,应注
23、意以下事项:(1)实验装置不工作时,摆一定要用勾簧吊在支撑杆上,不要随便倒在导轨上。(2)开机实验时一定要谨慎小心,最好两个人操作,一人用手将上下摆扶正,另一人启动开关,以防发生机件损坏。(3)小车不能停留在导轨两端处,否则由于输入信号过大损坏功放(或烧坏电机)。(4)实验装置使用一段时间之后,若传动皮带出现松动,可由工作台面左端的调节机构进行调节。(5)在电路发生故障需要进行修理时,应切断电源,以免不小心开启电源,小车撞到导轨支架上而损坏机件。(6)在每次做完实验之后,应及时切断功放(将功放按钮开关置“OFF”),否则在下次开机时,小车会碰撞到导轨的两端,以至使机件损坏。(7)当小车处在导轨
24、的某一端时,输入的控制信号最大,功放输出达到最大,电机受到的控制力矩也最大,由于本机采用同步传动,传动带与传动轮不能滑动,此时电机处在制动状态,传动带上的齿受到的拉力为最大,因此传动带与电机都有可能受到损坏,故在实验过程中,应尽量避免这种情况发生。为此在功率放大器的输出端装上一个保险座(位于控制箱后盖板上)将起到一定的保护作用。 6.3 系统性能分析与结论(1)模拟控制极性调整和零完成后,可通过旋钮节相关参数,使倒立摆处于稳定状态。经过旋转钮,数次调试后得到能使倒立摆稳定的参数,其中X=9.33,V=8.00,K1=9.48,K2=8.36。利用程序绘制的上位机界面,观察系统中小车位置x以及倒
25、立摆摆动角变化曲线。观察倒立摆的调节时间和抗干扰性。在倒立摆系统稳定后,手动对倒立摆摆动角施加一定强度干扰,得到此时系统相应曲线如图6.4所示;施加位置干扰,在位置上施加0.1 m的扰动,小车经过快速调整后,倒立摆系统仍旧能达到稳态位置,得到此时的模拟控制系统实响应曲线如图6.5所示。图6.4 模拟控制倒立摆摆动角施加干扰根据曲线分析可得,系统对于摆动角具有抗干扰性。在系统达到稳定后,若人为施加一定强度的干扰,系统经过一定时间的振荡可以达到平衡。但同时也存在调节时间较长,超调量较大,系统略微振荡的现象。图6.5 模拟控制小车位置施加干扰根据曲线分析可得,系统对于摆动角具有抗干扰性。在系统运行之
26、前,人为将小车移动至0.1m位置处,再开启控制系统。根据曲线可知,倒立摆和小车在控制器作用下,在保证系统稳定的前提下,逐渐向小车平衡位置移动,达到稳态。(2) 计算机控制将实验平台控制模式调至计算机控制,测试系统在计算机控制下的稳定性和抗干扰性。系统在达到稳定后,人为在倒立摆摆动角处施加一定强度的干扰。响应曲线如图6.6所示。从实时响应曲线中可以看出系统在扰动后仍能够快速地克服,且与模拟控制相比,需要较少的调节时间就能重新达到稳态,稳态值不变,且在暂态各个状的变化量均不是太大。重新开启系统,在系统稳定化,在小车位置上施加0.1m的干扰,可得到系统的响应曲线如图6.7所示。根据响应可知,小车的位
27、置稳定在0.1m处。同时,该控制系统在加入位移扰动后依旧能够快速地达到新的稳态,且暂超调量小调节时间短,具有较好的抗干扰特性 。图6.6 计算机控制倒立摆摆动角施加干扰图6.7 计算机控制小车位置施加干扰7 收获和体会倒立摆实验是一个经典的控制实验平台,直线倒立摆通过小车的位移控制、摆杆的角度控制达到特定的实验效果。在这个平台上可以实验并调节各种控制方法。 在设计过程中,首先先对控制对象进行建模分析。让我学会了对一个相对复杂的物理过程进行分析,通过列写牛顿第二定律微分方程抽象出其在控制过程中所需要的传递函数、状态空间表达。然后对所得到的控制模型对其稳定性等性质进行分析,与期望特性进行比对,从而
28、设计出所需控制器。通过仿真结合经典理论的控制理论分析特性曲线,调整参数得到较理想的特性曲线,并验证控制器的合理性,是否满足设计要求。最后,在实验平台上,通过模拟控制和计算机控制,通过不断调试和改进得到理想的控制效果。在这过程中也体会到了仿真与实际操作、理论与实际的差别。通过这个实验,我也有机会重温了本科阶段关于控制理论、微机原理和接口技术等课程的多方面重要知识,并将这些知识得以与实际相结合,活学活用。最后,十分感谢袁老师在整个实验过程中的耐心讲解与帮助,对袁老师的严谨和细致感到敬佩。感谢同组的同学一起合作完成了这个实验,没有每一个人的贡献与合作,实验也不会进行的这么顺利。希望通过这次实验学到的
29、和收获的,应用到今后的学习、工作中去,更大地受益于自己的发展。参考文献1. 倒立摆控制系统实验说明书,袁少强2. 计算机控制系统列实验指导书,袁少强3. 计算机控制系统设计与实现,郭锁凤附录 程序代码#include #include #include #include #include #define closegr closegraphfloat t=0,x3=0,x1=0,zx1=0,zx3=0,x2=0,x4=0,tt=50,c,e=0,y0=417,y1=297,y2=177,y3=57,d5=57,57,177,297,417,u=0,ri=0,xd=0,cx=0,cx2=0,cy
30、2=0;void initgr(void) /* BGI初始化 */ int gd = DETECT, gm = 0; /* 和gd = VGA,gm = VGAHI是同样效果 */ registerbgidriver(EGAVGA_driver); initgraph(&gd, &gm, );void draw(void) float i,j,xs; char s10; int x0=50,l=56,zs;setbkcolor(7); /*画车架子以及两个边框*/ setcolor(6); setlinestyle(0,0,3); setcolor(6); setfillstyle(SOLI
31、D_FILL,0); bar(5,0,375,478); bar(380,100,630,250); setcolor(CYAN ); line(410,180,610,180); setlinestyle(0,0,2); setcolor(RED); setlinestyle(0,0,3); line(x0,y0+l,x0,y0-l); line(x0,y0-l,x0-5,y0-l+5); line(x0,y0-l,x0+5,y0-l+5);/*画纵坐标与箭头*/ line(x0,y0,x0+303,y0); line(x0+303,y0,x0+301,y0-5); line(x0+303,
32、y0,x0+301,y0+5);/*画横坐标与箭头*/ line(x0,y1+l,50,y1-l); line(x0,y1-l,x0-5,y1-l+5); line(x0,y1-l,x0+5,y1-l+5);/*画纵坐标与箭头*/ line(x0,y1,x0+303,y1); line(x0+303,y1,x0+301,y1-5); line(x0+303,y1,x0+301,y1+5);/*画横坐标与箭头*/ line(x0,y2+l,50,y2-l); line(x0,y2-l,x0-5,y2-l+5); line(x0,y2-l,x0+5,y2-l+5);/*画纵坐标与箭头*/ line
33、(x0,y2,x0+303,y2); line(x0+303,y2,x0+301,y2-5); line(x0+303,y2,x0+301,y2+5);/*画横坐标与箭头*/ line(x0,y3+l,50,y3-l); line(x0,y3-l,x0-5,y3-l+5); line(x0,y3-l,x0+5,y3-l+5);/*画纵坐标与箭头*/ line(x0,y3,x0+303,y3); line(x0+303,y3,x0+301,y3-5); line(x0+303,y3,x0+301,y3+5);/*画横坐标与箭头*/ setlinestyle(3,0,0); settextstyl
34、e(0,1,1); for(i=x0,j=0;i=x0+300;i=i+15) setcolor(BLUE); line(i,y0-l+10,i,y0+l-10);/*画纵虚线*/ setcolor(DARKGRAY); sprintf(s,%1.1f,j); if(j=(int)j) outtextxy(i-1,y0,s); j=j+0.5; for(i=x0,j=0;i=x0+300;i=i+15) setcolor(BLUE); line(i,y1-l+10,i,y1+l-10);/*画纵虚线*/ setcolor(DARKGRAY); sprintf(s,%1.1f,j); if(j=
35、(int)j) outtextxy(i-1,y1,s); j=j+0.5; for(i=x0,j=0;i=x0+300;i=i+15) setcolor(BLUE); line(i,y2-l+10,i,y2+l-10);/*画纵虚线*/ setcolor(DARKGRAY); sprintf(s,%1.1f,j); if(j=(int)j) outtextxy(i-1,y2,s); j=j+0.5; for(i=x0,j=0;i=x0+300;i=i+15) setcolor(BLUE); line(i,y3-l+10,i,y3+l-10);/*画纵虚线*/ setcolor(DARKGRAY
36、); sprintf(s,%1.1f,j); if(j=(int)j) outtextxy(i-1,y3,s); j=j+0.5; settextstyle(0,0,1); for(j=y0-l+8,i=0.3;j=y0+l-8;j=j+8) setcolor(BLUE); line(x0,j,x0+300,j);/*画横虚线*/ setcolor(DARKGRAY); sprintf(s,%1.1f,i); xs=10*i; zs=xs; if(-0.2(xs-zs)&(xs-zs)0.3)|(xs-zs)-0.8) outtextxy(10,j,s); i=i-0.05; for(j=y1
37、-l+8,i=0.3;j=y1+l-8;j=j+8) setcolor(BLUE); line(x0,j,x0+300,j);/*画横虚线*/ setcolor(DARKGRAY); sprintf(s,%1.1f,i); xs=10*i; zs=xs; if(-0.2(xs-zs)&(xs-zs)0.3)|(xs-zs)-0.8) outtextxy(10,j,s); i=i-0.05; for(j=y2-l+8,i=0.3;j=y2+l-8;j=j+8) setcolor(BLUE); line(x0,j,x0+300,j);/*画横虚线*/ setcolor(DARKGRAY); spr
38、intf(s,%1.1f,i); xs=10*i; zs=xs; if(-0.2(xs-zs)&(xs-zs)0.3)|(xs-zs)-0.8) outtextxy(10,j,s); i=i-0.05; for(j=y3-l+8,i=0.3;j=y3+l-8;j=j+8) setcolor(BLUE); line(x0,j,x0+300,j);/*画横虚线*/ setcolor(DARKGRAY); sprintf(s,%1.1f,i); xs=10*i; zs=xs; if(-0.2(xs-zs)&(xs-zs)0.3)|(xs-zs)-0.8) outtextxy(10,j,s); i=i
39、-0.05; setcolor(RED); settextstyle(4,0,1); outtextxy(x0+5,y0-55,anglespeed); outtextxy(x0+5,y1-55,angle); outtextxy(x0+5,y2-55,carspeed); outtextxy(x0+5,y3-55,carposition); outtextxy(x0+300,y0+2,t/s); outtextxy(x0+300,y1+2,t/s); outtextxy(x0+300,y2+2,t/s); outtextxy(x0+300,y3+2,t/s); /*画右下角与上部*/ set
40、color(6); setlinestyle(0,0,3); outtextxy(415,260,Inverted Pendulum); setcolor(6); setfillstyle(SOLID_FILL,0); bar(380,50,630,100); /*右上*/ setcolor(5); outtextxy(383,280,for tesing that we create); outtextxy(383,300,upside down be the right state); outtextxy(383,320,unstable as a erected plate); outt
41、extxy(383,340,tame while it was rightly paid ); outtextxy(383,360,plenty of contributions it made); outtextxy(383,380,yet possessing an endless fate); outtextxy(383,400,serve as a passway or a gate); outtextxy(383,420,and leave no place for the hate); setlinestyle(0,0,3); /*/void dazh(float x)/*-5=x
42、=5*/*注意这里如果x是-1到1之间的话那输出的控制信号就被放大了5倍相当于加了一个5的增益(前提DA芯片输出是5V)*/ int lo=0,hi=0,newlo=0,newhi=0; x=(x/5+1)/2*0xfff0; /*printf(偏移二进制码:%fn,(unsigned int)x);*/ lo=(unsigned int)(x)%256; hi=(unsigned int)x-lo)/256; /*printf(高八位:%xn,(unsigned int)hi); printf(低八位:%xn,(unsigned int)lo);*/ newhi=(int)(hi)%16*1
43、6+(unsigned int)hi/16; /*printf(换后高八位:%xn,(unsigned int)newhi);*/ outportb(0x314,newhi); newlo=(unsigned int)(lo)%16*16+(unsigned int)(lo)/16; /*printf(换后低八位:%xn,(unsigned int)newlo);*/ outportb(0x315,newlo); inportb(0x315);/*/float adzh(int a) int i=0,p=0,q=0,r=0; float ad=0,r1=0,v=0; outportb(0x31
44、0,a); for(i=0;i10000;i+); outportb(0x311,0x0); for(i=0;i1000) ri=0.1; adzh(13);adzh(13);adzh(13);adzh(13);adzh(13); x1=(adzh(13)/4.8) ; /*位移*/ adzh(5);adzh(5);adzh(5); x2=(adzh(5)*0.235/4.8) ; /*x2=200*(x1-zx1);*/ /*速度*/ adzh(14);adzh(14);adzh(14); x3=(adzh(14)/3.487) ; /*摆角*/ adzh(6);adzh(6);adzh(6); x4=(adzh(6)*0.235/3.487); /*x4=200*(x3-zx3);*/ /*角速度*/ e=(-ri+x1); /*老师教的设计方法设计的控制算法*/ /*u=1.5*(1*8.2*x3+2*8.7*x4+2.5*1.8*e+6*10*x2); */ u=90.7*x3+4.6*x4+63*x1+21*x2; /*微分部分的系数不可增加太大否则会发散,theta点的为1,速度的为4,角度系数10,位移为7.5*/ if(u2.5) u=2.5; else if(u-2.5) u=-2.5; d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年8月庭院景观配套装修房屋季度出租合同
- 宅基地买卖合同(3篇)
- 年度团支部工作总结7篇
- 上海野生动物园一日游作文【5篇】
- 2025年签订租赁合同的基本原则
- 绿色艺术教育理念探索计划
- 2025借款担保合同(标准版本)
- 一房两卖房子合同标准文本
- 企业公司转让合同标准文本
- 产品价值合同标准文本
- 专题04-完形填空2023年高考英语三模试题分项汇编(新高考八省专用)-(原卷版)
- 诗词接龙完整版本
- 上海市2024年中考英语试题及答案
- 房屋市政工程生产安全重大事故隐患判定标准(2024版)宣传画册
- 湖北省黄冈八模2025届高三第一次模拟考试数学试卷含解析
- 2024-2030年中国建筑垃圾处理行业发展分析及投资规划研究报告
- DB11∕T 1842-2021 市政基础设施工程门式和桥式起重机安全应用技术规程
- 2025年湖北省武汉市高考数学模拟试卷附答案解析
- 部编版五年级语文上册快乐读书吧测试题及答案
- 心肺复苏考试题及答案
- TSG ZF001-2006《安全阀安全技术监察规程》
评论
0/150
提交评论