电赛论文-风力摆控制系统.doc_第1页
电赛论文-风力摆控制系统.doc_第2页
电赛论文-风力摆控制系统.doc_第3页
电赛论文-风力摆控制系统.doc_第4页
电赛论文-风力摆控制系统.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

2015年全国大学生电子设计竞赛风力摆控制系统(B题)2015年8月15日II摘 要 该设计采用STM32F103VCT6芯片为风力摆控制核心,实行模块化设计,由控制系统模块、电机驱动模块、角度传感器模块、电源模块等模块组成。通过四元数法对MPU6050回传数据进行处理,并通过闭环PID算法控制轴流风机转动以控制风力摆运动。实现了风力摆15s内做可控幅度及方向的摆动并用激光笔在地上画出稳定直线,风力摆在一定角度放开后快速静止,风力摆可做可控半径的圆周运动,并在受外力干扰后快速恢复运动。经测试,该设计系统性能良好,所有基本要求都已达到,部分指标或超出题目发挥部分要求。关键词: 风力摆; 模块化; MPU6050; PID算法目 录一、系统方案11、电机驱动的论证与选择12、角度传感器的论证与选择13、控制系统的论证与选择1二、系统理论分析与计算21、风力摆状态的分析22、四元数与姿态的计算2(1)四元数2(2)四元数与旋转23、PID的计算4三、电路与程序设计41、电路的设计4(1)系统总体框图4(2)电机驱动模块框图与电路原理图4(3)角度传感器模块框图与电路原理图52、程序的设计6(1)程序功能描述与设计思路6(2)程序流程图6四、测试方案与测试结果61、测试仪器62、功能测试6(1)测试过程6(2)测试结果(数据)73、测试结论与分析7五、结论与心得7六、参考文献7附录1:原理图8附录2:测试数据9风力摆控制系统(B题)【本科组】一、系统方案本系统主要由控制系统模块、电机驱动模块、角度传感器模块、电源模块组成,下面分别论证这几个模块的选择。1、电机驱动的论证与选择方案一:采用继电器对电动机的开或关进行控制,通过开关的切换对轴流风机的速度进行调整。这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。方案二:以N沟道增强型场效应管为核心,基于H桥PWM控制的驱动控制电路,对直流电机的正反转控制及速度的调节具有良好的工作性能。并且直流电机控制电路的运行稳定可靠,电机调节响应速度快,满足大功率直流电机的驱动控制,结构简单、驱动力强、功耗低。综合以上二种方案,选择方案二。2、角度传感器的论证与选择方案一:采用WDD35D5角度传感器。其原理相当于可调电位器,根据风力摆倾斜角度产生相应的阻值,通过AD转换处理后从而算出相应的角度,但是该方案需要AD转换、不易放置、仅能直接得到角度等问题。方案二:采用MPU-6050加速度陀螺仪。该模块整合了3轴陀螺仪和3轴加速度器,输出六轴旋转矩阵、四元数、Euler角的融合演算数据,通过处理后可检测到风力摆倾斜角度及其加速度,以便于对摆杆的控制。综合以上二种方案,选择方案二。3、控制系统的论证与选择方案一:采用STC89C52单片机作为主控芯片,STC89C52单片机是STC89C51单片机的增强板,是STC公司生产的一种低功耗、高性能8位微控制器,具有8k可编程Flash存储器,总共有32位I/O口线,3个16位定时器/计数器,4个外部中断,全双工串行口等资源。虽然最小系统简单,编程较易,但是工作频率过低无法满足该设计的高速运算要求。方案二:采用STM32F103VCT6作为主控芯片,STM32系列单片机是基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex-M3内核。它具有512K片内FLASH,64K片内RAM,片内FLASH支持在线编程(IAP),多达80个IO(大部分兼容5V逻辑),4个通用定时器,2个高级定时器,2个基本定时器,3路SPI接口,2路I2S接口,2路I2C接口,5路USART等丰富的资源,较高的工作频率可满足该设计所需的高速运算及数据处理。综合以上二种方案,选择方案二。二、系统理论分析与计算1、风力摆状态的分析 从陀螺仪DMP直接读出四元数,然后计算出欧拉角,最后通过欧拉角确定陀螺仪的姿态。通过风摆姿态变化可以分析出风摆实时的位置还有速度信息,再由主控系统通过PID算法分析后控制轴流风机转动控制风力摆运动。2、四元数与姿态的计算 (1)四元数四元数是简单的超复数。复数是由实数加上虚数单位 i 组成,其中i2 = -1。 相似地,四元数都是由实数加上三个虚数单位 i、j、k 组成,而且它们有如下的关系: i2 = j2 = k2 = -1, i0 = j0 = k0 = 1 , 每个四元数都是 1、i、j 和 k 的线性组合,即是四元数一般可表示为a + bk+ cj + di,其中a、b、c 、d是实数。对于i、j、k本身的几何意义可以理解为一种旋转,其中i旋转代表X轴与Y轴相交平面中X轴正向向Y轴正向的旋转,j旋转代表Z轴与X轴相交平面中Z轴正向向X轴正向的旋转,k旋转代表Y轴与Z轴相交平面中Y轴正向向Z轴正向的旋转,-i、-j、-k分别代表i、j、k旋转的反向旋转。(如图2-1)图2-1(2)四元数与旋转姿态解算的核心在于旋转,一般旋转有4种表示方式:矩阵表示、欧拉角表示、轴角表示和四元数表示。矩阵表示适合变换向量,欧拉角最直观,轴角表示则适合几何推导,而在组合旋转方面,四元数表示最佳。因为姿态解算需要频繁组合旋转和用旋转变换向量,所以采用四元数保存组合姿态、辅以矩阵来变换向量的方案。下面介绍一下四元数,然后给出几种旋转表示的转换。四元数可以理解为一个实数和一个向量的组合,也可以理解为四维的向量。这里用一个圈表示q是一个四元数(很可能不是规范的表示方式)。四元数的长度(模)与普通向量相似。下面是对四元数的单位化,单位化的四元数可以表示一个旋转。四元数相乘,旋转的组合就靠它了。旋转的“轴角表示”转“四元数表示”。这里创造一个运算q(w,),用于把绕单位向量w转角的旋转表示为四元数。通过q(w,),引伸出一个更方便的运算q(f,t)。有时需要把向量f的方向转到向量t的方向,这个运算就是生成表示对应旋转的四元数的(后面会用到)。然后是“四元数表示”转“矩阵表示”。再次创造运算,用R(q)表示四元数q对应的矩阵(后面用到)。多个旋转的组合可以用四元数的乘法来实现。“四元数表示”转“欧拉角表示”。3、PID的计算 PID计算方式如图2-1所示 图2-1 PID计算方式PID计算公式:该风力摆上,经调试PID参数设置为:K=1,P=1600,I=2,D=165。三、电路与程序设计1、电路的设计(1)系统总体框图该风力摆控制系统由stm32最小系统、mpu6050传感模块、电机驱动模块、电源模块组成,由stm32用PID算法处理传感器回传的数据,用处理后的数据来控制轴流风机的转动进而控制风力摆运动。系统总体框图如图3-1所示激光笔轴流风机电机驱动STM32MPU6050电 源图3-1 系统总体框图(2)电机驱动模块框图与电路原理图1、电机驱动框图直流电机驱动电路由电机驱动逻辑电路、光电隔离电路、驱动信号放大电路、H 桥功率驱动电路等4 部分组成,如图3-2 所示。电机驱动电路的主要控制信号有电机转向控制信号 Dir、电机转速控制信号PWM。Uc1为驱动逻辑电路电源,Uc2为电机驱动电源。设计的电路中,逻辑电路与驱动放大电路进行电气隔离,消除了驱动电路对前级电路的干扰,逻辑运算后的控制信号通过光电隔离和放大后,驱动H 桥上下桥臂,实现对电机的控制。图3-2 电机驱动框图2、电机驱动电路图3-3 电机驱动电路(3)角度传感器模块框图与电路原理图MPU6050 整合了三轴陀螺仪、三轴加速度计,并含I2C端口连接其他厂家的加速器、磁力传感器或其他传感器的数位运动处理(DMP)硬件加速引擎等,由主I2C端口以单一数据流的形式,向应用端输出完整的9轴融合演算技术InvenSense的运动处理资料库。MPU60X0对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可输出的数字量。为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为250、500、1000与2000/sec(dps),加速度计可测范围为2g、4g8g与16g。电路图如图3-4所示:图3-4 MPU6050电路图2、程序的设计(1)程序功能描述与设计思路该程序首先初始化,根据风力摆运动要求开启轴流风机,控制系统读取陀螺仪回传数据,进行PID处理后调节PWM出给电机驱动模块,修正轴流风机转动,实现风力摆按要求运动。(2)程序流程图1、主程序流程图见附录1四、测试方案与测试结果1、测试仪器仪器型号用途数量示波器TEKTRONIX DOP2024显示电路波形1卷尺WEY-100测量画线长度1量角器无测量画线角度1电风扇格力吹风影响风力摆12、功能测试(1)测试过程测试基本要求部分时,初始化系统,将风力摆从静止开始做可控制幅度及方向的摆动,使激光笔在地面稳定地画出直线。测试发挥部分,初始化程序,风力摆将按照要求,做可控半径的圆周运动,并且在受外力影响时,快速回复圆周运动。(2)测试结果(数据)见附录23、测试结论与分析根据上述测试数据,由此可以得出以下结论:1、风力摆可在规定时间内做可控幅度及方向的直线运动。2、风力摆再拉起一定角度放开时,可快速恢复静止状态。3、风力摆可在规定时间内做可设半径的圆周运动,并在受外力作用下快速恢复圆周运动。综上所述,本设计达到设计要求。五、结论与心得该系统采用STM32F103VCT6单片机控制,采用模块化设计,多模块协调工作。经过四天三夜的不懈努力,完成了题目基本要求和发挥部分。在此系统设计制作中多次陷入困境,尤其是四元数与姿态计算时的理论分析的确不是我们的强项,但是大家靠现查资料、恶补物理和高数方面的不足,最后得以把误差控制在可接受的范围内,比较圆满完成风力摆可控运动。在最后的多模块联合调试过程中,由于大家分工不同,代码组合起来的难度超出我们的意料。最终我们三人通过一个通宵的奋斗还是圆满地完成了任务。此次比赛,我们深刻体会到队员之间交流的重要性,自己的任务完成得再好,代码联合不起来也是无用功。六、参考文献【1】谭浩强.C语言程序设计M.北京:清华大学出版社,2012【2】童诗白、华成英. 模拟电子技术基础(第四版)M. 北京:高等教育出版社, 1980.【3】黄智伟.全国大学生电子设计竞赛电路设计M.北京:北京航空航天大学出版社,20069附录1:原理图1、主程序流程图附录2:测试

温馨提示

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

评论

0/150

提交评论