风力摆控制系统-论文最终版_第1页
风力摆控制系统-论文最终版_第2页
风力摆控制系统-论文最终版_第3页
风力摆控制系统-论文最终版_第4页
风力摆控制系统-论文最终版_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2015年全国大学生电子设计竞赛(瑞萨杯)风力摆控制系统(B题) 2015年8月15日摘要 本文论述了风力摆系统的工作原理和设计思路。系统采用STM32F103单片机为主要控制系统,用角位移传感器mpu-6050采集到风力摆的摆头的角度及位置,通过I2C总线传输发送到主控系统中,采用lcd12864显示采集到的信息,通过PID进行数据处理,产生相应的PWM信号,发送到相应的直流风机,控制直流风机实现自由摆动,从而画出直线、圆等轨迹。关键词:STM32F103单片机;角位移传感器mpu-6050;PID算法I目录摘要I目录II一、方案设计与论证11.1方案比较与选择11.1.1控制器模块比较与选

2、择11.1.2角度传感器模块比较与选择11.1.3驱动模块的比较与选择11.2系统最终方案选择1二、测控方法分析与论证22.1风力摆状态测量分析22.2运动控制22.2.1 电机的比较与选择22.2.2控制原理和计算公式2三、系统设计与分析33.1主要电路设计33.1.1 STM32F103单片机最小系统电路33.1.2电源模块:43.1.3驱动模块:43.1.4陀螺仪模块43.1.5系统整体电路原理图43.2 软件程序设计43.2.1程序功能描述与设计思路43.2.2程序流程图43.2.3程序设计5四、测试方案与测试结果54.1测试方案54.2测试仪器54.3 测试结果及分析54.3.1测试

3、结果(数据)54.3.2测试分析与结论6五、总结6参考文献7附录一 电路原理图8附录二 程序流程图9附录三 部分程序10附录四 元器件清单11II一、方案设计与论证1.1方案比较与选择1.1.1控制器模块比较与选择方案一:采用STC89C51单片机作为控制器。STC89C51价格低廉,结构简单,且资料丰富;但是51单片机系统资源有限,8位控制器,运算能力有限,无法达到较高的精度,需要外接大量外围电路,增加了系统复杂度,达不到系统要求。方案二:采用MSP430G2553单片机作为系统控制器。MSP430G2553单片机内部集成精度高,是16位单片机,但其外部接口较少,运算速度相对较慢,达不到要求

4、。方案三:采用STM32F103单片机作为系统控制器。STM32F103单片机是32位单片机,内部及程度高,拥有大量外部接口,运算速度高,能够满足题中对数据的快速采集和处理。综合以上三种方案,我们选择方案三中的STM32F103单片机。1.1.2角度传感器模块比较与选择方案一:采用编码器根据脉冲数计算出角度,但是编码器体积较大,安装不方便,有突变现象,容易导致计算错误,故不能满足题目要求。方案二:采用ENC陀螺仪,ENC陀螺仪能输出一个和角速度成正比的模拟电压信号,响应速度快,驱动电压和功耗较低。但是容易发生温漂,噪声较大,稳定性较差。方案三:采用MPU-6050三维角度传感器,MPU-605

5、0集成了3轴陀螺仪,3轴加速度计,以及一个可扩展的数字运动处理器DMP,可输出数字量,稳定性极高,测量精度高。 综合比较以上方案,我们选择方案三中的MPU-6050传感器作为系统的角度传感器。1.1.3驱动模块的比较与选择方案一:采用L298驱动,L298是专用驱动集成电路,属于H桥集成电路,内部包含4通道逻辑驱动电路。但其输出电流不能超过4A,比较容易发热,不能符合题目的较大电流。 方案二:采用互补硅功率达林顿管驱动,采用该方法电路连接比较简单,稳定性好,成本低廉,但不足之处是由于使用分立元件,反应速度较慢不能题目对轴流风机快速反应的要求。方案三:采用电子调速器驱动,它根据控制信号调节电动机

6、的转速,操作方便,具有过温、过压、欠压、过流及短路保护的功能。具有极好的驱动能力,反应灵敏,能够很好的满足题目的要求。综合以上三种方案,我们选择方案三中的电子调速器驱动。1.2系统最终方案选择主控制芯片STM32F103按键MPU-6050三维角度传感器液晶显示电子调速器轴流风机经过上述的分析和论证,决定了系统各模块采用的最终方案如下:图1.1 系统方框图本装置用MPU-6050三维角度传感器反馈轴流风机的运动轨迹,经过 A/D转换进行数据采样,通过STM32单片机进行数字处理,以实现画直线、画圆的目的。经测试证明,本装置能够很好的完成设计要求,且具有较高的稳定性。二、测控方法分析与论证2.1

7、风力摆状态测量分析摆杆状态的检测利用的是MPU-6050,MPU-6050三维角度传感器,在特定的位置会输出特定的电压值,当摆杆运动时,主控制器通过AD采集出一系列电压值,根据电压值的变化,即可知道摆杆的状态,从而实现画直线,画圆等要求。2.2运动控制2.2.1 电机的比较与选择 市面上普通直流电机转速慢,功率小,摩擦力大导致上电后短时间内风力摆摆动幅度小,可控性很低,为了更加精确控制风力摆的摆动幅度、速度,我们选择转速快,减速比低,摩擦力小的额定电压为12V的直流无刷电机。 2.2.2控制原理和计算公式 PID控制算法中微分作用是控制器的输出与偏差变化的速度成比例,它对克服对象的容量滞后有显

8、著效果,在比例基础上加入微分作用,使稳定性提高,再加上积分作用,可以消除余差,因此PID控制算法适用于控制质量要求很高的控制系统。使用PWM(脉宽调制)方法,可以方便地改变加给电机电枢的平均电压的大小。改变控制信号的占空比就可以改变电机的转速。具体分析如下: error=set_angle-anggle_one (1) 其中error为摆杆的角度差,set_angle对应摆杆平衡时的角度值,anggle_one对应摆杆当前的角度值。 up=kperror (2) kp为比例调节系数,通过公式可以看出增大kp可知角度差的作用加强,可加强系统的强硬速度,使摆杆的迅速达到直立的状态。 ud=kd(a

9、ngleone-anggle_one_old) (3) anggle_one_old对应摆杆上一次采集到的角度值。kd为微分调节系数,angleone-anggle_one_old对应角度的变化值,因此可知,调节kd可以改善系统的动态性能。 pwm=up-ud (4) 把 PWM的值给电机即可改变电机的转速,使摆杆的角度改变。最终实现摆杆的站直并稳定。三、系统设计与分析3.1主要电路设计3.1.1 STM32F103单片机最小系统电路图3.1 STM32F103单片机最小系统3.1.2电源模块: 图3.2电源模块电路图3.1.3驱动模块:图3.3驱动模块电路图3.1.4陀螺仪模块 见附录一图1

10、-1附录的图编号与第一部分的图编号重复了,附录的图单独统一编号就行,比如:图1,图2,图3.,并与正文中描述一致。3.1.5系统整体电路原理图 见附录一图1-2。3.2 软件程序设计3.2.1程序功能描述与设计思路1)程序功能描述 主要是通过STM32F103单片机控制系统实现题目要求。2)程序设计思路 本测量装置主要指标是通过MPU-6050采集数据,单片机STM32F103进行数据处理,通过按键来进行参数整定,从而调控各个风机的转速,实现画直线和画圆等要求。3.2.2程序流程图见附录二。3.2.3程序设计见附录三。四、测试方案与测试结果4.1测试方案 本作品的测试中,采用的是万向节为轴转中

11、心,以角度传感器为反馈模块,以10°为一个分度值,进行角度的测量,所画直线、圆圈的观察。 图4-1 风力摆结构示意图 图4-2 万向角示意图 4.2测试仪器数字风速仪,量角器,米尺,秒表,示波器。4.3 测试结果及分析4.3.1测试结果(数据)表4-1 摆杆画出直线段(大于50cm)测试次数运动时间/s直线段长度/cm112522135131353表4-2 摆杆画出可设置长度直线(30-60cm)预设直线长度/cm运动时间/s实际得到长度/cm长度偏差/cm351036140114005012500表4-3 按设定方向摆动画出直线段(大于20cm)测试次数运动时间/s实际直线长度/c

12、m112232102131222表4-4 风力摆拉起固定后角度自动静止(30°-45°)测试次数摆动角度达到静止时间(S)135°11238°13342°15表4-5 驱动摆杆做3次圆周运动(15cm<R<35cm)预设半径/cm完成3次圆周运动时间/s圆环偏差/cm1518s02022s12524s0.53026s0表4-6 做圆周运动时施加外力干扰,恢复原状态 测试次数台扇(60w,1m)干扰时间恢复圆周运动时间15s4s25s5s35s4s4.3.2测试分析与结论根据上述测试数据,由此可以得出以下结论:1、各个模块工作正常。2

13、、完成了题目的各项要求;五、总结经历了这次的比赛让我们懂得了基础的重要性,平时的学习中不能好高骛远,须知细节决定成败,也许就是一个小小的疏忽就导致全盘失败,认真的阅读资料,不疏忽任何一个小问题,学到了很多课堂上上没学到的东西。通过这次比赛,不仅仅锻炼了我们的动手实践能力,独立思考解决问题的能力,更是加强了我们的创新团队协作意识。参考文献参考文献数量有没有要求?是不是太少了?1 侯祥林,顾立忠,徐心和. 圆规单极倒立摆摆起过程控制J. 控制与决策,2003,18(4):483486.2 杨光祥.STM32单片机原理与工程实践.武汉理工大学出版社,2013 3 黄友锐,曲立国.PID控制器参数整定

14、与实现出版社:科学出版社,20104 谭浩强著.C程序设计(第三版).北京:清华大学出版社,2005附录一 电路原理图 陀螺仪电路图如图1-1所示。 陀螺仪电路图如图1-1系统电路图如图1-2所示。系统电路图如图1-2附录二 程序流程图 开始初始化采集角度值模式选择模式一模式一模式三模式四PD运算PD算法画直线画圆恢复状态PD算法扰动PD算法扰动PD算法静止 图2-1 程序框图附录三 部分程序#include "l主程序流程图如图2-1所示。 ed.h"?#include "delay.h"#include "ke

15、y.h"#include "sys.h"#include "usart.h"#include "timer.h"#include "mpu6050.h"#include "kalman.h"#include "12864.h"#include "adc.h"#define myMCLKextern  float Angle_X_Final;

16、0;extern float Angle_Y_Final; extern float Angle_Z_Final; extern float Gyro_x; extern float Gyro_y;        extern float Gyro_z;u8  Table6="  角度X 轴:    

17、;"u8  Table7="  角度Y 轴:   "u8  Table8="  度     "extern int shu3,shu4; int main(void)  int qian1=0,bai1=0,shi1=0,ge1=0,qian2=0,bai2=0,shi2=0,ge2=0;/shu3=0,shu4=0;u8

18、60;t;u16 led0pwmval=1080;delay_init(72);       /延时函数初始化   LCD12864_Init();   /PB10 PB11 PB12 PB13KEY_Init();          /初始化与按键连接的硬件接口  Adc_Init();uart_init(9600);  &#

19、160; LED_Init();  Moto1_Init();        TIM_SetCompare2(TIM3,led0pwmval);      TIM_SetCompare1(TIM3,led0pwmval);TIM_SetCompare3(TIM3,led0pwmval);TIM_SetCompare4(TIM3,led0pwmval);delay_ms(1700);TIM_SetCompare2(TIM3,1140);TIM_SetCompare1(TIM3,1140);  TIM_SetCompare3(TIM3,1140);   TIM_SetCompare4(TIM3,1140);   delay_ms(1500);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论