基于STM32F103的风力摆控制系统设计
2017-09-18贺娅莉郭艳花高荣登
贺娅莉++郭艳花++高荣登
摘要: 本系统采用STM32F103单片机为核心控制系统,采用模块化设计方案,整个系统包含控制系统模块、电机驱动模块、角位移传感器模块、电源模块等。用角位移传感器MPU6050采集风力摆摆头的角度及位置,通过I2C总线传输发送到主控系统中,采用LCD12864显示采集到的信息,通过PID算法进行数据处理,产生相应的PWM信号,发送给相应的直流风机,控制直流风机实现自由摆动,从而画出直线、圆等轨迹。测试结果表明,该系统运算速度快,抗干扰能力强。
关键词: 风力摆; 角位移传感器MPU6050; PID算法
中图分类号:TP273
文献标志码:A
文章编号:2095-2163(2017)04-0076-03
0引言
风力摆系统是一个典型非线性、不稳定的系统。在经典控制理论和现代控制理论中的应用也是该领域具有代表性的基础研究课题之一。而将其作为实验装置时可以测试控制理论,检验控制方法和思路。这些控制研究成果都能广泛应用于一般工业与工程控制,所以对于风力摆控制系统的研讨设计则将呈现重要的理论探索意义和实际应用价值。本文即针对这一项目内容给出如下分析论述。
1系统硬件设计
1.1控制器模块比较与选择
1)方案一:采用STC89C51单片机作为控制器。STC89C51价格低廉,结构简单,且资料丰富;但是51单片机系统资源有限,8位控制器,运算能力有限,无法达到较高的精度,需要外接大量外围电路,增加了系统复杂度,达不到系统要求。
2)方案二:采用MSP430G2553单片机作为系统控制器。MSP430G2553单片机内部集成精度高,是16位单片机,但其外部接口较少,运算速度相对较慢,达不到要求。
3)方案三:采用STM32F103单片机作为系统控制器。STM32F103单片机是32位单片机,内部集成度高,拥有大量外部接口,运算速度高,能够满足问题中对数据的快速采集和处理需求。
综合以上3种方案,研究中选择方案三中的STM32F103单片机。
1.2角度传感器模块比较与选择
1)方案一:采用编码器根据脉冲数计算出角度,但是编码器体积较大,安装不方便,有突变现象,容易导致计算错误,故不能满足题目要求。
2)方案二:采用ENC陀螺仪,ENC陀螺仪能输出一个和角速度成正比的模拟电压信号,响应速度快,驱动电压和功耗较低。但是容易发生温漂,噪声较大,稳定性较差。
3)方案三:采用MPU6050三维角度传感器,MPU6050集成了3轴陀螺仪,3轴加速度计,以及一个可扩展的数字运动处理器DMP,可输出数字量,稳定性极佳,测量精度高。
综合比较以上方案,研究中选择方案三中的MPU6050传感器作为系统的角度传感器。
1.3驱动模块的比较与选择
1)方案一:采用L298驱动,L298是专用驱动集成电路,属于H桥集成电路,内部包含4通道逻辑驱动电路。但其输出电流不能超过4A,比较容易发热,不能符合题目的较大电流。
2)方案二:采用互补硅功率达林顿管驱动,采用该方法电路连接比较简单,稳定性好,成本低廉,但不足之处是由于使用分立元件,反应速度较慢,不能符合题目对轴流风机快速反应的要求。
3)方案三:采用电子调速器驱动,可根据控制信号调节电动机的转速,操作方便,具有过温、过压、欠压、过流及短路保护的功能。具有极好的驱动能力,反应灵敏,能够很好地满足题目的要求。
综合以上3种方案,研究中选择方案三中的电子调速器驱动。至此可得,系统整体框图如图1所示。
2控制原理
PID控制算法中,微分作用是控制器的输出与偏差变化的速度成比例,能对克服对象的容量滞后有显著效果,在比例基础上加入微分作用,使稳定性提高,再加上积分作用,可以消除余差,因此PID控制算法适用于控制质量要求很高的控制系统。使用PWM(脉宽调制)方法,可以方便地改变加给电机电枢的平均电压的大小。改变控制信号的占空比就可以改变电机的转速。具体分析如下:
error=set_angle-anggle_one[JY](1)
其中,error为摆杆的角度差,set_angle对应摆杆平衡时的角度值,anggle_one对应摆杆当前的角度值。在此基础上,可进一步得到:
up=kp×error[JY] (2)
其中, kp为比例调节系数,通过公式可以看出,增大kp即可增强角度差的作用,从而提升系统的强硬速度,使摆杆迅速达到直立的状态。由此,研究求得ud的數学表述如下:
ud=kd×(angleone-anggle_one_old)[JY](3)
其中,anggle_one_old对应摆杆上一次采集到的角度值,kd为微分调节系数,angleone-anggle_one_old对应角度的变化值,因此可知,调节kd可以改善系统的动态性能。联立上式,可得pwm的运算公式为:
pwm=up-ud[JY](4)
把pwm的值给电机即可改变电机的转速,使摆杆的角度改变。最终实现摆杆的站直并稳定。
3系统软件设计
3.1程序功能描述
主要是通过STM32F103单片机控制系统实现。
3.2主体程序设计
本测量装置主要指标是通过MPU6050采集数据,单片机STM32F103进行数据处理,通过按键来提供参数整定,从而调控各个风机的转速,使激光笔能够满足画出直线和圆形等各类要求。程序设计流程则如图2所示。
4实验测试与分析endprint
本次系统结构示意如图3所示。在系统测试中,采用的是万向节为轴转中心,具体如图4所示,同时,以角度传感器为反馈模块,以10°为一个分度值,进行角度的测量,从而察证最终画得的直线、圆圈的处理结果。
5结束语
综上分析,采用PID控制算法,简单,响应速度快,选用合适的PID值,可以在一个周期内快速跟踪正弦波运动。但由于测试工具和机械结构不均匀,会使摆角计算的角度与实际的角度存在偏差,造成系统结果呈现一定误差。
参考文献:
[1]侯祥林,顾立忠,徐心和. 圆轨单级倒立擺摆起过程控制[J]. 控制与决策,2003,18(4):483-486.
[2] 杨光祥. STM32单片机原理与工程实践[M]. 武汉:武汉理工大学出版社,2013 .
[3] 黄友锐,曲立国. PID控制器参数整定与实现[M]. 北京:科学出版社,2010.
[4] 谭浩强. C语言程序设计[M]. 3版. 北京:清华大学出版社,2010.
参考文献:
[1]MA Yingjuan. Independence, cooperation and accountability——Tracing and exploring China's reformation of food safety regulatory system[J]. Journal of Hebei University, 2015,40(1):38-45.
[2] 李金峰. 流通环节食品安全追溯体系的构建研究[J]. 企业导报, 2015(23):132-133.
[3] 刘胜达, 王知强, 徐淑新,等. 智慧城市食品安全追溯系统研究[J]. 智能计算机与应用, 2014, 4(1):85-87.
[4] 王爱晶. 基于供给侧的食品安全追溯体系源头风险防控对策分析[J]. 物流技术, 2016, 35(8):56-58,133.
[5] 郑火国. 刘世洪, 胡海燕. 食品安全追溯链构建研究[J]. 中国农业科技导报, 2016, 18(1):81-86.
[6] MIEWALD C, HODGSON S, OSTRY A. Tracing the unintended consequences of food safety regulations for community food security and sustainability: Small-scale meat processing in British Columbia[J]. Local Environment, 2015, 20(2):237-255.
[7] 张兴华. 基于物联网技术的食品安全溯源系统开发[J]. 北方经贸, 2015(9):71.
[8] 黄全高. 基于RFID技术的蔬菜食品安全溯源系统研究[J]. 科学中国人, 2015(11Z):6-7.
[9] 方华峰. 物联网技术在食品安全追溯管理中的应用与发展[J]. 电子技术与软件工程, 2014(7):35-36.
[10]DONG X, JIE X, PIN W. Logistics tracings in food safety emergencies based on the RFID technology[J]. Advance Journal of Food Science & Technology, 2015, 7(2):94-98.endprint