APP下载

基于单片机的风力摆系统设计

2019-09-10岑强王宇欣

锦绣·下旬刊 2019年9期
关键词:正弦串口风力

岑强 王宇欣

摘 要:风力摆是一种通过风机作为唯一动力驱动的装置。为了更科学合理地运用风力摆,设计并制作了一套基于单摆物理模型的实物系统,为系统预设了定角度直线运动和圆周运动两种主要形式。由此提出双向稳定结构的风力摆机械设计模型,由四风机构成稳定驱动装置,以stm15单片机为控制核心,MPU6050为姿态传感器,HMI串口屏实时显示,核心控制模块的定时器中断方式,以闭环控制减小系统误差,从而形成一个完整的控制系统。

关键词:简谐运动;PID算法;轨迹控制;IAP 15W4K58S4

1 引言

风力摆是一种通过风机作为唯一动力驱动系统,在规定时间内完成规定轨迹的控制系统,且在风力摆启动后不得以任何人为方式影响其运动。风力摆控制系统作为一个控制装置,其形象十分直观,结构较为简单;而将其作为一个被控对象,它又显得相当复杂。就本身而言,风力摆是一个稳定性随着时间与外部环境变化较为复杂的非线性系统,所以在对风力摆的控制中必须采取行之有效的方法,它才能稳定工作。风力摆控制系统的稳定效果十分明显,对它的度量可以通过直接观测其响应速度、轨迹重合度以及线性误差来判断,一目了然。

2 系统总体设计

风力摆控制系统本质为一套伺服随动控制系统,以四个对称布置的风机作为动力源,提供风力摆在四个方向的推力。角度传感器实时采集风力摆的姿态。MCU主控单元获取角度并与目标值比较,经运算后得出控制量,送给风机执行,从而完成预设的定角度直线摆动和圆周运动。为调试方便,系统加入PID调节模块。

3 电路设计

3.1主控单片机的选型

系统选取STC公司出品的增强型51单片机工IAP 15W4K58S4作为主控芯片,可受益于ST C公司提供的STC一ISP上位机辅助软件,大大提高开发效率。利用其自带的6路PWM发生器中的4路作为四个电机的PWM控制;串口2负责与MPU6050通信,实时采集角度信息;串口3负责与USART-HMI串口屏通信,刷新关键参数的显示;串口1负责与PC上位机通信,来在线调整PID参数。PID参数整定完成后,即可关闭比功能,以减少对系统的干扰。

3.2姿态传感器的选型

姿态传感器MPU6050是InvenSense公司推出的一款6轴传感器模块,包括三轴加速度,三轴角速度。其体积小巧,用途广泛。鉴于IAP 15W4K58S4是8位單片机,运算能力有限,而常用的四元数融合、卡尔曼滤波等姿态解算方法运算量很大,会占用不小的系统时间,导致PID控制算法及其它程序的执行困难。因此,本系统选用自身带数据融合的姿态传感器模块,通过串口与主控单片机通信,输出角度参数,应用方便,有效减轻了主控单片机的负担。

3.3风机的选型

风机选取716空心杯电机配55mm桨。空心杯电机具有高转速,高推重比,较高的频率响应,高机动性速性能好,体积小,重量轻,装配简单,使用方便等优点,可为风力摆控制系统提供快速的响应和灵活的机动性,且无需专门的电子调速器,驱动方便。采用L298N作为电机驱动模块,配合PWM技术,使电机调速灵敏精确,且具有很好的线性度。通过单片机输出PWM波很容易实现对电机正转,反转和停止等操作。

4 算法设计及软件编程

4.1物理模型的建立

风力摆的运动是一种单摆运动,可以将其理想化为由摆锤和摆线组成。在其摆动角度比较小的情况下,其运动规律可以看作是简谐运动。

风力摆的四个空心杯电机控制风力摆在互相垂直的两个方向做简谐运动,根据莉萨理论可以方便地控制风力摆的运动曲线,使其画出圆形、直线和椭圆等各种图形。当两简谐运动的相位差为士90。其他参数相等时轨迹为圆形,当相位差为0。其他参数相等时轨迹为直线。当相位差在00到90。的范围内时,轨迹为椭圆。

4.2正弦函数的生成

为了使风力摆完成幅度可控且可循环往复的直线或圆周运动,需要使风机在X轴和Y轴方向上完成两个独立的幅值可控的正弦运动,如此,便需要由软件产生一个实时的正弦函数,以此正弦函数来控制风力摆的运动。

首先需对运动的周期进行归一化,人为的设定一个运动周期T,这个周期可通过单摆运动周期公式粗略计算作参考;另外通过单片机定时器每隔5ms进行自加一次得到一个MTC变量,通过计算MTC/T的值来得到实时变化的、归一化的周期,然后把得到的归一化的周期值与2π相乘转化为对应弧度值Ω,2π表示一个完整的正弦运动过程。

正弦函数的幅值大小可建立相应模型,设摆动过程中L为摆杆的长度,R为摆动的半径或摆幅,a为摆杆与铅锤方向的角度,如此便可得到风力摆的最大角度值a,且通过改变这一角度值即可改变圆周运动的半径或直线运动的幅值。这样通过C语言库中自带的sin函数便可得到一个与运动周期、运动时间、运动幅值有关的正弦函数,其中Set_ Value即为实时变化的设定值。

4.3PID算法运动控制

本系统中采用了位置式PID算法,来使风力摆准确按预定轨迹动作,并且使系统拥有了良好的稳定性和抗干扰能力。PID算法由比例、积分、微分三个控制环节组成。输人控制量:(t)与反馈量y(t)做差后得到偏差e(t),偏差值经过比例、积分、微分三个环节后,得到输出值u(t)。

在本系统中,输人控制量由正弦函数生成,作为PID算法的目标值。MPU6050姿态传感器采集的角度值作为反馈量,即当前风力摆的实际角度值。将目标值与实际值比较作差,得到偏差角度,将偏差角度经过比例、积分、微分运算,得到输出控制量,即电机的PWM值,从而改变电机转速,调整风力摆在各个方向上的受力情况,使风力摆按照设定轨迹运动。为了防止输出控制量过大或过小而引起的系统失调或超调现象,程序中需要对输出控制量进行死区和限幅控制,从而保证系统运行稳定。

4.4程序部分

程序采用c语言编写,使用Keil uVision C51集成开发环境。程序包括对工IAP 15W4K58S4单片机相关外设的初始化、中断与串口的配置,同时将控制算法转化为计算机可识别的机器语言。

5 结束语

本风力摆控制系统建立了单摆运动的物理模型,以运动的合成与分解为主要思想,结合稳定精简的硬件平台和优秀的算法,使风力摆实现了定角度直线摆动和圆周运动,且运动过程稳定、快速、准确,抗干扰能力强。

参考文献

[1]刘翘楚,郭鹏伟,刘学明.基于IAP15W4K58S4的风力摆控制系统设计[J].自动化应用与技术

[2]叶龙.基于MPLJ6050传感器的方位角倾角算法研究[D].长春:吉林大学

[3}冯大力.空心杯直流电机的特点及其应用[J].电工技术

猜你喜欢

正弦串口风力
正弦、余弦定理的应用
为什么风筝有线能飞,断了线就飞不了了?
帆不是越大越好
利用正弦定理解决拓展问题
最大的积木风力涡轮机14.62万块积木建造
MCS—51单片机中的多串口通讯技术的应用
正弦定理与余弦定理在应用中的误区
正弦、余弦定理在三角形中的应用
全国计算机等级考试机房准备工作探讨
你会测量风力吗