基于单片机控制直流电机的设计.docx
《基于单片机控制直流电机的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机控制直流电机的设计.docx(29页珍藏版)》请在冰豆网上搜索。
基于单片机控制直流电机的设计
电子工程系
毕业设计
课题名称基于单片机控制直流电机的设计
专业计算机控制
学号__________
姓名
指导教师
2010年11月18日
摘要:
本文主要研究了利用MCS-51系列单片机控制PWM信号从而实现对直流电机转速进行控制的方法。
文章中采用了专门的芯片组成了PWM信号的发生系统,并且对PWM信号的原理、产生方法以及如何通过软件编程对PWM信号占空比进行调节,从而控制其输入信号波形等均作了详细的阐述。
此外,本文中还采用了芯片IR2110作为直流电机正转调速功率放大电路的驱动模块,并且把它与延时电路相结合完成了在主电路中对直流电机的控制。
另外,本系统中使用了测速发电机对直流电机的转速进行测量,经过滤波电路后,将测量值送到A/D转换器,并且最终作为反馈值输入到单片机进行PI运算,从而实现了对直流电机速度的控制。
在软件方面,文章中详细介绍了PI运算程序,初始化程序等的编写思路和具体的程序实现。
关键词:
PWM信号测速发电机PI运算
Abstract:
ThisarticlemainlyintroducesthemethodtogeneratethePWMsignalbyusingMCS-51single-chipcomputertocontrolthespeedofaD.C.motor.ItalsoclarifiestheprinciplesofPWMandthewaytoadjustthedutycycleofPWMsignal.Inaddition,IR2110hasbeenusedasanactuatingdeviceofthepoweramplifiercircuitwhichcontrolsthespeedofrotationofD.C.motor.What’smore,tachogeneratorisusedinthissystemtomeasurethespeedofD.C.motor.TheresultofthemeasurementissenttoA/Dconverterafterpassingthefilteringcircuit,andfinallythefeedbacksingleisstoredinthesingle-chipcomputerandparticipatesinaPIcalculation.Asforthesoftware,thisarticleintroducesindetailtheideaoftheprogrammingandhowtomakeit.
Keywords:
PWMsignaltachogeneratorPIcalculation
摘要…………………………………………………………………2
英文摘要……………………………………………………………3
绪论…………………………………………………………………6
第一章系统硬件电路的设计……………………………………7
1.1统总体设计框图及单片机系统的设计……………………………7
1.1.18051单片机简介………………………………………7
1.1.2单片机系统中所用其他芯片简介……………………9
1.1.38051单片机扩展电路及分析………………………12
1.2PWM信号发生电路设计………………………………………15
1.2.1PWM的基本原理………………………………………15
1.2.2PWM信号发生电路设计………………………………16
1.2.3PWM发生电路主要芯片的工作原理…………………17
1.3功率放大驱动电路设计………………………………………19
1.3.1芯片IR2110性能及特点………………………………19
1.3.2芯片IR2110引脚图及功能……………………………20
1.4主电路设计……………………………………………………22
1.4.1延时保护电路…………………………………………22
1.4.2主电路…………………………………………………23
1.4.3输出电压波形…………………………………………23
1.5测速发电机……………………………………………………25
1.6滤波电路………………………………………………………25
1.7A/D转换………………………………………………………25
1.7.1芯片ADC0809介绍…………………………………26
1.7.2ADC0809的引脚及其功能……………………………26
第二章系统软件程序的设计……………………………………26
2.1PI转速调节器原理图及参数计算……………………………27
2.2系统中部分程序的设计………………………………………27
2.2.1单片机资源分配………………………………………28
2.2.2程序流程图……………………………………………28
结论……………………………………………………………30
结束语………………………………………………………………33
参考文献……………………………………………………………34
附录…………………………………………………………………35
绪论
本文主要研究了利用MCS-51系列单片机,通过PWM方式控制直流电机调速的方法。
冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。
PWM控制技术就是以该结论为理论基础,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形。
按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。
PWM控制的基本原理很早就已经提出,但是受电力电子器件发展水平的制约,在上世纪80年代以前一直未能实现。
直到进入上世纪80年代,随着全控型电力电子器件的出现和迅速发展,PWM控制技术才真正得到应用。
随着电力电子技术、微电子技术和自动控制技术的发展以及各种新的理论方法,如现代控制理论、非线性系统控制思想的应用,PWM控制技术获得了空前的发展。
到目前为止,已经出现了多种PWM控制技术。
PWM控制技术以其控制简单、灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。
由于当今科学技术的发展已经没有了学科之间的界限,结合现代控制理论思想或实现无谐振软开关技术将会成为PWM控制技术发展的主要方向之一。
本文就是利用这种控制方式来改变电压的占空比实现直流电机速度的控制。
文章中采用了专门的芯片组成了PWM信号的发生系统,然后通过放大来驱动电机。
利用直流测速发电机测得电机速度,经过滤波电路得到直流电压信号,把电压信号输入给A/D转换芯片最后反馈给单片机,在内部进行PI运算,输出控制量完成闭环控制,实现电机的调速控制。
第一章系统总体设计框图及单片机系统的设计
1.1系统总体框图及单片机系统的设计
1.1.18051单片机简介
1)8051单片机的基本组成
8051单片机由CPU和8个部件组成,它们都通过片内单一总线连接,其基本结构依然是通用CPU加上外围芯片的结构模式,但在功能单元的控制上采用了特殊功能寄存器的集中控制方法。
其基本组成如下图所示:
图1.2
2)CPU及8个部件的作用功能介绍如下:
中央处理器CPU:
它是单片机的核心,完成运算和控制功能。
内部数据存储器:
8051芯片中共有256个RAM单元,能作为存储器使用的只是前128个单元,其地址为00H—7FH。
通常说的内部数据存储器就是指这前128个单元,简称内部RAM。
特殊功能寄存器:
是用来对片内各部件进行管理、控制、监视的控制寄存器和状态寄存器,是一个特殊功能的RAM区,位于内部RAM的高128个单元,其地址为80H—FFH。
内部程序存储器:
8051芯片内部共有4K个单元,用于存储程序、原始数据或表格,简称内部ROM。
并行I/O口:
8051芯片内部有4个8位的I/O口(P0,P1,P2,P3),以实现数据的并行输入输出。
串行口:
它是用来实现单片机和其他设备之间的串行数据传送。
定时器:
8051片内有2个16位的定时器,用来实现定时或者计数功能,并且以其定时或计数结果对计算机进行控制。
图1.3
中断控制系统:
该芯片共有5个中断源,即外部中断2个,定时/计数中断2个和串行中断1个。
振荡电路:
它外接石英晶体和微调电容即可构成8051单片机产生时钟脉冲序列的时钟电路。
系统允许的最高晶振频率为12MHz。
3)8051单片机引脚图
1.1.2单片机系统中所用其他芯片简介
1)地址锁存器74LS373
74LS373片内是8个输出带三态门的D锁存器。
其结构如下图所示:
当使能端G呈高电平时,锁存器中的内容可以更新,而在返回低电平的瞬间实现锁存。
如果此时芯片的输出控制端
为低,也即是输出三态门打开,锁存器中的地址信息便可以通过三态门输出。
以下是其引脚图:
图1.5
2)程序存储器27128
芯片引脚
图1.6
功能表1.1如下:
引脚
工作方式
(片选)
(允许输出)
VPP
(编程控制)
输出
读
L
L
VCC
H
数据输出
维持
H
*
VCC
*
高阻
编程
L
H
VPP
L
数据输入
编程校验
L
L
VPP
H
数据输出
编程禁止
H
*
VPP
*
高阻
数据存储器6264
芯片功能表1.2如下:
引脚
工作方式
I/O0—I/O7
未选中
H
*
*
*
高阻
未选中
*
L
*
*
高阻
输出禁止
L
H
H
H
高阻
读
L
H
L
H
数据输出
写
L
H
H
L
数据输入
写
L
H
L
L
数据输入
1.1.38051单片机扩展电路及分析
图1.8
接线分析
P0.7---P0.0:
这8个引脚共有两种不同的功能,分别使用于两种不同的情况。
第一种情况是8051不带片外存储器,P0口可以作为通用I/O口使用,P0.7---P0.0用于传送CPU的I/O数据。
第二种情况是8051带片外存储器,P0.7---P0.0在CPU访问片外存储器时先是用于传送片外存储器的低8位地址,然后传送CPU对片外存储器的读写数据。
P2.7---P2.0:
这组引脚的第一功能可以作为通用的I/O使用。
它的第二功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但是并不能像P0口那样还可以传送存储器的读写数据。
P3.7---P3.0:
这组引脚的第一功能为传送用户的输入/输出数据。
它的第二功能作为控制用,每个引脚不尽相同,表1.3如下:
P3口的位
第二功能
注释
P3.0
RXD
串行数据接收口
P3.1
TXD
串行数据发送口
P3.2
外中断0输入
P3.3
外中断1输入
P3.4
T0
计数器0计数输入
P3.5
T1
计数器1计数输入
P3.6
外部RAM写选通信号
P3.7
外部RAM读选通信号
VCC为+5V电源线,VSS为接地线。
ALE/
:
地址锁存允许/编程线,配合P0口引脚的第二功能使用,在访问片外存储器时,8051CPU在P0.7---P0.0引脚线上输出片外存储器低8位地址的同时还在ALE/
线上输出一个高电位脉冲,其下降沿用于把这个片外存储器低8位地址锁存到外部专用地址锁存器,以便空出P0.7---P0.0引脚线去传送随后而来的片外存储器的读写数据。
在不访问片外存储器时,8051自动在ALE/
线上输出频率为1/6fOSC的脉冲序列。
该脉冲序列可以用作外部时钟源或者作为定时脉冲源使用。
/VPP:
允许访问片外存储器/编程电源线,可以控制8051使用片内ROM还是片外ROM。
如果
=1,那么允许使用片内ROM;如果
=0,那么允许使用片外ROM。
:
片外ROM选通线,在执行访问片外ROM的指令MOVC时,8051自动在
线上产生一个负脉冲,用于片外ROM芯片的选通。
其他情况下,
线均为高电平封锁状态。
RST/VPD:
复位备用电源线,可以使8051处于复位工作状态。
XTAL1和XTAL2:
片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接8051片内OSC的定时反馈电路。
石英晶振起振后,应能在XTAL2线上输出一个3V左右的正弦波,以便于8051片内的OSC电路按石英晶振相同频率自激振荡,电容C1、C2可以帮助起振,调节它们可以达到微调fOSC的目的。
1.2PWM信号发生电路设计
1.2.1PWM的基本原理
PWM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载两端的电压,从而达到控制要求的一种电压调整方法。
PWM可以应用在许多方面,比如:
电机调速、温度控制、压力控制等等。
在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。
通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。
也正因为如此,PWM又被称为“开关驱动装置”。
如右图所示:
设电机始终接通电源时,电机转速最大为Vmax,设占空比为D=t1/T,则电机的平均速度为Va=Vmax*D,其中Va指的是电机的平均速度;Vmax是指电机在全通电时的最大速度;D=t1/T是指占空比。
由上面的公式可见,当我们改变占空比D=t1/T时,就可以得到不同的电机平均速度Vd,从而达到调速的目的。
严格来说,平均速度Vd与占空比D并非严格的线性关系,但是在一般的应用中,我们可以将其近似地看成是线性关系。
1.2.2PWM信号发生电路设计
PWM波可以由具有PWM输出的单片机通过编程来得以产生,也可以采用PWM专用芯片来实现。
当PWM波的频率太高时,它对直流电机驱动的功率管要求太高,而当它的频率太低时,其产生的电磁噪声就比较大,在实际应用中,当PWM波的频率在18KHz左右时,效果最好。
在本系统内,采用了两片4位数值比较器4585和一片12位串行计数器4040组成了PWM信号发生电路。
两片数值比较器4585,即图上U2、U3的A组接12位串行4040计数输出端Q2—Q9,而U2、U3的B组接到单片机的P1端口。
只要改变P1端口的输出值,那么就可以使得PWM信号的占空比发生变化,从而进行调速控制。
12位串行计数器4040的计数输入端CLK接到单片机C51晶振的振荡输出XTAL2。
计数器4040每来8个脉冲,其输出Q2—Q9加1,当计数值小于或者等于单片机P1端口输出值X时,图中U2的(A>B)输出端保持为低电平,而当计数值大于单片机P1端口输出值X时,图中U2的(A>B)输出端为高电平。
随着计数值的增加,Q2—Q9由全“1”变为全“0”时,图中U2的(A>B)输出端又变为低电平,这样就在U2的(A>B)端得到了PWM的信号,它的占空比为(255-X/255)*100%,那么只要改变X的数值,就可以相应的改变PWM信号的占空比,从而进行直流电机的转速控制。
使用这个方法时,单片机只需要根据调整量输出X的值,而PWM信号由三片通用数字电路生成,这样可以使得软件大大简化,同时也有利于单片机系统的正常工作。
由于单片机上电复位时P1端口输出全为“1”,使用数值比较器4585的B组与P1端口相连,升速时P0端口输出X按一定规律减少,而降速时按一定规律增大。
1.2.3PWM发生电路主要芯片的工作原理
1)芯片4585
芯片4585的用途:
对于A和B两组4位并行数值进行比较,来判断它们之间的大小是否相等。
芯片4585的功能表:
(表1.4如下)
输入
输出
比较
级取
A3、B3
A2、B2
A1、B1
A0、B0
A
A=B
A>B
A
A=B
A>B
A3>B3
*
*
*
*
*
1
0
0
1
A3=B3
A2>B2
*
*
*
*
1
0
0
1
A3=B3
A2=B2
A1>B1
*
*
*
1
0
0
1
A3=B3
A2=B2
A1=B1
A0>B0
*
*
1
0
0
1
A3=B3
A2=B2
A1=B1
A0=B0
0
0
1
0
0
1
A3=B3
A2=B2
A1=B1
A0=B0
0
1
0
0
1
0
A3=B3
A2=B2
A1=B1
A01
0
0
1
0
0
A3=B3
A2=B2
A1*
*
*
*
1
0
0
A3=B3
A2*
*
*
*
*
1
0
0
A3*
*
*
*
*
*
1
0
0
4585的引脚图:
图2.3
2)芯片4040
芯片4040是一个12位的二进制串行计数器,所有计数器位为主从触发器,计数器在时钟下降沿进行计数。
当CR为高电平时,它对计数器进行清零,由于在时钟输入端使用施密特触发器,故对脉冲上升和下降时间没有限制,所有的输入和输出均经过缓冲。
芯片4040提供了16引线多层陶瓷双列直插、熔封陶瓷双列直插、塑料双列直插以及陶瓷片状载体等4种封装形式。
芯片4040的极限值:
电源电压范围:
-0.5V—18V
输入电压范围:
-0.5V—VDD+0.5V
输入电流范围:
±10mA
贮存温度范围:
-65°C—150°C
芯片4040引出端功能符号:
CP:
时钟输入端CR:
清除端Q0—Q11:
计数脉冲输出端
VDD:
正电源VSS:
地端
芯片4040功能表:
输入
输出
CP
CR
↑
↓
*
L
L
H
保持
计数
所有输出端均为L
芯片4040的引脚图:
1.3功率放大驱动电路设计
该驱动电路采用了IR2110集成芯片,该集成电路具有较强的驱动能力和保护功能。
1.3.1芯片IR2110性能及特点
IR2110是美国国际整流器公司利用自身独有的高压集成电路以及无闩锁CMOS技术,于1990年前后开发并且投放市场的,IR2110是一种双通道高压、高速的功率器件栅极驱动的单片式集成驱动器。
它把驱动高压侧和低压侧MOSFET或IGBT所需的绝大部分功能集成在一个高性能的封装内,外接很少的分立元件就能提供极快的功耗,它的特点在于,将输入逻辑信号转换成同相低阻输出驱动信号,可以驱动同一桥臂的两路输出,驱动能力强,响应速度快,工作电压比较高,可以达到600V,其内设欠压封锁,成本低、易于调试。
高压侧驱动采用外部自举电容上电,与其他驱动电路相比,它在设计上大大减少了驱动变压器和电容的数目,使得MOSFET和IGBT的驱动电路设计大为简化,而且它可以实现对MOSFET和IGBT的最优驱动,还具有快速完整的保护功能。
与此同时,IR2110的研制成功并且投入应用可以极大地提高控制系统的可靠性。
降低了产品成本和减少体积。
1.3.2IR2110的引脚图以及功能
引脚1(LO)与引脚7(HO):
对应引脚12以及引脚10的两路驱动信号输出端,使用中,分别通过一电阻接主电路中下上通道MOSFET的栅极,为了防止干扰,通常分别在引脚1与引脚2以及引脚7与引脚5之间并接一个10KΩ的电阻。
引脚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分别为连接到IR2110的引脚13(Vss)与引脚9(VDD)端的电压值。
引脚11(SD):
保护信号输入端,当该引脚为高电平时,IR2110的输出信号全部被封锁,其对应的输出端恒为低电平,而当该端接低电平时,则IR2110的输出跟随引脚10与12而变化。
引脚13(Vss):
芯片工作参考地端,使用中,直接与供电电源地端相连,所有去耦电容的一端应接该端,同时与引脚2直接相连。
引脚8、引脚14、引脚4:
为空引脚。
芯片参数:
1.IR2110的极限参数和限制:
最大高端工作电源电压VB:
-0.3V至525V
门极驱动输出最大(脉冲)电流IOMAX:
2A
最高工作频率fmax:
1MHz
工作电源电压Vcc:
-0.3V至25V
贮存温度Tstg:
-55至150°C
工作温度范围TA:
-40至125°C
允许最高结温Tjmax:
150°C
逻辑电源电压VDD:
-0.3V至VSS+25V
允许参考电压Vs临界上升率dVs/dt:
50000V/μs
高端悬浮电源参考电压Vs:
VB-25V至VB+0.3V
高端悬浮输出电压VHO:
Vs-0.3V至VB+0.3V
逻辑输入电压VIN:
Vss-0.3V至VDD+0.3V
逻辑输入参考电压Vss:
Vcc-25V至Vcc+0.3V
低端输出电压VLO:
-0.3V至Vcc+0.3V
功耗PD:
DIP-14封装为1.6W
2.IR2110的推荐工作条件:
高端悬浮电源绝对值电压VB:
Vs+10V至Vs+20V
低端输出电压VLO:
0至Vcc
低端工作电源电压Vcc:
10V至20V
逻辑电源电压VDD:
Vss+5V至Vss+20V
逻辑电源参考电压Vss:
-5V至+5V
1.4主电路设计
1.4.1延时保护电路
利用IR2110芯片的完善设计可以实现延时保护电路。
IR2110使它自身可对输入的两个通道信号之间产生合适的延时,保证了加到被驱动的逆变桥中同桥臂上的两个功率MOS器件的驱动信号之间有一互琐时间间隔,因而防止了被驱动的逆变桥中两个功率MOS器件同时导通而发生直流电源直通路的危险。
1.4.2主电路
从上面的原理可以看出,产生高压侧门极驱动电压的前提是低压侧必须有开关的动作,在高压侧截止期间低压侧必