基于8051单片机控制的电机PWM调速系统设计.docx
《基于8051单片机控制的电机PWM调速系统设计.docx》由会员分享,可在线阅读,更多相关《基于8051单片机控制的电机PWM调速系统设计.docx(50页珍藏版)》请在冰豆网上搜索。
![基于8051单片机控制的电机PWM调速系统设计.docx](https://file1.bdocx.com/fileroot1/2023-1/31/4e60648d-d3b1-4eee-a632-73b1588ae8d3/4e60648d-d3b1-4eee-a632-73b1588ae8d31.gif)
基于8051单片机控制的电机PWM调速系统设计
摘要
电动机作为最主要的机电能量转换装置,其应用范围已遍及国民经济的各个领域。
电路构造简单、需要的元器件少、耐用又能灵活控制是PWM调速系统的最大优点,同时又因为能大范围调速、多样化的控制途径、能与数字信号兼容通信,使其在工业各个领域得到了非常广泛的应用,PWM技术成为电机调速主流技术之一。
本文主要研究了利用8051系列单片机控制PWM信号实现对直流和交流电机转速进行控制的方法。
文章中采用了专门的芯片组成了PWM信号的发生系统,并且对PWM信号的原理、产生方法以及如何通过软件编程对PWM信号占空比,SPWM信号的频率进行调节等均作了详细的阐述。
直流电机调速系统驱动模块采用L298芯片构成,单片机使用定时器计时的方式输出PWM控制信号驱动L298芯片,以L298输出驱动直流电机。
文章介绍了独立按键调节PWM的占空比的实现方法,如何通过LED数码管显示PWM的占空比,以及制作了直流调速系统实物模型。
在交流电机调速系统部分,介绍了面积等效法,及用51单片机和CD4040计数器,74LS58比较器产生三相频率可调的SPWM控制型号的方法。
SPWM的频率可由独立按键调控。
主电路部分,由芯片IR2010和IGBT为主的交直交三相整流逆变电路输出不同频率的交流电对交流电机进行变频调速。
最后在Proteus里仿真控制电路,能产生较为理想的SPWM波。
关键词:
51单片机PWM电机调速
Abstract
MotorasaElectromechanicalenergyconversiondevice,it’sapplicationhasbeenthroughoutallareasofthenationaleconomy,hasbeenwidelyusedinindustrialautomation,machineryandequipment,transport,airpowerandotherfields.Simplecircuitstructure,lesscomponentsrequired,durablyandversatilecontrolledarethebiggestadvantageofthePWMspeedcontrolsystem,butalsobecauseofthewiderangeofspeed,diversecontrolpathwaysandcompatiblewiththedigitalsignalcommunication,ithasbeenverywidelyusedinvariousindustryfields.PWMmotorcontroltechnologyhasbeenoneofthemostimportanttechnologiesinmotorspeedcontrolfields.Inhedesign,thePWMsignalgeneratedbyMCS-51isusedtoachievetheDCandACmotor’sspeedcontrol.ThisarticlemainlyintroducesthemethodtogeneratethePWMsignalbyusingMCS-51single-chipcomputertocontrolthespeedofaD.C.motor.ItalsoclarifiestheprinciplesofPWMandthewaytoadjustthedutycycleofPWMsignal.L298chipisusedinthesystemofspeedcontrollingofDCmotor.TheDCmotorisdrivenbytheoutputofL298.ThisarticlealsointroducesthewaytoadjustthedutycycleofthePWMthroughkey,andhowtheLEDdigitaldisplayPWMdutycycle.thesystemofspeedcontrollingofDCmotorparts,thearticlemainlyintroducesthemethodsofusing8051,CD4040counterand74LS58comparatortogeneratesathree-phaseSPWMwhosefrequencyadjustable.FrequencyofSPWMcanbeadjustedbythebutton.TheAC-DC-ACcircuitbasedonthechipIR2010andIGBToutputsthree-phasedifferentfrequencyACtodriveACmotor.
keywords:
MCS-51PWMMotorspeedcontrol
第一章绪论
1.1开发背景
电动机作为最主要的机电能量转换装置,其应用范围已遍及国民经济的各个领域,已被广泛应用于工业自动化,机械设备,交通工具,航空动力等领域中[1]。
传统的基于模拟器件设计的电机调速系统,其最大的缺点是容易产生飘移和过量的功率损耗,以及容易受到噪声干扰。
为弥补这些不足,大大的增加了控制回路的复杂程度。
系统不易于安装和调试而且更容易发生故障。
随着PWM技术的快速发展,电机控制也得到一定发展,其应用领域越来越广。
近年来由于半导体技术、计算机技术、控制工程理论的日趋成熟与完善,促使电机调速开始由模拟化向数字化转变,利用单片机控制电机成为了电机控制的重要方法之一。
智能化、高可靠性已成为电机调速技术发展的趋势[2]。
现代PWM控制系统主要采用全控型的开关功率器件,而用单片机可以很方便的实现对全控型的开关功率器件的控制。
单片机作为电机调速系统的核心主要功能是产生PWM控制信号以及控制逻辑电路。
体积小,重量轻,效率高,功耗小,价格低廉,是单片机的独特优势,因而在电机调速系统中单片机成为了首选的控制芯片。
1.2选题目的和意义
PWM控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式[3]。
PWM技术的基本原理早在20世纪初就已提出,但是由于各种因素的制约,比如计算机运算速度,电力电子器件的性能等,在上世纪80年代以前始终默默无闻。
直到进入上世纪70年代末,得益于半导体理论的突破和制造技术提高,全控型电力电子器件开始问世并得到飞速发展,PWM控制技术才真正进入控制领域的大舞台。
截至目前,已经出现了多种PWM控制技术。
电路构造简单、需要的元器件少、耐用又能灵活控制是PWM调速系统的最大优点,同时又因为能大范围调速、多样化的控制途径能与数字信号兼容通信,使其在工业各个领域得到了非常广泛的应用,PWM调速系统的开发与应用促进了工业化的发展,因此学习研究PWM电机调速系统对我们以后的工作有重要意义。
目前许多单片机都有PWM输出模块。
51单片机作为应用最广泛的单片机之一,用其实现PWM控制为了实现产品的小型化、低成本以及节能环保有不容小觑的意义。
PWM调速这一技术在各行业中得到越来越广泛运用。
它的高效节能,易于构建控制系统的优势得到各行业人士的青睐。
而其在变频调速领域的应用也有巨大的挖掘潜力。
对于耗能高、产出低,需要大量机电设备的企业,采用PWM调速技术可以让企业获得巨大的竞争优势。
1.3设计任务及方法
设计要求以8051单片机为核心使用PWM调制技术设计电机调速系统,包括直流电机调速系统和交流电机调速系统。
控制程序要求由汇编语言编写。
直流电机调速系统要求能够由单片机输出占空比可调的PWM波实现对电机的调速。
占空比由按键控制,实现对电机启停,加减速,正反转的控制。
并能由LED数码管显示占空比,模拟仿真并制作实物模型。
交流电机调速系统要求实现由单片机输出三相频率可调的SPWM波,实现对交流电机的调速,并模拟仿真控制电路。
在本次设计的直流电机调速系统中,PWM控制信号由51单片机通过定时器以软件方法产生,驱动电路主要由L298芯片构成。
PWM信号驱动L298芯片,然后以L298的输出来驱动直流电机,实现直流电机调速。
通过独立按键调节PWM的占空比,并控制电机的加减速,正反转。
并由LED数码管显示PWM的占空比便于对直流电机实时控制。
制作了直流调速系统实物模型,模型运行良好,可实现要求功能。
在交流电机调速系统中,根据面积等效法,将正弦波等效成一系列等副不等宽的脉冲序列,并将脉冲序列的通断时间做成表格,51单片机以读取表格的方式通过控制CD4040计数器和74LS58比较器产生三相频率可调的SPWM控制型号。
SPWM的频率可由独立按键调控。
主电路部分,由大功率开关管IGBT驱动芯片IR2010和IGBT为主组成交直交三相整流逆变电路,能输出不同频率的交流电对交流电机进行变频调速。
最后在Proteus里仿真控制电路,能产生较为理想的SPWM控制信号。
1.4PWM调速技术
PWM调速技术出现以来在性能、成本方面体现出了巨大优势,因此得到了广泛应用,并且迅速被应用于电机调速领域中。
PWM是通过控制电力电子器件开关的导通和断开,使得直流电压随着电力电子器件开关的通断变化。
当开关管闭合时,输出高电平直流电压;当开关管断开时,输出低电平直流电压。
直流电压信号随着电力电子器件开关的周期性通断变化,呈现出方波似得脉冲信号。
依据据这个原理,只要通过改变电力电子器件开关导通和关断的时间比率来改变直流电压脉冲信号的宽度或者频率,就可改变输出直流电压的平均值。
SPWM(正弦波脉宽调制调制技术)属于PWM多脉冲可变脉宽调制技术的一种.根据采样控制定理中一个著名的结论:
冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同[3].通过一系列的等高不等宽的脉冲序列拟合正弦波。
以每一区间的面积相等的等效的原则,SPWM调制输出与正弦波等效的一系列等幅不等宽的矩形脉冲序列。
把一个正弦半波分成n等份,然后用面积相等的等幅矩形脉等效代替正弦曲线与横轴所围成的面积,让正弦波每一等份的中点与各脉冲的中点保持重合,这样,由n个等幅不等宽的矩形脉冲所组成的波形就与半周的正弦波等效[4]。
同样,也可用一系列负脉冲波等效正弦波的负半周。
这样就可用SPWM波等效交流电波。
低频特性基本上是相同的,只是在高频段有点差异。
PWM调速方式在电机调速运用中体现其他调速方式不具有的独特优势,随着对PWM技术研究的不断深入,其应用领域还将不断扩大。
第二章总体设计概述
2.1系统设计总体思路
8051单片机控制的PWM电机调速系统实现的主要功能包括:
控制直流电机的加减速、正反转。
控制交流电机实现有级调速。
该调速系统主要由以下几个部分构成:
输入部分:
利用键盘控制电机的启停、加减速、正反转。
控制部分:
主要由8051单片机外围电路组成。
直流电机PWM调速系统主要由
电机和驱动芯片L298组成。
交流电机PWM调速系统主要有74LHS58比较器、CD4040计数器、电机、IGBT和IGBT驱动芯片IR2010组成。
显示部分:
直流调速系统PWM控制信号的占空比由LED数码管显示,便于对电机实时控制。
图2.1系统框图
2.2单片机的选型
单片机作为电机调速系统的核心,主要起到输出PWM控制信号和对各部分电路的控制作用。
AT89S51是一种CMOS8位单片机,性能强大,且价格低廉。
内部ROM为64K,RAM为128B,扩展可达64K。
具有FlashMemory程序储存器,可反复擦写上千次。
AT89S51性价比高,基本能完成本次设计要求,所以本次设计选用它作为控制单片机。
AT89S51单片机引脚图如下
图2.2单片机引脚图
论文中所用到的管脚说明:
P0口
第一功能作为双向I/O口,第二功作为地址总线低8位及数据总线。
P1口
准双向I/O口
P2口
第一功能作为双向I/O。
第二功能作为地址总线高8位。
P3口
第一功能作为双向I/O。
第二功能作为控制用。
VCC(40脚)
电源端
VSS(20脚)
接地端
ALE(30脚)
地址锁存有效输入端,与P0口引脚的第二功能配合使用。
XTAL1(18脚)和XTAL2(19脚)
接外部晶振,在单片机内部为反向放大器的输入输出端,构成片内振荡器。
EA/VPP(31引脚)
片外程序储存器选用端。
RST(9脚)
复位信号输入端。
当有大于两个机器周期的高电平脉冲信号输入时,单片机复位。
表2-18051单片机部分引脚说明
P3口第二功能定义:
P3.0
RXD串口的输入端
P3.1
TXD串口的输出端
P3.2
单片机的外部中断0输入
P3.3
单片机的外部中断1输入
P3.4
定时器TO的输入端
P3.5
T1定时器的输入端
P3.6
单片机写使能端
P3.7
单片机读使能端
表2-28051单片机P3口第二功能说明
第三章直流电机调速系统
直流电机转速n的表打死为:
式中:
U-电枢端电压
I-电枢电流
R-电枢电路总电阻
Φ-电极磁通量
K-由电机结构决定的常数
由上式可知,调节直流电机转速n的方法有以下三种:
1.改变电枢电压U。
改变电枢电压以改变直流电机转速,这种方法属于恒转矩调速方法,特点是响应速度较快,能实现无级平滑调速,适用场合较广;
2.改变电机电枢电阻R。
直接在直流电机电枢外串联适当的电阻实现调速,这种方式便于实现。
但不足之处是不能进行无级调速;而且能耗高、机械特性软。
3.改变电机主磁通Φ。
在实际应用中只能将磁通减弱,使直流电机额定转速增加,这种方法属于恒功率调速法,缺点响应速度慢,调速范围较窄,所以适用场合比较少;
因此常用的调速系统普遍以改变电枢电压调实现速为主,本次设计也采用这种方法。
本次设计中采用的PWM直流电机调速系统中,是通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制直流电机的转速。
图3.1PWM波形
如图3.1,电机的平均电压为Va=Vmax*D,其中Va是加载到直流电机电枢上的平均电压;Vmax是给电机供电的电源电压;D=t1/T是占空比。
由上式可知,只要改变高电平持续时间t1,就能改变占空比D,就能改变电机电枢平均电压,也就能改变电机运行速度,从而达到调速的目的。
事实上控制信号的占空比与电机运行平均速度并非呈严格的线性关系,但是在实际应用中,可以将其以线性关系处理。
改变PWM脉冲占空比主要有三种方法:
定宽调频法、调宽调频法、定频调宽法。
定宽调频法:
保持t1不变,只改变t2,这样使频率改变。
调宽调频法:
保持t2不变,只改变t1,这样使频率改变。
定频调宽法:
使周期T不变,同时改变t1和t2.
前两种方法在调速过程中改变了控制信号的频率,当控制信号的频率与系统固有频率接近时会产生共振,使系统不稳定,所以不使用这两种方法。
利用定频调宽法电机在调速时运行稳定,并且控制脉冲易于用单片机实现。
3.1PWM信号的发生
PWM控制信号是由单片机8051输出,在本设计中使用8051的P1.0脚作为PWM信号的输出端。
在本设计中采用定频调宽的PWM调速方式,即PWM脉冲信号的周期(频率)是固定的,通过调节PWM脉冲高电平状态的持续时间来改变PWM脉冲信号的占空比,从而改变平均电压值,这样就实现了直流电机的调速目的。
在本设计中,PWM脉冲信号的具体实现方法如下:
1.先设定一个PWM脉冲的基准定时t=100us,再设定PWM脉冲固定的周期值T,在本设计中为T=100t,然后设定了一个占空比寄存器DUTYCYCLE用于储存占空比,在本设计中设定的初始占空比DUTYCYCLE=50。
以R7作为计数器。
然后对单片机AT89C51的定时器TO(也可以用T1)进行设置,将其溢出定时设置为一个脉冲基准定时t,给定时器TO赋初始值0FFC9(单片机使用12MHz晶振,机器周期1us,当T0溢出时即完成100us定时),THO、TLO分别装载初始值的高字节、低字节,通过设置后,当定时器TO每发生一次溢出中断,对计数器R7(初始值为0)执行加1操作。
2.然后,将计数器R7值与占空比DUTYCYCLE进行比较,当R7值小于DUTYCYCLE值时,单片机引脚P1.0输出高电平,当R7值大于或等于DUTYCYCLE的值,P1.0输出低电平,当R7值等于100即满一个周期时,R7清零。
如此反复,则P1.0口输出的PWM信号即为占空比为DUTYCYCLE的电压脉冲信号。
3.最后通过独立按键K1、K2可以增大或减小DUTYCYCLE值,即通过按键调节占空比。
按K1按键时,DUTYCYCLE值增大,占空比增加,PWM脉冲宽度变宽;按K2按键时,DUTYCYCLE的值减小,占空比减小,PWM脉冲宽度随之变窄。
整个过程中PWM信号的周期值T不会改变,本次设计中在程序中将其设定为T=100t=10ms,可以通过修改程序对其进行重新设定。
PWM发生程序
中断程序T0INT:
MOVTH0,#0FFH;重载初始值
MOVTL0,#9CH
INCR7;计数器加1
MOVA,R7
CJNEA,DUTYCYCLE,LL1;与目标占空比比较,若相等翻转电平为低
CLRP1.0
SJMPLLEND
LL1:
CJNER7,#100,LLEND;满一个周期翻转电平为高
SETBP1.0
MOVR7,#00H;计数器清零
LLEND:
RETI
3.2功率放大驱动电路
直流电机调速系统的驱动电路主要由L298芯片及其外围电路构成。
L298是SGS公司开发的一种小功率电机驱动芯片。
额定功率25W,最高工作电压为46V;持续工作电流为2A;。
芯片内置两个H桥全桥式驱动器,可由标准逻辑电平信号控制;能够驱动直流和步进电动机;具有两个控制电机的停转的使能控制端ENA、ENB。
通过外接检测电阻,可将电路变化信息反馈回控制系统。
L298N芯片能够驱动一台四相步进电机,或者同时驱动两台直流电机[6]。
5、7、10、12脚接输入控制电平,其引脚排列如图3.2所示。
引脚
符号
功能
1
15
SENSINGA
SENSINGB
电流监测端,芯片内部两个H桥的电流反馈角
2
3
OUT1
OUT2
全桥式驱动器A的输出端
4
Vs
电机驱动电源输入端
5
7
IN1
IN2
全桥式驱动器A的控制信号输入端,标准TTL逻辑电平信号输入
6
11
ENABLEA
ENABLEB
使能控制端.标准TTL逻辑电平信号输入;低电平时全桥式驱动器禁止工作。
8
GND
接地端,芯片本身的散热片与8脚相通
9
Vss
逻辑控制部分的电源输人端口
10
12
IN3
IN4
全桥式驱动器B的控制信号输入端,标准TTL逻辑电平信号输入
13
14
OUT3
OUT4
全桥式驱动器B的输出端
表3-1L298引脚功能
表3-2L298对直流电机控制的逻辑真值表
图3.2L298的引脚图图3.3L298与直流电机电路连接
由于8051单片机输出的PWM信号的电压值很小,不能直接驱动直流电机工作,所以需要利用驱动电路来放大PWM的信号电压值,在系统的硬电路中驱动电路由驱动芯片L298构成,8051单片机的P1.0口与L298的EnA引脚相连接,作为驱动芯片L298的使能端,单片机通过P1.0口输出PWM脉冲信号,实现控制直流电机的减速和加速;8051单片机的P1.3引脚分两路,一路直接连接到L298的IN1引脚,;另一路通过芯片74LS14与L298的IN2引脚相连接;IN1、IN2引脚的输入信号随P1.3引脚的输出电平变化。
当P1.3引脚输出低电平时,IN1引脚为低电平,IN2引脚为高电平高,此时直流电机正向运转;L298的输出引脚与对应的电机工作状态见表3.2。
P1.3输出高电平时,IN1引脚为高电平,IN2引脚为低电平,此时直流电机反向运转。
通过改变P1.3输出电平就可以实现对直流电机运转方向的控制。
D1-D4为续流二极管。
在设计中只用了L298的A驱动端口没有用到的驱动B端口相关的引脚全部悬空。
3.3控制键盘设计
本设计中采用了一些按键来对直流电机调速系统进行控制操作。
在本系统中采用的是3个独立的按键K1,K2,K3分别为加速,减速,正反转按键。
这三个按键分别连接到单片机8051的P1.1、P1.2、P1.3引脚上。
连接方式为:
单片机引脚通过上拉电阻连接到+5V电源,通过按键接地。
程序运行时,在显示程序中调用键盘扫描模程序来判断这三个独立按键的状态:
如果按键被按下,单片机通过键盘扫描程序将检测到引脚为低电平。
随即进入处理程序,单片机执行相关指令对直流电机进行控制,从而实现对电机的加减速、正反转的控制。
键盘扫描程序的具体执行方式是:
程序每执行一次占空比显示就依次扫描一下三个键是否被按下,若按下,则根据按键指令执行相关动作,相关命令执行完后,程序重新回到主程序;如果按键没有按下,则程序跳过执行程序,直接返回,执行主程序。
本系统中的3个独立按键与单片机的硬件连接见图3.4,K1,K2,K3分别为加速,减速,正反转键。
图3.4键盘与单片机的连接图3.5键盘扫描程序框图
键盘扫描程序
JBBU,KEY1;判断加速键是否按下,若没有转KEY1
LCALLDL2;延时消抖
JBBU,KEY1
SJMPL1
KEY1:
JBBD,KEY2;判断减速键是否按下,若没有转KEY2
LCALLDL2;延时消抖
JBBD,KEY2
SJMPL2
KEY2:
JBBT,KEY3;判断转向键是否按下,若没有转KEY3
LCALLDL2;延时消抖
JBBT,KEY3
CPLP1.4;改变转向
L5:
JNBBT,L5;等待按键释放
SJMPKEY3
L1:
INCDUTYCYCLE;占空比加一
SJMPJUDGE1
L2:
DECDUTYCYCLE;占空比减一
SJMPJUDGE1
JUDGE1:
MOVR1,#30H;限制占空比在0到100间
CJNE@R1,#100,JUDGE2
MOVDUTYCYCLE,#100
JUDGE2:
CJNE@R1,#0,L3
MOVDUTYCYCLE,#0
L3:
JNBBU,L3;等待按键释放
L4:
JNBBD,L4
3.4LED显示
在直流电机调速系统中为了便于实时控制,采用LED数码管显示PWM波的占空比,数码管是由8段条状的发光二极管(LED)"a,b,c,d,e,f,g,dp"组合而成,排列顺序如下图3.5。
数码管能实现阿拉伯数字和部分英文字母的显示。
根据公共端com的连接方式分类,数码管可分为共阳数码管和共阴数码管两种。
对于共阳