APP下载

基于STC12C5A60S2芯片的风力摆控制系统设计

2016-03-22安徽财经大学管理科学与工程学院贺小龙安徽财经大学金融学院孙慧宇

电子世界 2016年2期
关键词:陀螺仪风力直流

安徽财经大学管理科学与工程学院 贺小龙安徽财经大学金融学院 孙慧宇



基于STC12C5A60S2芯片的风力摆控制系统设计

安徽财经大学管理科学与工程学院贺小龙
安徽财经大学金融学院孙慧宇

【摘要】本文利用陀螺仪采集风力摆姿态角,单片机在接收姿态角数据并处理后,通过控制PWM(脉冲宽度调制)波占空比来调节风机的转速,从而实现了风力摆在仅受直流风机为动力控制下快速起摆、画线、恢复静止的功能,并能准确画圆,且受阻风力影响后能够恢复画圆状态。经过测试表明该系统具有良好的稳定性和适应性。

【关键词】风力摆;陀螺仪;STC12C5A60S2;PWM

随着现代测控技术的飞速发展,形成了新一代的微控系统,系统采用微型计算机作为测控系统代替传统的常规电子电路。风力摆控制系统是基于风力来控制物体运动的测控系统,它在原有的基础控制类型中加入新型控制力量风,利用几个流风机组合成风力摆,利用流风机转动带动扇叶形成风,利用空气的流动性和作用力与反作用力定律实现运动。本系统采用STC公司的STC12C5A60S2单片机为控制核心,辅以角速度传感器、直流风机、键盘、LCD显示、电源等模块组成一测控系统,实现风力摆的运动。

1 系统方案论证

我们根据现实需要设计一个风力摆系统该。系统可以驱动各风机使风力摆按照一定规律运动,同时,激光笔在地面上画出相应的轨迹。该系统是一个典型的运动控制系统,系统应该包括检测单元、控制单元、执行单元、人机交互单元组成。其中检测单元主要为摆杆摆动角度的检测,即所谓的角速度传感器模块;将检测到的角度信息送到控制单元进行进行AD转换与数据处理后形成控制命令发送至执行单元;执行单元主要完成对直流风机转速的调整来控制风速的大小。系统中还加入了人机互交模块,有键盘输入、液晶显示输出使系统更加人性化,更易于操作。系统结构如图1所示。

下面分别论证主控、角度传感、风力摆、电源和人机交互等模块的选择。

图1 系统结构

1.1风力摆模块的比较与选择

方案一:采用2只直流风机作为动力系统。采用2只风机并排同向而立,分别位于摆杆两侧,通过控制风机转速控制风力摆使激光笔画线画圆。此方案风力摆负载轻,但风力摆摆动过程中状态微调和快速静止不易实现。

方案二:采用三个小型可调速的直流电机组合:将三个直流风机组合成空间三角台,可根据软件的编写实现控制三个直流风机转速的不同从而实现风力摆不同方向的摆动,三个直流风机的特点是体积小重量轻,有利于风力摆的摆动。

方案三:采用四个小型可调速的直流电机组合:四个直流风机组合的正方体形体,可轻易实现各个方向的转动,转动两个背对的风机可以实现摆的直线摆动,四个风机的配合可实现指定角度的摆动,组合的缺点是重量大。

方案选择:综合以上方案,最终确定方案三。

1.2角速度传感器模块的比较与选择

方案一:只测量风力摆关于静止状态时的偏转角。采用二维平面内角位移传感器测量风力摆转动时关于静止状态时的偏转角,通过控制该偏转角实现对流风机的控制。该方案软件处理繁琐,且二维平面内的角位移传感器不利于测量风力摆的空间位置,不利于实现对风力摆的精确控制。

方案二:选用双轴倾角传感器模块LE-60-OEMLE-60-OEM,测量重力加速度变化,转为倾角变化,可测量双向。具有稳定性高、低功耗、结构简单等优点。响应速度为5Hz。它可以测量平衡板与水平方向的夹角,x,y方向可以测,但z轴不可测。且操作复杂,软件处理难度大。

方案三:采用三维角度传感器。用三维角度传感器时刻测量风力摆当前姿态,通过处理采集的姿态角数据控制风机带动风力摆运动。此方案可精确测量风力摆当前姿态,实现对风力摆的精确控制。

方案选择:综合比较以上方案,本系统选择方案三。

1.3主控模块的比较与选择

方案一:51系列单片机。STC公司STC12C5A60S2/ AD/PWM系列单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,速度快8-12倍。内部集成2路PWM,8路高速10位A/D转换可实现对风力摆的控制,基于对该单片机较为熟悉,软件操作起来更加便捷。

方案二:AVR系列的单片机。该系列单片机较于早期的51单片机,片内资源更丰富,接口也更强大,同时采用的是RISC精简指令集,在运行速度上较与51有绝对的优势。而价格低廉的优势也同样存在。

方案三:ARM处理器。ARM处理器主要应用于嵌入式系统的开发,支持Thumb(16位)/ARM(32位)双指令集,兼容性好,大量使用寄存器执行速度快。单从性能上讲,AMR绝对强与AVR与51,但其价格昂贵,并不是很适合本次设计。

方案选择:综合比较以上方案,最终确定方案一。

2 测控方法

2.1陀螺仪测风力摆姿态

采用高精度的陀螺加速度计MPU6050不断采集风力摆状态角数据。MPU6050集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP。MPU6050和所有设备寄存器之间的通信采用400kHz的I2C接口,实现高速通信。且内置的可编程卡尔曼滤波器,采用最优化自回归数据处理算法精确测量风力摆当前状态角。MPU6050对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可输出的数字量,通过DMP处理器读取测量数据然后通过串口输出。根据输出的角度θ和加速度a判断风力摆状态。陀螺仪原理图如图2所示。

图2 陀螺仪原理图

(1)当θ=0,a=0时风力摆处于原始位置的静止状态;

(2)当θ达到最大,a=0时风力摆处于摆角最大的静止状态;

(3)当θ=0,a最大时风力摆处于原始位置的加速状态。

2.2风力摆运动控制方法

风力摆采用4只45W的直流风机为动力驱动系统。姿态采集模块采集风力摆当前姿态角,单片机处理姿态角信息调节输出PWM的占空比,控制四只风机的工作状态,从而实现对风力摆的控制。

2.3风力摆画直线运动控制方法

四个风机画直线的方法是,吹动相对面的两个风机,吹起其中一个风机到达一定角度后停止,再启动另外一个风机使风力摆完成来回的摆动,让激光笔在地面上画出直线段。如图3所示,设物体的质量为G,角度传感器反馈值为θ,风力摆框架的高度为y,所需画线的长度为x。

由牛顿第二定律可知:

所以要达到画线的长度x,可算出风力摆需要达到的角度θ,随即可知风力摆需要提供的动力F,通过软件PWM调节占空比,使风机的转速达到一定程度即可是风机吹出的风力达到F。

2.4风力摆画圆运动控制方法

风力摆画圆运动需要四个风机的配合,两个风机的风力提供画圆的向心力,其他风机配合提供线速度需要的力,如图4所示,F1和T的合力提供向心力,F2提供做圆周运动的水平力。利用PID算法配合控制PWM波的占空比可实现对风力摆的控制。风机开始工作后,姿态采集模块不断采集当前风力摆姿态角状态,并与之前的状态比较,使得风力摆的运动状态逐渐趋向于平稳。PID算法控制器由舵机转动角度比例P、角度误差积分I和角度微分D组成。

其输入e (t)与输出U (t)的关系为:

它的传递函数为:

图3

3 系统设计

根据方案论证采取的方案,该测控系统由STC12C5A60S2单片机做控制芯片,WWD35D4导电塑料电位器作为角度传感器,四个直流吹风机做风力摆,12864为显示屏。系统总框图如图3所示。

4 总结

通过角度传感器将采集到的信息反馈给单片机,融合PID算法和PWM调速功能,精确控制直流风机的运动实现画直线、画圆功能。该系统较好的完成了设计要求,并且具有精确度高、稳定性强的特点,整个系统从软件到硬件都体现优良简约的风格;系统主要具有采用高精度的陀螺仪,提高精确度;程序算法优良,易于误差处理,风机控制更稳定LCD液晶显示,界面友好等特点。

参考文献

[1]郭天祥.新概念51单片机C 语言教程.入门、提高、开发[M].北京:电子工业出版社,2009.

[2]汪玉成.流电机PWM凋速系统设计[J].场现代化,2007.

[3]高吉祥,朝京.全国大学生电子设计竞赛培训系列教程(电子仪器仪表设计)[M].北京:电子工业出版社,2011.

[4]张明,洪志和,于飞.2011年瑞萨杯2011全国大学生电子设计竞赛论文[R].011.

[5]李真,张玉兵,韩晶晶等.基于自由摆的平板控制系统[J].传感器世界,2012(1):13-16.

[6]冀海燕.高精度惯性陀螺仪误差系数的快速目标定方法研究[J].工程与试验,2009,49(1):28-30.

[7]刘金星,李洪文.基于高速单片机的液晶显示模块控制[J].液晶与显示,2011,26(1):88-91.

猜你喜欢

陀螺仪风力直流
“宁电入湘”直流工程再提速
海上漂浮式风力发电机关键技术研究
基于EMD的MEMS陀螺仪随机漂移分析方法
一款高效的30V直流开关电源设计
我国著名陀螺仪专家——林士谔
微机械陀螺仪概述和发展
大型风力发电设备润滑概要
基于Bladed与Matlab的风力发电机组控制器设计
MEMS三轴陀螺仪中不匹配干扰抑制方法
变电所如何快速查找直流系统接地