历史上的今天
今天是:2025年04月07日(星期一)
2018年04月07日 | 基于STC12C5A60S2的帆板控制系统的设计
2018-04-07 来源:eefocus
单片机作为微控制器的一种,广泛应用于日常生活。该课程由于其综合性和实践性较强,涉及知识较多,对培养和锻炼学生运用单片机技术的硬件、软件进行开发设计的能力,学生分析问题,解决问题的能力,高职学生职业技能,实践创新能力有重要的作用,为从事自动控制及应用电子产品的检测、设计奠定基础。本文来源于2011年全国电子设计竞赛F题,设计实现帆板控制系统。系统要求通过键盘预置角度,利用风扇风力大小控制帆板转角,并实时显示。本题涉及了角度检测、电机驱动、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控制系统能快速、准确的实现角度的调节,整个系统运行稳定,人机交互界面设计友好,且所用器件少,电路简单,性价比高。
史海拾趣
|
各位,我想问问应届生求职的情况。 我去一家央企设计院,办公室都有尘土和坏了的椅子,还是甲级设计院呢,我就不明白了,听起来的不错的单位内部怎么会是这样呢? 还有,我去航天二院面试去,安保真严啊!办公楼和办公室有些破旧就不说了,毕竟历 ...… 查看全部问答> |
|
【labview】chinese中级Design Pattern - Producer Consumer 【labview】Design Pattern - Producer Consumer chinese 中级 [ 本帖最后由 安_然 于 2010-5-24 15:54 编辑 ]… 查看全部问答> |
|
1. 简述VHDL语句a <= Transport b XOR c AFTER m; 完成的主要功能。2. 分析以下程序段的主要功能:process begin if (clk’event and clk=’1’)   ...… 查看全部问答> |
|
现在有一个 RC桥式正弦波振荡器(上图)和一个方波三角波发生器(下图)请问如何将他们组合成一个电路?感激不尽 [ 本帖最后由 yuefutian 于 2010-12-24 15:18 编辑 ]… 查看全部问答> |
|
接的是STC的单片机,先谢谢大家了!!!用的代码也附上:另外我中断0和中断1的管脚没接,会不会影响读取数据。数据: E代表精度,K是校验和,中间的三个数据分别是XYZ轴的数据,请问下怎么计算加速度和角度?非常感谢E 0208 023 90048 KE02080 ...… 查看全部问答> |
|
大家好!我看TI例程无论是LM3S8962还是9B96中都用到了ASSERT就是判断错误的那个函数,也知道要包含debug.h那个文件,但我怎么才能看到效果呢,就是我特意写个ASSERT(0);仲么也停不下来呢?望高手指点下谢… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 11:41 编辑 博文链接: deyisupport./blog/ ... /rs-232-rs-485.aspx 该博文从RS485的原理开始介绍,接着进一步介绍应用领域,应用前景,最后对一个满足工业应用的电路进行分析,论述了一些应用常见 ...… 查看全部问答> |




