基于IAP15W4K58S4的风力摆控制系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Techniques of Automation & Applications | 1
基于IAP15W4K58S4的风力摆控制系统设计
刘翘楚1,郭鹏伟1,刘学明2
(1.中北大学朔州校区,山西 朔州 036000;2.国网山西省吕梁供电公司,山西 吕梁 033000)
摘 要:风力摆控制系统作为一种典型的自动化控制平台,近年来得到了广泛的研究。
为了更科学合理地运用风力摆,设计并制
作了一套基于单摆物理模型的实物系统,为系统预设了定角度直线运动和圆周运动两种主要形式。
对运动过程进行了线性化、离散化处理,将两种运动都分解为两个正交方向的简谐运动,利用莉萨如图形完成算法的设计。
利用单片机的定时器产生系统的控制周期,在一个控制周期内完成采样、计算、输出、执行。
试验结果表明,系统可以稳定、精确、快速地完成预设的目标动作,且抗干扰能力强,响应快。
关键词:简谐运动;PID 算法;伺服系统;IAP15W4K58S4
中图分类号:TP273 文献标识码:A 文章编号:1003-7241(2019)02-0001-04
Design of Wind Pendulum Control System
Based on IAP15W4K58S4
LIU Qiao-chu 1, GUO Peng-wei 1, LIU Xue-ming 2
( 1. Campus of Shuozhou, North University of China, Shuozhou 036000 China;
2. Stste Grid Lvliang Power Supply Company, Lvliang 033000 China )
Abstract: As a typical automatic control platform, wind pendulum control system is studied extensively in recent years. In order to
apply the wind pendulum more scientifically and rationally, a kind of object system based on simple pendulum physical model is designed and manufactured. The system has two main forms: fixed angle linear motion and circular motion. The motion process is linearized and discretized, and they are decomposed into two orthogonal directions of harmonic motion. The algorithm is designed by using Lissajous-Figure. The control cycle is generated by the timer of the single-chip, and the sampling, calculation, output and execution are completed within a control cycle. The results show that the system can achieve the preset target motion stably, accurately and rapidly, and has strong anti-interference ability and fast response.
Key words: simple harmonic movement; PID algorithm; servo system; IAP15W4K58S4
收稿日期:2017-11-15
1 引言
从古至今,人们对风力的应用从来没有停止过,风力应用在科学研究上也有着重要意义,如飞机、四轴飞行器、风洞等便是人们对风力的典型应用。
风力摆作为一种研究风力控制的典型模型,具有造型简单、造价低廉等优点,对其研究可以增加人们对可控风力的了解和对风力控制中一些典型算法的验证,同时为理论教学和课外实践搭建了良好的操作平台[1]。
2 系统总体设计
风力摆控制系统本质为一套伺服随动控制系统,以四个对称布置的风机作为动力源,提供风力摆在四个方向的推力。
角度传感器实时采集风力摆的姿态。
M C U 主控单元获取角度并与目标值比较[2],经运算后得出控制量,送给风机执行,从而完成预设的定角度直线摆动和圆周运动。
为调试方便,系统加入完善的人机交互模块。
系统框图如图1所示。
| Techniques of Automation & Applications
23 硬件设计及器件选型
3.1 机械结构设计
风力摆控制系统的机械结构如图2所示。
装置采用悬臂梁结构。
摆臂选用碳纤维杆材质,质轻而又强度高,通过万向节支吊于横梁上[3]。
四个风机对称安装,固定在摆臂上。
其中M1、M3构成Y 轴动力源,M2、M4构成X 轴动力源。
底座与支撑臂用于稳定重心,加强结构稳固性。
图1 系统整体框图
图2 系统机械结构简图
3.2 电路设计
3.2.1 主控单片机的选型
系统选取STC 公司出品的增强型51单片机IAP15 W4K58S4作为主控芯片[4],可受益于STC 公司提供的STC-ISP 上位机辅助软件,大大提高开发效率。
图3为IAP15W4K58S4在本系统中的外设应用情况:利用其自带的6路PWM 发生器中的4路作为四个电机的PWM 控制;串口2负责与MPU6050通信,实时采集角度信息;串口3负责与UART-GPU 串口屏通信,刷新关键参数的显示;串口1负责与PC 上位机通信,来在线调整PID 参数。
PID 参数整定完成后,即可关闭比功能,以减少对系统的干扰。
3.2.2 姿态传感器的选型
姿态传感器选取MPU6050[5]。
MPU6050是Inven S e n s e 公司推出的一款6轴传感器模块,包括三轴加速度,三轴角速度。
其体积小巧,用途广泛。
鉴于I A P15 W4K58S4是8位单片机,运算能力有限,而常用的四
元数融合、卡尔曼滤波等姿态解算方法运算量很大,会占用不小的系统时间,导致PID 控制算法及其它程序的执行困难。
因此,本系统选用自身带数据融合的姿态传感器模块,通过串口与主控单片机通信,输出角度参数,应用方便,有效减轻了主控单片机的负担。
图3 单片机的外设使用情况
3.2.3 风机的选型
风机选取720空心杯电机配75m m 桨。
空心杯电机
具有高转速(30000-50000r /m i n )、高推重比(7-12)、较高的频率响应(4-8H z )、高机动性等优点[6],可为风力摆控制系统提供快速的响应和灵活的机动性,且无需专门的电子调速器,驱动方便。
采用小功率M O S F E T 作为电机驱动电路的开关器件,配合P W M [7]技术,使电机调速灵敏精确,且具有很好的线性度。
4 算法设计及软件编程
4.1 物理模型的建立
风力摆的运动是一种单摆运动[8],可以将其理想化为由摆锤和摆线组成。
在其摆动角度比较小的情况下,其运动规律可以看作是简谐运动。
由在互相垂直的方向上的两个频率成简单整数比的简谐振动所合成的规则的、稳定的闭合曲线叫莉萨如图[9],如图4所示。
风力摆的四个空心杯电机控制风力摆在互相垂直的两个方向做简谐运动,根据莉萨如图理论可以方便地控制风力摆的运动曲线,使其画出圆形、直线和椭圆等各种图形。
当两简谐运动的相位差为±90°其他参数相等时轨迹为圆形,当相位差为0°其他参数相等时轨迹为直线。
当相位差在0°到90°的范围内时,轨迹为椭圆。
△ψ=0 △ψ=π/2
△
ψ=π
△
ψ=3π/2 △ψ=2π
图4 不同相位差时的莉萨如图形
4.2 正弦函数的生成
Techniques of Automation & Applications | 3
为了使风力摆完成幅度可控且可循环往复的直线或圆周运动,需要使风机在X 轴和Y 轴方向上完成两个独立的幅值可控的正弦运动,如此,便需要由软件产生一个实时的正弦函数,以此正弦函数来控制风力摆的运动。
首先需对运动的周期进行归一化,人为的设定一个运动周期Move_priod,这个周期可通过单摆运动周期公式粗略计算作参考;另外通过单片机定时器每隔5m s 进行自加一次得到一个period_TimeCont 变量,通过计算period_TimeCont/Move_priod 的值来得到实时变化的、归一化的周期,然后把得到的归一化的周期值与2π相乘转化为对应弧度值Ω
,如公式1所示,2π表示一个完整的正弦运动过程。
(1)
正弦函数的幅值大小可建立相应模型,如图6所示。
设摆动过程中L 为摆杆的长度,R 为摆动的半径或摆幅,α为摆杆与铅锤方向的角度,通过图中的三角关系得到公式:
tanα=R/L (2)如此便可得到风力摆的最大角度值α,且通过改变这一角度值即可改变圆周运动的半径或直线运动的幅值。
这样通过C 语言库中自带的s i n 函数便可得到一个与运动周期、运动时间、运动幅值有关的正弦函数,
其中Set_Value 即为实时变化的设定值。
(呈正弦规律变化)
(3)
4.3 PID 算法运动控制
图5 风力摆运动模型
本系统中采用了位置式PID 算法,来使风力摆准确按预定轨迹动作,并且使系统拥有了良好的稳定性和抗干扰能力。
P I D 算法由比例、积分、微分三个控制环节组成,其示意图如图5所示。
输入控制量r (t )与反馈量y(t)做差后得到偏差e(t),偏差值经过比例、积分、微分三个环节后,得到输出值u(t)[10]。
在本系统中,输入控制量由正弦函数生成,作为P I D 算法的目标值。
M P U6050姿态传感器采集的角度值作为反馈量,即当前风力摆的实际角度值。
将目标值与实际值比较作差,得到偏差角度,将偏差角度经过比例、积分、微分运算,得到输出控制量,即电机的P W M 值,从而改变电机转速,调整风力摆在各个方向上的受力情况,使风力摆按照设定轨迹运动。
为了防止输出控制量过大或过小而引起的系统失调或超调现象,程序中需要对输出控制量进行死区和限幅控制,从而保证系统运行稳定。
风力摆作为一种单摆,其运动是非线性运动。
为了实现对其运动的控制,将其运动过程看作很多个运动过程的组成,当采样率足够高时,每一段分运动可以看作是线性运动,这样可以极大地简化对其运动的控制,同时使线性的 PID 控制器适用于本系统的控制过程。
图6 PID 算法示意图
4.4 软件流程图
程序采用C 语言编写,使用Keil uVision C51集成开发环境。
程序包括对IAP15W4K58S4单片机相关外设的初始化、中断与串口的配置
,
同时将控制算法转化为计算机可识别的机器语言。
其程序流程图如图7所示。
图7 软件流程图
| Techniques of Automation & Applications
45 测试结果与分析
为了验证算法的正确性及本风力摆系统在稳定度、精确度、快速性三个方面的指标情况,进行了相关测试。
测试分为对定角度直线摆动和圆周运动两个部分进行。
风力摆摆杆底部固定有激光头,用来指示运动轨迹。
绘制标准轨迹图,铺设于风力摆正下方,用于与运动轨迹计较并测量偏差值。
测试结果见表1、表2。
直线运动时:在当前测试条件下,各角度的完成时间都在4s 内,体现了系统的快速性;在0°和90°时,角度误差和幅度误差最小,因为此时风力摆只存在一个轴上的运动;其它角度时,误差都明显增大,这是由于运动合成过程中,X 轴、Y 轴电机不对称造成的。
表2 圆周运动测试
圆周运动时:运动完成时间随半径的增大而增加,这是因为运动半径增大,风力摆行程增长,所需时间增加;半径误差随运动半径的增大而增大,这是由于运动半径越大,重力作用越明显,风机推力难以克服重力分量,运动轨迹发生轻微变形。
6 结束语
本风力摆控制系统建立了单摆运动的物理模型,以运动的合成与分解为主要思想,结合稳定精简的硬件平台和优秀的算法,使风力摆实现了定角度直线摆动和圆周运动,且运动过程稳定、快速、准确,抗干扰能力强。
风力摆系统作为一个典型的自动控制教学平台,今后还需要扩展更多的功能,进一步挖掘其应用潜力。
参考文献:
[1] 张国军,李绍明
,闫孝姮,李威
,朱正印.风力摆运
表1 固定摆幅(40cm)下各角度摆动测试
动控制系统设计[J].传感器与微系统,2016,35(12):106-109.
[2] 苏宁远,张晨亮.基于MK60FN1MOVLQ15的风力摆控制系统设计[J].仪表技术,2016,(8):23-25,32.
[3] 王亚娟,周光亚,韩晓飞.基于A T89S52的风力摆控制系统设计[J].吉林建筑大学学报,2016,33(4):85-88.
[4] 张龙慧.基于I A P15W4K58S4的点阵液晶待机功能的实现[J].科学技术创新,2017,(26):14-15.
[5] 徐雯琪,陈佳颖,袁菊明.基于改进PID 算法的风力摆控制系统研究[J].电脑知识与技术,2016,12(11):256-257.
[6] 张琴琴,陈莉,刘阿宁.空心杯电机斜绕组与同心式绕组性能分析[J].微电机,2015,48(3):17-19.
[7] 谢檬,郭霞.智能小车控制系统设计[J].传感器与微系统,2016,35(12):110-112.
[8] 孙蓉,李冰,权申明,吕淑平.基于风力摆的综合实训平台[J].实验技术与管理,2016,33(9):75-78.
[9] 胡光,白永前,秦静.同方向简谐运动的合成研究[J].宜春学院学报,2011,33(12):30-33.
[10] 叶金鑫.基于模糊PID 的智能小车控制算法研究[J]. 实验科学与技术,2016,14(1):46-47,62.
作者简介:刘翘楚(1995-),女,本科在读,研究方向:嵌入式及电气自动控制技术。