单片机控制PWM的直流电机调速系统的设计.doc
《单片机控制PWM的直流电机调速系统的设计.doc》由会员分享,可在线阅读,更多相关《单片机控制PWM的直流电机调速系统的设计.doc(51页珍藏版)》请在冰点文库上搜索。
单片机控制PWM的直流电机调速系统的设计
摘要:
在国民生产中,随着现代技术的发展,电力电子技术已得到了全面的发展,其技术已应用到各个领域。
在各类机电系统中,由于直流电机具有良好的启动、制动和调速性能,直流电机调速系统已广泛运用于工业、航天领域的各个方面,最常用的直流调速技术是脉宽调制(PWM)直流调速技术,具有调速精度高、响应速度快、调速范围宽和损耗低的特点.而利用计算机数字控制也成了直流调速的一种手段,数字控制系统硬件电路的标准化程度高,控制软件能够进行复杂运算,可以实现不同于一般线性调节的最优化、自适应、非线性、智能化等控制规律,此外还拥有信息存储、数据通信和故障诊断等模拟系统无法实现的功能
关键字:
AT89C51单片机;PWM技术;编码器;直流电动机
TheDesignOfPWMControlledDCMotorSpeedControlSystemBasedOnSingleChip
Abstract:
Inthenationalproduction,alongwiththedevelopmentofmoderntechnology,electronictechnologyhasbeenacomprehensivedevelopment,thetechnologyhasbeenappliedinvariousfields.Inallkindsofmechanicalsystem,duetothedcmotorhasagoodstart,brakeandtheperformanceofspeed,dcmotorcontrolsystemhasbeenwidelyusedinindustry,spaceflight,mostcommonlyuseddcspeedcontroltechnologyisapulsewidthmodulation(PWM)dcspeedcontroltechnology,whichhasahighprecision,fastresponsetime,highspeedrangeandwidthofthelowlosscharacteristicsanduseofcomputerdigitalcontrolhasbecomeakindofmethodofdcspeedcontrolsystem,thehardwarecircuitofahighdegreeofstandardization,controlsoftwaretocarryoutcomplexoperationcanberealized,differentfromthegenerallinearoptimizationandadjustmentoftheadaptive,nonlinear,intelligentcontrollaw,alsohaveinformationstorage,datacommunicationandfaultdiagnosiscannotachievesuchsimulationsystem
Keywords:
AT89C51microcontroller;PWMtechnology;encoder;DCMotor
目录
1.引言 1
2.系统方案论证 2
2.1系统总方案论证与选择 2
2.2设计模块方案比较与分析 3
2.2.1电机调速控制模块 3
2.2.2PWM调速工作方式 4
3硬件部分 4
3.1单片机的选型 4
3.2PWM控制技术 8
3.3驱动电路 9
3.3.1芯片IR2110性能及特点 9
3.3.2IR2110的引脚图以及功能 9
3.4PWM控制H桥双极性主电路 11
3.5检测回路 13
3.5.1光电编码盘 14
3.6键盘及显示电路 15
3.6.1键盘/显示芯片8279简介 15
3.6.3显示器设计 16
4模块的原理与应用 17
4.1PWM调脉宽方式 17
4.2定时器/计数器 17
4.3直流电机调速原理 18
4.4PWM基本原理及实现方法 18
4.5PWM在直流调速中的应用 18
4.6桥式可逆PWM变换器 19
4.7M/T法测速原理 21
5软件部分 22
5.1主程序及系统初始化模块 22
5.2模块程序设计 23
5.2.1外部中断0模块设计 23
5.2.2外部中断1模块设计 23
5.2.3内部定时器T0溢出中断设计 23
5.3中断子程序模块 24
5.4键盘/显示模块设计 24
5.5数字PID流程图 26
5.6源程序 29
谢辞 35
参考文献 36
4
1.引言
在电气传动领域中,随着各项技术水平的不断提高,使得传统工艺有了深层次的提高,对人类的生产与生活,产生了深刻且深远的影响,已经与我们息息相关。
由于直流电动机具有良好的起动、制动性能,适宜在大范围内平滑调速,因此在许多需要调速或快速正反向的电力拖动系统中得到了广泛的应用。
而且,从控制的角度来看,直流调速还是交流调速,都用到拖动系统的基础。
早期直流电动机的控制均以模拟电路为基础,由运算放大器、非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难,触发精度易受电网电压波动的影响,触发脉冲不对称度较大,调节器中的运算放大器,因网压和温度变化引起的漂移会产生运算误差,模拟器件老化也会引起运算误差,甚至使已经整定好的系统性能变差,这些都阻碍了直流电动机控制技术的发展和应用范围的推广。
随着单片机技术的日新月异,使许多控制功能及算法可以采用软件技术来完成,不但为直流电动机的控制提供了更大的灵活性,而且使系统能达到了更高的性能,从而大大节约了人力资源,降低了系统成本,有效地提高了工作效率。
因为单片机具有小巧灵活、成本低、易于产品化、可靠性好、适应温度范围宽、易扩展、控制功能强等优点,用单片机取代模拟电路作为电动机的控制器,使电路更简单,模拟电路为了实现控制逻辑需要许多电子元件,使电路复杂,使用单片机微处理器后,绝大多数控制逻辑可通过软件实现可以实现较复杂的控制,单片机有更强的逻辑功能,运算速度和精度高、有大容量的存储单元,因此有能力实现复杂的控制灵活性和适应性强,单片机的控制方式是由软件完成的,如果需要修改控制规律,一般不必改变系统的硬件电路,只需修改程序即可,在系统调试和升级时,可以不断尝试选择最优参数,非常方便无零点漂移,控制精度高、数字控制不会出现模拟电路中经常遇到的零点漂移问题,无论被控量的大小,都可以保证足够的控制精度可提供人机界面,多机联网工作等优点。
所以在电气传动实时控制系统中受到重视和普遍应用。
利用单片机逻辑功能强和软件灵活的优点,不仅可使很多控制硬件软件化,便于参数的设定和调整,而且可以同时对系统工作中的各种信息数据进行诊断、检测和及时处理,加强了实时维护和提高了控制系统的可靠性。
它的发展趋势将是向大容量、高性能化、外围电路内装化等方面发展。
2.系统方案论证
2.1系统总方案论证与选择
方案一:
直接加直流电源来控制电机的转动速度;根据电动机在其额定电压时,电动机有一定的额定转速。
根据其输入电压的减小,其转动速度也相应的减小。
从而在传统的改变电动机的转速问题中,就是利用所给电动机的电压的不同,而达到人们所需要的大约速度。
方案二:
以单片机AT89C51为中心通过D/A转换器,将单片机数字量转换为模拟量,从而起到控制电动机的转速问题。
其中在单片机控制部分通过按键直接从程序中调出所需要速度的值,同时输到数码显示部分和D/A转换部分以实现电动机的调速。
键盘
AT89C51单片机
数码显示
D/A0832转换
电动机
图1电路组成框图
方案三:
采用AT89C51单片机进行控制。
本设计需要使用的软件资源比较简单,只需要完成编码器采样部分、键盘控制部分以及显示输出功能。
采用AT89C51进行控制比较简单、易控制、可靠性高、抗干扰能力强、精度高且体积大大减小。
输出速度的调节是通过键操作,显示速度。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器.具有4K字节可编程闪烁存储器,可擦除的的只读存储器(PEROM),ATMEL的AT89C51是一种高效微控制器.AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案.三级程序存储器锁定、128*8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和电模式、片内振荡器和时钟电路:
电路框图如图2
图2电路组成框图
方案分析:
方案一只能以减小所给电压值而能使电动机的转速有相应的减小,此方案操作性差且不安全。
方案二不能及时的从电动机那里得到相应的转动速度,而是直接从程序哪儿调用相应的数值给数码显示。
所以,此处的电路在速度的显示上失去了其真实性。
方案三在可操作性与实时性方面都都结合了本专业特点,从控制理论与控制技术出发,充分发挥与应用本学科特点。
所以,设计采用方案三。
2.2设计模块方案比较与分析:
2.2.1电机调速控制模块:
方案一:
采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。
但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。
更主要的问题在于一般电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。
方案二:
采用继电器对电动机的开或关进行控制,通过开关的切换对电机的速度进行调整。
这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。
方案三:
采用由达林顿管组成的H型PWM电路。
用单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。
这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。
兼于方案三调速特性优良、调整平滑、调速范围广、过载能力大,因此本设计采用方案三。
2.2.2PWM调速工作方式:
方案一:
双极性工作制。
双极性工作制是在一个脉冲周期内,单片机两控制口各输出一个控制信号,两信号高低电平相反,两信号的高电平时差决定电动机的转向和转速。
方案二:
单极性工作制。
单极性工作制是单片机控制口一端置低电平,另一端输出PWM信号,两口的输出切换和对PWM的占空比调节决定电动机的转向和转速。
由于单极性工作制中,应用相对简单易于实现与操作,所以我们采用了单极性工作制。
3硬件部分
3.1单片机的选型:
Wl>>n$L AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
3.1.1主要特性:
+{a},Pm Xp7{s7hSP
· 8031CPU与MCS-51兼容{)3-RR ~f2b{uc9H
·4K字节可编程FLASH存储器(寿命:
1000写/擦循环)?
d0x<(.^-
全静态工作:
0Hz-24KHzeF@-daIx& e92zofQR
·三级程序存储器保密锁定hf!
{R qbsnm#N
·128*8位内部RAMP&]SN JA
;,^9W
·32条可编程I/O线hZ!
K,U·两个16位定时器/计数器R's"gT5;
lArYT·6个中断源R|b%Lsa= Bh#K3B|O
·可编程串行通道>Y}^'`{qQ a]7By$z
·低功耗的闲置和掉电模式%W$Wy~9+ <W[2^Z
·片内振荡器和时钟电路mh\
^`5~ a\Y|6 qV1(3
·
图3单片机芯片
3.1.2.管脚说明:
gqzCL,Q unAd20(b*p
VCC:
供电电压。
-i..bm [h^xy0:
m
GND:
接地。
)UGR`&QR %B}I";(w9
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
xqdee:
RD n&4x>R3^|z
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
p?
}o{0&Z L@#-\V6.
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
&eF^qL]T:
2LzI2Dn
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
"hv9PGg6
2
qh*5s"
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
'1-jf* CeNWlM=W
口管脚备选功能v6w8="T- 6.T/Kj$DWa
P3.0RXD(串行输入口)]W8.]oLh "m38*sx
P3.1TXD(串行输出口)E'OBh0$!
e -?
MpHSho$
P3.2/INT0(外部中断0)#!
Id%=P2 WE]+Vs
P3.3/INT1(外部中断1),9o[4%>I [>tI"(39
P3.4T0(记时器0外部输入)s_o)MyCVC )Z2p^Pmx
P3.5T1(记时器1外部输入)zN;u.8)h0 "@(;g!
)
P3.6/WR(外部数据存储器写选通)z=IkMktD l?
uo/
P3.7/RD(外部数据存储器读选通)gh~;6t*a (ddtRfXUN
P3口同时为闪烁编程和编程校验接收一些控制信号。
5V/y(4 ]/Uw]%4s
I/O口的内部结构如图4:
|2pRdn^ &**;rVNG,,w_#-
I/O
存储器
EPROM/ROM
定时/计数器
运算器
控制器
中断
CPU
片内振荡器
RAM/SFP
并行口
存储器扩展控制器
串行口
XTAL
图4内部结构
I/O口作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从外部读入数据而
是把端口锁存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器只有读端口时才真正地把外部的数据读入到内部总线上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作这是由硬件自动完成的不需要我们操心:
\Hs6?
00 ]h`w(M`
读引脚时也就是把端口作为外部输入线时首先要通过外部指令把端口锁存器置1然后再实行读引脚操作否则就可能读入出错为什么看上面的图如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q^为1加到场效应管栅极的信号为1该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1若先执行置1操作则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入由于在输入操作时还必须附加一个准备动作所以这类I/O口被称为准双向口89C51的P0/P1/P2/P3口作为输入时都是准双向口接下来让我们再看另一个问题从图中可以看出这四个端口还有一个差别除了P1口外P0P2P3口都还有其他的功能w%o)Q+ @!
nt2(e
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
g|)DXz/K?
2yiD<\
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
%?
>mc bNIX%r%7
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
Jxe|wh3 M=VrrD
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
2pvyNYGV _\Ko|I
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
:
d#o0', 249
}V.
XTAL2:
来自反向振荡器的输出。
2y*daG<
3.1.8kxx1/}=3振荡器特性:
nyC@5^n1 \,
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
z13T}D09{~ [OkN
3.1.4芯片擦除:
9[i678EMM!
`/-Lxa
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
kZ4;`^Psp ^AIALg\
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
3.2PWM控制技术
PWM是PulseWidthModulation的缩写,即脉冲宽度调制,是通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值).
调速可分为直流调速和交流调速。
尽管直流电机比交流电机结构复杂、成本较高、维修保养贵,但是其调速性能好,所以在调速传动领域中一直占主导地位。
3.3驱动电路
该驱动电路采用了IR2110集成芯片,该集成电路具有较强的驱动能力和保护功能。
3.3.1芯片IR2110性能及特点
IR2110是美国国际整流器公司利用自身独有的高压集成电路以及无闩锁CMOS技术,于1990年前后开发并且投放市场的,IR2110是一种双通道高压、高速的功率器件栅极驱动的单片式集成驱动器。
它把驱动高压侧和低压侧MOSFET或IGBT所需的绝大部分功能集成在一个高性能的封装内,外接很少的分立元件就能提供极快的功耗,它的特点在于,将输入逻辑信号转换成同相低阻输出驱动信号,可以驱动同一桥臂的两路输出,驱动能力强,响应速度快,工作电压比较高,可以达到600V,其内设欠压封锁,成本低、易于调试。
高压侧驱动采用外部自举电容上电,与其他驱动电路相比,它在设计上大大减少了驱动变压器和电容的数目,使得MOSFET和IGBT的驱动电路设计大为简化,而且它可以实现对MOSFET和IGBT的最优驱动,还具有快速完整的保护功能。
与此同时,IR2110的研制成功并且投入应用可以极大地提高控制系统的可靠性。
降低了产品成本和减少体积。
3.3.2IR2110的引脚图以及功能
引脚1(LO)与引脚7(HO):
对应引脚12以及引脚10的两路驱动信号输出端,使用中,分别通过一电阻接主电路中下上通道MOSFET的栅极。
引脚2(COM):
下通道MOSFET驱动输出参考地端,使用中,与引脚13(Vss)直接相连,同时接主电路桥臂下通道MOSFET的源极。
引脚3(Vcc):
直接接用户提供的输出极电源正极,并且通过一个较高品质的电容接引脚2。
引脚5(Vs):
上通道MOSFET驱动信号输出参考地端,使用中,与主电路中上下通道被驱动MOSFET的源极相通。
与引脚6(VB):
通过一阴极连接到该端阳极连接到引脚3的高反压快恢复二极管,与用户提供的输出极电源相连,对Vcc的参数要求为大于或等于—0.5V,而小于或等于+20V。
引脚9(VDD):
芯片输入级工作电源端,使用中,接用户为该芯片工作提供的高性能电源,为抗干扰,该端应通过一高性能去耦网络接地,该端可与引脚3(Vcc)使用同一电源,也可以分开使用两个独立的电源。
引脚10(HIN)与引脚12(LIN):
驱动逆变桥中同桥臂上下两个功率MOS器件的驱动脉冲信号输入端。
应用中,接用户脉冲形成部分的对应两路输出,对此两个信号的限制为Vss-0.5V至Vcc+0.5V,这里Vss与Vcc分