风力摆控制系统设计报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2015年全国大学生电子设计竞赛

风力摆控制系统(B题)

摘要

本风力摆控制系统以STM32F103C8单片机为控制核心,采用MOS管电机驱动,通过加速度陀螺仪MPU-6050来采集风力摆的角度,并用按键输入相关参数要求及测试模式,主控单元STM32F103C8单片机处理采集到的信号并给定PWM 控制直流风机。该系统硬件部分主要由电源模块、单片机模块、电机驱动模块、按键模块、陀螺仪、风力摆等构成闭环控制系统。主要运用STM32F103C8单片机控制直流风机组,根据风力摆的状态,通过程序控制PID算法,使直流风机组带动整个风力摆装置的旋转移动并保持一定平衡,实现了通过直流风机组控制风力摆运动、画线、画圆及静止等的功能。

关键词:STM32F103C8单片机;MPU-6050;电机驱动;PID算法

2015年8月15日

1.系统方案论证

1.1单片机控制模块的论证与选择

方案一:采用51单片机,价格低廉,应用普遍,操作简单,控制能力强。但是外设端口较少,片内资源少,运行速度很慢,需要外围元件多。

方案二:采用PLC单片机,可靠性高,抗干扰能力强,但体系结构封闭,不兼容。

方案三:采用STM32单片机,其程序都是模块化的,接口相对简单,而且自身带有好多功能,工作速度快,且性价比较高。

综合以上三种方案,选择方案三。

1.2电机驱动模块的论证与选择

方案一:采用继电器对电机开关进行切换,以调整风力摆的周期。但是继电器的响应时间慢,易损坏,可靠性不高。

方案二:采用L298N电机驱动模块,输入端与单片机直接相连,便于控制。但驱动电流小,无法驱动大功率的风机,且压降大、易发热,影响驱动性能。

方案三:采用场效应管IRFD120组成的电机驱动模块,驱动能力好,易于调速、过载能力大、开关速度大,能耗小。

综合以上三种方案,选择方案三。

1.3风力摆方案的论证与选择

方案一:选用12V,2.4A的风机,将朝着四个方向的风机两两连接在一起形成正方环形风力摆。但是风扇环闭,影响进风,且因为电流大,带动慢,耗时。

方案二:选用12V,1.2A的风机,用一块板子将四个风机分为两层,相对摆放。小巧轻便,风扇摆放未环闭,风力较好,且动力较足。

综合以上两种方案,选择方案二。

1.4角度检测模块的论证与选择

方案一:采用光电编码器可以直接测出风力摆角度,但是体积大、精度低、仅能测出摆杆角度。

方案二:选用WDD35D5角度传感器,根据摆杆旋转角度产生相应阻值,但该方案需要AD转换成相应的角度,且不易放置、仅能直接得到角度。

方案三:选用MPU6050加速度陀螺仪,精度高,通过处理后可检测到摆杆的旋转角度及其加速度,以便对摆杆的控制。

综合以上三种方案,选择方案三。

1.5控制算法的论证与选择

方案一:采用LQR算法即线性二次型调节器,其对象是现代控制理论中以状态空间形式给出的线性系统,而目标函数为对象状态和控制输入的二次型函数,LQR可得到状态线性反馈的最优控制规律,易于构成闭环最优控制,但编程复杂,数据处理量大。

方案二:采用PID算法,按比例、积分、微分的函数关系进行运算,将风力摆对应状态的角度加入PID算法后通过PWM控制直流风机旋转方向与速度。控制精度高,且算法简单明了,结构改变灵活。

综合以上两种方案,选择方案二。

2.系统理论分析与计算

2.1风力摆状态检测

由于对旋转及运动要求的限制,通过导线将加速度陀螺仪MPU-6050固定在风力摆的摆杆上以此采集风力摆状态的相关数据,通过PID算法调节直流风机运动效果。假如当风力摆在静止状态时,然后启动往左的直流风机(采用PD算法,当偏离平衡角度越大,则PD反馈给风机占空比的值就越大),MPU-6050检测出当前的角度,再通过PID算法给芯片,使风力摆杆保持向左运动的状态。

2.2驱动与控制算法

风力摆运动是一个连续变化的过程,旋转的变化也是一个连续渐变的过程。本设计中STM32F103C8单片机通过处理MPU-6050采集的风力摆当前状态角度调节输出PWM的占空比,进而控制直流风机组的方向及速度变换,从而实现对风力摆的控制。

在连续的闭环控制系统中,按偏差,比列,微分,积分进行的PID控制技术是一种应用最广泛的控制方式,所以本系统采用PID算法来控制直流风机组的转动。PID算法的控制数学模型如下:

u(t)=k p[e(t)+1

T i

∫e(t)dt+T D

d(e(t))

dt

] t

其中,k p为比例放大系数,T i为积分时间常数,T D为微分时间常数,e(t)为

风力摆角度偏差。

1)比例环节P 及时成比例地反映控制风力摆系统的角度偏差e(t),一旦产生误差,立即调节减少误差。Kp过大会使风力摆系统出现超调或振荡现象,Kp 过小又起不到调节作用,比例控制无法消除余差。

2)积分环节I 主要用于消除余差,强弱程度取决于T i,T i越大则积分作用越弱,风力摆系统稳定性下降,所以要找到合适的T i。

3)微分环节D 反映偏差信号的变化趋势,在偏差信号值e(t)变得太大前,产生响应抑制偏差,使风力摆系统趋于稳定,改善系统动态性能。

图 1 PID算法框图

2.3 系统分析

风力摆系统如下图。

图 2 系统原理图

当要求绘制线段大于50cm 时,只需L2大于25cm ,或者要求实现任意设置的线段长度时,只需实现任意范围内角度的控制变化即可,让风力摆沿着X 或者Y 轴摆动,控制一个轴向的直流风机,再根据距离计算并控制相应的角度θ。由sin θ=L2L 1,则控制角度θ=arcsin L2

L 1,θ精确控制可由PID 算法实现。其中L1为风力摆摆杆长度,L2为横向一边摆动的长度。

而当要求完成特定摆动方向时,则需同时控制X 轴和Y 轴方向的直流风机,若与X 轴夹角为θ,则需要两个轴线上的直流风机产生的空气推力符合如下关系: tanθ= F

1F 2,其中F 1为两直流风机在Y 轴方向上的合力,F 2为两直流风机在X 轴方向上的合力。

图 3圆周运动原理图

要求风力摆做圆周运动时,则需要控制风力摆摆杆与重力方向的夹角。如上图,调节X 轴方向上的直流电机的PID 参数使摆杆稳定至相应的角度,再通过Y 轴方向的直流电机驱动产生推力使其沿圆切线方向运动,从而绘制出圆形轨迹。

3. 电路与程序设计

3.1 系统总体框图

整体系统由机械结构、STM32F103C8单片机最小系统板、电源模块、电机驱动模块、MPU -6050陀螺仪、按键模块组成。

相关文档
最新文档