基于stm32的风力摆.docx
《基于stm32的风力摆.docx》由会员分享,可在线阅读,更多相关《基于stm32的风力摆.docx(15页珍藏版)》请在冰豆网上搜索。
![基于stm32的风力摆.docx](https://file1.bdocx.com/fileroot1/2023-2/1/0b73535b-2da2-4607-98a2-47ffca0b3efe/0b73535b-2da2-4607-98a2-47ffca0b3efe1.gif)
基于stm32的风力摆
2017年全国大学生电子设计竞赛XX赛区
设计报告封面
作品编号:
仙组玮*写)
剪切线
作品编号:
仙组委册写)
参赛队编号
(秦赛学校填写)
学校编号
0
2
组(队)编号
选題编号
1
8
02
说明
1.为保证本次竞赛评选的公平、公正,将对竞赛设计报吿釆用二次编码;
2.本页作为竞赛设计报吿的封面和设计报吿一同装订;
3.“作品编号”由组委会统一编制,參赛学校请勿填写;
4.“參赛队编号”由參赛学校编写,其中“学校编号”应按照巡视员提供的组委会印制编号填写,“组(队)编号”由參赛学校根据本校參赛趴数按顺序编排,
“选题编号”由參赛队员根据所选试题编号填写,例如:
“0105E”或
“3367严o
5.本页允许各参赛学校复印。
基于stm32的风力摆控制系统的设计与实现
摘要
本系统采用STM32F103开发板作为控制中心,与万向节、摆杆、空心杯电机、激光头、反馈装置一起构成摆杆运动状态与风机速度分配的双闭环调速系统。
单片机输出可变的PWM波给电机调速器,控制4个方向上风机的风速,从而产生大小不同的力。
利用加速度计模块MPU6050,准确测出摆杆移动的位置与中心点位置之间的关系,采样后反馈给单片机,使风机及时矫正,防止脱离运动轨迹。
控制方式采用PID算法,比例环节进行快速响应,积分环节实现无静差,微分环节减小超调,加快动态响应。
从而使该系统具有良好的性能,能很好地实现自由摆运动、快速制动静止、画圆、指定方向偏移,具有很好地稳定性。
关犍词:
STM32F103;空心杯电机;MPU6050;PID
Abstract
ThissystemadoptstheSTM32F103Vdevelopmentboardasthecontrolcenter,andtheuniversaljoint,swingingrod,defan(brushlessmotor+blades),laser,feedbackdevicetogetherformtheswingingrodmotionstateandfanspeeddistributionofthedoubleclosedloopspeedregulationsystem・MCUoutputvariablePWMwavestothemotorspeed,controlfourdirectionswindspeedofthefan,toproducedifferentsize.UsingaccelerometermoduleMPUG050,accuratelymeasurethepositionofswingingrodmobileandcenterposition,therelationshipbetweenthesamplingafterfeedbacktothesinglechipmicroputer,thefantimelycorrection,preventfromthetrajectory.Usethepassmodulejudgingdirection,dexdationcontrolsystemtoaspecifieddirection・UsingPIDalgorithmcontrolmethod,proportionlinkforquickresponse,integralelementtorealizeastatic,differentiallinkdecreaseovershoot,speedupthedynamicresponse・Sothatthesystemhasgoodperformance,whichcanwellrealizethependulummovement,fastbrakestatic,circle,specifythedirectiondeviation,hasagoodstability.
Keywords:
STM32F103;Hollowcupmotor;MPU6050;PID
1弓I言风力摆控制系统是自动控制理论的重要研究平台,可对应于人工智能控制技术,因此对它的研究具有重大的实践意义和价值。
目前对风力摆的研究主要分为系统力学分析及建模,控制算法及仿真,而对实现手段少有研究。
文章讨论了以STM32为核心的风力摆控制器的设计与实现,它实现了经典双回路PID控制算法对风力摆的控制策略。
2方案设计与论证
2.1系统基本方案
2.1.1控制方案设计
为了实现题目要求我们采用STM32F103单片机做为主控芯片,用加速度计陀螺仪模块MPU6050来计算角度和风机状态,用直流风机带动摆杆运动。
当MPU6050检测到摆杆的角度时,可根据三角函数公式计算出摆杆现在距离中心的具体位置(方向、距离),单片机会控制PWM波的输出大小来控制风机的风速与方向,使摆杆达到在特定位置静止或按照一定的轨迹运动。
当摆杆处于自然下垂状态时,给四个风机同时上电且风向都向外,此时摆杆仍处于受力平衡——静止状态。
此时降低X轴上一个风机的转速,摆杆将会带动激光头在X轴上画一条直线,当达到一定的倾斜角度时,单片机可根据角度计算出此时距离中心的距离是否>=25cm,若达到要求后,此风机减速,X轴反方向上电机逐渐加速,恢复到初始速度,反方向做相同的运动。
在此过程中,单片机做出A/D采样,Y轴方向方向风机随时做出矫正,防止发生轨迹偏移。
角度传感器控制系统框图如图1所示。
图2-1控制系统框
2.1.2机械结构方案设计
由于摆杆长度(60cm~70cm)较长,且要求激光头在地面画出15cm〜35cm的圆,所以要求横杆的距离要足够长。
横杆长度较长加之摆杆重量较大,所以要求底座要有足够的重量来支撑整个系统。
如果结构不稳或者重量不够,摆杆运动过程中将会产生倾倒或者抖动等现象,影响测试结果。
于是,底座采用了“工”型结构,保证了整个系统的稳定性。
摆杆材料方面,我们选用轻便的硬质铁质材料与风机进行刚性连接,既能保证连接处的稳定,又可达到减轻底座负担的目的。
风机选择方面,既要保证风力够大,能够实现题目基本要求中的自由摆运动.快速制动静止c又要有一定的重量,质量越大,惯性越大,越不容易改变原来的运动状态,在实现发挥部分
(2)时,受到外界干扰,不容易改变原来的圆周运动状态机械结构如图2-2.
1•底座;2•竖杆;3•横杆;4•螺栓;5•万向节;6•摆杆;7•风机;8•风机;9夙
机;
2.2各部分方案选择与论证
2.2.1电机选择
方案一:
采用小型轴流风机(大功率),使用双滚珠轴承,采用滚动摩擦的形式,轴承中有数颗微小钢珠围绕轴心,当扇叶转动时,钢珠即跟着转动。
因为都是球体,摩擦力较小,所以转速较高。
能达到8000RMP,同时产生较大的风力。
风机内力矩较大,是因为机内绕了大量的铜线,导致重量较大,当4个风机固定到一起时,重量更大,风机产生的风力带动风机运动困难加大,更难做到题目中按要求运动。
另一方面,此风机功率较大,所需电流较大,驱动与供电方面也有很大问题。
方案二:
采用双环强磁空心杯电机,内部使用强磁,转速较高。
风力也足够大,基本能达到要求。
但是到题目发挥部分
(2)时,面对外界风力干扰时,由于本身重量较轻,极易受到外界干扰,而不容易保持原来状态。
另夕卜,空心杯电机使用3.7V供电,供电电压较低,单片机控制电机转速时,空心杯的电压线性度较小,而不易被精准控制。
方案三:
采用空心杯电机,风力较大,重量适中,完全能达到题目运动状态要求,速度控制精确。
综合考虑,我们选择方案三。
2.2.2电机驱动的选择
由于上述电机选择了空心杯电机,所以我们选择的驱动是ULN2003Ao
2.2.3摆杆与横杆的连按选择
方案一:
摆杆使用粗单股导线直接与横杆连接,连接简单且自由度较好,给风机供电等方面都比较容易,但是导线容易产生自旋,风机固定困难也増大,増加了调试难度。
方案二:
摆杆使用碳纤维材料,通过万向节与横杆相连。
用此材料强度能够达到要求,且风机固定容易。
硬件搭建合理,配重平衡的前提下,摆杆来回摆动不易发生偏移,可轻松解决基本要求
(1),减少了编写代码的工作量。
综上考虑,我们选择方案二,节约时间。
2.2.4摆杆与风机的连接选择
方案一:
摆杆与风机之间使用一个直流电机或者舵机连接,这样可以随时改变风机的方向,同时可减少风机的数量,控制量减少。
但是此方案连接结构较为复杂,发挥部分圆周运动稳定性不高。
方案二:
摆杆与风机之间采用刚性连接,连接较为简单,稳定性能较好。
综上考虑,我们选择方案二。
2.3卡尔曼滤波
卡尔曼滤波一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。
由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。
数据滤波是去除噪声还原真实数据的一种数据技术,滤波在测量方差已知的情况下能够从一系列存在测量噪声的数据中,估计动态系统的状态。
在本系统中以风力摆所有过去的摆角输入和扰动作用最小参数的集合为基础对未来摆角数据进行预测,从输出和输入观测数据求出的系统状态最优估计,能够与未来的输入与系统的扰动一起确定风力摆摆角的整个变化。
非线性数据经过卡尔曼滤波作用后可以大幅度提高控制精度,减少系统误差,増加系统的稳定性。
2.4风力摆运动状态的分析
基本要求
(1)中属于开环控制系统,激光笔绘制的轨迹超过50cm即可。
我们可以设置摆杆倾角超过一个阈值0,0可通过摆动半径R(R>=25cm)直接计算出。
然后,通过开环调节,从低到高改变风机的风速,直到摆杆的角度超过阈值,记下此时PWM波脉宽级作用时间。
图2-3摆杆角度姿态分析图
要绘制50cm直线,只需R>25cm(R为地面运动轨迹的一半)在平面内运动即可
RR
tan^=-——则=arctan(—)其中L为摆杆与激光头的长度,a为激
L+aL+a
光头到地面的距离(a〜20cm)基本要求
(2)摆动幅度可控,属干闭环控制系
统,公式计算与
(1)相同设置直线长度VO(30cm将倾角,角速度送给单片机,单片机控制风机来产生推力使摆杆摆动。
2・5控制算法的分析
PID调节是一种线性调节,它将给定值与实际输出的偏差的比例、积分、微分通过线性组合构成控制量,对控制对象进行控制。
当被控对象的结构和参数不能完全掌握或得不到精确的数学模型,控制理论和其他技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID技术最为方便,即使当我们不完全了解一个系统和被控对象,或是不能通过有效的测量手段来获得系统参数时,也适合采用PID控制技术。
在本系统中被控对象为风力摆,其数学模型以及理论计算并不容易,故我们采用位PID控制算法对经卡尔曼滤波后的数据进行计算。
其中P为比例系数;I为角度误差的积分系数;D为微分系数。
OUTPUT=P*Error+D/dt*[Error(n)-Erro(n-l)]系统控制框图如图2-1所示。
图2-4系统控制框图
3硬件与软件的设计
3・1硬件的实现
3.1.1单片机控制模块设计
基于STM32F103单片机的主控电路,STM32F103是ST旗下的一款常用的増强型系列微控制器,STM32F103増强型微控制器系列使用高性能的ARM/Cortex-M3/32位的RISC内核,具有处理能力强,功耗低,执行能力强,中断源多等优点。
在整个系统中由STM32F103单片机控制实现整个功能,包括陀螺仪对摆角数据的采集,卡尔曼滤波处理非线性信号,PID控制算法计算、风机的驱动以及声光报警等功能。
系统采用C语言进行编程,C语言生成目标代码质量高,程序执行效率高,更易控制系统。
图3-1为STM32F103单片机最小系统电路图。
a
J7
3
2
1
CON3
VDD1
PC132
PC143
PC154
OSCIN5
OSCCXF
NRST7
CiND8
VDDA0
PAO10
PAI11
PA212
co
d
oc
BATPC13PC14/OSC32IN
VDD2VSS2JTMS
PC⑸OSC32OUT
PA12
PDO/OSCIN
PA11
PD1/OSCOUT
PA10
NRST
PA9
VSSA
PAS
VDDA
PB15
PAO
PB14
PAI匚
PB13
PA2£
PB12
rrrr6OOOL9OOO=立
AACr,r
2寸吩9厂0—^二一5三
36
VDDA
35
GND
34
JTMS
PA13
33
PA12
USB
DP
32
PAI1
USB
DM
31
PA10
RX
30
PA9
TX
29
PA8
28
PB15
27
PB14
26
PB13
25
PB12
*STM32-
ac
O
CM
rc
CM
图3-1STM32F103单片机最小系统电賂图
3.1.2电源与驱动模块设计
本系统采用LM2596开关电源供电,LM2596为可调式的开关电源,可固定输出3.3V、5V、12V电压,可调版本可以输出小于37V的各种电压。
具有很好的线性和负载调节特性。
LM2596将输出电压同内部基准稳压值进行比较,通过放大器调节去芯片内部振荡器的输出占空比,从而稳定输出电压,稳定输出的电压经电容进行平滑滤波。
在实际操作中通过调节R2改变输入电压,经LM2596稳压得到所需电压。
本系统中通过经LM2596稳压得到3.3V、5V、7V电压,分别给单片机、驱动、声光报警模块、风机供电。
电源模块电路如图3-2所示。
GND
图3-2电源模块电路图
3.1.2驱动模块设计
本系统采用ULN2003驱动模块驱动轴流电机作为本系统的执行机构c单片机对角度数据处理后输出PWM波控制ULN2003驱动模块。
ULN2003是高耐压、大电流达林顿陈列,由七个硅达林顿管组成。
ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
在本系统中所选的轴流电机所需驱动电压较小,ULN2003驱动模块驱动电压刚好适用,ULN2003实际为多个NPN三极管,相比其他驱动模块,ULN2003操作简单,易于编程。
驱动模块电路如图3-3所示。
图3-3驱动模块电路图
3.1.3声光报警模块设计
本系统采用蜂鸣器和LED灯作为声光报警模块。
按照题目要求运动达到要求时要进行一定的声光提示,题目要求不高,蜂鸣器和LED灯完全能够达到要求。
在此模块中系统采用三极管9012作为开关控制LED灯亮、蜂鸣器报警。
三极管9012为NPN型三极管,当运动轨迹达到要求时,单片机给NPN9012基极一个低电平时,三极管导通,LED灯亮、蜂鸣器报警。
在电路中1N4007二极管主要起保护电路作用。
驱动模块电路如图3-4所示。
GNI)
图3・4电源模块电路图
3.2软件的实现
本系统采用STM32F103单片机为控制器,采用C语言编程。
程序主要起导向和决策的作用,它控制整个系统稳定协调的运作。
在本系统中,对各个模块的调试采用分步进行,确定各个模块的独立工作完整性,然后再对整个系统所有模块进行完糅合,使其完成系统的所有功能。
由按键选择风力摆的工作模式,单片机通过控制风机转速改变风力摆的摆
角。
陀螺仪检测风力摆摆角将数据反馈给单片机,采用低通滤波进行非线性信号
处理,然后进行四元数转换,经卡尔曼滤波得到易于控制的线性信号,最后由
PID控制算法得到PWM波,由此调节风机转速,实现风力摆的规律运动。
系统主流程图如图3-5所示。
图3-5系统主流程图
中断流程图如图所示。
图3-6中斷流程图
4系统測试
4.1主要测试用的仪器
在室温条件下,测试所用仪器如表4-1所示。
*4-1测试仪器
编号
型号
数量
1
直尺
1个
2
量角器
1个
3
秒表
1个
4
延时相机
1个
4.2指标测试结果
测试风力摆从处于自然下垂状态开始,15秒内激光笔是否能够画出50cm的直线段,是否能够画出自由设定30-60cm的自由线段,风力摆是否能够按照设定运动,以及将风力摆拉起30。
~45。
时能否静止,共测试6组数据,如表4-2所示。
表4-2摆杆角废測试结果
次数
能否曲出50cm的宜线段
能否萸出自由设定
30-60cm的自由线段
能否按照设定运动
能否静止
1
能
能
能
能
2
能
能
能
能
3
能
能
能
能
4
能
能
能
能
5
能
能
能
能
6
能
能
能
能
4.3测试结果及误差分析
经过测试,本系统基本完成了基础部分的要求,完成情况如表4-3所示。
表4-3测试结果
題目要求
先成悄况
基本部分
(1)从静止开始,15s内控制风力摆做类似自由樱运动,便激光笔稳定地在地面ISI出一条长度不短干50cm的直线段,其线性度偏差不大于±2.5cm,并且具有较好的重复性。
完成
(2)从静止开始,15s内完成幅度可控的摆动,画出长度在30~60cm间可设置,长度偏差不大于±2.5cm的直线段,并且具有较好的重宣性。
完成
(3)在摆杆处干自然下垂状态下,外力拉起摆杆至接近165°位置,外力撤除同时,启动控制旋转臂使摆杆保持倒立状态时间不少于5s;期间旋转臂的转动角度不大于90°。
完成
续表4-3
发獰部分
(1)以风力樱静止时激光笔的光点为圆心,驱动风力樱用激光笔在地面画圆,30s内需重負3次;圆半径可在15~35cmX围内设直,激光笔画出的轨迹应落在指定半径±2.5cm的圆环内。
基本完成
(2)在发挥部分
(1)后继续作圆周运动,在距离风力摆l~2m距离内用一台50~60W台扇在水平方向吹向风力樱,台扇吹5s后停止,风力摆能够在5s内恢复发挥部分
(1)规定的圆周运动,激光笙画出符合要求的轨迹。
基本完成
经过测试,本系统完成了预期的目标。
误差分析,由于STM32F103自身的精度,外围电路中非线性元件,陀螺仪精度导致数据采集、处理有一定误差,单片机对采集到的信号进行滤波、数据转化、PID数据处理时也会产生误差,搭建的硬件之间会产生摩擦,这些因素都会造成误差。
总结
经过一周的努力,本组完成了由STM32F103单片机控制的风力摆控制系统。
通过测试,风力摆从处于自然下垂状态开始,15秒内激光笔能够画出50厘米的直线段,能够画出自由设定30〜60厘米的自由线段,风力摆也能够按照之前的设定运动,将风力摆拉起30。
〜45°时,5秒内能够静止。
经过努力,我们非常完整的实现了设计的目标。
参考文献
[1]全国大学生电子设计竞赛获奖作品汇编[M].理工大学,2004.8
⑵阎石•数字电子技术基础(5版)[M].高等教育,2006
⑶童诗白等•模拟电子技术基础•第3版[MJ.2001
[4]
⑸康华光.电子技术基础(模拟部分)[M].(5版)高等教育,2005
⑹全国大学生电子设计竞赛获奖作品汇编[M].理工大学,2004
[7]陈永真等.2011版全国大学生电子设计竞赛硬件电路设计精解[M].电子工
业,2011
[8]黄争著.XX仪器高性能单片机和模拟器件在高校中的应用和选型指
南.XX:
XX仪器半导体技术(XX)XX大学计划部,2010
[9]全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品选编
[M].理工大学
[10]X新喜等.Multisim10电路仿真及应用[M].机械工业
[11]陈晓鸽等-AltiumDesigner电路设计标准教程[M].科学
[12]康华光•电子技术基础[M]・(5版)•高等教育,2005
[13]董景新等•控制工程基础(2版)•清华大学,2001