- 积分
- 143120
- 最后登录
- 2024-5-22
- 阅读权限
- 100
- 注册时间
- 2011-5-18
- 回帖
- 712
- 精华
- 0
版主
- UID
- 7
- 威望
- 30
- 机械币
- 28410
- 活力
- 108
|
楼主 |
发表于 2012-5-28 08:53:06
|
显示全部楼层
直升机的飞行姿态有相互关联的3对方向(航向,横滚和俯仰),每对方向都是关系飞机飞行姿态的直接因素。ADXL202型加速器的测量信号和接收机发送的信号混合控制直升机的姿态。控制电路将加速器的测量信号和遥控器发送的信号进行比较,得到的控制信号来控制舵机的转速。微小型直升机在飞行过程中若受到外力的干扰产生方向的偏差,由加速器测量输出PWM信号发送给控制电路,经过单片机处理和接收机信号比较后输出,采用单片机脉冲计数的方法,向舵机输出PWM类型的控制指令,操纵舵机的变化,控制保持飞机的姿态。 
在基于单片机的姿态测控系统中,选用舵机作为执行器件,控制执行结构的转角和位移。在舵机控制中,一方面需要完成单片机的控制指令输出,从而控制航向变化和航向保持,另一方面需要参考原始的控制指令和加速度的反馈信号完成姿态控制的算法。尽管这两者来源不同,但是对舵机而言并无太大区别。控制信号对舵机的控制就是改变PWM信号的占空比,利用PWM信号占空比的变化改变舵机的位置。 
四、软件设计及调试 
微小型无人直升机姿态控制系统的软件包括C8051F单片机的初始化、各通道数据的获得、控制算法的实现、输出PWM信号给舵机。C8051F单片机的初始化包括端口管脚的配置、定时器的初始化、PCA初始化。C8051要接收5个通道的PWM信号,即遥控器的三通道PWM信号,ADXL202的2个通道的PWM信号。控制算法是最关键的,首先根据遥控器输入的第三个通道PWM数值进行切换,比如接收到的第三个通过的PWM数值小于150(1.5ms)就切换到输出信号不受ADXL202影响的状态,即输出信号是遥控器的输入信号,中间不经过处理;如果数值大于150(1.5ms)就切换到输出信号是遥控器的输入信号和ADXL202的信号反馈到遥控器的输入信号,如果ADXL202测得有加速度证明航向角度偏离了预期的角度,就要通过修正输出信号保证旋翼保持在预期的转速。 
PWM模块有C8051的PCA模块配置为高速输出方式,当PCA0H的值与该模块的寄存器PCA0CPLn和PCA0CPHn中的常数值相等时,CEXn引脚上的逻辑电平发生一次跳变,同时触发一次中断,实现PWM功能。为了试验设计出的印刷电路板是否能够满足输出控制信号的要求,设计了试验程序,来生成固定循环的能够控制舵机按照要求的方向来转动。设计的要求是舵机能够向左以固定频率转动,然后转回平衡位置,以此来循环转动。以此来检验以单片机为核心的控制电路是否能够产生控制信号并且驱动舵机来按要求转动。 
经过调试,用数字式示波器证明舵机完全按照单片机的输出控制命令进行转动,方向和延迟都正确。 
 
参考文献: 
[1]求是科技.单片机典型模块设计实例导航[M].北京:人民邮电出版社 ,2004. 
[2](美)Paul G.Fahlstrom,Thomas J.Gleason.无人机系统导论[M].北京:电子工业出版社,2003.  |
|