关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 三自由度直升机的嵌入式控制系统

三自由度直升机的嵌入式控制系统

作者: 时间:2010-02-09 来源:网络 收藏

  编码器码盘上的圆周等分条纹数为600,被测轴旋转一周,编码器的A、B两相分别发出600个脉冲,A、B两相的脉冲当量即对应的角度P=360°/600。由于对B脉冲一个周期进行了2次计数,则FA1计数的每一个脉冲对应的角度为P/2。编码器的旋转角度即三的俯仰角angle00=(FA1-30 000)×P/2。
  同理,对三横侧时编码器输出的3个信号进行测量,算出横侧的角度。
  (3)PWM输出
  通过PID控制算出的电压,经由EasyARM1138开发板Timer2产生PWM方波信号,以此来输出控制2个直流无刷电机的电压输入。
  设置Timer2模块中TimerA和TimerB的初值为6 000,其输出的电压范围为0 V~3.3 V。PID控制算出的电压V00与TimerA和TimerB装载的匹配值对应成线性变化,比例系数为K=0.3。匹配值 MP1=V00×K×6 000(0≤V00×K≤1)。匹配值随着PID控制算出的电压变化而变化,然后根据PWM占空比输出对应的电压控制三的2个电机。
2.2.2 控制律生成方法
  控制律生成方法分为系统建模和PID控制两部分。系统建模的过程具体可以参见固高公司的产品手册[4]。
  2个电机的输出电压采用增量式数字PID控制算法,用C语言编程实现:


  V01是电机1当前的电压,V00是电机1上一次采样时的电压,Ee[i]是三次采样俯仰角的角度误差值;
  V11是电机2当前的电压,V10是电机2上一次采样时的电压,Ep[i]是三次采样横侧角的角度误差值。
3 系统测试及结果
  为了对系统的运行结果进行测试,特采用数字示波器(Tektronix TDS220)和万用表对飞行摇杆给出的俯仰角和横侧角的指令信号,以及三自由度直升机的旋转编码器的输出的实际俯仰角和横侧角信号进行测试和分析。测试工具还需要EasyARM1138调试开发软件IAR Embedded Workbench for ARM 5.11及相应的内嵌USB接口的下载仿真器。
  摇杆信号与三自由度直升机信号分别接到控制盒的两端,这时将程序加载到EasyARM1138开发板中,对进行整体调试。
3.1 三自由度直升机的启动与稳定运行
  打开三自由度直升机电机的电源,保持摇杆的平衡状态及运行程序,三自由度直升机的俯仰轴会平稳地向上转动,俯仰角稳定地由-30°变化到0°。当俯仰角稳定下来后,俯仰轴基本上不发生旋转,这时的俯仰角轴旋转编码器的测量信号理想值应该是一条平稳的直线,没有任何脉冲产生。但实际上可能会存在小幅振动,对应信号图形为少数的脉冲信号。
  图4中每格的时间长度为1 s。由图4可知,在10 s的时间长度内,俯仰角旋转编码器输出了少量脉冲信号,每个脉冲对应角度变化为0.3°(上下波动)。
  在理解此图的基础上,对图5所示的图形也就不难理解了。图5中给出的是俯仰角由-30°变化到0°时旋转编码器的输出波形。

  可以看出,俯仰角为-30°和0°时,旋转编码器的输出都近似为直线,或只有很少的脉冲。而在从-30°变化到0°的变化过程中,旋转编码器的输出表现为密集的脉冲信号,而且刚开始的时候脉冲比较密,后面稍微稀疏。对应为俯仰角的变化过程,开始时角度变化速度比较快,后面稍慢。
  对于该过程,采用EasyARM1138串口通信把旋转编码器的角度数据读入电脑,然后通过Matlab绘制得到如图6所示的数据变化曲线。

3.2 三自由度直升机的增稳
  当三自由度直升机稳定运行后,若有外部扰动,例如阵风等冲击信号作用在三自由度直升机的旋转轴上,则在控制器的作用下,系统应该能自动抵御该扰动,扰动消除后,系统恢复到原来位置。
  图7给出了三自由度直升机的俯仰轴受到冲击扰动时的俯仰角旋转编码器输出信号波形。由图7可以看出,扰动作用刚发生瞬时,旋转编码器开始输出密集的脉冲,表明此时俯仰轴在做持续运动。而扰动发生以前和扰动过去一定时间后,旋转编码器的输出为少量的脉冲信号,表明俯仰轴基本上处于平衡状态。

  在该过程中,采用EasyARM1138串口通信把旋转编码器的角度数据读入电脑,然后通过Matlab绘制得数据变化曲线如图8。
3.3 讨论
  (1)系统的连调过程只给出了系统的辅助操纵过程的输出通道效果。因为所用的Tektronix TDS220数字示波器在测试双通道信号时,2个通道信号的波形存在时间偏差,所以无法同时给出理想的输入信号与输出信号的对比波形。
  (2)对于系统的另外两个工作模式,“全自动驾驶”的效果与图8类似,而“改平”功能的效果与图6相似,在此不多叙述。

  (3)由于三自由度直升机的旋转编码器为增量式的旋转编码器,只能反映角度的变化量,因此,看到的稳态情况下编码器输出脉冲数都近似为零。而当前角度的计算方法是:初始角度+角度变化量。系统对俯仰角和横侧角的稳定,实际上是对相对初始角度变化量的稳定。
  本文讨论了三自由度直升机设计的全部开发过程。经过测试,各项功能满足设计要求。因此整体控制系统的设计思路可行,设计结果合理、可靠。其方法可以推广应用于实现小型无人直升机的飞行控制系统,可以为研制真实的数字式飞行控制系统提供技术储备,可以应用于其他运动测控系统的设计。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭