PWM直流电机调速
PWM直流电机调速
摘 要
本文首先简要介绍了直流小电机的实行方案最终选择方案一作为实施方案;然后介绍了PWM相关的原理脉冲宽度调制(PWM)是英文“Pulse Width Modulation”的缩写,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量,通信,功率控制与变换等许多领域。
脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。之后详细设计了基于MCS-51 单片机的直流小电机PWM调速的系统硬件电路以及各电路硬件说明目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,;最后是实现直流小电机PWM直流调速系统软件设计,附录有相关的系统源程序。
关键词 PWM,单片机,直流电机
Abstract
This article first briefly introduced as soon as directs current the small electrical machinery to implement the plan the selection scheme to take the implementation plan finally; Then introduced the PWM related principle The pulse width modulation (PWM) is English “Pulse Width Modulation” abbreviation, abbreviation pulse-duration modulation. It is loses using microprocessor's digit carries on the control to the analogous circuit one kind of very effective technology, widely applies in the survey, the correspondence, the power control and the transformation and so on many domains.
the pulse width modulation (PWM) is one kind carries on the digital coding to the simulated signal level the method. Through the high resolution counter's use, the square-wave dutyfactor is modulated uses for to carry on to a concrete simulated signal level the code.; Afterward detailed design based on MCS-51 monolithic integrated circuit's direct-current small electrical machinery PWM velocity modulation system hardware electric circuit as well as various electric circuits hardware explanation; Finally is realizes directs current the small electrical machinery PWM cocurrent velocity modulation system software design, the appendix has the related
system source program.
key word: PWM monolithic integrated circuit direct current machine
目 录
摘 要.....................................................................................................I Abstract................................................................................................II
第1章 绪 论..........................................................................................1
第2章 方案论证.....................................................................................3
2.1总体方案论证.................................................................................3
2.2 PWM的基本工作原理....................................................................5
2.3 直流电动机转速控制系统的工作原理..................................................5
2.4 PWM码简介及解码原理...................................................................6
第3章 系统硬件电路设计.........................................................................7
3.1电源电路设计.................................................................................7
3.2单片机最小应用系统的实现...............................................................7
3.3 D/A转换接口电路设计....................................................................10
3.3.1 DAC0832简介.........................................................................10
3.3.2 DAC0832与单片机的接口..........................................................11
3.4功放电路......................................................................................12
3.4.1晶体三极管.............................................................................12
3.4.2基本放大电路的组成.................................................................13
第4章 系统软件电路设计........................................................................14
4.1 软件实现方法...............................................................................14
4.2 程序的基本组成............................................................................14
4.2.1主程序设计.............................................................................14
4.2.2定时中断子程序设计.................................................................15 结论....................................................................................................20 致谢....................................................................................................21 参考文献..............................................................................................22
附录A..................................................................................................23
附录B..................................................................................................24
附录C..................................................................................................30
第1章 绪 论
1.1 选题背景和目的
直流电机脉冲宽度调制(Pulse Width Modulation-简称PWM)调速产生于20世纪70 年代中期,最早用于自动跟踪天文望远镜、自动记录仪表等的驱动,后来由于晶体管器件水平的提高及电路技术的发展, PWM 技术得到了高速发展,各式各样的脉宽调速控制器,脉宽调速模块也应运而生,许多单片机也都有了PWM输出功能。而MCS-51 系列单片机作为应用最广泛的单片机之一,却没有PWM 输出功能,本文采用定时器配合软件的方法实现了MCS-51
单片机的PWM输出调速功能,这对精度要求不高的场合是非常实用的。随着社会的发展,各种智能化的产品日益走入寻常百姓家。为了实现产品的便携性、低成品以及对电源的限制,小型直流电机应用相当广泛。对直流电机的速度调节,我们可以采用多种办法,本文在给出直流电机调整和PWM实现方法的基础上,提供一种用单片机软件实现PWM 调速的方法。
1.2 发展现况
PWM控制技术一直是变频技术的核心技术之一。1964年A.Schonung和H.stemmler首先提出把这项通讯技术应用到交流传动中,从此为交流传动的推广应用开辟了新的局面。从最初采用模拟电路完成三角调制波和参考正弦波比较,产生正弦脉宽调制SPWM信号以控制功率器件的开关开始,到目前采用全数字化方案,完成优化的实时在线的PWM信号输出,可以说直到目前为止,PWM在各种应用场合仍在主导地位,并一直是人们研究的热点。由于PWM可以同时实现变频变压反抑制谐波的特点。由此在交流传动及至其它能量变换系统中得到广泛应用。PWM控制技术大致可以为为三类,正弦PWM(包括电压,电流或磁通的正弦为目标的各种PWM方案,多重PWM也应归于此类),优化PWM及随机PWM。正弦PWM已为人们所熟知,而旨在改善输出电压、电流波形,降低电源系统谐波的多重PWM技术在大功率变频器中有其独特的优势(如ABB ACS1000系列和美国ROBICON公司的完美无谐波系列等);而优化PWM所追求的则是实现电流谐波畸变率(THD)最小,电压利用率最高,效率最优,及转矩脉动最小以及其它特定优化目标。
在70年代开始至80年代初,由于当时大功率晶体管主要为双极性达林顿三极管,
载波频率一般最高不超过5kHz,电机绕组的电磁噪音及谐波引起的振动引起人们的关注。为求得改善,随机PWM方法应运而生。其原理是随机改变开关频率使电机电磁噪音近似为限带白噪音(在线性频率坐标系中,各频率能量分布是均匀的),尽管噪音的总分贝数未变,但以固定开关频率为特征的有色噪音强度大大削弱。正因为如此,即使在IGBT已被广泛应用的今天,对于载波频率必须限制在较低频率的场合,随机PWM仍然有其特殊的价值(DTC控制即为一例);别一方面则告诉人们消除机械和电磁噪音的最佳方法不是盲目地提高工作频率,因为随机PWM技术提供了一个分析、解决问题的全新思路。
1.3 研究方法
本次设计是利用单片机8051设计的直流电机pwm调速,然后详细设计了基于MCS-51 单片机的直流小电机脉宽调速的实现方法,在设计过程中,可以充分利用8031及其最小应用系统,通过软件程序和硬件来实现对直流电机进行调速
第2章 方案论证
2.1总体方案论证
通过翻阅资料和网上查找,拟定二套设计方案:
图2.1 结构硬件原理图
由结构原理图可以看出它主要有以下几部分构成:单片机最小系统的应用、由DAC0832芯片组成的 D/A转换电路、电源电路、功放电路等。那么个组成电路的功能如下:在8051单片机最小应用系统中,P0口作8位数据线/低8位地址总线的复用口直接与各芯片的8根数据线相连,而P3口有第二功能作用。他们与其他外部元件相连接构成单片机的最小系统。
D/A转换电路主要是将单片机产生的波形从数字形式转化为模拟形式,并把输出电流转换成输出电压,并完成对输出电压峰值的控制。由一个DAC0832和两个运放组成,DAC0832将数字量转换成模拟量,而运放则是将输出电流转换成输出电压,并且将单极性输出转换成双极性输出。
电源电路主要是由7805芯片组成的电源电路。主要功能是给单片机最小系统以及D/A转换电路供电,外接电源为220伏的交流电。
功放电路主要由运算放大芯片组成,主要作用是提高输出信号的伏值和功率,使之能够驱动直流电动机能使他正常工作。
方案一优点:电路较复杂,灵活性强,通过硬件实现,编程也比较简单。直流调速准确。
缺点:设计较繁琐,成本高。
方案二:
图2.2结构硬件原理图
由结构原理图可以看出它主要有以下几部分构成:单片机最小系统的应用、驱动芯片、直流电机三部分组成。这里利用定时计数器让单片机P1 口的P1.0,P1.1 脚输出方波,然后经驱动芯片放大后来控制直流小电机(图2.2),让P1 口输出占空比不同的方波即可达到调速的目的。一个电机由P1 口的两根位线来控制。驱动芯片的输入电压实际上是两根位线的电压差,在调速时如果两根位线同时输出方波,它们之间的电压差控制起来就比较复杂。实际中是让其中一根位线长期为低电平,而另一根位线产生调速方波,这样两根位线的电压差就可通过控制其中一根位线来控制。当需要改变电机转动方向时,可以让输出低电平的位线输出方波,而让输出方波的位线一直输出底电平即可达到目的。定时计数器每中断一次,就使P1口控制位线(P1.0 或P1.1)产生一个高电平或低电平。这里把直流小电机的速度级设为7个等级,由等级数来决定一个周期的高电平的总个数。按一个脉冲(包括高电平和低电平)为30ms 来计算,一个方波周期7个脉冲(图2.3),周期即为210ms。占空比为高电平脉冲个数比上一个周期总的脉冲个数7。当高电平脉冲个数为1时,占空比为1/7,速度最低;当高电平脉冲个数为7 时,占空比为1,相当于电机全速运行,速度最高。
图2.3 电机调速方波
在定时器中断服务程序中,先判断一个方波周期到否,如果到了就将P1口控置位线恢复为高电平;如果一个方波周期还没到,就判断高电平冲个数到否,到了就应该将输出电平置低,否则继续保持P1口控制位线为高,中断返回,等待下一次定时中断。这样P1口控制位线就输出了所需占空比的调速方波。
方案二的优点:硬件电路结构简单,成本低。
方案二的缺点:利用单片机的P1.0和P1.1作为控制直流电机转速的,精度不够,不稳定。
经过论证我选择方案一作设计方案。
2.2 PWM的基本工作原理
PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电
机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。因此,PWM又被称为“开关驱动装置”。如图2所示,在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。只要按一定规律,改变通、断电的时间,即可让电机转速得设电机始终接通电源时,电机转速最大为,设占空比为D=t/T,则电机的平均速度为
最大值‰
平均值
最小值‰ x
图2 电枢电压“占空比”与平均电压关系=VmD (2)式中, —— 电机的平均速度;
— — 电机全通电时的速度(最大);D=/卜占空比。由公式(2)可见,当我们改变占空比D:t/T时,就可以得到不同的电机平均速度,从而达到调速的目的。严格地讲,平均速度与占空比D并不是严格的线性关系,在一般的应用中,可以将其近似地看成线性关系。
2.3 直流电动机转速控制系统的工作原理
直流电动机的转速与施加于电动机两端的电压大小有关。本系统用DAC0832控制输出到直流电动机的电压的方法来控制电动机的转速。当电动机转速小于设定值时.DAC0832芯片的输出电压增大,当大于设定值时则DAC0832芯片输出电压减小.从而使电动机以设定的速度恒速旋转。我们采用比例调节器算法。控制规律:
Y=KP e(t)+KI』e(t)dt
式中:Y一比例调节器输出,K 比例系数,K一积分系数e(t)一调节器的输入,一般为偏差值。系统采用了比例积分调节器,简称PI调节器,使系统在扰动的作用下,通过PI调节器的调节器作用使电动机的转速达到静态无差,从而实现了静态无差。无静差调速系统中,比例积分调节器的比例部分使动态响应比较快(无滞后),积分部分使系统消除静差。
2.4 PWM码简介及解码原理
PWM 码是一种脉宽调制码,它的组成为9MS 高电 平和4MS低电平引导脉冲,16 位系统识别码,8位数据 正码和8 位数据反码。我们要解的就数据码。一个PWM 码的0是由一个0.58ms的低电平和一个0.58ms的高电平87组成,1是由一个0.58ms的低电平地和一个1.58ms的高电平组成。解码原理是这样的。首先通过延时来丢开引导 码,然后通过解码丢掉16 位系统识别码,最后解系统正码和反码。解开后将正码取反看是否与反码相同,如果相同,即解开保存其值。解码0 或1是这样的。在低电平的 时候等待,直到为高了后,用一个0.882ms 的延时去量, 量完后,如果为低了,证明前面是一个0.58ms低电平和一个0.58ms 高电平地组成,即保存一个0.如果为高,则证明是由一个0.58ms 低电平地和一个1.58ms 高电平组成, 即保存一个1 .为1则再调一个延时,让它延到低电平。等待到高电平后重复上述过程解码。
第3章 系统硬件电路设计
3.1电源电路设计
本设计的电源都是正5V供电,电源电路是由一变压器,桥式整流电路,7805芯片所组成。单路原理图如下(图3.1)
图3.1电源电路原理图
3.2单片机最小应用系统的实现
8051属于MCS-51系列单片机的一种,它的内部结构框图如图3.2所示,它由以下几个部分组成:
图3.2 MCS51系列单片机的内部结构框图
·一个8位中央处理器CPU,它由运算部件、控制部件构成,其中包括振荡电路和时钟电路,其主要功能是完成单片机的运算和控制功能。
·128个字节的片内数据存储器RAM,用于存储读写数据。
·18个特殊功能寄存器,它用于控制和管理片内算术逻辑部件。单行I/O
口,串行I/O口、定时器/计数器、中断系统等功能模块的工作。
·4个8位并行输入输出I/O接口。P0口、P1口、P2口、P3口(共32线),用于并行输出或输入数据
·1个串行I/O口,它可使数据1位1位串行的在计算机的外设之间进行传送。 ·2个16位定时器/计数器。它可以设置成计数方式对外部事件进行计数,也可以设置成定时方式进行定时。
·一个具有5个中断源,可编程为2个优先级的中断系统,它可以接收外部中断申请,定时器/计数器中断申请和串行口中断申请。
另外,需要说明的一点是8051与其他MCS-51系列单片机相同,它有片内程序只读存储器ROM或EPROM,因此在使用中不必外接ROM或EPROM,样就能构成一个完整的系统。
MCS-51系列单片机芯片均为40个引脚。在40个引脚中有2个专用于主电源的引脚,2个外接晶体的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O引脚。功能如下:
1. 主电源引脚Vcc和VSS
VCC(40脚):接+5V电源正端;
VSS(20脚):接+5 V电源地端。
2. 接晶体引脚XTAL1和XTAL2,它们分别接外部石英晶体的两端。
3. 控制信号或与其它电源复用引脚
(1) T/VPD(9脚):RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。
(2) ALE/PROG(30脚):当访问外部存储器时,ALE以每机器周期两次的信号输出,用于锁存出现在P0口的低8位地址。
(3) PSEN (29脚):片外程序存储器读选通信号输出端,低电平有效。
(4) PP (脚):Ea为访问外部程序存储器控制信号,低电平有效。
4. 输入/输出(I/O)引脚P0口、P1口、P2口及P3口
(1)P0口(39脚-32脚):P0.0-P0.7统称为P0口,作为准双向8位输入/输出
接口。
(2) P1口(1脚-8脚):P1.0-P1.7统称为P1口,可作为准双向I/O接口使用。
(3) P2口(21脚-28脚):P2.0-P2.7统称P2口,一般作为准双向I/O接口。
(4) P3口(10脚-17脚):P3.0-P3.7统称为P3口,它为双功能口,可以作为一般的准双向I/O接口,也可以将每一位用于它的第2功能。其第2功能如表3.1所示。
第21脚至28脚相对应的8条口线P2.0至P2.7组成了P2口,P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
表3.1 P3口第2功能表
第32脚至39脚相对应的8条口线P0.0至P0.7组成了P0口,P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
有了这些标准输入输出口,使用起来就很方便了。这样,我们可编制一段程序,向这些标准口中存入一定的数据(这些数据也可叫控制字),各口线引脚就会呈现出不同的高低。比如我们向P0、P1、P2、P3口中送入数据#00H,则每个口的各口线电位状态就会为“0000 0000”,也就是各条口线皆呈低电位。我们再向P0口送人数据#03H
。
P0.0至P0.7各条口线所呈电位为“0000 0011”,也就是只有P0.0和P0.1两条口线所对应的引脚呈高电位。另外,还应知道,P0口的P0.0-P0.7的位地址是80H至87H,P1口的P1.0至P1.7的位地址是90H至97H,P2.0至P2.7和P3.0至P3.7的位地址分别是AOH至A7H和BOH至B7H。
3.3 D/A转换接口电路设计
3.3.1 DAC0832简介
在本设计中,D/A转换电路采用的是一个8位D/A转换器0832,它是单电源供电,在+5V——+15V范围内均可正常工作。其基准电压的范围为+10V——-10V, 电流建立时间为1us,低功耗20mW,其引脚如图3.3所示;
图3.3 DAC0832引脚图
各引脚的功能如下:
(1) D7-D0:转换数据输入端。
(2) 片选信号,输入,低电平有效。
(3) ILE:数据锁存允许输入信号,输入,高电平有效。
(4) 写信号1,输入,低电平有效。
(5) 写信号2,输入,低电平有效。
(6) 数据传送控制信号,输入低电平有效。
(7) IOUT1:电流输出1,当DAC寄存器各位为全 “1”,时电流最大;
为全“0”时,电流为0。
(8) IOUT2:电流输出2,电路中保证IOUT1 +IOUT2=常数。
(9) Rfb:反馈电阻端,片内集成的电阻为5K。
(10) Vref:参考电压,可正可负,范围为-10——+10V。
(11) DGND:数字量地。
(12) AGND:模拟量地。
3.3.2 DAC0832与单片机的接口
DAC0832与单片机的接口有3种连接方式,即直通方式、单缓冲方式及双缓冲方式直通方式不能直接与系统的数据线相连,需要另加锁存器,因此一般很少用,通常用的是另外两种连接方式。在本系统中,由于只用了一路模拟量输出,因此采用单缓冲方式。其连接方式如图3.4所示:
图3.4 DAC0832单缓冲连接方式
需要说明的是DAC0832的输出为电流,使用时必须经过转换电路将其转换为电压。而当只采用一级运算放大器转换时,如果它的参考电压为正电压,那么经过 运算放大器后的输出电压为负电压,反之则得到正电压。
图3.5 DAC0832的双极性输出接口
它们的关系为:当Vref接+5V(或-5V)、数字量的变化范围为0—255时,输出电压范围为0——10V(或-10V),如果参考电压为正电压而想得到正电压输出的话,可采用双极性电压输出电路。在本设计中,由于输出为正弦波,要求双极性电压输出,因此采用两极放大电路,电路图如图13所示。其中运放A2的用来把运放A1 的单极性输出变为双极性输出。D/A转换电路的最大输出幅度由0832VREF端的参考电压决定。
3.4 功放电路
放大电路是电子电路中应用最多的单元电路。利用放大电路可以把微弱的电信号放大到足够的幅度去带动负载工作,完成预定任务。放大电路有很多种,本系统采用结构最简单的单管放大电路。晶体三极管,主要的功能是就电流放大作用,是电子电路的核心元件。
3.4.1晶体三极管
1. 晶体三极管的电流放大作用
三极管最基本的作用是放大作用,它可以把微弱的电信号变成一定强度的信号,当然这种转换仍然遵循能量守恒,它只是把电源的能量转换成信号的能量罢了。其实质是三极管能以基极电流微小的变化量来控制集电极电流较大的变化量。这是三极管最基本的和最重要的特性。三极管有一个重要参数就是电流放大系数β=ΔIc/ΔIb。电流放大倍数对于某一只三极管来说是一个定值,但随着三极管工作时基极电流的变化也会有一定的改变。当三极管的基极上加一个微小的电流时,在集电极上可以得到一个是注入电流β倍的电流,即集电极电流。集电极电流随基极电流的变化而变化,并且基极电流很小的变化可以引起集电极电流很大的变化,这就是三极管的放大作用。
2. 晶体三极管的三种工作状态
截止状态:当加在三极管发射结的电压小于PN结的导通电压,基极电流为零,集电极电流和发射极电流都为零,三极管这时失去了电流放大作用,集电极和发射极之间相当于开关的断开状态,我们称三极管处于截止状态。
放大状态:当加在三极管发射结的电压大于PN结的导通电压,并处于某一恰当的值时,三极管的发射结正向偏置,集电结反向偏置,这时基极电流对集电极电流起着控制作用,使三极管具有电流放大作用,其电流放大倍数β=ΔIc/ΔIb,这时三极管
处放大状态。饱和导通状态:当加在三极管发射结的电压大于PN结的导通电压,并当基极电流增大到一定程度时,集电极电流不再随着基极电流的增大而增大,而是处于某一定值附近不怎么变化,这时三极管失去电流放大作用,集电极与发射极之间的电压很小,集电极和发射极之间相当于开关的导通状态。三极管的这种状态我们称之为饱和导通状态。
3.4.2基本放大电路的组成
在放大电路中,三极管有三种基本的接法:共发射极放大电路、共基极放大电路、共集电极放大电路。
1. 共发射极放大电路
共发射极放大电路是应用最普遍的放大电路。被放大的信号从三极管的基极和发射极输人,放大后的信号从三极管的集电极和发射极输出,以发射极为输人、输出回路的公共端,所以称为共发射极放大电路。它的电流放大倍数较大,功率放大倍数更大,但在强信号是失真较大。
2. 公基极放大电路
被放大信号从发射极和基极输人,放大后的信号从集电极和基极输出,以基极为输人、输出回路的公共端,所以称为共基极放大电路。它的输入阻抗低,输出阻抗高,电流放大倍数小于1,不易与前级匹配。功放原理图图3.6所示
图3.6功放电路图
第4章 软件系统设计
4.1 软件实现方法
利用单片机对PWM信号的软件实方法。MCS一51系列典型产品8051具有两个定时器。通过控制定时器初值,从而可以实现从8051的任意输出口输出不同占空比的脉冲波形。
由于PWM信号软件实现的核心是单片机内部的定时器,而不同单片机的定时器具有不同的特点,即使是同一台单片机由于选用的晶振不同,选择的定时器工作方式不同,其定时器的定时初值与定时时间的关系也不同。因此,首先必须明确定时器的定时初值与定时时间的关系。定时器/计数器为Ⅳ位,则定时器初值与定时时间的关系为:基于单片机用软件实现直流电机PWM调速系统51式中, —— 定时器定时初值;Ⅳ—— 一个机器周期的时钟数。求出占空比D,再根据周期分别给电机通电个单位时间t。,所以M=t /t。。然后,再断电个单位时间,所以=t2/t 。改变和的值,从而也就改变了占空比D。计数法的基本思想是:当单位延时个数求出之后,将其作为给定值存放在某存储单元中。在通电过程中,对通电单位时间t。的次数进行计数,并与存储器的内容进行比较。若不相等,则继续输出控制脉冲,直到计数值与给定值相等,使电机断电Ⅳ随着机型的不同而不同。在应用中,应根据具体的机型给出相应的值。这样,我们可以通过设定不同的定时初值,从而改变占空比D,进而达到控制电机转速的目的。
通过控制定时器初值和,从而可以实现从8051的任意输出口输出不同占空比 的脉冲波形。由于PWM信号软件实现的核心是单片机内部的定时器,而不同单片机的定时器具有不同的特点,即使是同一台单片机由于选用的晶振不同,选择的定时器工作方式不同,其定时器的定时初值与定时时间的关系也不同。因此,首先必须明确定时器的定时初值与定时时间的关系。如果单片机的时钟频率为.厂,定时器/计数器。
4.2 程序的基本组成
4.2.1主程序设计
主程序部分主要对定时计数器T1的工作方式、中断入口地址、计数初值、中断产生、进行设置,为了方便程序编程。
图4.1主程序流程图
4.2.2 定时中断子程序设计
1. 定时计数器TMOD设置
选用T0 作为产生脉冲用的定时器并且使它工作在模式1 下。在模式1 中,寄存器TH0 和TL0 以全8 位参与操作,构成一个16 位定时/计数器,当TH0 溢出时向中断标志位TF0进位,并申请中断。在这种模式下T0 定时时间最长,有利于在更大的范围内对电机进行调速。
工作模式寄存器TMOD。格式如表4.1 所示:
TMOD 的高4 位用于T1,低4 位用于T0,4 种符号含义如下:
GATE:门控位。
C/T :定时/计数器方式选择位。C/T =0 为定时器方式,C/T =1时为计数器方式。 M1M0:工作模式选择位,具体如下:
表4.1 TMOD寄存器
GATE C/T M1 M2 GATE C/T M1 M0
0 0 0 1 0 0 0 0
M1M0=00:模式0(13 位定时/计数器)
M1M0=01:模式1(16 位定时/计数器)
M1M0=10:模式2(8 位自动重装常数的定时/计数器)
M1M0=11:模式3(2 个8 位定时/计数器,仅对T0)
因在程序中T0 是作为定时器,T0 的C/T 控制位就应设置为0;T0 工作在模式1,TMOD中控制T0的M1M0应设置为01,其它位全部设置为0,即应给工作模式寄存器TMOD赋值01H。
2. 工作方式1及初值计算
当M1,M0=01时,定时/计数器处于工作方式1,此时,定时/及数器的等效电路仍以定时器0为例,定时器1与之完全相同。
方式0和方式1的区别仅在于计数器的位数不同,方式0为13位,而方式1则为16位,由TH0作为高8位,TL0为低8位,有关控制状态字(GATA、
TR0)和方式0相同。
在工作方式1下,计数器的计数值范围是: 1—65536(216)。当为定时工作方式1时,定时时间的计算公式为:
(216—计数初值)╳晶振周期╳12
如果单片机的晶振选为6.000MHz,则最小定时时间为:
[213—(216—1)]╳1/6╳10-6╳12=2╳10-6(s)=2(us)
(216—0)╳1/6╳10-6╳12=131072╳10-6(s)=131072(us)。
定时/计数器中的计数器是在计数初值基础上以加法计数的,并能在计数器从全“1”变为全“0”时自动产生溢出中断请求。因此,可以把计数器计数初值设定为TC,定时器定时时间T 的计算公式为:
T=(M-TC)T 计数[2]式中M 为计数器模值,该值和计数器工作模式有关。在模式1 时M 为216。在定时器模式下,T 计数是单片机振荡周期的12 倍。上式也可写成:TC=M-T/T 计数在程序设计中工作模式为模式1,则计数器模值M=216=65536;、TF0、
假设单片机仿真器的晶振频率为22.1184MHz,则:
T 计数=12/(22.1184×106)=5.425347×10 。
若定时时间长度为30ms,则:
TC=65536-30×10-3/5.425347×10-7=10240=2800H
给定时器赋值时:
MOV TL0, #00H;
MOV TH0, #28H
3. 中断设置
除特殊功能寄存器TCON 和SCON 中的某些位与中断有关以外,还有一个特殊功能寄存器即中断允许寄存器IE 用来设定各个中断源的打开和关闭。其形式如表4.2 所示。
图4.2 中断系统的结构框图
IE寄存器各位的含义如下:
EA(IE.7):CPU的中断总允许标志位。当EA=1时,CPU允许中断;当EA=0时,CPU禁止所有的中断请求。
表4.2 IE寄存器
EX1 ET0 EX0 IE EA X ET2 ES ET1 位地址 AFH ADH ACH ABH AAH A9H A8H
ES(IE.4):串行口中断允许位。当ES=1时,允许串行口中断;当ES=0时,禁止中断。
ET1(IE.3):定时器T1的溢出中断允许位。当ET1=1时,允许T1中断;当ET1=0时,禁止T1中断。
EX1(IE.2):外部中断1的中断允许标志位。当EX1=1时,允许外部中断1中断;当ES=0时,禁止外部中断1中断。
ET0(IE.1):定时器T0溢出中断允许位。当ET0=1时,允许T0中断;当ET0=0时,禁止T0中断。
EX0(IE.0):外部中断0允许位。当EX0=1时,允许外部中断0中断;当EX0=0时,禁止外部中断0中断。
图4.3 定时中断子程序流程 根据程序的需要,先为IE的各位赋值:
外部中断0的中断允许位: EX0=1,允许外部中断 SETB 定时器T0溢出中断允许位: ET0=1,允许中断请求 SETB
EX0 ET0
允许中断(EA=1,CPU允许中断) SETB EA
ES
串行口中断允许位: ES=1,允许串行口中断 SETB
以上各位等于1 时,CPU 开放中断;等于0 时,CPU 禁止该中断。单片机系统复位后,IE 中各位均被清零,即禁止所有中断。因此程序中开T0 中断则应将ET0置1,另外如果要使用中断EA 也要置1,故应给IE 赋值为82H。 4. 定时器T1中断子程序流程图如图4.3。
结论
本文利用单片机的定时计数器结合软件计数器实现了MCS-51 单片机对直流小电机的PWM 控制功能,此方法实现简单,在玩具小车以及其他小车的控制中有一定的实用性。中断允许寄存器IE通过单片机来实现电机调整有多种途径。相对于其他用硬件或者硬软结合的方法实现对电机进行调整,采用PWM 用纯软件的方法来实现调速过程,具有更大的灵活性和更低的成本,能够充分发挥单片机的效能,对于简易速度控制系统的实现提供了一种有效的途径。对于软件,采用计数法加软件延时法进行设计的思路,为采用纯软件对电机速度的平滑调节提供了一种不错的解决方案,经过在“油辊电机控制系统”中的实际应用证明,能够取得满意的效果。本系统用单片机构成电动机转速的控制系统,采用比例积分调节器算法,效率高,电路简单,使用也比较广泛。本文作者的创新点:本系统用单片机对直流电动机的转速进行控制,采用比例积分调节器算法,效率高.电路简单.使用比较广泛。
致谢
经过几个月的忙碌和学习,本次毕业论文设计已经接近尾声。作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有指导教师的的督促指导,想要完成这个设计是难以想象的。在这里首先要感谢我的论文指导老师李英老师。李老师平日里工作繁多,但在我做毕业设计的每个阶段,从选题到查阅资料,论文提纲的确定,中期论文的修改,后期论文格式调整等各个环节中都给予了我悉心的指导。除了敬佩李老师的专业水平外,她的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。最后还要感谢大学四年来所有的点子系老师,是在他们的教诲下,我喜欢上了电子信息工程这个专业,掌握了坚实的专业知识基础,为我以后的扬帆远航注入了动力。
感谢我的朋友,感谢和我一起生活了四年的室友,兄弟。感谢你们在我失意时给我鼓励,在失落时给我支持,感谢你们和我一路走来,让我在此过程中倍感温暖!
感谢这四年的大学生活,让我告别了我最后的学生时代真真正正的步入社会,感谢大家,一个人的成长绝不是一件孤立的事,没有别人的支持与帮助绝不可能办到。我感谢可以有这样一个空间,让我对所有给予我关心、帮助的人说声“谢谢”!今后,我会继续努力,好好工作!好好学习!
参考文献
[1] 李维军,韩小刚. 《基于单片机用软件实现直流电机PWM调速系统》[J].机电一体化,2004(5).
[2] 杨光友,朱宏辉.《单片微型计算机原理及接口技术》[M].北京:中国水利水电出版社,2002.
[3] 潘新民.《微型计算机控制技术》.北京:电子工业出版社,2003
[4] Boudreaux R R,Nelms R M,Hung John Y.《Simulation and Model—ing of a DC ——DC converter controlled by an 8 ——bit microcon一~oHer》.IEEE —APEC.2.1997
[5] 张力,赵永健.《现代电力电子技术》.北京:科学出版社,1992
[6] 林蔚天.《微机控制PWM直流调速》.上海电机技术高等专科学校学报,2001,12(4)
[7] 李玮,赵江,刘建业.《一种实用的单片机控制的数字式调速系统》.吉林化工学院学报,2002.6(2)
[8]尹耕钦,唐绪伟.《城市交通信号灯模拟控制系统》[J].微计算机信息2005,10—1
[9]楼然苗,李光飞编著《51单片机设计实例》北京航空航天大学 出版社
[10]余永权,汪明慧,黄英编著《单片机在控制系统中的的应用》.电 子工业出版社
[11]陈伯时.主编.《电力拖动自动控制系统》.机械工业出版社
附录A
附录B
程序:
PWMH DATA 30H PWM DATA 31H COUNTER DATA 32H ORG
0000H
AJMP MAIN ORG
000BH
AJMP ZDT0 ORG
0100H
MAIN:MOV MOV MOV MOV MOV MOV MOV SETB SETB SETB LOOP:MOV MOVX ACALL
MOVX JNZ
MOV ACALL CLR CLR
SP,#60H PWMH,#01 COUNTER,#0 PWM,#255 TMOD,#02H TL0,#09CH TH0,#09CH ET0 EA TR0
DPTR,#7FF8H @DPTR,A DELAY
A,@DPTR NEXT
38H,#0 DIR1 TR0 P1.0
AJMP NEXT:CJNE MOV ACALL CLR SETB AJMP OK:MOV MOV MUL
MOV MOV ACALL ACALL MOV MOV MUL
MOV MOV ACALL MOV ACALL SETB SJMP ZDT0:PUSH
PUSH
INC
MOV
CJNE
LOOP A,#255,OK 38H,#1 DIR1 TR0 P1.0 LOOP PWMH,A B,#100 AB 41H,A 40H,B NDIVI BCD A,43H B,#10 AB 41H,A 40H,B NDIVI 36H,45H DIR TR0 LOOP PSW ACC COUNTER A,COUNTER A,PWMH,INTT01
CLR
INTT01:CJNE
MOV
SETB
INTT02:POP
POP
RETI
NDIVI:PUSH
SETB CLR
MOV MOV MOV MOV MOV MOV MOV CLR
SUBB MOV SUBB JNC
MOV DVL1: CLR
MOV RLC
MOV MOV RLC
P1.0
A,PWM,INTT02 COUNTER,#0 P1.0 ACC PSW
PSW RS0 RS1 R2,#0 R3,#0 R4,40H R5,41H R6,#0 R7,#255 A,R3 C A,R7 A,R2 A,R6 NDVE1 B,#10H C A,R5 A R5,A A,R4 A
MOV MOV RLC
MOV MOV RLC
MOV MOV MOV CLR
SUBB MOV MOV SUBB JB JC NDVM1:MOV
MOV MOV INC NDVD1:DJNZ
CLR AJMP NDVE1:SETB EXIT: MOV
MOV POP
RET BCD:MOV
R4,A A,R3 A R3,A A,R2 A R2,A PSW.5,C A,R3 C A,R7 R1,A A,R2 A,R6
PSW.5,NDVM1 NDVD1 R2,A A,R1 R3,A R5 B,DVL1 PSW.5 EXIT PSW.5 45H,R5 43H,R3 PSW
A,45H
MOV
DIV
MOV
MOV
RET
DIR: MOV
MOV
MOV
MOV
MOV
MOV
OOP1:MOV
MOV
MOVC
CJNE
ANL
JJ:MOV
JNB
CLR
INC
DJNZ
RET
DIR1:MOV
MOV
MOV
MOV
MOV
MOV
MOV B,#10 AB 38H,A 37H,B 35H,#10 34H,#10 33H,#10 SCON,#0 R6,#6 R0,#33H A,@R0 DPTR,#TAB A,@A+DPTR R6,#2,JJ A,#7FH SBUF,A TI,$ TI R0 R6,OOP1 33H,#10 34H,#10 35H,#10 36H,#0 37H,#0 SCON,#0 R6,#6
MOV
LOP1:MOV
MOV
MOVC
MOV
JNB
CLR
INC
R0,#33H A,@R0 DPTR,#TAB A,@A+DPTR SBUF,A TI,$ TI R0 R6,LOP1 DJNZ
RET
DELAY:MOV R4,#100
R3,#200 L2:MOV
L1:NOP
NOP
NOP
DJNZ
DJNZ
RET R3,L1 R4,L2
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H,0FFH
END
附录C
The pulse width modulation (PWM) is English “Pulse Width Modulation” abbreviation, abbreviation pulse-duration modulation. It is loses using microprocessor's digit carries on the control to the analogous circuit one kind of very effective technology, widely applies in the survey, the correspondence, the power control and the transformation and so on many domains. the pulse width modulation (PWM) is one kind carries on the digital coding to the simulated signal level the method. Through the high resolution counter's use, the square-wave duty factor is modulated uses for to carry on to a concrete simulated signal level the code. The PWM signal was still the digit, because is assigning any time, the full peak-to-peak value's direct-current power supply either completely has (ON), either does not have (OFF) completely. The voltage either the current supply are pass (ON) by one kind or break (OFF) the repetitive pulse sequence to add to the fictitious load to come up. Passes time is the direct-current power supply adds to the load time, breaks time is the power supply the time which separates. So long as the band width is enough, any simulation value may use PWM to carry on the code
Most loads (, regardless of being the modulation frequency which inductive load or capacitive load) need is higher than 10Hz, usually the modulation frequency is 1kHz to 200kHz between. the many micro controller interior contain have the PWM controller. For example, Microchip Corporation's PIC16C67 contains two PWM controllers, each may choose the turn-on time and the cycle. The dutyfactor is the turn-on time and the cyclical ratio of; Modulation frequency for cyclical reciprocal. Before carrying out the PWM operation, this kind of microprocessor request completes the following work in the software: the * establishment provides the modulation square-wave on the piece timer/counter cyclical * to establish turn-on time * in the PWM control register to establish the PWM output the direction, this output is general I/O base pin * start timer * enables PWM controller PWM a merit is from the processor to the controlled system signal is the digital form, does not need to carry on the digital-analog conversion. Let the signal maintains for the digital form may fall the noise effect to is smallest. Noise only then to sufficiently logical 1 change for logic 0 or logical 0 changes for logic 1:00, can also have
the influence to the digital signal. is PWM is opposite to the noise resistance's enhancement in analogue control other merit, moreover this is also in certain time uses in the primary cause which PWM corresponds. Changes PWM from the simulated signal to be possible to lengthen the signal distance enormously. In the receiving end, may filter the modulation high frequency square-wave through suitable RC or the LC network and return to original state the signal into the analog form. in brief, PWM already the economy, the frugal space, anti-chirp performance, are one kind are worth general engineers the effective technology which uses in many design applications.
At present the monolithic integrated circuit seeps each domain which lives to us, which domain was nearly very difficult to find not to have monolithic integrated circuit's trail. Missile's navigation equipment, on the airplane each kind of measuring appliance's control, computer's network communication and the data transmission, the industrial automation process's real-time control and the data processing, the widespread use's each kind of intelligent IC card, the civil luxury car's safety system, the videocorder, the camera, the completely automatic washer's control, as well as program control toy, electronic pet and so on, these cannot leave the monolithic integrated circuit. Say nothing of automatic control domain robot, intelligent measuring appliance, medical instrument. Therefore, monolithic integrated circuit's study, the development and the application will accomplish one batch of computer application and the intellectualized control scientist, engineer. The monolithic integrated circuit widely applies in the instruments and meters, the domestic electric appliances, the medical equipment, domains and so on aerospace, special purpose equipment's intellectualized management and process control, approximately separable following several categories: 1. monolithic integrated circuit has the volume on smart instrument measuring appliance's application the to be small, the power loss is low, the control function is strong, the expansion is flexible, merits and so on microminiaturization and easy to operate, widely apply in the instruments and meters, the union different type's sensor, may realize such as physical quantity and so on voltage, power, frequency, humidity, temperature, current capacity, speed, thickness, angle, length, degree of hardness, element, pressure surveys. Uses the monolithic integrated circuit control to cause the
instruments and meters digitization, the intellectualization, the microminiaturization, and the function compares uses the electron or the digital circuit is more formidable. For example precise measurement equipment (dynamometer, oscilloscope, each kind of analyzer).
2. may constitute various control system, the data acquisition system in industrial control's application with the monolithic integrated circuit. For example factory assembly line intellectualized management, elevator intellectualization control, each kind of alarm system, with computer networking constitution two-stage control system and so on. 3. may say like this in domestic electric appliances' application that present's domestic electric appliances basically have used the monolithic integrated circuit control, praises, the washer, the electric refrigerator, the air conditioner, the color television, other acoustic video frequency equipment from the electricity food, to arrive at the electronic weighting equipment again, all kinds, omnipresent. 4. modern monolithic integrated circuit has the correspondence connection of generally in the computer network and correspondence domain's application the , may carry on the data communication very conveniently with the computer, for provided the extremely good physical conditions application between the computer network and communication facility's, present's communication facility has basically realized the monolithic integrated circuit intelligent control, from the handset, the telephone, the small program controlled switch, the building automatic correspondence ringing system, the train wireless communication, arrived at the mobile phone which again in the routine work found at everywhere, the colony mobile communication, radio intercom and so on. 5. monolithic integrated circuit's monolithic integrated circuit's is also quite widespread in medical equipment domain application the in medical equipment use, for example medical life-support machine, each kind of analyzer, guardianship meter, ultrasound diagnosis equipment and hospital bed ringing system and so on. in addition, the monolithic integrated circuit in the industry and commerce, the finance, the scientific research, the education, domains and so on national defense aerospace has the very widespread use.
脉冲宽度调制(PWM)是英文“Pulse Width Modulation”的缩写,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量,通信,功率控制与变换等许多领域。脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。多数负载(无论是电感性负载还是电容性负载)需要的调制频率高于10Hz,通常调制频率为1kHz到200kHz之间。
许多微控制器内部都包含有PWM控制器。例如,Microchip公司的PIC16C67内含两个PWM控制器,每一个都可以选择接通时间和周期。占空比是接通时间与周期之比;调制频率为周期的倒数。执行PWM操作之前,这种微处理器要求在软件中完成以下工作:
* 设置提供调制方波的片上定时器/计数器的周期
* 在PWM控制寄存器中设置接通时间
* 设置PWM输出的方向,这个输出是一个通用I/O管脚
* 启动定时器
* 使能PWM控制器
PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。对噪声抵抗能力的增强是PWM相对于模拟控制的另外一个优点,而且这也是在某些时候将PWM用于通信的主要原因。从模拟信号转向PWM可以极大地延长通信距离。在接收端,通过适当的RC或LC网络可以滤除调制高频方波并将信号还原为模拟形式。总之,PWM既经济、节约空间、抗噪性能强,是一种值得广大工程师在许多设计应用中使用的有效技术
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业
自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
1.在智能仪器仪表上的应用
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。
2.在工业控制中的应用
用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
3.在家用电器中的应用
可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。
4.在计算机网络和通信领域中的应用
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
5.单片机在医用设备领域中的应用
单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。