基于stm32的风力摆_第1页
基于stm32的风力摆_第2页
基于stm32的风力摆_第3页
基于stm32的风力摆_第4页
基于stm32的风力摆_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

基于 stm32 的旋转倒立摆2017 年全国大学生电子设计竞赛陕西赛区设计报告封面作品编号: (由组委会填写)剪切线 作品编号: (由组委会填写)学校编号 组(队)编号 选题编号参赛队编号(参赛学校填写) 0 2 1 8 02说 明1. 为保证本次竞赛评选的公平、公正,将对竞赛设计报告采用二次编码;2. 本页作为竞赛设计报告的封面和设计报告一同装订;3. “作品编号”由组委会统一编制,参赛学校请勿填写;4. “参赛队编号”由参赛学校编写,其中“学校编号”应按照巡视员提供的组委会印制编号填写, “组(队)编号”由参赛学校根据本校参赛队数按顺序编排, “选题编号”由参赛队员根据所选试题编号填写,例如:“0105B”或“3367F” 。5. 本页允许各参赛学校复印。基于 stm32 的旋转倒立摆基于 stm32 的风力摆控制系统的设计与实现摘要本系统采用 STM32F103 开 发板作为控制中心,与万向 节、 摆杆、空心杯电机、激光头、反 馈装置一起构成 摆杆运动状态与风机速度分配的双闭环调速系统。单片机输出可变的 PWM 波给电机调速器,控制 4 个方向上风机的风速,从而产生大小不同的力。利用加速度计模块 MPU6050,准确测出摆杆移动的位置与中心点位置之间的关系,采样后反 馈给单片机,使 风机及 时矫正,防止脱离运 动轨迹。控制方式采用 PID 算法,比例环节进行快速响应,积分环节实现无静差,微分 环节减小超调,加快动态响应 。从而使 该系统具有良好的性能,能很好地 实现自由摆运动、快速制动静止、画圆、指定方向偏移,具有很好地稳定性。关键词:STM32F103;空心杯 电机;MPU6050 ;PIDAbstractThis system adopts the STM32F103V development board as the control center, and the universal joint, swinging rod, dc fan (brushless motor + blades), laser, feedback device together form the swinging rod motion state and fan speed distribution of the double closed loop speed regulation system. MCU output variable PWM waves to the motor speed, control four directions wind speed of the fan, to produce different size. Using accelerometer module MPU6050, accurately measure the position of swinging rod mobile and center position, the relationship between the sampling after feedback to the single chip microcomputer, the fan timely correction, prevent from the trajectory. Use the compass module judging direction, deviation control system to a specified direction. Using PID algorithm control method, proportion link for quick response, integral element to realize astatic, differential link decrease overshoot, speed up the dynamic response. So that the system has good performance, which can well realize the pendulum movement, fast brake static, circle, specify the direction deviation, has a good stability.Keywords:STM32F103;Hollow cup motor;MPU6050;PID基于 stm32 的旋转倒立摆1 引 言 风力摆控制系统是自动控制理论的重要研究平台,可 对应于人工智能控制技术,因此对它的研究具有重大的 实践意义和价值。目前 对风力摆的研究主要分为系统力学分析及建模,控制算法及仿真,而对实现手段少有研究。文章讨论了以STM32 为核心的 风力摆控制器的 设计与实现,它 实现了经典双回路 PID 控制算法对风力摆的控制策略。2 方案设计与论证2.1 系统基本方案2.1.1 控制方案设计为了实现题目要求我们采用 STM32F103 单片机做 为主控芯片,用加速度计陀螺仪模块 MPU6050 来 计算角度和风机状态,用直流风机带动摆杆运动。当MPU6050 检测 到摆杆的角度 时,可根据三角函数公式计算出摆杆现在距离中心的具体位置(方向、距离),单片机会控制 PWM 波的输出大小来控制风机的风速与方向,使摆杆达到在特定位置静止或按照一定的轨迹运动。当摆杆处于自然下垂状态时, 给四个风机同时 上电且风向都向外,此 时摆 杆仍处于受力平衡静止状态。此 时降低 X 轴上一个 风机的转速, 摆杆将会带动激光头在 X 轴上画一条直线,当达到一定的倾斜角度时, 单片机可根据角度 计算出此时距离中心的距离是否=25cm,若达到要求后,此风机减速, X 轴反方向上电机逐渐加速,恢复到初始速度,反方向做相同的运动。在此 过程中,单 片机做出 A/D 采样,Y 轴方向方向风机随时做出矫正,防止发生轨迹偏移。角度传感器控制系统框图如图 1所示。基于 stm32 的旋转倒立摆图 2-1 控制系统框2.1.2 机械结构方案设计由于摆杆长度(60cm70cm)较长,且要求激光头在地面画出 15cm35cm 的圆,所以要求横杆的距离要足够长。横杆 长度较长加之 摆杆重量较大,所以要求底座要有足够的重量来支撑整个系统。如果结构不稳或者重量不够,摆杆运动过程中将会产生倾倒或者抖动等现象,影响测试结果。于是,底座采用了 “工”型结构,保证 了整个系统的稳定性。摆杆材料方面,我 们选 用轻便的硬质铁质材料与风机进行刚性连接,既能保 证连接处的稳定,又可达到减轻底座负担的目的。 风机选择方面,既要保证风力 够大,能 够实现题目基本要求中的自由摆运动、快速制动静止。又要有一定的重量,质量越大, 惯性越大,越不容易改变原来的运动状态,在 实现发挥部分(2) 时,受到外界干 扰,不容易改变原来的圆周运动状态机械结构如图 2-2.图 2-2 机械结构图基于 stm32 的旋转倒立摆1.底座;2.竖杆;3.横杆;4.螺栓;5.万向节;6.摆杆;7.风机;8.风机;9.风机;10.风机2.2 各部分方案选择与论证2.2.1 电机选择方案一: 采用小型轴流风机(大功率),使用双滚珠轴承,采用滚动摩擦的形式,轴承中有数颗微小 钢珠围绕轴心,当扇叶 转动时, 钢珠即跟着转动。因为都是球体,摩擦力较小,所以转速较高。能达到 8000RMP,同时产生较大的风力。 风机内力矩较大,是因为机内绕了大量的 铜线, 导致重量较大,当 4 个风机固定到一起时,重量更大,风机产生的风 力带动风机运动困难加大,更难 做到题目中按要求运 动。另一方面,此风机功率 较大,所需电流较大,驱动与供电方面也有很大问题。方案二:采用双环强磁空心杯电机,内部使用强磁,转速较高。 风力也足够大,基本能达到要求。但是到题目发挥部分(2)时 ,面 对外界风力干扰时,由于本身重量较轻,极易受到外界干扰,而不容易保持原来状态。另外,空心杯电机使用 3.7V 供电,供 电电压较低, 单片机控制电机转速时,空心杯的电压线性度较小,而不易被精准控制。方案三: 采用空心杯 电机,风力较大,重量适中,完全能达到题目运动状态要求,速度控制精确。综合考虑,我们选择方案三。2.2.2 电机驱动的选择由于上述电机选择了空心杯电机,所以我们选择的驱动是 ULN2003A。2.2.3 摆杆与横杆的连接选择方案一:摆杆使用粗单股导线直接与横杆连接,连接简单且自由度较好,基于 stm32 的旋转倒立摆给风机供电等方面都比较容易,但是导线容易产生自旋,风机固定困难也增大,增加了调试难度。方案二:摆杆使用碳纤维材料,通过万向节与横杆相连。用此材料强度能够达到要求,且风机固定容易。硬件搭建合理,配重平衡的前提下,摆杆来回摆动不易发生偏移,可轻松解决基本要求(1),减少了编写代码的工作量。综上考虑,我们选择方案二,节约时间。2.2.4 摆杆与风机的连接选择方案一:摆杆与风机之间使用一个直流电机或者舵机连接,这样可以随时改变风机的方向,同时可减少风机的数量,控制量减少。但是此方案 连接结构较为复杂,发挥部分圆 周运动稳定性不高。方案二:摆杆与风机之间采用刚性连接,连接较为简单,稳定性能较好。综上考虑,我们选择方案二。2.3 卡尔曼滤波卡尔曼滤波一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。数据滤波是去除噪声还原真实数据的一种数据技术, 滤波在测量方差已知的情况下能够从一系列存在测量噪声的数据中,估计动态系统的状态。在本系统中以风力摆所有过去的摆角输入和扰动作用最小参数的集合为基础对未来摆角数据进行预测,从输出和输入观测数据求出的系统状态最优估计,能够与未来的输入与系统的扰动一起确定风力摆摆角的整个变化。非线性数据经过卡尔曼滤波作用后可以大幅度提高控制精度,减少系统误差,增加系统的稳定性。2.4 风力摆运动状态的分析基本要求(1)中属于开环控制系统,激光笔绘制的轨迹超过 50cm 即可。我们基于 stm32 的旋转倒立摆可以设置摆杆倾角超过一个阈值 , 可通过摆动半径 R(R=25cm)直接计算出。然后,通过开环调节,从低到高改变风机的风速,直到摆杆的角度超过阈值,记下此时 PWM 波脉宽级作用时间。要绘制 50cm 直线,只需 R25cm(R 为地面运动轨迹的一半)在平面内运动即可则 其中 L 为摆杆与激光头的长度,a 为激aLRtn)( arctn光头到地面的距离(a=20cm)基本要求(2)摆动幅度可控,属于闭环控制系统,公式计算与(1)相同设置直线长度(30cm60cm)MPU6050 将倾角,角速度送给单片机,单片机控制 风机来产生推力使摆杆摆动。2.5 控制算法的分析PID 调节是一种线性调节,它将给定值与实际输出的偏差的比例、积分、微分通过线性组合构成控制量, 对控制对象进行控制。当被控对象的结构和参数不能完全掌握或得不到精确的数学模型,控制理论和其他技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用 PID 技术最为方便,即使当我们不完全了解一个系统和被控对象,或是不能通过有效的测量手段来获得系统参数时,也适合采用 PID 控制技术。在本系统中被控对象为风力摆,其数学模型以及理论计算并不容易,故我们采用位 PID 控制算法对经卡尔曼滤波后的数据进行计算。其中 P 为比例系数;I为角度误差的积分系数;D 为微分系数。OUTPUT=P*Error+D/dt*Error(n)-Erro(n-1)系统控制框 图如图 2-1 所示。图 2-3 摆杆角度姿态分析图基于 stm32 的旋转倒立摆PID陀 螺 仪PIDMMPWM波PWM波、 、 图 2-4 系统控制框图3 硬件与软件的设计3.1 硬件的实现3.1.1 单片机控制模块设计基于 STM32F103 单片机的主控 电路,STM32F103 是 ST 旗下的一款常用的增强型系列微控制器,STM32F103 增强型微控制器系列使用高性能的ARM/Cortex-M3/32 位的 RISC 内核,具有 处理能力 强,功耗低, 执行能力强,中断源多等优点。在整个系统中由 STM32F103 单片机控制实现整个功能,包括陀螺 仪对摆角数据的采集,卡尔曼滤波处 理非线性信号, PID 控制算法计算、 风机的驱动以及声光报警等功能。系统采用 C 语言进行编程,C 语 言生成目标代码质量高,程序执行效率高,更易控制系统 。图 3-1 为 STM32F103 单片机最小系统电路图。基于 stm32 的旋转倒立摆图 3-1 STM32F103 单片机最小系统电路图3.1.2 电源与驱动模块设计本系统采用 LM2596 开关电源供电,LM2596 为可调式的开关电源,可固定输出 3.3V、5V、12V 电压 ,可 调版本可以输出小于 37V 的各种电压。具有很好的

温馨提示

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

评论

0/150

提交评论