基于单片机控制的角度自动调整系统设计

发布者:Meiren520最新更新时间:2012-03-03 来源: 电子设计工程 关键字:单片机  帆板  偏转角度  角度传感器 手机看文章 扫描二维码
随时随地手机看文章
    角度自动调整控制系统在航空航天、航海、汽车驾驶等现实生活领域中都有重要应用,因此有着非常重要的研究价值和广泛的应用价值。把单片机与角度传感器有效结合起来,就可实现一般领域的角度自动调整控制。文中详细介绍了基于单片机控制的角度自动调整系统设计方法,该系统针对帆板角度进行控制,可根据需要自动调整帆板偏转角度大小。

1 系统方案设计及电路工作原理
    本系统包括单片机控制系统、角度检测电路、驱动电路、角度检测电路、显示电路、电源电路、机械控制模块等组成,如图1所示。

a.jpg


    系统设计方案总体描述:方案设计的思路就是由单片机控制系统输出PWM驱动信号给驱动电路,由驱动电路驱动风扇运转,从而使帆板发生角度偏转,角度检测电路检测帆板偏转角度值送给单片机控制系统,由液晶显示器上显示出帆板所偏转的角度。
    控制系统采用单片机控制系统STC1205A08S2。由单片机输出PWM信号给驱动电路,改变输出电压,从而实现对风扇转速的改变。由于单片机系统是一个数字系统,其控制信号的变换受外界干扰小,整个系统工作可靠,从而利用单片机控制系统更能精确的实现对PWM波占空比的调整,达到对帆板角度偏转进行精确地调整。且具有价格便宜、电路简单等优点。
    角度检测电路采用WDD35D4角度传感器。WDD35D4采用硬质铝合金材料制作外壳,采用导电塑料作为电阻材料,多种电阻值可选,独立线性度可达到0.1%,具有机械寿命长,分辨率高,转动顺滑,动态噪声小的优良性能。
    驱动电路采用采用PWM控制专用驱动芯片L298N。L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46 V、2 A以下的电机。
    显示电路用LCD液晶进行显示。LCD液晶显示由于其驱动电压低、功耗微小、可靠性高、显示信息量大、无闪烁、显示清晰、使用方便、显示快速等优点而得到了广泛的应用。
    风扇采用型号为WFB1212LE的大口径风扇。在选择风扇时应考虑风扇的材料、性能强劲、工作稳定、寿命长等特性,还要考虑风扇的地面尺寸。与风扇地面尺寸息息相关的数据是过风面积,进一步影响到风扇的重要指标是风量,拥有更大的地面尺寸,一般就可以获得更大的过风面积,在风速相当的情况下,将获得更大的风量。
    机械控制模块的设计关键是使帆板转动自由、能顺利回到零点;角度传感器输出精度高。直接把角度传感器和帆板转轴相连。此方案简单、可行。但若帆板转动范围较小,角度传感器输出角度也较小,输出精度相对低些。

2 理论分析与计算
2.1 测量角度原理
    角度传感器是一种精密的线绕电位器,如图2所示。

b.jpg


    由于角度传感器是线性电位器,则有
    c.jpg
    若最大角αmax和最大输入电压Umax往往是已知,若求出或测出输出电压,便可计算或测量角度。[page]

    由于单片机只能处理数字信号,因此需要通过一个A/D转换电路把模拟信号转换为数字信号送给单片机系统。WDD35D4角度传感器的量程为:0~2 k,角度传感器两端电压为12 V,由于帆板受到风力,使得帆板带动角度传感器的旋转,从而改变角度传感器分得的电压,因此我们得到的控制算法为(x为假设的角度传感器输出电压模拟量):
    d.jpg
2.2 PWM控制原理
    PWM的意思是脉宽调节,也就是调节方波高电平和低电平的时间比,一个20%占空比波形,会有20%的高电平时间和80%的低电平时间,而一个60%占空比的波形则具有60%的高电平时间和40%的低电平时间,占空比越大,高电平时间越长,则输出的脉冲幅度越高,即电压越高。如果占空比为0%,那么高电平时间为0,则没有电压输出。如果占空比为100%,那么输出全部电压。所以通过调节占空比,可以实现调节输出电压的目的,而且输出电压可以无级连续调节。从而可精确调整电动机的转速。
    分辨率也就是占空比最小能达到多少,如8位的PWM,理论的分辨率就是1:255(单斜率,即28之一),16位的PWM理论就是1:655 35(单斜率,即216之一)。为提高系统中的分辨率,本系统中采用10位的PWM,理论上的分辨率为1:1 024。
    本系统设计的核心算法为PID算法,它根据本次采集的数据与设定值进行比较得出偏差e(n),对偏差进行PID运算,最终利用运算结果控制PWM脉冲的占空比来实现对加在电机两端电压的调节,进而控制电机转速。其运算公式为:
    u(n)=Kp[e(n)-e(n-1)]+KIe(n)+KD[e(n)-2e(n-1)+e(n-2)]+u0      (8)

3 硬件主要模块电路设计与分析
3.1 驱动电路
    根据电路系统设计要求,驱动电路采用了L298N集成电路。L298N是一种高压、大电流双全桥式驱动器,其设计是为接受标准TTL逻辑电平信号和驱动电感负载的。L298N芯片可驱动48 V、2A以下的电机。电路图如图3所示。L298N驱动1个电机,OUT3、OUT4之间接1个电动机。  5、7、10、12、脚接输入控制电平,ENA接控制使能端(PWM信号),控制电机的停转。

e.jpg

[page]

3.2 角度检测电路
    角度检测电路如图4所示,从角度传感器取得模拟信号后,经A/D转换电路转换成数字信号送给单片机控制系统进行角度大小的判断和显示。考虑到帆板在回原的过程可能会出现微小的过零现象及装配误差问题(如电位器不是从零度开始),为了便于程序编写和电路调整、检测,把电位器初始角度放在180°(即阻值500 Ω)位置,在编写显示程序时再减掉180°。同时也便于从前后都可以对帆板进行吹风检测。

f.jpg



4 机械模块的设计
    机械模块的设计如图5所示。为使其有足够的机械强度,采用相对独立的机械框架。把角度传感器的转轴和帆板转轴相连安装在框架的上方,采用螺钉固定的方式使角度传感器稳定。为减小帆板转轴另一端的接触和转动阻力,在轴的另一端加有比较轻薄且有一定机械强度的塑料板,通过减小接触面来减小阻力。帆板的选择即要考虑硬度,又要考虑机械强度,经过多次实验,选择笔记薄封面的塑料皮。为了减小由于塑料皮对变形对测量的影响,在帆板的中间加上一个硬度相对高一些条形塑料板。为使帆板处于转轴的中心位置,先在轴上放在固定片,再把帆板上端夹入固定片中。在支撑架的侧面装有角度线、下面装有刻度线等,便于测量帆板的偏转角度和风扇与帆板之间的距离。

g.jpg



5 系统程序设计与工作流程
    帆板角度的测量、显示:帆板的转动→角度传感器输出直流电压→A/D转换→单片机控制→角度显示。
    键盘操作控制、显示:通过改变PWM(连续调节,每次调整占空比的时间较短;按给定值调节,按键盘设定值调节PWM)→帆板的转动→角度传感器输出直流电压→A/D转换→单片机控制→角度显示。系统程序流程图如图6所示。

h.jpg



6 结论
    分别用手拨动帆板或操作键盘设定规定角度值,该系统能够实时显示帆板偏转角度值,并且系统能自动调整帆板到指定角度位置,并有无声光提示。显示范围为0~60°,分辨力为2°,绝对误差≤5°。且通过操作键盘控制风力大小,使帆板转角θ能够在0~60°范围内变化,并能实时显示θ。
    通过对系统进行测量、分析,该系统能够进行角度自动调整。且系统有如下特色:1)性价比高,功耗小,能源利用率高。采用的为STC1 205A08S2单片机控制系统,在完成功能的前提下价格低廉。电源模块使用的是开关电源,相比线性电源而言,开关电源的效率高多了。2)采用PWM原理及L298N驱动电路。采用PWM原理及L298N驱动电路提高了控制精度。

关键字:单片机  帆板  偏转角度  角度传感器 引用地址:基于单片机控制的角度自动调整系统设计

上一篇:基于MSP430F448单片机的交流数字电压表设计
下一篇:单片机的可视化编程基础知识解答

推荐阅读最新更新时间:2024-03-16 12:54

带24位A/D转换的51单片机MSC1210及其应用
无论是功能,还是性能,德州仪器(TI)的MSC1210单片机都达到了混合信号处理的颠峰,它集成了一个增强型8051内核,有8路24位低功耗(4mW)Δ-∑ A/D转换;21个中断源;16位PWM;全双工UART(并兼容有SPI功能);停止方式电流小于1μA;比标准8051内核执行速度快3倍且全兼容;片内集成32K字节FLASH,而且FLASH可定义为程序分区与数据存储分区,给设计带来非常大的灵活性;片内SRAM也多达1.2K字节;采用 TQFP64小型封装。由于具有如此高的模拟和数字集成度,对各种要求小体积、高集成度和精确测量而言,MCS1210实为理想的整合选择。图一是 MSC1210的较为详细框图。 图一 MS
[单片机]
带24位A/D转换的51<font color='red'>单片机</font>MSC1210及其应用
一种采用AVR单片机的天然气发动机系统设计
1 燃料供给系统   对原机的改造主要是燃料供应及喷射系统的改造,用一套完整的天然气供给系统和电控系统来实现改造目的。所使用的天然气是由高压气瓶(CNG)提供的压缩天然气, 出口压力达到20 MPa。图1所示为供气系统示意图。该设计实现了高压天然气的可靠存储和压力转换,并可对供气压力进行实时监测 。 图1 CNG供气系统示意图   2 电控单元   电控单元选用Atmel公司的AVR单片机,利用单片机C语言进行程序开发,并且采用了多片式ECU设计。   (1) 多片式ECU 图2 多片式ECU结构简图   多片式ECU是指在一个电控单元ECU中使用多个单片机(MCU)。各个MCU分别承担不同的工作内
[单片机]
一种采用AVR<font color='red'>单片机</font>的天然气发动机系统设计
单片机之89c52独立按键 -----学习笔记
一、按键介绍 轻触开关是一种电子开关。 使用:轻按开关按钮可使电路接通、松开,开关断开 二、独立开关工作原理 按键断开和闭合时,触点会存在抖动现象。 P0口:为了实现三态,采用OC(集电极悬空输出)输出,这种电路结构,只有下拉能力,高电平输出没有电流,在高电平时表现为高阻态;加上上拉电阻,就会失去高阻态,变成 1、0 两态(通俗的说就是加上上拉电阻的目的是控制高低电平,不加上拉电阻只用高电平(状态:1),呈高阻态,没有低电平(状态:0)。 NOT(非门):高电平通过变为低电平,低电平通过变为高电平。 2.1、消除按下/松开按键抖动的电路 三、代码 #include reg52.h typedef un
[单片机]
<font color='red'>单片机</font>之89c52独立按键 -----学习笔记
基于AT89C205l单片机的智能家居报警系统方案设计
引言 随着电子信息技术和计算机网络技术的发展,实现家居信息化、网络化是当前智能家居系统发展的新趋势。报警系统作为智能家居系统的一个重要组成部分,其性能的好坏直接关系到整个智能家居系统的优劣。把无线网络技术应用到家居报警系统中,通过各种传感器实时采集家居的环境信息,通过无线的方式将信息传输给家居控制中心, 能够弥补有线设备的缺陷, 具有价廉、可靠性高、等优点。 笔者根据无线网络技术和智能家居的特点,设计了一种基于无线网络技术的家居无线报警系统。该无线报警系统可以对整个家居的安全环境进行实时监控。 系统结构 本报警网络采用了星型拓扑结构,由中心节点和无线报警网络节点组成。中心节点是一个与计算机相连的无线通信模块,可以和网络中的
[单片机]
基于AT89C205l<font color='red'>单片机</font>的智能家居报警系统方案设计
基于STC89C52单片机的数字电压表
  一、设计题目   基于STC89C52的简易数字电压表的设计。   二、设计内容与要求   用STC89C52单片机和ADC0809组成一个数字电压表,要求能够测量0~5V的直流电压值,并用四位数码管显示,并要求所用元器件最少。   三、设计目的意义   1.通过亲身的设计应用电路,将所用的理论知识应用到实践中,增强实践动手能力,进而促进理论知识的强化。   2.通过数字电压表的设计系统掌握51单片机的应用。掌握A/D转换的原理及软件编程及硬件设计的方法,掌握根据课题的要求,提出选择设计方案,查找所需元器,设计并搭建硬件电路,编程写入EPROM并进行调试等。   四、系统硬件电路图   4.1 系统原理框图   选择STC89
[单片机]
基于STC89C52<font color='red'>单片机</font>的数字电压表
串口通信-数据发送到PC加1后接收到单片机在数码管上显示
本程序的完整原理图下载: http://www.51hei.com/f/ks51.pdf /** *功能:串口通信-数据发送到PC加一后接收到单片机在数码管上显示 *时间:2014年3月2日10:04:07 *作者:寒竹子 *备注:波特率:19200bps *总结:串口通信时需要发送和接收数据时可以用到串口中断,在中断中进行数据的发送和接收, * 数码管显示时必须要放在while (1)中,只有这样才可以正常显示数字! **/ #include reg52.h typedef unsigned int uint; typedef unsigned char uchar; //数码管段选和位选声明 sbit WELA =
[单片机]
Maxim推出低功耗16位MAXQ微控制器
Maxim推出16位微控制器MAXQ610。该器件专为延长低功耗设备中的电池使用时间而设计,工作于1.7V至3.6V电压范围。由于电池电压在整个电池使用时间内逐渐衰减,因此器件较宽的工作电压范围允许设备比采用其它竞争方案时多利用15%的电池容量。为进一步延长电池使用时间,MAXQ610在停止模式下仅消耗200nA (典型值)的超低电流,正常工作状态下,速度高达12MIPS时电流也仅为3.75mA (典型值)。综上,该器件能将电池使用时间延长数个月。 MAXQ610作为集成的低成本方案,简化了低功耗系统的设计。微控制器包含2路USART、一个SPI™主/从通信端口、2个16位定时器、1个8kHz唤醒定时器和最多38个通
[单片机]
怎样才能知道单片机是否还能用?
首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压,例如常用的5V。接下来就是检查复位引脚电压是否正常。分别测量按下复位按钮和放开复位按钮的电压值,看是否正确。然后再检查晶振是否起振了,一般用示波器来看晶振引脚的波形,注意应该使用示波器探头的“X10”档。 另一个办法是测量复位状态下的IO口电平,按住复位键不放,然后测量IO口(没接外部上拉的P0口除外)的电压,看是否是高电平,如果不是高电平,则多半是因为晶振没有起振。另外还要注意的地方是,如果使用片内ROM的话(大部分情况下如此,现在已经很少有用外部扩ROM的了),一定要将EA引脚拉高,否则会出现程序乱跑的情况。有时用仿真器可以,而烧入片子
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved