今天是:

电子设计优秀作品

您当前的位置:网站首页 > 电子设计优秀作品 >
2016风力摆控制系统(B题)
发布时间:2016-04-27 09:37 作者:admin 来源:竞赛组委会 阅读次数:
                                      风力摆控制系统
 
                        哈尔滨工业大学(威海)  鞠志敏  陈广和  曹杰   指导教师:刘健



(由于电子文档不兼容,符号和线路图没有显示,详情请查看附件)

点击下载>>


摘要
 
本控制系统STM32控制模块、姿态采集模块、风力摆模块、液晶显示模块、按键控制模块以及风力摆机械结构组成的闭环控制系统。MPU6050 采集风力摆的各种姿态角,单片机处理姿态角数据后通过 PID 精确算法调节直流风机以控制风力摆。本系统实现了风力摆在仅受直流风机为动力控制下快速起摆、画线、恢复静止的功能,并能准确画圆,且受风力影响后能够快速恢复画圆状态,具有很好的鲁棒性。另外,本系统各参数及测试模式可由按键输入并通过液晶显示,智能性好,反应速度快。
关键词:PID 算法 MPU6050 STM32
 
目录
摘要

  1. 系统方案
1.1风力摆运动控制方案
1.2电源控制方案
1.3数据采集和处理方案
1.4姿态控制方案
1.5控制算法方案
2. 系统理论分析与计算
    2.1风力摆状态的测量与计算
2.2风力摆运动控制的分析
2.3控制算法的分析
3、电路与程序框架设计
    3.1系统流程图
3.2角位移传感器输出电路设计
3.3电源电路设计
3.4驱动电路设计
4、调试
    4.1上位机调试
5、系统测试
    5.1测量仪器
    5.2测试方案及结果
6、附录
    6.1程序代码
7、总结
  1. 系统方案
    Stm32
    按键
    液晶屏显示
    Mpu6050
    风力摆
     
    1.1风力摆运动控制方案
    方案1:采用大四轴飞行器的无刷电机作为动力系统,通过电调控制风力大小,该方案驱动力大,抗干扰性强,但装置复杂昂贵,不便操作。
    方案2:我们采用小四轴飞行器电机作为动力系统。两两相对放置,通过控制四个风机的转速实现直线,圆形,快速静止等功能。驱动力小,抗干扰较差,但是装置轻便,控制迅速且较为精确,所以选择这种方案。


    1.2电源控制方案
      采用飞思卡尔8v电池作为总的电源,经过一个7805进行5v稳压,给单片机供电。
    在经过一个降压模块给风机供电,然后单片机的I/O口输出pwm之后接入一个驱动电路。该驱动电路是通过mos管驱动的,理论驱动电流3A,所以驱动三个风机没问题。
    这种方案比较安全且可以满足供电需求。
    1.3数据采集和处理方案
    方案1:利用单片机AD采集MA7361角度传感器的模拟信号,通过运算计算出X,Y,Z三个方向的角度。AD采集处理数据方案操作起来比较简易,但转换后的精度较差,且可用数据量较少,不利于精确控制。
    方案2:利用MPU6050传感器采集陀螺仪和加速度的值,通过软件滤波和四元素求欧拉角的算法解算出当前时刻飞行器的姿态,该数据采集处理方案能得出宝贵的姿态信息,但算法复杂,不利于维护,实施起来困难。
    方案3:利用MPU6050传感器内部集成的DMP模块,通过I2C采集处理数据,直接读取姿态数据,该方案简易且数据采集精度高,能实时反馈飞行器姿态,但I2C通信距离较短
    不利于数据传输。
    方案4:利用MPU6050传感器内部集成的模块采集姿态数据,通过串口发送到单片机上,此方案采集数据精度高,信息量大,操作简易。
    综合考虑,选择最后一种方案。
    1.4姿态控制方案
      采用mpu6050传感器,这种传感器集成了加速度计,陀螺仪。可以实时测得风力摆的俯仰角,翻滚角,航向角,以及x,y轴的角速度。 通过处理采集的姿态角数据控制风机带动风力摆运动。此方案可精确测量风力摆当前姿态,实现对风力摆的精确控制。
       1.5控制算法方案
          采用pid算法控制,按比例、积分、微分的函数关系,进行运算,将其运算结果用以输出控制。优点是控制精度高,且算法简单明了。对于本系统的控制已足够精确,节约了单片机的资源和运算时间。
    2.系统理论分析与计算
    2.1风力摆状态的测量与计算
    采用高精度的陀螺加速度计 MPU6050 不断采集风力摆姿态角数据。 MPU6050集成了3轴MEMS陀螺仪,3 轴 MEMS 加速度计,以及一个姿态数据采集处理器。读取测量数据然后通过串口输出。
    2.2 风力摆运动控制的分析
    风力摆采用 4 只 45W 的直流风机为动力驱动系统。姿态采集模块采集风力摆当前姿态角,单片机处理姿态角信息调节输出 PWM 的占空比,控制四只风机的工作状态,从而实现对风力摆的控制。
    2.3 控制算法的分析 本系统采用 PID 算法来控制风机转动的速度。风机开始工作后,姿态采集模块不断采集当前风力摆姿态角状态,并与之前的状态比较,使得风力摆的运动 状态逐渐趋向于平稳。PID 算法控制器由舵机转动角度比例 P、角度误差积分 I 和角度微分 D 组成。
     其输入 e (t)与输出 U (t)的关系为: 