葛 强,翟 羽,陈 强,马艳艳,王冠凌(.安徽工程大学 数理学院;.安徽工程大学 电气工程学院,安徽 芜湖 4000)
基于MK60单片机主控的风力摆系统设计
葛 强1,翟 羽2,陈 强2,马艳艳2,王冠凌2
(1.安徽工程大学 数理学院;2.安徽工程大学 电气工程学院,安徽 芜湖 241000)
摘 要:采用MK60FX512单片机为主控模块,设计了主要包含角度监测模块、直流风机驱动模块、声光提示模块和电源模块的风力摆控制系统.通过读取陀螺仪MPU9150的输出数据来获取姿态数据,以计算出摆动幅度和角度,采用PID控制技术对电机实现闭环调节,利用3D打印技术制作了风机安装托盘,减小了风机之间气流串扰.经测试,该系统能很好的实现题目要求.
关键词:MK60单片机;风力摆;姿态解算;PID;3D打印
云计算、大数据、欧洲工业4.0、我国工业2.5、物联网(Internet of Things,IOT)、智慧城市(Smart City)……广为传播,强调以人思维主导,依据客观信息,选择运用知识,进行智能控制实践,提升服务人类质量,推动社会发展.现代检测技术和自动控制理论的飞速发展[1-3],能够使得人们可以设计高精度的控制系统,本文基于MK60单片机主控的风力摆系统就是这些技术和理论的应用实例之一.
本文以2015年全国大学生电子设计竞赛B题为背景,设计并制作了一个风力摆控制系统.该系统以直流风机作为动力使得风力摆能够快速起摆,通过陀螺仪测量风力摆姿态数据[4],传送到主控制器MK60FX512中,经计算得到风力摆的摆动角度与幅度,采用PID控制技术[5]对电机实现闭环调节[6],调节风机风力大小,使风力摆按要求摆动.系统可实现以下功能:可设置摆动方向和幅度;能够按要求画线段或圆;能够在拉起30°~45°时迅速恢复静止;能够在风扇风吹影响后快速恢复画圆状态.另外,设计中采用了3D打印技术,用聚乳酸塑料(Polylactic Acid,PLA)打印制作了十字型风机支架,隔离了4个轴流风机之间的影响,提高了风力摆的稳定性.整个设计新颖,充分利用了新兴的技术和手段,系统设计可使用在机器人手臂的姿态控制[7-8]、风力发电机方向控制[9-10]等工程应用领域.
2.1 风力摆运动控制方案论证与选择
由于仅采用风机驱动,为实现题目要求,需要通过控制风机转速来控制风力摆的状态.若仅采用2只直流风机作为动力系统,不易控制,较难完成题目要求,故不予考虑.可选择的方案有:
方案一:采用3只直流风机作为动力系统.三只风机360°均布,风口朝外.但是相邻两风机夹角过大,不利于精确控制风力摆的状态.
方案二:采用4只直流风机作为动力系统.十字方向布置,风口朝外.虽然,此方案风力摆的质量较大,但对于控制风力摆状态最为精确,且动力最足.
综合上述比较,考虑系统的快速工作以及精确控制,本系统采用方案二.
2.2 风力摆角度检测模块的论证与选择
角度检测模块检测风力摆与水平方向的夹角以及检测摆杆与垂直方向的夹角,可选方案有:
方案一:采用MPU9150传感器.该传感器具有九轴,将加速度计、陀螺仪、磁力传感器的输出值,融合成单一的演算技术数据流,可轻易将运动感测为界面的功能.
方案二:采用AS5040传感器.该芯片由AM-SCO公司生产的一种非接触、高分辨力编码、可在0°~360°范围内进行角度测量的传感器芯片.但是,为了测量角度,需要使用两极磁铁在芯片的中心旋转,这样使得系统更加复杂,且增加了电机负载.
方案三:采用倾角传感器SCA100T-D02,SCA100T-D02是一种静态加速度传感器,当加速度传感器静止时(也就是侧面和垂直方向没有加速度),作用在它上面的重力加速度.重力(垂直)和加速度传感器灵敏轴之间的夹角就是倾斜角.它测量的角度范围仅为X轴和Y轴正负九十度.
综合考虑采用方案一中的MPU9150加速度传感器.
2.3 电动机选型方案论证
方案一:使用飞卡车模伺服电机,该电机具有低转速大惯量,转矩大,起动力矩大的特点.
方案二:使用轴流风机,该电机的流量大,工作时效率高,并且适用范围广.轴流风机在高速时更加稳定,而且安装方便.
综合比较以上两个方案,本系统选择方案二.
2.4 控制算法的选择
方案一:采用模糊控制算法.模糊控制有许多良好的特性,它不需要事先知道对象的数学模型,具有系统响应快、超调小、过渡过程时间短等优点.但编程复杂,数据处理量大.
方案二:采用PID控制算法.按比例、积分、微分的函数关系,进行运算,将运算结果用于控制.优点是控制精度高,且算法简单明了.对于本系统的控制已足够精确,节约了单片机的资源和运算时间.
综合比较以上两个方案,本系统选择方案二.
图1 摆球受力分析
在研究摆球沿圆弧的运动情况时,无需考虑与摆球运动方向垂直的力,只要考虑摆球运动方向的力.因为F垂直于v,所以,可将重力G分解到速度v的方向G1及垂直于v的方向G2,且G1=mgsinθ,G2=mgcosθ,如图1所示.
正是沿运动方向的合力G1=mgsinθ提供了摆球摆动的回复力,使得单摆做简谐运动,运动轨迹为正弦曲线.s表示摆球偏离平衡位置的位移l表示单摆的摆长,h表示摆球于最高点距圆心的垂直距离,此时摆球与垂直方向夹角为α.h1表示摆球与垂直方向夹角为θ时距圆心的垂直距离,此时摆球线速度为v.由动量守恒定律:
由于存在空气阻力及摆杆摩擦力等阻尼因素,摆球能量会损耗,假设一个周损耗E1,则风力摆需要一个周期作同样大小的功E2(E2=E1)才能使得自身做理想单摆运动,则(1)式相应变为:
由于E1不方便测量,所以实际应用中通过PID实时调节电机转速,使得风力摆的角度和角速度满足(2)式,则此时风力摆摆动一个周期所做的功即和损耗的功相同,风力摆做理想单摆运动.通过控制最大摆角α即可达到控制激光笔划线长度.
4.1 电路设计
4.1.1 系统总体框图
如图2所示为系统总体框图,系统主要由MK60FX512单片机、MPU9150角度监测模块、直流风机驱动模块、声光提示模块和电源模块等部分组成.
图2 系统总体框图
4.1.2 电源的设计
电源的设计框图如图3所示,电源电路原理图如图4所示.PWM发生器SG3525产生PWM波,经过全桥驱动电路MC33883驱动MOS管全桥,最终输出12V电压.
图3 电源电路框图
图4 电源电路原理图
4.1.3 角度检测模块设计
采用高精度的陀螺仪加速度计MPU9150可以不断采集风力摆姿态角数据,设计如图5所示.由于MPU9150和所有设备的通信采用400kHz的I2C接口,可以实现高速通信.且内置的可编程卡尔曼滤波器采用最优化自回归数据处理算法,能精确测量风力摆当前姿态.
图5 MPU9150原理图
4.1.4 电机驱动模块设计
图6 H桥驱动原理图
如图6所示,当EN为高电平,PWM_L_1为高电平,PWM_L_2为低电平时,M1和M4 MOS管导通,直流电机正转(反转);当EN为高电平,PWM_L_1为低电平,PWM_L_2为高电平时,M2和M3 MOS管导通,直流电机反转(正转).IR2184S场效应管驱动器HO和LO管脚输出电平总为相反电平,有效避免了H桥驱动电路共态导通的问题,保护了MOS管.
4.2 关键部件的机械设计
题目要求风力摆能够完成画直线、定点和圆,所以对机械结构要求较高.采用Creator 3D打印机打印的支架能够满足需要.支架结构采用十字架的方式,隔离了4个轴流风机之间的影响,提高了风力摆的稳定性,如图7所示.
图7 风力摆及关键部件机械设计效果图
4.3 程序设计
4.3.1 程序流程图
如图8所示为系统控制程序流程图,其中包含主程序流程和中断程序流程.
图8 程序流程图
4.3.2 程序功能分析
基于题目要求需要控制风力摆做线性摆动和圆周摆动,圆周摆动可以分解为两个正交轴上的相位相差九十度的线性摆动.
线性摆动:控制器采集MPU9150的加速度计和陀螺仪值,通过四元素姿态解算出风力摆的角度,利用卡尔曼滤波得到小噪声角度,根据角度和陀螺仪测量的加速度PID控制风机使得风力摆做单摆运动.
圆周摆动:控制风力摆做两个正交轴上的线性摆动,一个轴的风机极性切换利用陀螺仪的零值,另外一个轴利用角度的零值.即可做到两个轴相位相差九十度.
5.1 测试设备及方式试验中所用的测试设备有:万用表、测试图纸、12v稳压电源,激光笔等.
测试方法描述如下:
(1)幅度可控的直线测试.首先粗给角度值让激光点靠近目标区域,再细给角度值,让激光点精确落在目标区域的线上;通过多次试验验证在此角度值下直线线性稳定性.
(2)定点测试.人工给风力摆一个角度,同时秒表计时,测试至静止的时间,根据时间再来调PWM直至在规定时间内恢复到静止.
(3)圆周测试.首先给定某个参数,让风力摆作圆周运动,观察激光点的轨迹在测试图纸上的偏移量,根据偏移量的大小重新矫正参数.
5.2 测试数据
(1)驱动风力摆工作,使激光笔稳定地在地面画出一条长度不短于50cm的直线段,来回五次,记录其由静止至开始自由摆时间及最大偏差距离.测试结果如表1所示.
表1 静止开始画直线测试数据
(2)设置风力摆画线长度,驱动风力摆工作,记录其由静止至开始自由摆时间及在画不同长度直线时的最大偏差距离.测试结果如表2所示.
表2 规定画线长度测试数据
(3)设置风力摆自由摆时角度,驱动风力摆工作,记录其由静止至开始自由摆时间及在画不同角度直线时的最大偏差距离.测试结果如表3所示.
表3 规定风力摆初始角度测试数据
(4)将风力摆拉起一定角度放开,驱动风力摆工作,测试风力摆制动达到静止状态所用时间.测试结果如表4所示.
表4 自由摆动至静止测试数据
本文设计并制作了一个风力摆控制系统.经测试,系统可以在13s内由静止开始画出达到要求的线段,且幅度和方向可调;拉起摆杆,5s内即可静止;20s内可从静止开始重复3次画出满足要求的圆,所画圆半径可调,且受外界风力影响后能迅速恢复.该系统操作简单,性能可靠,技术指标达到了设计要求,具有良好的人机交互性能.
参考文献:
〔1〕Tuck K,Tilt sensing using linear accelerometers[R].Freescale Semiconductor,2007.06:3-4.
〔2〕曹立军,吕强.单片机原理与应用[M].四川:电子科技大学出版社,2005.115-130.
〔3〕董圣英.基于THB7128和单片机的步进电机定位控制系统设计[J].电气传动,2011,41(6):57-60.
〔4〕吴秀芹,高国伟,李倩芸,等.倾角传感器自动标定系统的研究[J].传感器与微系统,2009,28(4):54-55.
〔5〕王伟,张晶涛,柴天佑.PID参数先进整定方法综述[J].自动化学报,2004,26(3):347-355.
〔6〕顾佳秋.用可编程控制器实现闭环PID调节功能[J].合成技术及应用,1998(3):55-57.
〔7〕余磊,郑卫刚.机器人自动控制中的问题研究综述[J].变频器世界,2015(2):43-45.
〔8〕杨文宁,朱佳俊,王伟良,等.机器人机械手协调控制系统设计[J].高校实验室工作研究,2012(01):115-116.
〔9〕李翠,栾清杨.风力发电机叶片方向控制装置[P].CN103334875A,2013.
〔10〕Leici F D B C,Leici R J M C.Wind Turbine Control Systems[M].Springer London,2007.
中图分类号:TP273
文献标识码:A
文章编号:1673-260X(2016)05-0011-04
收稿日期:2016-02-28
基金项目:安徽大学光电信息获取与控制教育部重点实验室开放基金(OEIAM201412);安徽省高等教育提升计划自然科学研究基金(TSKJ2015B15)