基于stm32低功率风力摆控制系统的研究
2016-03-17张祥庆尹庆庆张浩然刘沂青葛伟楠山东师范大学山东济南250358
张祥庆 尹庆庆 张浩然 刘沂青 葛伟楠 山东师范大学 山东济南 250358
基于stm32低功率风力摆控制系统的研究
张祥庆尹庆庆张浩然刘沂青葛伟楠山东师范大学山东济南250358
【文章摘要】
系统采用STM32F103V系统板作为控制中心,与万向节、摆杆、2W低功率轴流风机、激光头、反馈装置一起构成摆杆运动状态与风机速度分配的双闭环调速系统。单片机移植入ucos操作系统,可以稳定地控制程序,输出可变的PWM波给轴流风机,控制4个方向上风机的风速,从而产生大小不同的力。利用加速度计模块MPU6050防止脱离运动轨迹。控制方式采用PID算法加快动态响应。从而使该系统具有很好的稳定性。
【关键词】
STM32F103V;ucos;2W轴流风机;MPU6050;PID
0 引言
众所周知,轴流风机功率越大,其机动性越强,受控制能力越好,所需要的算法难度也会降低;而如果轴流风机功率很小,那么它的可控性就会降低,所需要的算法难度大大增加。目前,在这种控制领域一般采用40W以上甚至100W以上的无刷电机加上扇页,供以220V交流电或者大功率直流电来驱动电机,这种电机提供了足够的动力,使得风机控制算法难度大大降低。因为功率太大使得转速太快以及风机结构为裸露扇叶,导致了噪音大、功耗高、危险系数大等问题,这些问题使得存在很大的缺陷与隐患。
1 控制方案
1.1控制系统
我们采用STM32F103V单片机做为主控芯片,移植ucos操作系统,用加速度计陀螺仪模块MPU6050来计算角度和风机状态,用轴流风机带动摆杆运动。当MPU6050检测到摆杆的角度时,可根据三角函数公式计算出摆杆现在距离中心的具体位置,单片机会控制PWM波的输出大小来控制风机的风速与方向,使摆杆达到在特定位置静止或按照一定的轨迹运动。在此过程中,单片机做出A/D采样,防止发生轨迹偏移。
1.2数据处理
通过加速度计陀螺仪模块MPU6050检测风力摆摆杆的倾角数据。MPU6050集成了3 轴MEMS陀螺仪。MPU6050和所有设备寄存器之间通信采用I2C接口,实现高速通信。内置卡尔曼滤波器,精确测量风力摆当前姿态角。MPU6050对陀螺仪和加速度计分别采用了16位的ADC,将其测量的模拟量转化为可输出的数字量,通过DMP处理器读取测量数据然后通过串口输出。
2 软件设计
2.1PID算法基本原理
系统采用PID算法来控制风机转动的速度,风机开始工作后,MPU6050不断采集当前摆杆摆脚状态,并与之前的状态进行比较,使得摆杆运动状态趋于稳定。PID算法控制器由4个风机速度分配比例P角度误差积分I角度微分D组成。
其输入e(t)与输出U(t)关系为:
传递函数为:
2.2主体算法设计
算法设计要考虑风机二维的运动和三维的运动并加。采用闭环控制,设定一个阈值,单片机检测到阈值,控制轴流风机,维度不同做出不同的反应。无论二维还是三维,都需要使用PID算法控制,提高轴流风机的稳定性。
为了克服轴流风机动力不足的问题,需要在接入主体控制算法之前进行强制动力拉升,持续一段时间,然后接入PID算法,使得风机快速稳定下来。
由于移植了操作系统ucos,配合ARM单片机,使得程序的稳定性大大增强。
2.3法实际效果
稳定性:移植了ucos的新系统的稳定性大大增强,并且在控制上没有滞后的问题,灵敏度大大增强。
功耗:功耗为大功率直流无刷电机的0.5%到1%,发热降低,可持续工作时间大大延长,而且节约了能源。
噪音:无啸叫声。
安全性:安全性较无刷电机大为提高。
3 结语
综上所述,本系统基本实现了测试要求,并且具有低噪音、低功耗、安全系数高的特点。高性能的单片机和操作系统、好的算法,起到至关重要的作用,弥补了低功率风机动力的不足,并且大大增加了稳定性。
【参考文献】
[1] 华成英,童诗白.模拟电子技术基础[M].第四版,清华大学出版社,2006.
[2] 求是科技.单片机典型模块设计实例导航[M].北京:人民邮电出版社,2004.
[3] 谭浩强.C程序设计[M].北京:清华大学出版社,1991.
[4]郭天祥.新概念51 单片机C 语言教程.入门、提高、开发[M].北京:电子工业出版社,2009.
[5] 阎石.数字电子技术基础(第五版)[M].北京:高等教育出版社,2009.
[6] 吴大正.信号与线性系统分析(第四版)[M].北京:高等教育出版社,2005.