基于MMA7361角度传感器的帆板控制系统设计
扫描二维码
随时随地手机看文章
单片机作为微控制器的一种,广泛应用于日常生活。该课程由于其综合性和实践性较强,涉及知识较多,对培养和锻炼学生运用单片机技术的硬件、软件进行开发设计的能力,学生分析问题,解决问题的能力,高职学生职业技能,实践创新能力有重要的作用,为从事自动控制及应用电子产品的检测、设计奠定基础。
该系统要求通过键盘预置角度,利用风扇风力大小控制帆板转角,并实时显示。涉及了角度检测、电机驱动、PWM、闭环控制、AD转换等单片机应用技术,是帆板自主航行系统中重要的组成部分。
1 系统方案描述
根据要求,本系统由单片机最小系统、人机交互模块、风扇控制模块、角度检测模块、声光报警模块、系统电源6大模块构成,具体框图如图1所示。
1.1 微处理器模块
采用STC公司的STC12C5A60S2单片机作为微处理器。
该单片机为增强型51单片机,具有高速、低功耗及超强抗干扰等特点,内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换器(速度达25万次/秒),非常符合系统要求。
1.2 角度检测模块
采用MMA7361加速度角度传感器测量角度。加速度角度传感器是通过测量由于重力引起的加速度计算出器件相对于某一平面的倾斜角度。角度传感器反应灵敏、输出数据准确且价格适中。利用加速度传感器进行角度测量分为3种:单轴倾角测量、双轴倾角测量和三轴倾角测量。
本次设计中,由于只要测量帆板与竖直方向夹角,故选用单轴倾角测量。单轴倾角测量的原理如图2所示,单个轴(即x轴)通过重力旋转。
由于本方法近仅使用单个轴且要求重力矢量,仅当器件具有特定方向且x轴始终具有处于中心面时,算出的倾角才能准确。根据基本三角原理,x轴上的重力矢量投影会产生等于加速度计x轴与水平线夹角正弦值的输出加速度。水平线通常为与重力矢量垂直的平面。在重力为理想值1 g时,输出加速度为:
AX.OUT[g]=lgxsin(φ)
在实际使用中,查阅所用传感器MMA7361技术手册及利用加速度传感器测量角度的原理,可得输出电压与测量角度的关系为:
其中,VOUT表示加速度传感器的输出电压,VOFFSET表示重力加速度为0 g加速度传感器的偏移量,
表示加速度传感器的灵敏度,1 g表示地球上的重力加速度,θ表示偏转角度。
所以,可以得到角度值为:
角度检测电路图如图3所示。经角度检测模块输出角度模拟量,经单片机AD转换并经上式计算后就可以得到所测角度值。
1.3 风扇控制模块
PWM(脉宽调制)是一种对模拟信号电平进行数字编码的方法,利用微处理器的数字输出对模拟电路进行控制的一非常有效的技术。相比电压调速的方法,PWM调速具有精度高,易于控制等优点,同时选用的微控制器集成了PCA模块,可直接输出PWM,方便使用。
本系统利用直流电动机驱动风扇转动,电机驱动芯片MC33886是单片集成的H桥元件,适用于驱动小功率直流电机。本电路选择了MC33886的全桥工作方式,采用单片工作时,驱动电路的温度会非常高,有时温度会超过MC33886自我保护的最高温度导致驱动停止工作。
为了解决这一问题,将两片完全相同的MC33886并联,发现温度得到了有效控制,电路的驱动能力也得到了进一步的提高。电路如图4所示。
为了精确控制风扇转速,达到控制帆板角度的目的,本系统由单片机通过角度检测模块得到帆板的实际转角,与预置转角比较,经PI控制器,输出可调的PWM信号,再驱动直流电机旋转,从而形成风速闭环控制系统,即负反馈控制。电机调速模块框图如图5所示。
2 系统软件设计
系统软件主要由主程序及各子程序完成。在主程序模块中,需要完成对各参量和接口的初始化、PCA模块初始化、液晶屏初始化以及角度采集、键盘扫描、主循环等工作。主程序流程图如图6(a)所示。在风扇速度控制中,本系统采用增量式PI算法,具体流程图如图6(b)所示。
3 结论
文中设计的帆板控制系统能够较好地完成帆板角度测量及控制任务。其中STC12C5A60S2单片机非常适合高职学生单片机入门学习,同时,该系统角度闭环PID控制系统能快速、准确的实现角度的调节,整个系统运行稳定,人机交互界面设计友好,且所用器件少,电路简单,性价比高。