基于PWM直流电动机控制系统的设计 - 图文

更新时间:2024-03-08 02:51:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于PWM直流电动机控制系统的设计

基于PWM直流电动机控制系统的设计

摘 要

直流电机是人类最早发明和应用的一种电机。与交流电机相比,直流电机因其结构复杂、维护困难、价格较贵等缺点制约它的发展,应用不如交流电机广泛。但由于直流电机具有良好的启动、调速、和制动性能,因此在工业领域中仍占有一席之地。随着电力电子技术的发展,直流电机调速已有逐步被交流电机调速取代的趋势,但从供电的质量和可靠性来看,直流电机仍有一定优势。PWM(Pulse Width Modulation)控制就是对脉冲的宽度进行调制的技术。即通过对一系列脉冲的宽度进行调制,来获得所需要波形(含形状和幅值)。改变脉冲的占空比就是对脉冲宽度进行调制,这是因为输入和所需输出都是直流电压,因此脉冲既是等幅的,也是等宽的,仅仅是对脉冲的占空比进行调制。 本文设计了直流电机控制系统的基本方案,阐述了该系统的基本结构、工作原理、运行特性及其设计方法。本设计系统以单片机AT89C52为核心,附以外围电路,实现直流电机调速的系统,运用单片机的运算和处理能力和L298电机驱动芯片来实现电机的手动加速、减速调速等智能控制系统。并运用软件Proteus进行仿真。

关键字:PWM信号;单片机;直流电机调速

基于PWM直流电动机控制系统的设计

PWM DC MOTOR CONTROL SYSTEM DESIGN

ABSTRACT

DC motor is the first motor of human’s invention and application. Compared with AC motor, DC motor’s complex structure, maintenance difficulties and its more expensive as well other shortcomings restrict its development and application as a wide range of AC motor. However, DC has a good start, speed, and braking performance, it still exists in the industrial field. With the development of power electronics, DC motor speed control has gradually been replaced by AC motor speed control, but in the view of the quality and reliability of power supply, the DC generator still has a certain advantages. PWM (Pulse Width Modulation) control is a technology on the pulse width modulation. It modulates a series of pulse width in order to obtain the required waveform (including the shape and amplitude). Changing the pulse duty cycle is the pulse width modulation. Because both input voltage and required output voltage are DC, pulse amplitude and width are equal. So it only modulates the duty cycle of pulse. This article designs the basic plan of DC motor control system, describing the basic structure, working principle, operating characteristics and design methods of the system. This system takes AT89C52 as the design system’s CPU, which is accompanied by the external circuit, realizes a DC motor speed control system. By the use of microcontroller operation and the processing ability and L298 motor driver chip, it achieves the motor manually speed up, down, and other intelligent control. At last it apply Proteus software to simulate.

Key words: PWM; Signal Microcontroller; Speed Control of DC Motor

基于PWM直流电动机控制系统的设计

目 录

1 前 言…………... .…………………………………………………………………......1 2 直流电机介绍……………………………………………………………………………….2 2.1 直流电机工作原理…………….………………………………………………………2

2.1.1 直流电机的结构…..…………………………………………………………….2 2.1.2 直流电机工作原理 …………………………………………………………….2 2.2 直流电机应用状况…………………………………………………………………......5 3 关键技术…………………………………………………………………………………….6 3.1 PWM技术的基本原理 …………………………………………………………………6 3.2 PWM调速原理………………………………………………………………………….6 3.3 单片机技术……………………………………………………………………………..8 3.4 单片机应用领域………………………………………………………………………..8 3.5 单片机的结构…………………………………………………………………………..9

3.5.1 内部结构………………………………………………………………………...9 3.5.2 单片机外部结构………………………………………………………………...9 4 系统硬件设计……………………………………………………………………………...11 4.1 系统设计总体方案……………………………………………………………………11 4.2 直流电机驱动方案选择………………………………………………………………12

4.2.1模拟电路驱动………………………………………………………………......12 4.2.2 L298芯片驱动………………………………………………………………….12 4.3 电源设计………………………………………………………………………………13 4.4 复位电路设计…………………………………………………………………………14 4.5 晶振电路设计…………………………………………………………………………15 4.6 按键电路的选择与设计………………………………………………………………16 4.7 LED显示电路设计……………………………………………………………………17 4.8 测速电路设计…………………………………………………………………………19 5 系统软件设计……………………………………………………………………………...22 5.1 主程序流程图…………………………………………………………………………22 5.2 键盘扫描子程序………………………………………………………………………23 5.3 PWM波发生子程序…………………………………………………………………..24 5.4 测速子程序……………………………………………………………………………24 5.5 显示子程序……………………………………………………………………………25 6 系统仿真…………………………………………………………………………………...27 6.1 按键电路仿真…………………………………………………………………………27 6.2 PWM波形仿真………………………………………………………………………..28 6.3 测速显示仿真…………………………………………………………………………28 6.4直流电机驱动仿真…………………………………………………………………….29 6.5 系统电源的仿真………………………………………………………………………29 7 结论………………………………………………………………………………………...31 参考文献……………………………………………………………………………………...32 致 谢………………………………………………………………………………………...33 附 录……………………………………………………………………………………...34

基于PWM直流电动机控制系统的设计

附录1 系统设计电路图 …………………………………………………………………….34 附录2 仿真电路图…………………………………………………………………………..35 附录3 系统程序……………………………………………………………………………..36 .

基于PWM直流电动机控制系统的设计

1 前 言

脉宽调制(Pulse Width Modulation)控制技术,通常简称为PWM控制技术,是利用半导体开关器件的导通和关断,把直流电压变成电压脉冲列,控制电压脉冲的宽度或周期以达到变压目的,或控制电压脉冲的宽度和周期以达到变压变频目的的一种控制技术。近年来,电气传动的PWM控制技术已成为电气传动自动控制技术的热点之一。

直流电动机因其可以方便地通过改变电枢电压和励磁电流实现大范围的调速而得到广泛的应用,调节电枢串联电阻来改变电枢上的电压,是最经典的直流电机调速方法,但是有相当部分的电能消耗在所串联电阻上,很不经济。80年代,以晶闸管为功率开关器件的斩波调速器以其无级、高效、节能而得到大力推广。但晶闸管斩波调速器不足之处是晶闸管一旦被触发,其关断必须依赖换流电容和换流电感振荡产生反压来实现,换流电容和电感增加了装置的成本,也增加了换流损耗;电源电压下降还会导致换流失败,使系统的可靠性降低;此外,由于晶闸管的开、关时间比较长,加上存在换流环节,使得斩波器的工作频率不能太高(一般在300Hz以下),电机上的力矩脉动和电流脉动比较严重。因此直流斩波调速呼唤快速自关断器件。于是90年代出现了以IGBT为代表,具有自关断能力并可在高速下工作的功率器件作为开关元件的PWM直流调速系统成为更为先进的直流调速方案。

纵观电气传动国内外发展的情况,虽然直流电动机因其结构复杂、成本较高、维修保养费用较贵以及随着电力电子技术的进步对交流调速问题的解决,交流调速在发达国家已经占据主导地位,但是在我国目前仍有大量的各类机床和系统使用直流电动机作为伺服驱动,有些用模拟PWM控制、有些用晶闸管移相控制。如果将其改造为微处理器控制PWM调速控制,使其具有控制方式多样化,能与数字速度给定信号直接接口等优点,则有利于国家工业化的发展。

PWM直流电动机调压调速系统拥有需用的功率元件少、线路简单、控制方便、开关频率高、低速性能好、稳速精度高及调速范围宽等优点,在工厂企业得到广泛的应用。通过学习并熟练掌握这个调速系统,对我们今后的工作有十分重要的意义。

第1页 共41页

基于PWM直流电动机控制系统的设计

2 直流电机介绍

2.1 直流电机工作原理

2.1.1 直流电机的结构

直流电机的结构是多种多样的,但是任何直流电机都包括定子部分和转子部分,这两部分间存在着一定大小的间隙,是电机中电路和磁路发生相对运动。直流电机定子部分主要由主磁极、电刷装置和换向极等组成,转子部分主要由电枢绕组、换向器和转轴等组成。

2.1.2 直流电机工作原理

N和S是一对固定不动的磁极,用以产生所需要的磁场。在N极和S极之间有一个可以绕轴旋转的绕组。直流电机的之一部分成为电枢。实际电机中的电枢绕组嵌放在贴心槽内,电枢绕组中的电流称为电枢电流。线圈两端分别与两个彼此绝缘而且与线圈同轴旋转的铜片相连,铜片上又各压着一个固定不变的电刷。如图2-1所示,将电枢绕组通过电刷接到直流电源上,绕组的转轴与机械负载相连,这时便有电流从电源正极流出,经电刷流入电枢绕组,然后另一电刷流回电源的负极。电枢电流与磁场相互作用产生电磁力,其方向可用左手定则来判断。这一对电磁力所形成的电磁转矩使电机旋转[1]。

图2-1 直流电机原理图

2.1.3 直流电机调速原理

直流电动机具有良好的起、制动性能,宜于在大范围内平滑调速,在许多需要调速和快速正反向的电力拖动领域中得到了广泛的应用。由于直流拖动控制系统在理论上和实践上都比较成熟,而且从控制的角度来看,它又是交流拖动控制系统的基础[2]。直流

第2页 共41页

基于PWM直流电动机控制系统的设计

电机转速方程如公式2-1。

U?IRn?

Ke?式中 n— 转速(r/min); U— 电枢电压(V);

I— 电枢电流(A);

(2-1)

R— 电枢回路总电阻(?); φ— 励磁磁通(Wb);

Ke— 由电机结构决定的电动势常数。

可以看出,有三种方法调节电动机的转速: (1)调节电枢供电电压U; (2)减弱励磁磁通?; (3)改变电枢回路电阻R。

第一种改变电枢电路总电阻调速,可通过在电枢回路中串电阻来实现。如公式2-2。

n?Ua?Ia(Ra?Rw) (2-2)

CE? 式中Rw是外接电阻。

由此可见,当负载一定时,外接电阻Rw的增大,会导致电枢回路总电阻R的增大,从而使n减少。其机械特性如图2-2所示,M为转矩。

图2-2 改变电枢回路总电阻时调速机械特性

这种调速方法是有级调速的,调速不平滑,而且串接了电阻增大了电路的功耗,所以这种方法一般不使用。

第二种改变点电枢的供电电压调速,就是改变电枢两端的电压Ua,使速度n也改变。现在随着电力电子技术的发展,可以方便的改变电压的输出值,从而可以方便的改

第3页 共41页

基于PWM直流电动机控制系统的设计

变电机的转速。其机械特性图如图2-3所示,M为转矩。

图2-3 改变电枢供电电压调速的机械特性

这种调速方法可以实现无级调速,并且它是通过减少输入功率来减少输出功率从而降低转速的,因此低速运行时也不会增加功耗,在整个调速范围内都很经济。

第三种改变励磁磁通调速,可以通过在励磁电路中串接一个可调电阻,从而改变励磁电流和磁通来实现。其机械特性如图2-4所示,M为转矩。

图2-4 改变励磁磁通调速的机械特性

这种调速方法,由于调节在小电流的励磁回路进行,所以损耗比较小,并且平滑性好能实现无级调速。但是,因为在一般的电机的磁路在???N时已经工作在饱和作态,所以这方法只适用于基频以上调速。

因此,对于要求在一定范围内无级平滑调速的系统来说,以调节电枢电压的方式为最好。改变电阻只能实现有级调速;减弱磁通虽然能平滑调速,但调速范围不大,往往只是配合调压方案,在基速(额定转速)以上作小范围的弱磁升速。因此自动控制的直流调速系统往往以变压调速为主。

第4页 共41页

基于PWM直流电动机控制系统的设计

2.2 直流电机应用状况

在现代化的工业生产过程中,几乎无处不使用电力传动装置,生产工艺、产品质量的要求不断提高和产量的增长,使得越来越多的生产机械要求能实现自动调速。对可调速的电气传动系统,可分为直流调速和交流调速。直流电动机具有优良的调速特性,调速平滑、方便,易于在大范围内平滑调速,过载能力大,能承受频繁的冲击负载,可实现频繁的无级快速起制动和反转,能满足生产过程自动化系统中各种不同的特殊运行要求,至今在金属切削机床、造纸机等需要高性能可控电力拖动的领域仍有广泛的应用,所以直流调速系统至今仍然被广泛地应用于自动控制要求较高的各种生产部门,是截止到目前为止调速系统的主要形式。

第5页 共41页

基于PWM直流电动机控制系统的设计

3 关键技术

3.1 PWM技术的基本原理

PWM(Pulse Width Modulation)控制技术就是对脉冲的宽度进行调制的技术。即通过对一系列脉冲的宽度进行调制,来获得所需要波形(含形状和幅值)。改变脉冲的占空比就是对脉冲宽度进行调制,只是因为输入电压和所需输出都是直流电压,因此脉冲既是等幅的,也是等宽的,仅仅是对脉冲的占空比进行调制。

在采样控制理论中有一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量即指窄脉冲的面积。这里所说的效果基本相同,是指环节的输出响应波形基本相同。如果把各输出波形用傅里叶变换分析,其低频段非常接近,仅在高频段略有差异。例如三种不同的脉冲即矩形脉冲、三角脉冲、正弦半波脉冲有相同的面积(即冲量)都等于1,那么,当他们分别加在具有惯性的同一环节上时,其输出响应基本相同。上述原理为面积等效原理,它是PWM控制技术的重要理论基础[3]。

3.2 PWM调速原理

PWM调速原理及输出波形如图3-1所示 :

(a)

(b)

图3-1 PWM调速系统原理及波形输出图

第6页 共41页

基于PWM直流电动机控制系统的设计

假设V1先导通T1秒,然后又关断T2秒,如此反复进行,可得到图3-1(b)的波形图。可以得到电机电枢端的平均电压Ua如公式3-1。

Ua?T1Ud (3-1) T设?=

T1[4],?可定义为占空比。设输入电压Ud不变,?越大,电机电枢端的平均T电压Ua越大,反之也成立。故改变?值就可以达到调压的目的。

改变?有三种方式:第一种是T1保持不变,使T2在0到∞之间变化,这叫定宽调频法;第二种是T2保持不变,使T1在0和∞间变化,这叫调宽调频法。第三种是T保持一定,使T1在0到T间变化,这叫定频调宽法。本设计采用定宽调频法。

第7页 共41页

基于PWM直流电动机控制系统的设计

3.3 单片机技术

单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。用专业语言讲,单片机就是在一块硅片上集成了微处理器、存储器及各种输入/输出接口的芯片[8]。

3.4 单片机应用领域

(1)单片机在智能仪器仪表中的应用

在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。

(2)单片机在机电一体化中的应用

机电一体化是机械工业发展的方向。机电一体化产品是指集成机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品,例如微机控制的车床、钻床等。单片机作为产品中的控制器,能充分发挥它的体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。

(3)单片机在日常生活及家用电器领域的应用

自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、空调器、电子玩具、电饭煲、视听音响设备等家用电器配上单片机后,单片机将使人类生活更加方便、舒适、丰富多彩。

(4)在实时过程控制中的应用

用单片机实时进行数据处理和控制,使系统保持最佳工作状态,提高系统的工作效率和产品的质量。

(5)办公自动化设备

现代办公室使用的大量通信和办公设备多数嵌入了单片机。如打印机、复印机、传真机、绘图机、考勤机、电话以及通用计算机中的键盘译码、磁盘驱动等。

(6)商业营销设备

在商业营销系统中已广泛使用的电子秤、收款机、条形码阅读器、IC卡刷卡机、商场保安系统、空气调节系统、冷冻保险系统等都采用了单片机控制。

(7)在计算机网络和通信领域中的应用

第8页 共41页

基于PWM直流电动机控制系统的设计

现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。

(8)单片机在医用设备领域中的应用

单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。

(9)汽车电子产品

现代汽车的集中显示系统、动力监测控制系统、自动驾驶系统、通信系统和运行监视器(黑匣子)等都离不开单片机。

(10)航空航天系统和国防军事、尖端武器等领域[5]。

3.5 单片机的结构

3.5.1 内部结构

一个基本的MCS-51单片机通常包括:中央处理器、ROM、RAM、定时/计数器和I/O口等各功能部件,各个功能由内部的总线连接起来,从而实现数据通信。其内部框图如图3-2所示。

XTAL2XTAL1VCC时钟电路ROM/EPROM/FLASH4K 字节RAM 128字节SFR 21个定时/计数器2个CPUVSS总线控制中断系统5中断源、2优先级串行口全双工 1个并行口4个RSTEAALEPSEN图3-2 8051单片机内部结构图

P0P1P2P3

3.5.2 单片机外部结构

常见的51单片机中一般采用双列直插(DIP)封装,共40个引脚。图3-3为引脚排列图。其中的40个引脚大致可以分为4类:电源、时钟、控制和I/O引脚。

第9页 共41页

基于PWM直流电动机控制系统的设计

图3-3 单片机外部结构

第10页 共41页

基于PWM直流电动机控制系统的设计

4 系统硬件设计

4.1 系统设计总体方案

本设计是基于AT89C52单片机的直流电机PWM调速系统,其基本原理为:由单片机AT89C52接受键盘的信号并通过计算占空比产生出对应的PWM信号输出和控制信号输出,其中一路信号控制L298的使能和方向,一路PWM波形送L298控制直流电机的速度。在直流电机中安装霍尔开关传感器,把速度信号传送到AT89C52,AT89C52进行定时计数,计算出直流电机每秒钟的转速,并送LED显示。整个系统的电源由外接双路稳压电源(+5V、+12V)提供。

其结构简图如图4-1所示:

键盘 外围 电路 霍尔 元件 AT89C52 单片机 直流电机 驱 动 直流电机 LED 显示 双路直流稳压电源

图4-1 系统硬件原理图

图4-1为硬件系统原理框图,按键输入选择电机的运行方式,单片机通过读取按键执行程序,并产生的PWM波驱动L298使单片机运行,通过霍尔元件测量电机转速,将霍尔元件输出的高低电平送入单片机进行计数即为转速,将转速值送出LED显示。

第11页 共41页

基于PWM直流电动机控制系统的设计

4.2 直流电机驱动方案选择

4.2.1 模拟电路驱动

采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。

4.2.2 L298芯片驱动

L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。4脚VS接电源电压,VS电压范围VIH为+2.5~46V。输出电流可达2.5A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置驱动一台电动机。5,7,10,12 脚接输入控制电平,控制电机的正反转。EnA,EnB接控制使能端,控制电机的停转[20][10]。

表4-1 L298N功能逻辑状态

ENA 0 1 1 1 1

IN1 × 1 0 1 0

IN2 × 0 1 1 0

运转状态 停止 正转 反转 利停 停止

图4-2是L298与直流电机的连接图,IN1和IN2分别接单片机输出逻辑电平控制直流电机的运行状态,ENA接单片机PWM波输出端口。

第12页 共41页

基于PWM直流电动机控制系统的设计 VSENAVSENBSENSEASENSEBOUT1IN1OUT2IN2OUT3IN3OUT4IN4GNDL298VSSMOTOR SERVOR+A-C 图4-2 L298驱动直流电机图

实际设计时,为保证系统正常工作需要在L298周围添加外围逻辑电路,保证芯片不被烧坏。单片机的PWM输出引脚P3.7接L298的EnA引脚,它控制着电机转速大小。比较器LM393主要起到了限制过流和保护L298的作用。LM393的同相端直接连到了一个可变电位计上,电位计的参考电压是可调的。调节电位计的参考电压能调节L298的限流电压。LM393的反相端接到L298的SENSEA两检测端。当检测电阻两端的电压大于限流电压时,比较器的反相端的电压大于同相端的电压,输出端输出低电平,从而把L298的EnA使能端拉低,L298停止工作。这就起到了限制过流和保护L298的作用。

对于直流电机的驱动,为了更好的获得驱动效果采用L298输出并联驱动。也为了使直流电机的工作状态不影响主电路的工作状态在直流电机的两端并联RC电路隔离电机。

4.3 电源设计

对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源模块的稳定可靠是系统平稳运行的前提和基础。51单片机虽然使用时间最早、应用范围最广,但是在实际使用过程中,一个和典型的问题就是相比其他系列的单片机,51单片机更容易受到干扰而出现程序跑飞的现象,克服这种现象出现的一个重要手段就是为单片机系统配置一个稳定可靠的电源供电模块。

一种方法是应用变压电路将市电转换成稳定的直流电源;一种方法是直接应用外部5V电源供电或直接应用计算机USB电源供电。考虑到在整个系统中电源的需求并不唯一即单片机需要+5V电源供电,电机驱动芯片L298需要+12V电源供电所以电源方案选用将市电220V转变为5V和12V直流稳压电源来实现。采用双路输出的直流稳压电源。直流稳压电源又分成线性直流稳压电源和开关型直流稳压电源,因为线性直流稳压电源电路成

第13页 共41页

基于PWM直流电动机控制系统的设计

熟,稳定度高,文波小,干扰小而且有很多成熟是集成元件可选择,电路的实现十分方便[12]。

7805E?Vin Vout5VC347uC50.1uVCCD11ACAC3R15KC122200uV+V-4C20.1uGNDC41000uVout1LEDC60.1u3S1GND2Vin7812VS12V

图4-3 系统供电电路图

由上图可见,这个双路输出的线形直流稳压电源结构十分简单,只用了一个220V变12V的变压器,一个整流桥,两块稳压集成电路(7812和7805)和四个电容。图中C1是一个大容量的电解电容,起到低频滤波的作用。由于C1本身的电解比大,对高频交流成分的滤波效果比较差,所以为了改善滤波电路的高频抑制特性,在C1旁边并联一个高频滤波性能良好的小电容C2。而直流稳压电路输出端的电容C3和C4是用作改善稳压电源电路的瞬态负载响应特性[13]。

4.4 复位电路设计

单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。

单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数。复位电路由按键复位和上电复位两部分组成。

上电复位:AT89C52由高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。

按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、

第14页 共41页

基于PWM直流电动机控制系统的设计

RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。

此电路实在RC复位电路的基础上添加二极管实现,单一的RC复位电路可实现基础的复位要求但是解决不了电源缓慢下降带来的问题如果经常改变RC的参数会使驱动能力变差。添加了二极管以后在电源电压下降时电容瞬间放电。

图4-4 为按键高电平复位电路图

4.5 晶振电路设计

单片机系统里都有晶振,在单片机系统里晶振作用非常大,全称叫晶体振荡器,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。

在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。

单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。

晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需

第15页 共41页

基于PWM直流电动机控制系统的设计

要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。

AT89C52使用12MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可。

图4-5 外部晶振电路图

Y?CRYSTALC722uC822u

4.6 按键电路的选择与设计

键盘输入、显示输出是人机对话的重要手段,是很关键的人机联系设备。数据输出显示采用数码显示器较为实用可靠价廉;键盘实际上是一种按压式开关,通常,所用开关为机械弹性开关。在一些电路设计中,按键按下闭合后应产生一个负的矩形脉冲,但是由于在按动按键时总会有一些抖动,因此在开始和末尾会产生一连串的抖动,抖动的时间长短是由按键的机械特性决定,一般为5~10MS这是一个很重要的时间参数;而按键的稳定闭合期长短是由操作人员的按键动作所决定,一般为十分之几到几秒的时间,这个时间参数可作为一般的参考。

按键的闭合与否,反映在电压上就是呈现出高电平或低电平。如果高电平表示按键断开,低电平表示按键闭合,所以通过检测电平的高低状态,便可确认按键是否按下。为了确保CPU对一次按键动作只确认一次按键,必须消除抖动的影响。消除按键抖动一般有硬件软件两种方法。

硬件方法:滤波消抖电路。众所周知,RC积分电路具有吸收干扰脉冲的作用,所以只要适当的选择时间常数,让按键抖动信号通过此滤波电路,便可消除抖动影响。如图4-6所示,当K未按下时,Vc为0,OUT为1。当按下时,由于电容两端电压都不能跃变,即使在接触过程中出现抖动,只要C两端充电电压波动不超过G门得开启电压(TTL电平为0.8V左右),OUT将不会改变,这可通过适当选取R1、R2和C的值来实现。同样K在断开的时候,即使出现抖动,由于电容电压不能跃变,它要经过R2放电,只要电容两端的放电电压不超过G门关闭电压,OUT也不会改变。所以,关键R1、R2

第16页 共41页

基于PWM直流电动机控制系统的设计

和C时间常数的选取,必须保证电容由稳态电压充电到开启电压或放电关闭电压的延迟时间大于或等于10ms[14]。

图4-6 去抖动按键电路图

R16.1kSWSW-PBR26.1kC1VCC74ls1422u

软件消抖:如果按键较多,硬件消抖将不能满足要求,因此常采用软件的方法进行消抖。在第一次检测到有按键闭合时,首先执行一段延时10ms的子程序,然后再确认该按键电平是否仍保持闭合状态电平。如果保持闭合状态电平,则确认为有按键按下,从而消除了抖动的影响。

按键的识别:按键识别就是判断闭合键的键代码。目前有两种方法:一种是用硬件电路来识别,称为编码键盘;另一种是利用软件方法来识别,称为非编码键盘。在编码键盘中设有硬件检测电路,以确定哪一个按键闭合,并产生该键的代码。非编码键盘则是依靠时外部的硬件电路和软件来辨别哪一个闭合。对于单片机的开发应用系统来说,目前用的比较多的是非编码键盘。本设计由于按键输入较少并且单片机的端口资源有富余所以采用非编码键盘。

由于硬件设计比较复杂而且需要较多的按键器件,从经济的角度和方便程度来讲应用软件去抖动较为合适,所以设计选择软件去抖动方案[15]。

4.7 LED显示电路设计

显示器是计算机系统开发时使用的主要设备之一,它可将计算机的运算结果、中间结果的内容显示出来。目前由半导体发光二极管组成的数码显示器(简称LED)是最常用的输出显示设备。它以廉价可靠耐用对电流电压要求低等优点在计算机应用系统中获得广泛应用。LED在脉冲工作状态下亮度较强,一般每秒可导通100~500次。每段发光二极管须串接限流电阻,改变阻值可调整亮度[16]。

第17页 共41页

基于PWM直流电动机控制系统的设计

表4-2 7段数码管显示字符表

显示字符

0 1 2 3 4 5 6 7 8 9 A B

共阴极字型码

3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 77H 7CH

共阳极字型码 显示字符 共阴极字型码

C0H F9H A4H B0H 99H 92H 82H F8H 80H 90H 88H 83H

C D E F P U Y H L “灭”

39H 5EH 79H 71H 73H 3EH 6EH 76H 38H 00H

共阳极字型码

C6H A1H 86H 8EH 8CH C1H 91H 89H C7H FFH

LED数码管显示器有二种工作方式,即动态显示方式和静态显示方式。在动态显示方式中,各位数码管的各个端并连在一起,与单片机系统的一个I/O口相连,从该I/O口输出显示代码。每只数码管的共阳极或共阴极则与另一I/O口相连,控制被点亮的位。动态显示的特点是:每一时刻只能有1位数码管被点亮,各位依次轮流放点亮;对于每一位来说,每隔一段时间点亮一次。为了每位数码管能够充分被点亮,二极管应持续发光一段时间。利用发光二极管的余辉和人眼的驻留效应,通过适当地调整每位数码管被点亮的时间间隔(一般为1mS),可以观察到稳定的显示输出[20]。

在静态显示方式下,每位数码管的各个端与一个8位的I/O口相连。要在某一位数码管上显示字符时,只要从对应的I/O口输出并锁存其显示代码即可。其特点为:各数码管同时点亮,数码管中的发光二极管恒定地导通或截止,直到显示字符改变为止。相比而言,动态显示方式更节省硬件资源和I/O口,一般系统都会选择该种显示方式。故经综合考虑,决定选用LED数码管动态显示方式。动态显示电路图如图4-7所示。

第18页 共41页

基于PWM直流电动机控制系统的设计

图4-7 7段数码管动态显示电路图

由上图可以看到,单片机P2.0、P2.1、P2.2和P2.3作为BCD码的输出口,分别与74LS47的A、B、C和D引脚相接。单片机的P2.4、P2.5、P2.6和P2.7分别作为四位LED的由低位到高位的选通脚。设计中我采用了通过控制三极管来选通LED的方法。所使用的三极管是9014,该三极管是NPN管,当给它一个高电平时就导通,给它低电平时截止。由于LED正常的工作电压为3.5V左右,如果直接给LED选通端接5V电压,LED可能会烧毁,所以先接两个压降为0.7V的普通二极管进行降压后再送到三极管的集电极。这样做可以保证LED能正常地工作。

4.8 测速电路设计

对直流电动机的测速功能原理框图如图4-8所示。

第19页 共41页

基于PWM直流电动机控制系统的设计

N S N S I/O口 LED显示 AT89C52 3020 I/O口 施密特反向器 INT0口 5V 图4-8 霍尔元件测速原理图

74LS47 七段译码器 对转速的检测有很多传感器可以应用,如光学编码器,霍尔元件和霍尔接近开关等。考虑到成本和易用性等问题,本设计选用的是霍尔元件CS3020作为测速的传感器。在电机的转叶上贴上两片小磁钢,那么电机每转一圈,霍尔传感器输出两个脉冲。

CS3020霍尔传感器内部有5个部分组成,即由稳压电路、霍尔电势发生器、差分放大器、施密特触发器以及输出级组成。其功能是把磁信号转换成电信号[21]。

图4-9和图4-10是霍尔元件CS3020的功能图及输出特性。霍尔元件X为磁敏元件,当垂直于霍尔元件的磁场强度随之变化时,其两端的电压就会发生变化,经放大和整形后。即可在3脚输出脉冲电信号。其工作特性见图4-10。对于开关型传感器的正值规定是:用磁铁的S极接近传感器的端面所形成的B值为正值。由图4-10看出,当B=0时,OV为高电平;当外磁场增至OPB输出OV由高电平转为低电平。外磁场由OPB降RPB时输出OV由低电平反向,RPB为释放点。对于CS3020,OPB=02T,RPB=065T,OLV=8150mV,OHV=工作电压为4.5V~24V[17]。

图4-9 霍尔元件功能图

第20页 共41页

基于PWM直流电动机控制系统的设计

图4-10 霍尔元件输出特性

在系统中将霍尔元件的输出端与单片机的测速输入口INT0相连接即可实现测速功能。

第21页 共41页

基于PWM直流电动机控制系统的设计

5 系统软件设计

5.1 主程序流程图

图5-1 主程序流程图

如图5-1所示,程序首先是给AT89C52送取一个占空比为50%的数据。跟着对数据和中断进行初始化:对控制电机的选通信号与方向信号的引脚置0(通电时电机不启动,直到按下启动键后再启动,启动后的转向是正转);对显示子程序中用到的数据寄存单元及测速子程序中用到的时间寄存器、速度数据寄存器清零;设定T0的工作方式及定时时间,开中断,并让T0开始工作。接着就按顺序循环调用测速子程序、显示子程序和键盘扫描子程序[18]。

第22页 共41页

基于PWM直流电动机控制系统的设计

5.2 键盘扫描子程序

独立式键盘由四个按键组成,分别控制电机的启动、制动,正转、反转,加速和减速。其程序流程图如图5-2所示。

图5-2 键盘扫描子程序图

组成键盘的按键有触点式和非触点式两种,单片机中应用的一般是由机械触点构成的。在图中,当开关S未被按下时,P1.X输入为高电平,S闭合后,P1.X输入为低电平。由于按键是机械触点,当机械触点断开、闭合时,会有抖动动所以在键盘的应用中,一定要解决抖动问题。软件法其实很简单,就是在单片机获得P3.X口为低的信息后,不是立即认定S1已被按下,而是延时10毫秒或更长一些时间后再次检测P1.X口,如果仍为低,说明S的确按下了,这实际上是避开了按键按下时的抖动时间。

第23页 共41页

基于PWM直流电动机控制系统的设计

5.3 PWM波发生子程序

用延时的方法实现PWM波形输出的流程图如图5-3所示。在本设计中,应用单片机每50个机器周期为PWM波形的基本周期(AT89C52采用12MHz的晶体,即PWM波形的周期为50uS,其频率为20KHz),采用定频调宽的方法。定时器T0确定PWM波的频率,T1确定高电平的时间,这样改变T1的初值就可以改变占空比[19]。

图5-3 PWM波子程序

5.4 测速子程序

对于小型电动机速度的测量,比较常用的采用脉冲发生器来检测速度。通常可以使用以下两种方法:(1)M法,在一定时间间隔T内,对脉冲发生器的输出脉冲计数,从而得到与转速成正比的脉冲测量值m;(2)T法,通过测量脉冲发生器的脉冲周期来计算电动机转速的一种测量方法,脉冲周期的测量是借助频率已经确定的始终脉冲计数间接获得。一般情况下,M法适用于中高速的检测,速度越高误差就越小,测量的数据就越精确,相反速度越低,误差就越大;T法适用于低速的检测。在实际应用中,还有一种集以上两种方法的优点与一体的测速方法M/T法。在本设计中,对转速的测量精度没有很高的要求,而且转速较多的工作于中高速部分,所以选用M法测速。在测速功能的程序流程图中可以看到,利用单片机进行速度的转速测量比较简单。转速的检测,实际上是应用了两个中断服务子程序,T0中断和INT0中断。如图5-4所示,INT0中断执行的功能十分简单,就是外部每输入一个脉冲,R0寄存器就加1。T0中断的作用就是给定一个时间间隔T,在T内应用INT0中断对外部脉冲进行计数,时间到就送出R0的数值,并对其清零。由于测速电路设计应用了两块小磁钢,所以电机每转一圈,就会产生两个脉冲,因此我们只需要定时0.5S就可以得到电机1S的转速了。程序中的测速子程序,就是对转

第24页 共41页

基于PWM直流电动机控制系统的设计

速数据进行BCD码的转换并且显示。

图 5-4 测速子程序

5.5 显示子程序

在LED的硬件图中可以看到,单片机的P2口作为显示部分的数据输出口与控制输出口。其中P2口的低四位作为BCD码的输出口,在LED的硬件图中可以看到,单片机的P2口作为显示部分的数据输出口与控制输出口。其中P2口的低四位作为BCD码的输出口,P2口的高四位分别控制四位LED(LED1、LED2、LED3和LED4)。如图5-5所示,程序先把个位数据存储单元的BCD码送到P2口的低四位,在对P2.4置1选通LED1,这样LED1就显示个位的数据了,再延时1mS;接着再把十位数据存储单元的BCD码送到P2口的低四位,在对P2.5置1选通LED2,这样LED2就显示十位的数据了,再延时1mS;然后把百位数据存储单元的BCD码送到P2口的低四位,在对P2.6置1选通LED3,这样LED3就显示百位的数据了,再延时1mS;最后把千位数据存储单元的BCD码送到P2口的低四位,在对P2.7置1选通LED3,这样LED4就显示千位的数据了,再延时1mS后返回。其中,软件不可能显示到转速的千位数,因为我们只以一个寄存器储存转速数据,所以本软件最大的检测转速值是255转每秒。LED的千位是正反转的标志位,当电机正转的时候不显示(BCD码为1111),当电机反转的时候显示为“三”型(BCD码为1101)[22]。

第25页 共41页

图5-5 显示子程序

第26页 共41页基于PWM直流电动机控制系统的设计

基于PWM直流电动机控制系统的设计

6 系统仿真

6.1 按键电路仿真

Proteus软件不仅具有EDA软件的仿真功能还能仿真单片机及其外围器件。是单片机系统仿真的首选软件。这里选用其作为我设计的仿真。

在系统工作时,按键的作用是控制电机的工作状态。根据设计要求,在系统工作时按下P1.0接口按钮P3.0端口电平就要转置,按下P1.1端口的按键P3.1端口电平就要转置。按下P1.2、P1.3端口的接口按钮调速存储单元的存储值相应的变化。如图6-1,6-2所示。

图6-1 按键仿真电路图

图6-2 按键引起端口电平变化图

第27页 共41页

基于PWM直流电动机控制系统的设计

6.2 PWM波形仿真

将示波器的A端与单片机的P3.7口相连运行程序后端口输出波形如图6-3所示。

图6-3 PWM仿真电路图

6.3 测速显示仿真

由于霍尔测速原件不可仿真这里应用函数发生器产生一个方波接到INT0端口观察数码管的显示结果即可仿真测速功能。显示结果如图6-4,6-5所示。

图6-4 数码显示十位

第28页 共41页

基于PWM直流电动机控制系统的设计

图6-5 数码显示个位

由于采用动态显示所以每次只能显示一位数字,数码管显示表示外加脉冲的速度是33转/秒。

6.4直流电机驱动仿真

根据L298逻辑和设计要求,P3.0、P3.1逻辑相与送入IN1,P3.0与P3.1的反相端相与送入IN2则可实现按下SW1控制直流电机起停,按下SW2控制直流电机正反转。仿真如图6-6所示。

图6-6 直流电机驱动仿真

6.5 系统电源的仿真

根据设计要求将市电220V转变成+5V、+12V稳定电压输出仿真结果如下图所示:闭合开关SW1,可以看到直流电压表的示数分别为+5.02V和+12V符合设计的要求。仿真如

第29页 共41页

基于PWM直流电动机控制系统的设计

图6-7所示。

图6-7 电源仿真图

第30页 共41页

基于PWM直流电动机控制系统的设计

7 结 论

本设计中的PWM变频调速系统主要是由集成芯片组成。所用的芯片主要有:单片机AT89C52、施密特反向器74LS14,与门74HC08,NOT非门、七段译码器74LS47、霍尔传感器CS3020、电机驱动芯片L298。

本设计采用AT89C52构成整个系统的核心,产生PWM波,实现按键输入控制直流电机的起停、正反转、加减速的控制,并且应用数字测速元件CS3020对电机进行测速提高了精确度。

本设计的不足之处是:直流电动机的控制设计成了开环控制系统,虽然这样设计满足了课题的要求,但是在实际中系统的运行往往受外界环境因素干扰,如果设计成具有抗干扰功能闭环控制系统则应用的价值会更高。

第31页 共41页

基于PWM直流电动机控制系统的设计

TH0=0; ///装计数器初值 TL0=0; EA=1; ///开总中断 ET0=1; ///允许定时器0中断 ET1=1; ///允许定时器1中断 TR0=1; ///开计数器 TR1=1; ///开定时器 while(1) ///无限循环 { key(); ///调用按键扫描程序 control(); ///调用电机控制程序 display(); ///调用显示程序 speedcan(); ///调用速度处理程序 } }

///************************************************************************* ///中断处理程序,实现输出方波占空比控制

///************************************************************************* timer_1() interrupt 3 using 1 ///定时器1中断,使用寄存器组1 { TR1=0; ///停止定时 zc++; ///中断次数加1 ys++; control(); speedcan(); TH1=0Xfa; ///重装定时初值 TL1=0X24; TR1=1; }

///************************************************************************* ///脉宽控制程序,实现PWM的输出

///************************************************************************* control() { if(zc==a) { ena=0; } if(zc==15) { zc=0; ena=1; } }

第37页 共41页

基于PWM直流电动机控制系统的设计

///************************************************************************* ///显示子函数,显示当前电机的速度

///************************************************************************* display() { uchar i; gw=speedbuf; ///求速度个位值送各位显示缓冲 sw=(speedbuf/10); ///求速度十位值送十位显示缓冲 bw=(speedbuf/100); ///求速度百位值送百位显示缓冲 qw=speedbuf/1000; ///求速度千位值送千位显示缓冲 for(i=0;i<4;) ///循环选中数码管的每一位 { P2=wm[i]; if(i==0) ///显示个位 { P0=zm[gw]; delays(); } else if(i==1) ///显示十位 { P0=zm[sw]; delays(); } else if(i==2) ///显示百位 { P0=zm[bw]; delays(); } else if(i==3) ///显示千位 { P0=zm[qw]; delays(); } i++; } }

///************************************************************************* ///读速度值子函数,从计数器0中读计数值,经过计算,求出当前速度值

///************************************************************************* speedcan() { if(ys==500) {

第38页 共41页

基于PWM直流电动机控制系统的设计

TR0=0; ///停止计数 speedbuf=((TH0*256+TL0)*8)/3;///读计数器 ys=0; TH0=0; ///重装计数初值 TL0=0; TR0=1; ///开计数器 } }

///************************************************************************* ///延时子函数

///************************************************************************* delays() { uchar i; for(i=80;i>0;i--); }

///************************************************************************* ///键盘扫描子函数,实现电机的方向 速度的控制

///************************************************************************* key() { uchar i; P1=0xff; ///拉高P1口的电平 i=P1; ///读P1口 if(i==0xfe) ///第一个键按下 { delays(); ///延时去抖动 if(i==0xfe) ///再判断按键是否按下 { in1=0; ///电机顺时针转动 in2=1; } } if(i==0xfd) ///第二个键是否按下 { delays(); ///延时去抖动 if(i==0xfd) ///再判断按键是否按下 { in1=1; ///电机逆时针转动 in2=0; } } if(i==0xfb) ///第三个键是否按下 { delays();

第39页 共41页

基于PWM直流电动机控制系统的设计

if(i==0xfb) { a=a+n;

if(a>=15) a=15; } }

if(i==0xf7) { delays(); if(i==0xf7) { if(a>3) a=a-n; else a=3; } }

if(i==0xef) { delays(); if(i==0xef) { a=a+m; if(a>=15) a=15; } }

if(i==0xdf) { delays(); if(i==0xdf) if(a>3) a=a-m; else a=3; }

if(i==0xbf) { delays(); if(i==0xbf) { in1=0; in2=0;

///速度加((慢速)

///速度减(慢速)

///速度加,(快速)

///速度减,(快速)

///停止转动

第40页 共41页

基于PWM直流电动机控制系统的设计

} }

if(i==0x7f) { delays(); if(i==0x7f) a=5; }

while(P1!=0xff);

} ///回到中间速度 ///等待按键放下

第41页 共41页

本文来源:https://www.bwwdw.com/article/hy7a.html

Top