基于-ARM手持电风扇控制器设计_第1页
基于-ARM手持电风扇控制器设计_第2页
基于-ARM手持电风扇控制器设计_第3页
基于-ARM手持电风扇控制器设计_第4页
基于-ARM手持电风扇控制器设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-论文题目:基于ARM的手持电风扇控制器的设计专 业:自动化本科生: 签名指导教师:签名摘要本课题完成了基于ARM的手持电风扇控制器的设计。该控制器克制了传统的电风扇控,为嵌入式芯片在手持式电风扇无制器无法实现无级调速的缺点,可以使电风扇平滑连续地调速。同时以高性能的32位的嵌入式芯片为核心级调速方面的进一步推广应用及产品化奠定了根底。在设计过程中,首先进展了EasyARM2131开发板的脉宽调制PWM模块的设计;其次对电风扇的电机驱动模块、电压隔离模块、电机的过压保护模块、速度测量模块、速度显示驱动模块、显示模块以及超速保护与报警模块等外围功能模块进展软、硬件的设计;最后对系统软、硬件进展联

2、合调试。整个设计的模块化思想清晰明了,硬件局部原理简单,软件局部便于修改,可读性强。关键词:手持电风扇,脉宽调制,无级调速,测速及保护Thesis topic: Based on ARM Hand-held Electric Fan Controller Design Major: Automation Undergraduate: LiuYinLian (signed) _ Inspect Teacher: Du JingYi(signed) _ ABSTRACTThis topic pleted based on ARM hand-held electric fan controller

3、design. This controller can overe the disadvantage of traditional electric fan controller cant realize stepless speed regulation shortings, can make the electric fan smooth continuously the speed. At the same time in high-performance 32-bit embedded chips as the core, for an embedded chip in handhel

4、d electric fan stepless speed to further promote the application and prod laid a foundation. In the design process, the first EasyARM2131 development board the pulse width modulation (PWM) module design; Ne*t to the electric fan motor drive module, voltage isolation module, motor over-voltage protec

5、tion module, speed sensor module, speed display driver module, display module and speeding protection and alarm module peripheral functional modules of the software and hardware design; In the end, system hardware and software joint debugging. The whole design of the modular thought clear, hardware,

6、 software for simple principle of revision, readable. Keywords: hand-held electric fan, pulse width modulation, stepless speed regulation speed and protection 目录第1章引言11.1 选题背景11.2 选题目的和意义11.3 选题容2第2章系统总体设计方案32.1 系统可行性方案论证32.2 系统总体设计思路3系统总体设计框图3系统软件设计思路5第3章系统硬件模块设计73.1 ARM开发板主控电路设计73.1.1 开发板简要介绍73.1.

7、2 按键电路原理介绍73.1.3 开发板PWM产生电路概述83.1.4 引脚连接模块10开发板主要GPIO描述113.2 电机驱动模块电路设计133.2.1 驱动芯片的选择133.2.2 驱动电路的功能介绍及硬件原理图133.3 电压隔离模块电路设计143.4电机测速模块电路设计153.4.1 传感器的选型153.4.2 测速原理及硬件原理图173.5速度显示电路设计17显示模块器件的比拟和选型173.5.2 速度显示驱动模块电路设计183.6 电机保护电路设计193.6.1 电机保护的类型概述193.6.2 电机保护硬件电路设计及原理图203.7 电风扇模型设计21第4章系统软件设计224.

8、1 系统主程序设计思路及流程图224.2 各模块子程序设计234.2.1 PWM电路软件设计及流程图234.2.2 测速电路软件设计及流程图254.2.3 显示模块软件设计及流程图26报警与保护电路软件设计及流程图29第5章总结与展望315.1 设计总结315.2 展望31致32参考文献33附录35附录一:系统硬件电路原理图35附录二:系统实物图36附录三:系统源程序清单37. z-第1章 引言1.1 选题背景现代自动化的快速开展,使得工业生产水平日渐提高,日常生活的各种条件更加便利。各式各样的家电产品已经走进了普通老百姓的家庭,也为人们的生活带来了舒适和便利,提起家电产品,无论是商家还是消费

9、者,都会提到全自动一词1。就我国的家电行业的开展而言,它的应用起步时间较欧美国家要晚很多年,但近年来的应用围却已经相当广泛,目前的家电领域根本上是嵌入式应用的一个重要领域。家电控制领域的开展也经历了飞速开展阶段。在经过两次国家电行业快速开展浪潮的洗礼之后,到90年代末21世纪初期,中国家电控制器产业已经具备了相当的综合实力,主要表现在技术水平得到快速提高,品质体系开展有了大的飞跃,产业集中度大幅度提升,近几年来竟然呈现出现饱和状况。而国外市场的开展也有异曲同工之处,所以要想在家电行业立足,增强作为一个企业的综合竞争力,必须提高家电企业甚至整个家电行业研发能力,从而利用越来越多的智能的性价比高的

10、高端产品去替代那些综合实力较差而导致的竞争力减弱的低端产品2。1.2 选题目的和意义传统的电风扇是按照不同的档位进展控制的,电风扇在每个档位上的转速是固定的,在每个档位围转速是不可调的,这种风扇的速度调节是有级的,平滑性不好3,送风量不均匀,舒适度较差。而且档位是有限的,不能按照需要进展转速的连续调节,很显然这种电风扇不能够给出多种送风量。转速等级是通过标定不同的档位来实现4,这种方法只是界定了转速的不同大小,对转速量化做的不够,这样电风扇使用起来不方便。本次设计的电风扇控制器能够很好地克制以上的缺乏,它对电风扇的转速调节是平滑无级的,即电风扇的转速可以在一定围连续调节,不必受档位的限制,这样

11、电风扇的送风是均匀的,而且转速的大小可以很直观地实时显示出来,可以据此而决定调速的方向。另外当转速值太大时,电风扇的可靠性会下降,从而会带来一些不平安因素,同时对人体安康也是不利的5。该控制器可以在转速超过所设定的*一个特定值的时候发出报警提示,并且电风扇会在一定的时间减速一直到停转,这既是对电风扇的保护,同时也很人性化地考虑到了人体安康因素,这样产品一经推广使用会令用户更放心6。简而言之,本次设计的电风扇控制器利用了ARM嵌入式芯片,其控制方法灵活方便,且构成的硬件电路简单,同时该控制器的设计也对今后的手持式电风扇的进一步实用化和产品化奠定了根底。1.3 选题容本次设计是用小型的5V直流电机

12、模拟电风扇的,以LPC2131开发板为核心,通过产生PWM波,并利用按键控制PWM的不同占空比,来平滑地调节电风扇的转速。该控制器也能够对电风扇的转速进展实时测量,并利用四位一体LED数码管对电机的转速进展直观的显示。当电机的转速过高时,能够发出报警提示,并且实现电机停转,从而实现电机的超速保护。主要研究容如下:(1) 系统整体功能设计,对系统功能的分析以及实现方法确实定; (2) 硬件各功能模块的设计,包括PWM波形产生电路的原理设计、电压隔离电路模块、电机驱动电路模块、电机过压、过流保护电路、转速测量电路模块、转速实时显示电路模块、电机的超速保护与报警电路模块等;(3) 软件设计,系统主程

13、序编程思路以及PWM波发生子程序、电机的正反转加减速控制子程序、按键扫描子程序、转速测量、显示和超速报警等程序;(4) 系统软、硬件的联合调试;第2章 系统总体设计方案2.1 系统可行性方案论证1经济性原则:所使用的元器件的价格要在合理的围,尽量使用比拟优惠的方案,既能实现预期功能,也可以节约设计本钱;2真实性原则:所设计的系统不可以脱离实际,在理论上一定是经过论证的方案,也经过实践检验的,并能够应用于实际的生产与生活当中;3简单性原则:系统构造不可以太复杂,原理也必须是清晰易懂的。对于目前受实验和教学条件限制尚无法实现的模块,要用模拟的方法来实现。2.2 系统总体设计思路系统设计包括硬件设计

14、和软件设计两局部。硬件设计包括电机驱动、电压隔离、过压保护、超速报警、速度测量、显示驱动及显示等模块的设计。软件设计则主要是通过C语言编程,分别实现按键扫描、测速、速度调节、显示和报警等功能。手持电风扇控制器设计软件设计硬件设计直流电机电机驱动速度显示速度显示超速报警速度测量速度显示速度测量主程序按键扫描电压隔离延时程序系统总体设计框图图2.1 系统总体设计框图系统硬件设计思路硬件设计主要是搭建一个以直流电机为核心的小型系统,利用ARM开发板产生PWM控制电压后,在输送给电机驱动模块之前,对电压进展隔离处理,这样做的目的是防止不平整或过高的电压引入后续电路,对元器件造成损坏,用光电隔离器就可以

15、把高压隔离掉。电机的驱动电路模块,主要由L298N这种常见的电机驱动专用芯片来构成,并加一些外围电路来完成的。而过流、过压电路则由桥式的二极管钳位电路,以及充放电的电容,通过二极管的通断来对电机两端的大电压进展控制的。开发板上也具有多个按键,因而可以利用现有的按键电路,对电机的正反转、加减速、停转进展手动控制,这样电机两端的电压的相对极性及大小都可以控制,则电机的给定转速也是可以控制。电机的转速给定只能区分大小,但其量值还是未知的,所以有必要添加一个速度测量电路。转速测量电路硬件是由霍尔元件及其外围电路、磁钢共同组成。测得的速度通过显示电路实时显示出来。显示电路由显示驱动电路和四位一体共阴数码

16、管组成。本设计中显示驱动电路选择74HC595串行输入、八位并行输出芯片及其外围电路来实现。对于转速的超速报警模块选择最常见的蜂鸣器来实现。硬件框图如下列图2.2所示:LPC2131开发板电压隔离模块电机驱动模块显示驱动模块显示模块过压保护模块超速报警模块转速测量模块直流电机 图2.2 系统硬件框图系统软件设计思路系统软件主要利用C语言编程实现电机的各程序模块的功能。C语言是一种构造化的高级语言,其优点是可读性好、移植容易,是普遍使用的一种计算机语言。它有功能丰富的库函数,兼顾了多种高级语言的特点,并具备汇编语言的功能,而且可以直接实现对系统硬件的控制。此外,C语言程序具有完善的模块化程序构造

17、,从而为软件开发中采用模块化程序设计方法提供了有力的保障。用C语言来编写系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改良和扩大,从而可以研制出规模更大、性能更完备的系统。所以本设计选择基于ARM的C语言作为软件设计语言。如下列图2.3所示:系统软件包括主程序模块、系统各变量定义、PWM初始化程序、按键扫描程序、电机控制程序正反转、加减速、停顿、I/O口初始化程序、74HC595子程序、延时子程序、显示程序、利用定时器所进展的测速程序、超速保护和报警程序。系统各变量定义PWM初始化程序按键扫描程序电机控制程序I/O口初始化程序主程序74HC595子程序延时子程序显示程序测速程序超

18、速报警与保护程序图2.3 系统软件设计框图本次设计能够实时地显示电机的转速。霍尔元件和磁钢相互配合可对电机的转速进展测量,在磁钢未接近霍尔传感器之前,霍尔元件总输出高电平,当二者接近时,输出低电平。通过测量上下电平的时间,计算电机的转速。但是电机转动一圈,磁钢和霍尔传感器只接近一次,因而低电平时间很短。因而在计算转速时,为方便起见,可以忽略低电平时间,把高电平时间即作为整个电机转动一圈所需要的时间。这样转速测量的结果就是一些高电平时间较长,而低电平时间很短的脉冲信号,此信号作为输入信号输给开发板,开发板对高电平进展检测计算处理,得出转速,送给显示电路实时显示出来。关于速度显示模块,测量的转速是

19、十进制的数值,要将其分解成为四位的八段数码显示管可以显示的数码,这个数值经过串入并出数码驱动器后,送给数码管显示。在分解每一位数码时,要注意各位的延时时间设置得当,否则数码管刷新过快的情况下,肉眼无法分辨具体的数码,不能够准确读出当前的速度值,假设延时时间过长的话,显示的速度值又无法反映当前电机的运行情况,这两种情况都不利于系统显示功能的正常实现。超速保护与报警电路的软件主要是判定当前转速是否超过*一特定值,当超过时,则开发板与蜂鸣器连接的端口输出相应的电平,则蜂鸣器蜂鸣,同时电机立即停转,以保证电机不被损坏。第3章 系统硬件模块设计3.1 ARM开发板主控电路设计 开发板简要介绍EasyAR

20、M2131开发板是周立功单片机开展设计的EasyARM系列开发套件之一。它采用PHILIPS公司基于ARM7TDMI-S核、单电源供电和LQFP64封装的LPC2131,具有JTAG仿真调试和ISP编程等功能。EasyARM2131开发板具有以下功能特点:(1) 完全自主设计的软硬件设计,拥有自主的JTAG仿真设计技术,支持ADS1.2集成开发环境及PHILIPS公司所有型号ARM微处理器的仿真与开发;(2) 板上的功能部件与CPU之间可使用跳线器选择连接;(3) 多种免费商业化软件包及其详细的开发文档:移植uC/OS-到ARM7软件包数据队列软件包串口驱动软件包Modem接口软件包SPI总线

21、软件包总线软件包(4) 所有I/O口全部引出,方便用户连接外部电路进展开发与使用;(5) 可进展GPIO控制实验,如键盘输入、蜂鸣器控制和模拟SPI实验等;(6) 6个独立按键,可用于外部中断和定时器捕获输入;(7) 8个LED指示灯,可用于指示控制;(8) 具有RS-232转换电路,可与上位机进展通信,完成UART通信实验;(9) 可进展实时时钟控制实验;(10) 具有WDT,并可进展低功耗实验7; 按键电路原理介绍EasyARM2131开发板具有6个独立按键,分别为KEY1-KEY6,如图3.1所示。当没有按键输入时,端口值为1;当有按键输入时,端口值为0。其中KEY1、KEY5所连接的端

22、口为P0.16、P0.20,这两个端口分别与外部中断EINT0、EINT3复用。KEY2、KEY3、KEY4和KEY6所连接的端口分别为P0.17、P0.18、P0.19和P0.21,这些端口可以用作定时器的捕获输入8。图3.1 按键电路 开发板PWM产生电路概述LPC2131的脉宽调制器建立在PWM专用的标准定时器之上,通过匹配功能及一些控制电路来实现PWM输出。PWM具有的特性有:(1) 带可编程32位预分频器的32位定时器/计数器;(2) 7个匹配存放器,可实现6个单边沿控制PWM输出和3个双边沿控制的PWM输出这两种类型的混合输出发生匹配事件时,可选择的操作:匹配时复位定时器,可选择产

23、生中断;匹配时停顿定时器,可选择中断;匹配时定时器继续运行,可选择产生中断;(3) 支持单边沿控制和双边沿控制的PWM输出。单边沿控制PWM输出在每个周围开场时总是高电平。双边沿控制PWM输出可在一个周期的任何位置产生边沿,这样就可以产生正脉冲或负脉冲;(4) 脉冲周期和宽度可以是任何的定时器计数器,这样可实现灵活的分辨率和重复速率的设定,所有PWM输出都以一样的速率发生;(5) 匹配存放器更新与脉冲输出同步,防止产生错误的脉冲,软件必须在新的匹配值生效之前设置好这些存放器;(6) 如果不使能PWM模式,PWM定时器可作为一个标准定时器使用;定时器对外设时钟(PCLK)进展计数,PWM模块中含

24、有7个匹配存放器,在到达指定的定时值时可选择产生中断或执行其他动作。PWM功能是一个附加特性,建立在匹配存放器事件根底之上。本次设计中用到的是PWM的单边沿输出,下面对单边沿控制PWM进展简要描述:2个匹配存放器可用于提供单边沿控制的PWM输出。一个匹配存放器PWMMR0通过匹配时复位定时器来控制PWM周期,另一个匹配存放器控制所有PWM边沿的位置。每增加一路单边沿PWM输出,只需要再提供一个匹配存放器即可,因为所有PWM输出的速率都是一样的,都是使用匹配存放器0来控制的。单边沿控制PWM输出在每个PWM周期的开场,输出都会变为高电平。PWM模块包含的存放器分别有:PWMIR、PWMTCR、P

25、WMTC、PWMPR、PWMPC、PMWMCR、PWMMR0PWMMR6、PWMPCR、PWMLER。(1) PWMIR: PWM中断存放器,可以写IR来去除中断,可读取IR来识别哪个中断源被挂起;(2) PWMTCR:PWM定时器控制存放器,TCR用于控制定时器/计数器功能,定时器/计数器可通过TCR制止或复位;(3) PWMTC:PWM定时计数器,32位TC每经过PR+1个PCLK周期加1,TC通过TCR进展控制;(4) PWMPR:PWM预分频存放器,TC每经过PR+1个PCLK周期加1;(5) PWMPC:PWM预分频计数器,每当32位PC的值增加到等于PR中保存的值时,TC加1;(6

26、) PMWMCR:PWM匹配控制存放器,用于控制匹配是否产生中断或复位TC;(7) PWMMR0PWMMR6:PWM匹配存放器06,MRn可通过MCR设定为当匹配时复位TC,停顿TC和PC或产生中断。此外,MRn和TC的匹配将置位所有单边沿模式的PWM输出,并置位双边沿模式下的PWMn+1输出;(8) PWMPCR:PWM控制存放器,使能PWM输出并选择PWM通道类型为单边沿或双边沿控制;(9) PWMLER:PWM锁存使能存放器,使能使用新的PWM匹配值;通过以上单边沿输出的方法,我们获得了PWM信号波形。如下列图3.2所示:图3.2 PWM波形图PWM的调制方法有定宽调频、定频调宽、调频调

27、宽等方法9。本次设计中使用第二种调制方法。设定电机两端电源始终接通时的电压为Vma*,称高电平时间与整个电压周期的比为占空比,即S=t1/T,则电机两端的平均电压Vave=Vma*S。由此可知,只要改变占空比S就可以改变电机两端的平均电压,从而可以调节电机的速度。严格地说,平均电压与占空比并非线性关系,近似认为它们呈线性关系10。 引脚连接模块EasyARM2131开发板大局部引脚都具有多种功能,即引脚复用。但是一个引脚在同一时刻只能使用其中一个功能,通过配置相关存放器控制多路开关来连接引脚与片外设。如下列图3.3所示为引脚连接模块控制引脚图:图3.3 引脚连接模块控制图如果实现一个外设的功能

28、需要引脚参与比方外部中断输入、PWM输出等,则在使用该功能之前必须先将相应的引脚的功能设置好,否则该外设的功能无法实现。开发板有3个PINSEL存放器,它们都是32位宽度的。芯片复位时,PINSEL0、PINSEL1、PINSEL2会自动设置为默认值,所以复位后芯片引脚的功能是确定的。当引脚选择一个功能时,其它功能无效。PINSEL0和PINSEL1控制端口0,PINSEL2的功能则根据其端口具体值的不同而不同。PINSEL0和PINSEL1存放器中每两位对应控制一个引脚的连接状态,所以一个引脚最多可以有4种不同的功能供选择。一般情况下PINSEL2的启动代码支持芯片加密,已对PINSEL2正

29、确设置,用户程序不需要再对PINSEL2操作11。开发板主要GPIO描述EasyARM2131的GPIO具有如下特性:(1) 可以独立控制每个GPIO口的方向输入/输出模式;(2) 可以独立设置每个GPIO的输出状态高/低电平;(3) 所有GPIO口在复位后默认为输入状态23;GPIO或者用于输出控制,或者用于引脚电平状态的读取,开发板有一组存放器用于GPIO的控制,可以很方便地实现GPIO各种应用。每个I/O口的部存放器控制构造图如图3.4所示:图3.4 每个I/O口部存放器控制构造图由图3.4可知,每个作为GPIO功能的引脚受到4个存放器的控制,分别为控制方向的IO*DIR、控制输出电平状

30、态的IO*SET和IO*CLR、反映引脚电平状态的IO*PIN。这4个存放器构成一组,而一组存放器控制着一个端口P0、P1或P2。 下面对各个存放器的功能分别做简要介绍:(1) IO*PIN:GPIO引脚值存放器读取该存放器可以了解到GPIO引脚当前的电平状态。写入该存放器的值将会保存到输出存放器,而输出存放器控制着引脚的输出电平状态,即通过修改IOPIN存放器可以改变引脚的电平输出状态。(2) IO*DIR:GPIO方向控制存放器当通过PINSEL*将存放器引脚配置为GPIO模式时,可使用该存放器控制引脚的输入输出方向。当引脚用作输出功能时,将IODIR存放器的相应位设置为1,当引脚用作输入

31、功能时,将IODIR存放器的相应位设置为0。读取IODIR存放器,将获得对应端口所有I/O口的输入输出状态;(3) IO*SET:GPIO输出置位存放器当引脚配置为GPIO输出模式时,可使用该存放器控制引脚输出高电平。向该存放器的*些位写入1时,对应的引脚将输出高电平。如果需要引脚输出低电平,不能通过向IO*SET写入0实现,这要使用IOCLR来完成。如果一个引脚被配置为输入或第二功能,则写IOSET将不引起I/O引脚电平变化。读IOSET存放器将返回GPIO输出存放器的值,也就是当前I/O引脚的输出电平状态。该值由前一次对IOSET和IOCLR或IOPIN的写操作决定。该值与从IOPIN存放

32、器读取的值可能有所不同,因为它不反映任何外部环境对引脚的影响。比方*个引脚设置为输出高电平,而被外部电路强制拉低,则从IOSET读出的该位将是1,而从IOPIN读出该位是0;(4) IO*CLR:GPIO输出清零存放器当引脚配置为GPIO输出模式时,可使用该存放器控制引脚输出低电平。向该存放器的*些位写入1时,对应的引脚将输出低电平,并清零IOSET存放器中相应的位。写入0将不能改变对应位的输出电平状态。如果一个引脚被配置为输入或第二功能,写入IOCLR无效。读取该存放器将不能获得当前对应端口的输出状态,这个功能要通过IOSET存放器来实现。3.2 电机驱动模块电路设计 驱动芯片的选择方案一:

33、由5V达林顿管驱动电路组成,驱动控制信号输入端INA、INB端为高电平时,电路有效。当输出端的高电平被拉低时,在公共端5V的驱动信号作用下,可完成5V直流电机负载的驱12。其电路示意图如图3.5所示:图3.5 达林顿管驱动电路原理图方案二:利用L298N作为核心器件,组成驱动电路。L298N是一种恒压恒流桥式2A驱动芯片,通常使用的是15脚Multiwatt封装,部同样包含4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。L298N芯片的驱动输出电压最高可达50V,可以直接通过电源来调节输出电压。可以直接用开发板的I/O口提供信号,而且电路简单,使用比拟方便。L298N可承受

34、标准TTL逻辑电平信号。L298N可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,由L298N构成的PWM功率放大器的工作模式为单极可逆模式13。综合比拟两种驱动方案,发现第一种方案其可靠性较第二种方案要差,达林顿管的输出不稳定,而且第二种方案中驱动电路可以直接使用TTL电平,无需进展电平转换电路,可以直接承受开发板输出的电平,这样电路的硬件组成比拟简单,因而选择第二种驱动方案。 驱动电路的功能介绍及硬件原理图本次设计选用L298N驱动一台直流电动机。L298N各引脚连接如下:15,7引脚接输入控制电平,控制电机的正反转;26引脚接控制使能端,控制电机的转动和停顿;

35、31引脚为负载电流端,一般将该引脚接地;42、3引脚为L298N的输出端,将此端子输给电机;59引脚接+5V电源;6) 4引脚在驱动可以接+12V电源,驱动+12V的电机,但本电路中只驱动5V的直流电机,因而4、9引脚都接+5V电源;78引脚接地;8由于驱动电路只驱动一台直流电机,因而其它端子悬空14;根据以上的引脚连接规则得到如图3.6所示为L298N驱动直流电机的原理图:图3.6 L298N驱动电机原理图3.3 电压隔离模块电路设计设置电压隔离模块的目的是为了将前端电路的高电压与后续电路隔离开,防止大电压对后续电路的元器件损坏,此次设计使用EL817作为隔离器件。EL817是一种光电耦合器

36、,输入端部集成了一个发光二极管。当输入端输入的电压信号有效时,此二极管导通,并发光,输出端是光敏三极管,受到光的光敏三极管导通,因光电效应而产生光电流,并且经光敏三极管的集电极输出,作为后续电路的输入电压15。如此便实现了电光电的转换,防止了输入端的电压或电流信号直接加给输出端,对电路造成损坏。光电耦合电路如下列图3.7所示:图3.7 电压隔离电路原理图3.4电机测速模块电路设计电机转速测量随着微处理器功能提高和完善,逐步实现了数字化和智能化。由于转速是以单位时间的转数来衡量的,因此转速测量是有规律可循的。转速的测量方法有很多,有对脉冲进展计数的方法,有测量脉冲周期的方法,还有二者结合的方16

37、。本次设计中采用测速传感器对转速进展测量。得到的脉冲信号输入给开发板,并利用开发板定时计数器,对电机转动过程产生的上下电平时间进展定时测量,由于高电平时间较长,采用近似的方法,把高电平时间近似作为脉冲的周期,以此进展计算得到电机的转速。 传感器的选型方案一:采用霍尔元件和磁钢所组成的测速电路。由OH3144S霍尔开关电路,并配合磁钢组成霍尔电路对电机转速进展测量。OH3144S霍尔开关电路是一种硅单片集成电路,由反向电压保护器、电压调整器,霍尔电压发生器,差分放大器,史密特触发器和集电极开路输出级组成,需要在1、3腿电源与输出之间加一上拉电阻。该元件能将变化的磁场讯号转换成数字电压输出信号26

38、。这种传感器的特点是:电压围宽、一致性好、灵敏度高、电路功耗低、输出电平可与各种数字电路电平兼容,可作为无触点开关进展速度的检测17。方案二:使用光电传感器ST188作为测速的元件。其特点是采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,检测距离可调围较大,可达413mm,并且采用非接触式检测方式18。利用光电传感器测量直流电机的转速时,由于其输出的波形电压毛刺多,且不平整,无法直接输入给开发板,因而需要对波形进展整形,形成理想的脉冲波形。如图3.8、图3.9分别为由ST188组成的测速电路及NE555构成的脉冲波形整形电路:图3.8 ST188组成的测速电路图3.9 整形电路比拟以上两

39、种方案发现,第一种方案的测速精度比拟高,其利用磁性原理对电机转速进展测量,受外界条件的影响较小,而且霍尔开关传感器的体积小、无触点、动态性能好、使用寿命长,另外由于其部集成有施密特触发器,可以对测量波形进展自整形,测量输出的波形就是比拟理想的脉冲波形,无需再外接整形电路。第二种方案与第一种相比拟,显然由于ST188是光电型的传感器,受外界光照条件的影响较大,测量的精度不够高。而且需要外界整形放大电路进展波形的处理,才能得到满意的脉冲波形,这样电路构造比拟复杂,而且它的抗干扰能力也较差,比方来自电源的干扰,就容易使其波形产生很多的大电压,对其他元器件可能造成损坏。因而选择第一种方案对电机的转速进

40、展实时测量。 测速原理及硬件原理图霍尔传感器测速的根本原理如下:在非磁材料的圆盘边上粘贴一块磁钢,霍尔传感器固定在圆盘外缘附近,圆盘每转动一圈,霍尔传感器输出一个脉冲。在磁钢未接近霍尔传感器时,输出高电平,磁钢接近霍尔传感器时,作为开关器件的霍尔传感器部导通,输出低电平。由于在圆盘上只装了一个磁钢,因而低电平的时间比拟短,而高电平时间则很长。将高电平时间近似认为是脉冲周期,可计算出转速。假设高电平时间为t,脉冲周期为T,近似认为T=t(T、t的单位都为s),则转速n=60/t19。测速原理图如图3.10所示:图3.10 霍尔元件测速原理图3.5速度显示电路设计电机转速经测量电路后,得到电机转速

41、的实时值,这个值经显示电路可以直观地显示出来,从而可以对电机的转速进展进一步的优化控制。显示模块器件的比拟和选型在电子电路中,常用的显示器件有LED、LCD等。其中LED又分为静态显示和动态显示两种电路方案。方案一:八段静态LED显示。这种显示电路每位数码管的段选位必须接一个八位的数据线,才能够保证字型码被保持下来。当*一个字型码被送入数码管上之后,这个字型码可以一直保持,直到一定时间间隔之后,又送入新的字型码为止。这种显示方法占用的系统CPU的时间相对较短,且这种显示的字型码刷新是可以人为控制的,因而便于监测和控制。方案二:八段动态LED显示。这种显示方法将各位数码管的段位都并联起来,由各位

42、的位选端的使能来控制哪一位的显示。这样的显示电路可以在有多个位时无需配置多个数据锁存器,只需要一个锁存器即可,大大简化了硬件电路的连接。各位是否被选亮则取决于动态扫描的结果。动态扫描显示就是利用人眼睛的视觉停留的作用,依次向各位数码管送入段选信号和位选信号,这样人眼就感觉多位数码管同时发亮,其实各位数码管的闪亮是有短暂的延时的。方案三:利用LCD液晶显示屏进展显示。首先,简要说明LCD的工作原理。它利用液晶的物理特性,在通电和断电的情况下,液晶排列的整齐和混乱程度不同,从而使光线通过或不通过。LCD具有零辐射、低功耗、散热小、体积小等优点20。分析以上三种设计方案,发现虽然LED静态显示的亮度

43、较动态LED动态显示要高,但是其刷新速度过于慢,不能够跟随测速电路对电机进展实时显示。另外静态显示电路的电路构造也比拟复杂,这样设计起来费时费力,本钱也会较高。LCD同动态LED比拟,它比拟适合于显示容量多又复杂的场合,同时价格也比拟高,考虑到经济性原则和此次设计的实际需要,根据简单性原则选择第二种显示方案。 速度显示驱动模块电路设计本次设计选择四位一体数码管作为显示器件,并且采用动态扫描显示的方法。数码管显示利用74HC595作为段码驱动元件,用三极管作位选的开关元件。(1) 四位一体数码管介绍:该数码管是共阴的,当位选端为低电平时,数码管被选通,各段则是高电平点亮21;(2) 将以上测速电

44、路得到的速度值经过各位别离后进展显示,速度值是一个8位的数据,这个数据被输入到74HC595的串行输入端。同时要给74HC595的移位脉冲输入端和输出锁存端加上相应的信号,其它电源端,使能端,接地端分别有效后,在74HC595的8位并行输出端即可得到八位的数据。利用74HC595驱动四位一体数码管的原理图如图3.11所示:图3.11 数码管段驱动原理图(3) 用三极管作为开关来进展位选:将开发板的*些端口作为位选端口,这些端口先经过NPN型三极管,当这些端口输出高电平时,三极管接成共射极电路,则三极管导通,集电极输出低电平,则对于共阴的数码管而言,数码管是选通的,即位选有效,相应的位点亮23。

45、其原理图如图3.12所示:图3.12 数码管位选电路原理图3.6 电机保护电路设计 电机保护的类型概述常用的电机保护有:1短路保护;2过压保护;3超速保护;4弱磁保护;5过载保护;6过电流保护;本次设计中主要进展了过压保护和超速保护。过压保护:指电机两端电压超过正常电压围时,利用一些开关器件阻断电压的继续升高,即形成钳位,保护电机不被烧坏。超速保护:指电机转速超过*一特定值时,对电机采取的保护措施。 电机保护硬件电路设计及原理图本次设计中对电机的输入端采用二极管桥式的钳位电路,对其进展过压保护,并有充放电电容使上述保护过程更可靠。其原理图如下列图3.13所示:图3.13电机过压保护电路超速保护

46、是通过软件实现的,外加了报警提示电路。超速报警电路的主要功能器件为蜂鸣器,蜂鸣器的一端接三极管集电极,另一端接+5V的电源。外加驱动蜂鸣器的三极管电路,用来给蜂鸣器提供一定的驱动电流。三极管同开发板的一个GPIO口相连接,当该端口输出高电平时,三极管导通,三极管的集电极输出低电平,蜂鸣器蜂鸣;当该端口输出低电平时,三极管截止,蜂鸣器不蜂鸣。报警电路如下列图3.14所示图3.14 超速保护报警电路3.7 电风扇模型设计本次设计中被控对象是电风扇,而它的主要部件为直流电机,因而在对电机的相关控制功能实现之后,设计一款简单的电风扇模型。其模型主要是在电机的轴上安装一个小型的风叶,并在风叶上粘贴一块磁

47、钢,用来测速。电风扇模型的实物图如图3.15所示:图3.15 电风扇模型实物图第4章 系统软件设计4.1 系统主程序设计思路及流程图系统的软件主要是利用C语言编程实现的。C语言具有编程简单、采用模块化设计、可读性强、修改方便等优点,是一种应用围比拟多的高级语言24。系统程序能够实现电机的正反转、加减速控制、测速、显示、保护和报警,其中测速程序被嵌套在按键程序中。如图4.1为系统主程序设计流程图:开场初始化按键按下显示Y是否超速保护并报警返回NNY图4.1 系统主程序设计流程图主程序的源程序如下: int main () PINSEL0 = (2 16);/ 选择GPIO PINSEL1=0*0

48、0000000;PINSEL2 = PINSEL2 & (0*08);/ P125:16连接GPIOIO0DIR|=021;/P0.21定义为输入IO0DIR|=18;/ P0.8定义为输出 IO0DIR|=17;/ P0.7定义为输出 IO1DIR |=0*FF18;/定义为输出 Display(); PWM_Init();/ PWM初始化 WR_595(C);IO_Init ();/ 对与按键、显示有关的I/O口进展初始化while(1) anjian();Pro_warn(); /超速保护与报警 4.2 各模块子程序设计PWM电路软件设计及流程图PWM根本存放器功能框图如图4.2所示,正

49、如图中所示的一样,PWM功能模块主要是定时器控制存放器PWMTCR预分频存放器PWMPR32位定时器计数器PWMTCPR中断存放器PWMIR匹配比拟图4.2 PWM根本存放器功能框图对相关存放器进展设置,从而产生一定占空比的PWM波形,从而对电机两端的平均电压进展调节23。PWM初始化程序流程图如图4.3所示:开场对Fpclk进展不分频设置设置PWM计数频率锁存输出匹配值设置PWM输出通道和PWM输出方式设置计数匹配时复位匹配存放器器设置初始占空比为50%复位TC值启动PWM图4.3 PWM初始化程序流程图PWM子程序的源程序如下:/pwm初始化void PWM_Init(void)tmp =

50、 Fpclk /50;/对pclk进展分频,PWM计数频率为Fpclk的1/50PWMPR = 0*00; PWMMCR = 0*02;/ PWMMR0与PWMTC匹配时复位PWMTCPWMPCR =0*1000;/ PWM4单边沿输出PWMMR0 = tmp; / PWM速率控制/计数初值 PWMMR4=Fpclk /100; / 50%的占空比 PWMLER = 0*11;/ 锁存PWMMR0和MR4值 PWMTCR = 0*02;/ 复位PWMTCPWMTCR = 0*09;/ 使能PWM 测速电路软件设计及流程图测速环节在硬件上主要利用霍尔元件检测转速,在软件上则由开发板所自带的定时器

51、计数器功能对由霍尔元件检测到的脉冲波形的周期进展定时侧狼,并利用近似的算法,得到电机的转速。如图4.4所示为测速子程序的流程图。 如下为测速子程序的源程序:Int T0_cesu () T0TC= 0;/* 定时器设置为0*/T0PR= 0;/* 时钟不分频*/while(IO0PIN&0*200000)=0); while(IO0PIN&0*200000)!=0);/ 去掉不完整的高电平波形 while(IO0PIN&0*200000)=0); / 等待P0.21口变为高电平 T0TCR=0*01; /启动定时器0 while(IO0PIN&0*200000)!=0);/等待P0.21口变为

52、低电平 T0TCR=0*00; /定时器0定时时间到 记录高电平时间 并停顿定时器 time=T0TC; speed1=11059200/time; speed=60*speed1; C=speed;T0TCR=0*02;开场设定定时器计数器TC为0定时器不分频扫描电平状态,去掉不完整波形高电平.启动定时器0低电平.停顿定时器time=TC;Speed1=11059200/time;Speed=60*speed1;完毕图4.4 测速子程序流程图YNYN 显示模块软件设计及流程图显示模块利用74HC595这种八位串并转换模块对上述转速的测量值进展实时显示。即将要显示的速度值通过74HC595的串

53、行输入口输入,并输出八位并行的数据,同时对该值进展锁存,以保证速度能够被正确地读取22。显示模块子程序包括74HC595初始化程序、显示程序以及显示刷新延时子程序。以下列图4.5、4.6分别为74HC595初始化程序和显示程序的流程图:开场依次从高位到低位发送速度值发送完.完毕最高位为1发出数据的最高位速度值左移一位设置移位脉冲上升沿有效在锁存时钟的上升沿锁存数据YNYN开场速度值各位别离位选数码管各位调数码表各位选通间的延时完毕图4.6 显示子程序流程图图4.5 74HC595初始化流程图如下为显示子程序的源程序:/数码表int LED10=0*3f,0*06,0*5b,0*4f,0*66,

54、0*6d,0*7d,0*07, 0*7f,0*6f;void Display(void) /显示函数 qian=C/1000;bai=C/100%10;shi=C/10%10;ge=C%10;WR_595(LEDqian);IO0SET|=w4; /选管千位IO0CLR|=w3;IO0CLR|=w2;IO0CLR|=w1;DelayNS(1);WR_595(LEDbai);IO0CLR|=w4; /选管百位IO0SET|=w3;IO0CLR|=w2;IO0CLR|=w1;DelayNS(1);WR_595(LEDshi);IO0CLR|=w4;/选管十位IO0CLR|=w3;IO0SET|=w2;IO0CLR|=w1;DelayNS(1);WR_595(LEDge);IO0CLR|=w4; /选管个位IO0CLR|=w3;IO0CLR|=w2;IO0SET|=w1; DelayNS(1);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论