2015年全国大学生电子设计竞赛(瑞萨杯)
风力摆控制系统(B题)
2015年8月15日
摘要
本文论述了风力摆系统的工作原理和设计思路。系统采用STM32F103单片机为主要控制系统,用角位移传感器mpu-6050采集到风力摆的摆头的角度及位置,通过I2C总线传输发送到主控系统中,采用lcd12864显示采集到的信息,通过PID进行数据处理,产生相应的PWM信号,发送到相应的直流风机,控制直流风机实现自由摆动,从而画出直线、圆等轨迹。
关键词:STM32F103单片机;角位移传感器mpu-6050;PID算法
I
目录
摘要 .................................................................................................................................................. I 目录 ................................................................................................................................................. II 一、方案设计与论证 ....................................................................................................................... 1
1.1方案比较与选择 ................................................................................................................ 1
1.1.1控制器模块比较与选择 ........................................................................................ 1 1.1.2角度传感器模块比较与选择 ................................................................................ 1 1.1.3驱动模块的比较与选择 ........................................................................................ 1 1.2系统最终方案选择 ............................................................................................................ 1 二、测控方法分析与论证 ............................................................................................................... 2
2.1风力摆状态测量分析 ........................................................................................................ 2 2.2运动控制 ............................................................................................................................ 2
2.2.1 电机的比较与选择 ............................................................................................... 2 2.2.2控制原理和计算公式 ............................................................................................ 2
三、系统设计与分析 ....................................................................................................................... 3
3.1主要电路设计 .................................................................................................................... 3
3.1.1 STM32F103单片机最小系统电路 ........................................................................ 3 3.1.2电源模块: ............................................................................................................ 4 3.1.3驱动模块: ............................................................................................................ 4 3.1.4陀螺仪模块 ............................................................................................................ 4 3.1.5系统整体电路原理图 ............................................................................................ 4 3.2 软件程序设计 ................................................................................................................... 4
3.2.1程序功能描述与设计思路 .................................................................................... 4 3.2.2程序流程图 ............................................................................................................ 4 3.2.3程序设计 ................................................................................................................ 5
四、测试方案与测试结果 ............................................................................................................... 5
4.1测试方案 ............................................................................................................................ 5 4.2测试仪器 ............................................................................................................................ 5 4.3 测试结果及分析 ............................................................................................................... 5
4.3.1测试结果(数据) .................................................................................................... 5 4.3.2测试分析与结论 .................................................................................................... 6
五、总结........................................................................................................................................... 6 参考文献........................................................................................................................................... 7 附录一 电路原理图 ......................................................................................................................... 8 附录二 程序流程图 ......................................................................................................................... 9 附录三 部分程序 ........................................................................................................................... 10 附录四 元器件清单 ....................................................................................................................... 11
II
一、方案设计与论证
1.1方案比较与选择
1.1.1控制器模块比较与选择
方案一:采用STC89C51单片机作为控制器。STC89C51价格低廉,结构简单,且资料丰富;但是51单片机系统资源有限,8位控制器,运算能力有限,无法达到较高的精度,需要外接大量外围电路,增加了系统复杂度,达不到系统要求。
方案二:采用MSP430G2553单片机作为系统控制器。MSP430G2553单片机内部集成精度高,是16位单片机,但其外部接口较少,运算速度相对较慢,达不到要求。
方案三:采用STM32F103单片机作为系统控制器。STM32F103单片机是32位单片机,内部及程度高,拥有大量外部接口,运算速度高,能够满足题中对数据的快速采集和处理。
综合以上三种方案,我们选择方案三中的STM32F103单片机。 1.1.2角度传感器模块比较与选择
方案一:采用编码器根据脉冲数计算出角度,但是编码器体积较大,安装不方便,有突变现象,容易导致计算错误,故不能满足题目要求。
方案二:采用ENC陀螺仪,ENC陀螺仪能输出一个和角速度成正比的模拟电压信号,响应速度快,驱动电压和功耗较低。但是容易发生温漂,噪声较大,稳定性较差。
方案三:采用MPU-6050三维角度传感器,MPU-6050集成了3轴陀螺仪,3轴加速度计,以及一个可扩展的数字运动处理器DMP,可输出数字量,稳定性极高,测量精度高。
综合比较以上方案,我们选择方案三中的MPU-6050传感器作为系统的角度传感器。
1.1.3驱动模块的比较与选择
方案一:采用L298驱动,L298是专用驱动集成电路,属于H桥集成电路,内部包含4通道逻辑驱动电路。但其输出电流不能超过4A,比较容易发热,不能符合题目的较大电流。
方案二:采用互补硅功率达林顿管驱动,采用该方法电路连接比较简单,稳定性好,成本低廉,但不足之处是由于使用分立元件,反应速度较慢不能题目对轴流风机快速反应的要求。
方案三:采用电子调速器驱动,它根据控制信号调节电动机的转速,操作方便,具有过温、过压、欠压、过流及短路保护的功能。具有极好的驱动能力,反应灵敏,能够很好的满足题目的要求。
综合以上三种方案,我们选择方案三中的电子调速器驱动。
1.2系统最终方案选择
1
经过上述的分析和论证,决定了系统各模块采用的最终方案如下:
液晶显示 MPU-6050三维角度传感器 主控制芯片 STM32F103 电子调速器 按键 轴流风机 图1.1 系统方框图
本装置用MPU-6050三维角度传感器反馈轴流风机的运动轨迹,经过 A/D转换进行数据采样,通过STM32单片机进行数字处理,以实现画直线、画圆的目的。经测试证明,本装置能够很好的完成设计要求,且具有较高的稳定性。
二、测控方法分析与论证
2.1风力摆状态测量分析
摆杆状态的检测利用的是MPU-6050,MPU-6050三维角度传感器,在特定的位置会输出特定的电压值,当摆杆运动时,主控制器通过AD采集出一系列电压值,根据电压值的变化,即可知道摆杆的状态,从而实现画直线,画圆等要求。
2.2运动控制
2.2.1 电机的比较与选择
市面上普通直流电机转速慢,功率小,摩擦力大导致上电后短时间内风力摆摆动幅度小,可控性很低,为了更加精确控制风力摆的摆动幅度、速度,我们选
择转速快,减速比低,摩擦力小的额定电压为12V的直流无刷电机。 2.2.2控制原理和计算公式
PID控制算法中微分作用是控制器的输出与偏差变化的速度成比例,它对克服对象的容量滞后有显著效果,在比例基础上加入微分作用,使稳定性提高,再加上积分作用,可以消除余差,因此PID控制算法适用于控制质量要求很高的控制系统。使用PWM(脉宽调制)方法,可以方便地改变加给电机电枢的平均电压的大小。改变控制信号的占空比就可以改变电机的转速。具体分析如下:
error=set_angle-anggle_one (1)
2