1、 毕 业 论 文 题 目 直流电机调速系统设计英文题目 DC Motor Speed Control System 摘要摘 要本文主要是设计一个以单片机为主控芯片,通过按键改变直流电机的转速和转动方向,并能实时显示转速和脉冲数。本文首先初步确定了总体设计方案,根据设计的要求分模块进行设计。首先对设计用到的主要芯片如AT89C52单片机、霍尔元件、LCD1602液晶显示进行了参数和性能的介绍。根据所要达到的设计目的分模块进行了设计。在单片机模块主要设计了单片机最小系统。在驱动模块主要设计了H桥驱动电路。在测量模块运用霍尔元件对电机进行测速并输出信号给单片机中断端口。在显示模块采用LCD1602液
2、晶显示,单片机通过输出电压信号给液晶实现实时显示。在按键模块由于按键数量比I/O口数量少,为了接线方便决定采用独立按键的连接方式。最后将各模块与单片机相连接,通过软件进行编程从而实现设计功能。 关键词: 直流电机; 单片机; 分模块I ABSTRACTABSTRACTIn this paper, the design of a microcontroller based control chip, through the button to change the motor speed and rotation direction, and can display real-time spee
3、d and the number of pulses. In this paper, the overall design scheme is preliminarily determined, and the modules are designed according to the requirements of the design. First, the design of the main chip used in such as AT89C52 microcontroller, Holzer components, LCD1602 liquid crystal display pa
4、rameters and the performance of the introduction. According to the design goal to achieve the design of modules were designed. The single chip microcomputer module is designed. In the drive module, the main design of the H bridge driver circuit. In the measurement module using Holzer components of t
5、he motor speed and output signal to the microcontroller interrupt port. In the display module using LCD1602 liquid crystal display, microcontroller through the output voltage signal to the liquid crystal display in real time. In the key module because the number of keys is less than the number of I/
6、O port, in order to facilitate the connection to determine the use of independent key connection mode. In the end, each module is connected with the single chip microcomputer, and the software is programmed to realize the function of the design.Keywords: continuous current dynamo; singlechip; Sub mo
7、duleII 目录目 录摘 要IABSTRACTII1.绪 论11.1 设计的背景11.2 直流电机的发展11.3 单片机以及微处理器控制系统的发展11.4 本选题的理由及意义22. 系统总体设计方案32.1 本论文研究的主要内容32.2 直流调速系统设计任务分析32.3 系统设计目标42.4 直流电机调速43. 硬件电路的设计63.1 单片机电路设计63.1.1 STC89C52单片机介绍63.1.2 单片机最小系统73.2.2.2 晶振电路83.2.2.3 复位电路93.2 电源电路设计93.2.1 电源接口电路设计93.2.2 直流稳压电源设计103.3 测速电路设计113.3.1 霍尔
8、传感器简介113.3.2 霍尔测速电路设计113.4 液晶显示电路设计123.4.1 LCD1603液晶简介123.4.2 显示电路设计133.5 按键电路设计143.6 PWM信号发生电路设计153.6.1 系统的硬件电路设计与分析163.6.2 H桥驱动电路174. 软件系统的设计184.1 系统软件总体设计184.2 主程序184.3 键盘扫描程序184.4 初始化程序204.5 LCD1602设置和显示程序设计214.6 各中断程序设计224.6.2 定时器中断0程序224.6.1 定时中断1程序234.6.2 外部中断1程序设计23结论24致 谢25参考文献26附录127附录228
9、绪论1.绪 论1.1 设计的背景:随着科学技术的发展,人们对产品越来越追求精细化。这得益于自动化生产技术在现代生产中占有越来越重要的地位。要加工精细的元器件,只有高性能的电机才能为加工提供所需要的动力。直流电机转速调节范围宽、调节方便灵活等良好特性,广泛运用在生产加工、智能机器人等领域。随着中国经济的迅猛发展,中国制造业从劳动密集型向自动化、智能化转型升级,对电机的转速精度,启动、正反转反应速度等性能提出了更高要求。为此设计更高要求的直流电机调速系统,对于中国的产业发展具有不可估量的作用。1.2 直流电机的发展直流电机比交流电机更早被发明,但早期的直流电机技术还很不成熟,安全性、经济性、制造运
10、行远远达不到人们的要求。与交流电机相比直流电机很晚才转化为生产力。传统的直流控制调速以模拟器件控制为主,控制精度不高,具有很大的局限性。随着计算机时代的到来,特别是微处理器的发明运用,这一局面很快被打破。PWM控制技术很早就成熟,一直苦于没有很好的产生PWM脉冲的器件。单片机与PWM技术的结合,改变了过去依靠模拟器件对直流电机进行控制的时代。 直流电机在矿产开发冶炼、工业生产、自动化、智能化等行业领域获得了广泛的运用。传统的直流电机只能进行最基本的控制,控制精度远远不能满足时代的发展需要,更不能与计算机技术相结合,阻碍了智能化的实现。现在,单片机已经深刻的影响着直流电机控制技术的发展,伴随着单
11、片机技术的不断完善与发展,自动化技术也获得了新的发展机遇,使自动化技术深入到生产生活的方方面面。单片机技术不是一孤立的存在,它与许多学科有着千丝万缕的联系,引起了新技术的产生与新事物的发展。单片机应用在许多科学领域,带动了一批产业的发展与新学科的诞生,促进了单片机技术的不断发展。由于体积小、重量轻、功能强大、抗干扰能力强、控制灵活、应用方便、价格低廉等特点,对计算机的性能有了不断改进,在许多行业领域中越来越多的出现单片机的身影。 由于直流电机的速度控制很容易起动和制动性能良好的特点,并且可以范围广泛的改变速度和功率,在冶金,机械制造等工业部门的已被广泛使用。励磁控制与电枢电压控制是直流电机调速
12、常见的两种方法。1.3 单片机以及微处理器控制系统的发展 在计算机的发展过程中微处理器的出现具有划时代的意义,随着科技的发展特别是大规模集成电路技术的出现,微处理器也由当初的价格昂贵性能单一,到如今的性能强大价格却便宜,这其中电力电子技术的发展功不可没。电力电子技术的不断推陈出新,出现了许多新的元器件与更为简便的新型电路,增强了大功率元器件的功能,便于使更多功能集成在一起,使微处理器控制电机变得可能。微处理器以弱电控制强电具有简单、方便、安全的特点,便于通过编程实现复杂的电机控制,使电机的性能优点发挥到最大,更符合当今智能控制的发展趋势,还让传统的各种电机控制系统焕发新的生机获得更大的发展。
13、最初的微处理器功能简单,只能通过控制触电开关对电机速度进行控制。如今微处理器往往自带可编程器,微处理器的功能获得了大大的提高。现在远程控制在工业控制中得到广泛应用。通过对可编程器的编程,由现场总线将电机的运行状态实时传送到远程终端,实现了信息的交互,为少人控制乃至无人控制的工厂的实现打下了基础。也可以通过编程同时控制多台电机工作,实现电机之间运行数据的交换,使电机调速系统真正做到了自动化、智能化。直流电机的调速性能相比交流电机优良。但直流电机换向采用机械换向器,换向磨损大,容易出现换向火花。相比交流电机直流电机结构复杂易出现故障,维修难度大,可靠性也远不如交流电机。随着高性能微处理器如DSP的
14、出现,直流电机性能得到很好的发挥。为直流调速系统的调速方式的创新与发展提供了可能。DSP等高性能微处理器每秒运算速度可达百亿兆以上且可进行矩阵运算,在先进的数控机床中得到广泛的采用。1.4 本选题的理由及意义现代科技日新月异,电气传动也早由传统的模拟控制转为采用数字化的微处理器控制。近年来工业自动化、智能机器人等高新产业的兴起,直流电机具有调速性能好,无级调速,适用于需要频繁启动、对过载要求高的场合的由于性能优良而被大规模采用。以往的直流调速系统都是模拟控制只能控制电机的某一方面的性能,往往顾此失彼不能综合控制系统参数,不便于编程实现精确控制,已大大落后于时代的要求,不能满足工业系统对动力传动
15、的加工需求。随着中国工业化的进一步升级,市场对直流电机的需求大大增加,迫切需要高性能的直流电机。因而生产符合市场要求的直流电机迫在眉睫,而一台直流电机性能的发挥,一个好的调速系统是必不可少。为此,设计一种通过编程实时可以高精度的控制电机,在当下微处理器广泛应用在调速系统领域的背景下,具有提升直流控制电机控制精度的重要意义。 基于以上理由设计了基于以上理由设计了运用单片机为主控模块,控制电机速度的32 系统总体设计方案2. 系统总体设计方案系统总体设计包括系统设计的主要内容、系统最终设计的目标、和可行性方案的提出;下面几个小节都分别有详细的阐述。2.1 本论文研究的主要内容 总体结构如图2-1所
16、示。单片机图2-1系统硬件基本框图该系统能够通过按键对直流电机进行速度加减、转向控制、实时显示等功能。单片机收到按键给的控制信号由IO口输出PWM脉冲,驱动直流电机转动,测速模块将检测到的速度信息传回单片机进行处理并计算出转速,输出给显示模块显示速度大小,从而通过按键改变速度大小和转向,根据显示数值调整达到减少误差的效果。2.2 直流调速系统设计任务分析直流调速系统是综合计算机技术、测速技术和SPW控制技术将与直流电机有关的系统有机的综合起来。本直流调速系统要求实现的基本功能有对直流电机进行正反转控制、对直流电机进行速度控制等俩大功能。1. 直流电机正反转控制用户通过按钮发送一个信号给单片机由
17、单片机输出脉宽调制信号,送到直流电机,通过改变输出端口控制电子转向。2. 直流电机速度控制用户通过按键发信号给单片机由单片机IO口输出脉宽调制信号驱动直流电机转动,检测电路将电机转速信息传回单片机,并进行转速显示。用户通过按键时间长短改变一个周期内“接通”和“断开”时间长短,即改变占空比来控制电机转速。2.3 系统设计目标设计使用单片机STC89C52可通过编程方便的产生所需要的脉宽调制信号,在功能、经济性上更符合设计的要求。系统可通过对单片机编程使该系统能够实现对直流电机进行正反转控制、对直流电机进行速度控制并能实时显示电机转速和脉冲数。2.4 直流电机调速2.4.1 直流电机的调速方式的优
18、缺点。(1) PWM直流调整系统。其原理是产生一系列不同脉宽的脉冲信号,由功率放大器驱动,然后由直流控制信号和三角波调制电路驱动功率放大器。直流电机的电枢通入PWM电压,可进行精确的控制。调速系统具有调速范围宽,效率高,响应速度快,电流纹波小,对电网的污染小等优点。(2)电枢串电阻调速。电枢回路串接电阻后,电动机的机械特性的斜率随电阻的改变而改变,在恒负载下使转速发生变化。串电阻调速的控制装置结构连接相对容易;负载容易改变转速的大小,调速对于空载时不起作用,在重载条件下运行功耗太大速度变化不明显。(3) 改变电枢电压调速。电动机的机械特性随电枢电压的变化而变化,因此调速范围很宽。晶闸管整流装置
19、调节电枢电压,但在低速运行时功率因数较低,在交流侧出现较多的谐波分量,对电网不利。(4) 改变电动机主磁通。通过减弱磁通可对电机进行无极调速,所谓恒功率调速就是速度从额定转速开始增加。电枢电流变化所需的时间长,所以速度变化较慢,可小电源驱动。(5)双闭环直流调速系统。电流调节器接收反馈电流,速度调节器接收转速信号。调节器采用P-I算法进行控制。 2.4.2 PWM调速系统有以下优点:1、 脉宽调制系统,电路的开关可以频繁通断,因此可以快速响应,干扰对系统的影响小。2、 由于开关频率高,通过电机自身的电感可方便获得小脉冲直流电具有滤波的作用,系统的低速性能好,速度稳定性好,速度调节范围宽,电枢电
20、流连续性好,电机不容易出现故障,消耗能源少。3、脉宽调制系统中,电路中的电力电子器件相比晶闸管整流器消除了电网污染,开关损耗小,设备利用率高,效率和功率因素大大提高。4、主电路所需的功率元件少,线路简单,控制方便。 硬件电路的设计3. 硬件电路的设计3.1 单片机电路设计3.1.1 STC89C52单片机介绍STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。主要特性如下:1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.2
21、.工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V单片机)3.工作频率范围:040MHz,相当于普通8051的080MHz,实际工作频率可达48MHz4.用户应用程序空间为8K字节5.片上集成512字节RAM6.通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片8.具有EEPROM功能9.具有看门狗功能
22、10.共3个16位定时器/计数器。即定时器T0、T1、T211.外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒12.通用异步串行口(UART),还可用定时器软件实现多个UART13.工作温度范围:-40+85(工业级)/075(商业级)14.PDIP封装STC89C52RC单片机的工作模式掉电模式:典型功耗0.1A,可由外部中断唤醒,中断返回后,继续执行原程序空闲模式:典型功耗2mA正常工作模式:典型功耗4Ma7mA掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备 图3-1 STC89C52RC引脚图STC89C52RC引
23、脚功能说明VCC(40引脚):电源电压VSS(20引脚):接地P0端口(P0.0P0.7,3932引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。P1端口(P1.0P1.7,18引脚):P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对
24、端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。3.1.2 单片机最小系统光有单片机还不能立马开始工作,单片机要起作用需要外接一些辅助电路,单片机才能运行起来。这些辅助电路构成单片机最小系统,其主要包括时钟电路与复位电路如图 2-1 所示。30pFC330pFJ2图3-2单片机最小系统图单片机的最小系统由晶体振荡器、电容C22、C23组成的时钟电路,R27、C1、KS组成的电复位电路及AT89C52单片机构成。CPU的时钟信号由12MHZ的无源晶体振荡器和单片机自带的放大器一起组成的振荡器生成。电
25、容C22、C23可起频率微调作用,电容值在5pF30pF之间选择,本电路选30pF。电容C1和电阻R27构成上电复位电路。电源开启时,电源对电容C1 充电,在CPU的复位端产生一高脉冲。CPU复位的条件是复位端的高电平的持续时间大于两个机器周期。电容C1可滤除高频干扰,防止单片机误复位。按键ks和电阻R27构成按键复位电路。3.2.2.2 晶振电路图3-3 晶振电路它扮演的角色是提供一个参考时钟信号给单片机系统,所有的工作都是基于单片机的工作时钟信号的工作的速度。我们把一个 11.0592M 的晶振(它每秒钟振荡 11,059,200 次)接在STC89C52 单片机的 18 脚和 19 脚的
26、晶振引脚上,外加两个 30pF 的电容,电容的作用是帮助晶振起振,并维持振荡信号的稳定。3.2.2.3 复位电路复位电路由按键复位和上电复位两部分组成,如图3-4图3-4 复位电路图 (1)上电复位:RC充放电回路,由复位引脚RST接一10uF的电容到电源,再接一10K的电阻到地构成。当上电时,使RST引脚上至少保持两个周期的机器时间,使单片机复位。随着RC放电,单片机开始正常工作。 (2)按键复位:在复位电容上并联一个按键,通过按键控制电容充放电。当按键按下时,电容开始充电使RST得到一个高电平,而且由于电容充满电需要一定的时间,这段时间的高电平足够使单片机复位。3.2 电源电路设计3.2.
27、1 电源接口电路设计图3-5 电源电路图我们所选用的 STC89C52,它需要 5V 的供电系统,P1是电源接口2、3脚接地,1脚实际是VCC,S1是自锁开关,由自锁开关控制电源在电路中接通关断的,其中3脚接P1电源插口电源的1脚,5脚接电路的VCC。整个设计所需要的电源经过电源接口由自锁开关控制输入。3.2.2 直流稳压电源设计设计原理变压整流滤波稳压AC220VDC5V图3-6 设计原理图首先通过变压将220V高压降为电路能承受的低压。此时的电流还没变为直流电,再经过对电流进行整流,才变为周期变化的直流脉冲。对电流进行滤波处理,消除脉冲得到更好的直流电。最后为保证输出稳定的直流电压,对电流
28、进行稳压操作,提高直流电压的稳定性。硬件电路设计 3-7直流稳压电源如图3-7所示电路输入220V的交流电最后输出5V的直流电。我们用电源变压器将220V的交流电降到8V,再经过桥式整流桥电路(由四个1N4007晶体管构成)将8V的交流电变成7.2V的直流电。由电容C5、C6进行滤波,C6的作用是防止自激。最后采用78H05三端稳压芯片进行稳压输出5V直流电。3.3 测速电路设计3.3.1 霍尔传感器简介 A3144E霍尔元件44E OH44E 霍尔传感器霍尔开关集成电路应用霍尔效应原理,采用半导体集成技术制造的磁敏电路,它是由电压调整器、霍尔电压发生器、差分放大器、史密特触发器,温度补偿电路
29、和集电极开路的输出级组成的磁敏传感电路,其输入为磁感应强度,输出是一个数字电压讯号。产品特点体积小、灵敏度高、响应速度快、温度性能好、精确度高、可靠性高典型应用无触点开关、汽车点火器、刹车电路、位置、转速检测与控制、安全报警装置、纺织控制系统极限参数(25)电源电压VCC 24V输出反向击穿电压Vce50V输出低电平电流IOL50mA工作环境温度TAE档: -2085,L档: -40150贮存温度范围TS -651503.3.2 霍尔测速电路设计3-8测速部分电路图这是霍尔测速模块,霍尔元件1脚接电源、2脚接地、3脚信号输出脚接单片机的外部中断上,还接了一个电阻接电源上,是一个上拉电阻起到信号
30、稳定的作用。3.3.2 霍尔元件测速原理由霍尔效应原理可知:由公式V=KBI可知。当通过霍尔元件的电流大小确定不变时,只要改变霍尔元件周围的磁场的大小就可改变霍尔元件输出电压的大小。在直流电机转轴上粘贴一长条,并在长条两端分别安装上1个磁钢,磁铁和霍尔元件最近距离在2mm左右,太近可能会在电机转动时碰到霍尔元件,太远霍尔元件可能会检测不到磁铁。在磁钢的附近固定安装一个霍尔传感器,通过间接方式对电机转速进行测量。当长条旋转到霍尔元件附近时,磁钢通过改变磁场的大小使霍尔传感器输出低电平。当电机旋转时,霍尔传感器将输出的脉冲信号传送回单片机,通过计算测出转盘的运转速度.此电路简单可靠,便于测量电机转
31、速。电路具体连接方式如下图所示。 图3-9霍尔测速原理图 图3-10霍尔传感器接线图3.4 显示电路设计3.4.1 LCD1603液晶简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,1602字符型液晶显示器1602LCD主要技术参数显示字符容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3-1所示: 表3-1引脚功能编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正
32、极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极1602LCD的指令说明1602液晶模块内部的控制器共有11条控制指令,所示如表3-2 表3-2指令说明序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据
33、存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容 3.4.2 液晶显示电路设计液晶屏第一行输出每分钟电机转速。第二行显示占空比,显示当前的pwm占空比0100%。占空比数值越大,电机转速越快。液晶部分的电路图如下图3-11所示:图3-11 液晶部分电路图液晶显示都是和单片机的IO口相连。主要注意的是3脚,3脚接的是串接的两个电阻。串联的两个电阻分压,节点这里会输出一个电压值,3脚其实就是采集一个电压值,这个电压值是零点几伏。3脚是调节灰度的,就是这两个电阻。R6值10K,R
34、7一般是选取200欧到1.5K具体依据厂家不同电阻的选取是有一定差异的,如果选取不当液晶就会显示的比较暗或都根本看不清,如果出现液晶看不清的状况就要看是不是这两个电阻接错了,选取合适灰度,显示效果最好的状态。在本设计中,我们将LCD的D0-D7分别与单片机的P0.1-P0.7相连。单片机的P0 口接810k欧姆的排阻作为上拉电阻,分别接1602 的第7 到14引脚,通过602 的3 脚接在串联电阻R6和R7的的中间获得分压来调节液晶的灰度。液晶显示原理对单片机编程输出相应的电压点亮显示模块相应字符。液晶显示器相比传统数码管显示更利于与单片机结合具有编程简单线路连接方便的特点,目前已经被广泛应用
35、在计算机、数码产品、移动通信等众多领域。3.5 按键电路设计stopfanzhenggdecadd图3-12 按键部分电路系统一共有6个按键,单片机附近的独立按键是系统的复位按键,按下单片机会复位。下面一排是控制按键:1键:加速键,可以短按,占空比加1,也可长按,占空比连续加;2键:减速键,可以短按,占空比减1,也可长按,占空比连续减;3键:正转切换键,按下后电机正转;4键:反转切换键,按下后电机反转;5键:开始暂停键,按一下开始,再按一下暂停。本设计低电平有效的方式来读取按键,按键没按下时,单片机I/O口为高电平,当有键按下的时候,单片机I/O口为低电平,程序执行相应操作。这里按键模块每个按
36、键都接了地比如K3他的3脚和4脚是相通的,1脚和2脚是相通的;3脚和4脚相通利用按键的导通规律所以每个按键都接到了地,那么只要相应的按键按下去,单片机IO口就会检测到低电平实现相应的控制程序。单片机键盘有独立和矩阵式两种键盘连接方式:独立键盘连接方法是将每个按键连接到不同的I/O口上,这种接法程序设计比较简单且系统更不容易混乱出错,但浪费了宝贵的I/O口资源,当按键数量少于I/O口数量时适用;而矩阵式键盘式占用的I/O少,I/O口利用率高,但是接法程序比较复杂,适用于需要大量按键的电路。由于按键数量远远少于I/O口的数量,综合考虑独立式键盘能最大限度的发挥优势。通过程序检测单片机I/O口高低电
37、平状态,来获取相应按键闭合状态。独立式按键的每个键占用一条I/O口,所有的按键都接了地。当按下键时,此I/O 口与地连接短路I/O 口即为低电平状态。 按键释放后,单片机对应的I/O接口由于内部有上拉电阻连接电源,其输入即为高电平状态。那么无论哪个键按下,程序通过判断单片机I/O口电平的高低状态,便可了解相应按键的闭合状态。3.6 PWM信号发生电路设计调速采用PWM脉宽调制,工作原理:用许多幅值不变宽度改变的波形无限接近所需波形的形状。通过改变矩形波的占空比,可以调整脉冲宽的宽度。PWM的定义:通过对单片机编程控制,利用单片机对模拟信号进行采样数字化来驱动电路的一种技术。在测量、通信、功率控
38、制与变换等领域有显著运用。对连续变化的模拟信号其幅度和时间的大小没有硬性要求。3.6.1 系统的硬件电路设计与分析 3-13电机驱动电路电动机PWM驱动模块的电路采用H桥驱动,设计与实现具体电路见上图。本驱动电路采用PWM脉宽调制原理设计而成。PWM电路由三极管组成,如图所示Q1、Q3、Q5是NPN型的三极管基极高电平有效,Q2、Q4、Q6是PNP型的三极管基极低电平有效。P34、P37两个输入端高低电平控制三极管是否导通或截止。当P34、P37分别输入高电平和低电平时,Q1导通下面的地拉低电压使Q3截止、Q4导通;Q2截止由于R2上拉电阻接电源,使Q6导通、Q5截止,电源通过Q6到电机再到Q
39、4回到地形成回路控制电机正转;当P34输入低电平、P37输入高电平,Q1截止由于R2上拉电阻接电源,使Q3导通、Q4截止;Q2与地连接使Q6截止、Q5导通。电源通过Q3到电机再到Q6回到地形成回路控制电机反转。如图所示有四个4148二极管叫做续流二极管。当我们电机转动或者断开的一瞬间会产生一个反向的电动势,而这个反向的电动势会扰乱我们的电路(主要影响液晶显示屏)。加上这个续流二极管起到一个保护作用:当有一个反向电动势的时候通过二极管形成一个回路,把这个反向电动势通过二极管和电机消耗掉。这就是二极管的保护作用。而这个104是一个滤波电容起到信号稳定的作用。3.6.2 H桥驱动电路H桥电机驱动电路
40、,它由四个三极管和一个电机构成。因为电路形状类似于英文H,所以命名为H桥电路。对角线Q1和Q4三极管对和Q2和Q3三极管对,同一时刻只能有一对导通。据不同的三极管对的导通通电的情况,电流会从Q1至Q4或Q3到Q2流过电机,从而改变电机的转动方向。 3-14 H桥驱动电路图从电路不难看出,要控制电机正转,必须使对角线上Q1、Q2两个三极管导通。当Q1、Q2两个三极管基极高电平,Q3、Q4两个三极管基极低电平时,Q1、Q4两个三极管导通,Q3、Q2两个三极管截止。电源经Q1到电机再到Q4回到地形成回路从而控制电机正转。同理反转只要Q1、Q2两个三极管基极低电平,Q3、Q4两个三极管高电平。 软件系
41、统的设计4. 软件系统的设计4.1 系统软件总体设计本章将在硬件电路的基础上对软件编程进行设计。基于C语言,分别对主程序、键盘扫描子程序、初始化程序、中断程序以及显示子程序加以设计,通过流程图可以更清晰的展现各部分的设计思路。4.2 主程序 如下图所示,本设计的主程序设计主要是设定初值和确定初始状态。程序首先是给STC89C52送取一个占空比为50%的数据,转速初值设置为0,初始化电机为正转,实现键盘子程序的调用处理。设定占空比、转速初值初始化标志位和电机状态调用键盘扫描程序调用初始化程序开 始是否有按键按下?执行相应程序YN 图4-1 主程序流程图 4.3 键盘扫描程序独立式键盘由五个按键组
42、成,分别是控制电机的加速键、减速键、正转切换键、反转切换键、开始暂停键。人按键不可避免会发生抖动,抖动会使单片机多次读取,延时就是为了确认有按键发生,等键盘稳定了再对其处理。所以这里选择了软件去抖动,实现法是先查寻按键,通过if语句来实现,如果判断if(num1=0)检测到按键按下,delay(5)立即延时5毫秒让抖动消失后再进行一次按键状态检测再读一次I/O 口的值,如果num1值为1 表示按键按下的时间不到5 毫秒,视为按键抖动干扰信号。当num1读出的值是0时,则仍保持按键闭合状态低电平,则确认为真正有键按下,调用相应的处理程序。其程序流程图如图4-2。 图4-2 键盘扫描流程图4.4 初始化程序由于后面要用到中断程序,所以先在这里对中断要用到的定时器0、定时器1及外部中断1等先进行初始值、触发方式等的设置,以方便后面中断程序的编写。首先对LCD1602进行了显示格式初始化,设置其初始显示的字符状态和预留出的空位,为后面编程提供方便。程序的流程图如下图4-3所示:1602初始化中断初始化设置1602初始显示状态并显示设置定时器初始状态程序入口返 回 图4-3 初始化流程图 4.5 LCD1602设置和显示程序设计4.5.1 LCD16