rpotues课程设计直流电动机调速器单片机大学毕设论文Word格式文档下载.docx
《rpotues课程设计直流电动机调速器单片机大学毕设论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《rpotues课程设计直流电动机调速器单片机大学毕设论文Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
图1直流电机调速系统框图
3硬件电路设计
3.1DAC0808的简介
DAC0808的管脚图及各引脚功能:
图2DAC0808引脚图
DAC0808是8分辨率的D/A转换集成芯片。
与微处理器完全兼容。
这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。
D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。
DAC0808结构:
D0~D7:
8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);
ILE:
数据锁存允许控制信号输入线,高电平有效;
000000
CS:
片选信号输入线(选通数据锁存器),低电平有效;
WR1:
数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。
由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;
XFER:
数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;
WR2:
DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。
由WR1、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。
IOUT1:
电流输出端1,其值随DAC寄存器的内容线性变化;
IOUT2:
电流输出端2,其值与IOUT1值之和为一常数;
Rfb:
反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;
Vcc:
电源输入端,Vcc的范围为+5V~+15V;
VREF:
基准电压输入线,VREF的范围为-10V~+10V;
AGND:
模拟信号地
DGND:
数字信号地
3.2权电流型D/A转换器
尽管倒T型电阻网络D/A转换器具有较高的转换速度,但由于电路中存在模拟开关电压降,当流过各支路的电流稍有变化时,就会产生转换误差。
为进一步提高D/A转换器的精度,可采用权电流型D/A转换器。
单片集成权电流D/A转换器有AD1408、DAC0806、DAC0808等。
我们此次课程设计选用DAC0808。
3.2.1电路结构
图3权电流D/A转换器的原理电路
3.2.2工作原理
在图3所示电路中,当输入数字量的某一位数码Di=1时,开关Si接运算放大器的反相端,相应权电流流出求和电路;
当Si=0时,开关Si接地。
分析该电路,可得出
恒流源采用具有电流负反馈的BJT恒流源电路,即可得如图11.3.2所示的实际的权电流D/A转换器电路。
3.23.图4实际的权电流D/A转换器电路
为消除因各BJT发射结电压VBE的不一致性对D/A转换精度的影响,图中T3~T1均采用了多发射极晶体管,其发射极个数分别是8、4、2,即T3~T1发射极面积之比为8:
4:
2。
这样,在各BJT电流比值为8:
4:
2的情况下,T3~T1的发射极电流密度相等,可使各发射节电压VBE相同。
由于T3~T1的基极电压相同,所以它们的发射极e3、e2、e1就为等电位点。
在计算各支路电流时将它们等效连接后,可看出电路中得到T型电阻网络与图11.2.1中工作状态完全相同,流入每个2R电阻的电流从高位到低位依次减少1/2,各支路中电流分配比值满足8:
2的要求。
基准电流IREF产生电路由运算放大器A2、R1、Tr、R
和-VEE组成,A2和R1、Tr的cb结组成电压并联负反馈电路,以稳定输出电压,即Tr的基极电压。
Tr的be结,电阻R到-VEE为反馈电路负载,由于电路处于深度负反馈,根据虚短的原理,其基准电流为
由倒T型电阻网络分析可知,IE3=I/2,IE2=I/4,IE1=I/8,IE0=I/16,于是可得输出电压为
上式表明,基准电流仅与基准电压VREF和电阻R1有关,而与BJT、R、2R
电阻无关。
这样,电路降低了对BJT参数及R、2R取值的要求,对于集成化十分有利。
3.2.3D/A转换器的输出方式
常用的D/A转换器绝大部分是数字电流转换器,输出量是电流。
如要实现电压输出,
在实际应用时还需增加输出电路将电流转换成电压。
使用D/A转换器,正确选择和设计输出电路是非常重要的,下面来讨论这方面的内容。
在前面介绍的D/A转换器中,输入的数字均视为正数,即二进制数的所有位都为数值位。
根据电路形式或参考电压的极性不同,输出电压或为0V到正满度值,或为0V到负满度值,D/A转换器处于单极性输出方式。
采用单极性输出方式时,数字输入量采用自然二进制码,8位D/A转换器单极性输出时,输入数字量与输出模拟量之间的关系如表1所示。
表18位D/A转换器在单极性输出时的输入/输出关系
倒T形电阻网络D/A转换器单极性电压输出的电路如图所示。
其中图a为单极性反相电压输出电路,vo=-iå
Df
;
图b为同相电压输出电路,vo=iå
R(1+R2/R1)
在实际应用中,D/A转换器输入的数字量有正极性也有负极性。
这就要求D/A转换器能将不同极性的数字量对应转换为正、负极性的模拟电压,工作于双极性方式。
双极性D/A转换常用的编码有:
2的补码、偏移二进制码及符号—数值码(符号位加数值码)等。
表2列出了8位2的补码、偏移二进制码及模拟量之间的对应关系。
常用双极性及输出模拟量
表2、
由表2可见,偏移二进制码与与无符号二进制形式相同,它实际上是将二进制码对应的模拟量的零值偏移至80H,使偏移后的数中,只有大于128的才是正数,而小于128的则为负数。
所以,若将单极性8位D/A转换器的输出电压减去VREF/2(80H所对应的模拟量),就可得到极性正确的偏移二进制码输出电压。
若D/A转换器输入数字量是2的补码,那么,需先将它转换为偏移二进制码,然后输入到上述D/A转换器电路中就可实现其双极性输出。
比较表2中2的补码与偏移二进制码可以发现,若将8位2的补码加80H,并舍弃进位就可得偏移二进制码。
实现2的补码加80H很简单,只需将高位求反即可。
这样,可得到采用2的补码输入的8位双极性输出D/A转换器电路如图5所示。
图5双极性输出D/A转换器
图中,输入NB是原码的2的补码,最高位取反(加80H)变为偏移二进制码后进入D/A转换器,由D/A转换器输出的模拟量v1经A2组成的第二个求和放大器减去VREF/2后,得到极性正确的输出电压vo,即
电路输入2的补码NB满足表2所示的对应关系。
3.3H桥电机驱动电路设计方案
图6所示的H桥式电机驱动电路包括4个三极管和一个电机,电路得名于“H桥驱动电路”是因为它的形状酷似字母H。
要使电机运转,必须导通对角线上的一对三极管。
根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。
图6H桥驱动电路
。
要使电机运转,必须使对角线上的一对三极管导通。
例如,如图7所示,当左端加低电平,右端加高电平时,Q1管和Q4管导通时,电流就从电源正极经Q1从左至右流过电机,然后再经Q4回到电源负极。
按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。
图7H桥驱动电机顺时针转动
图8所示为另一对三极管Q2和Q3导通的情况,电流将从右至左流过电机,从而驱动电机沿另一方向转动(电机周围的箭头表示为逆时针方向)。
图8H桥驱动电机逆时针转动
3.4单片机系统
3.3.1AT89C51性能
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含有4KB的可反复擦写的只读程序存储器和128字节的随机存储器。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51功能性能:
与MCS-51成品指令系统完全兼容;
4KB可编程闪速存储器;
寿命:
1000次写/擦循环;
数据保留时间:
10年;
全静态工作:
0-24MHz;
三级程序存储器锁定;
128*8B内部RAM;
32个可编程I/O口线;
2个16位定时/计数器;
5个中断源;
可编程串行UART通道;
片内震荡器和掉电模式。
3.3.2AT89C51各引脚功能
T89C51提供以下标准功能:
4KB的Flash闪速存储器,128B内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时,AT89C51可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。
AT89C51采用PDIP封装形式,引脚配置如图3所示。
图3AT89C51的引脚图
AT89C51芯片的各引脚功能为:
P0口:
这组引脚共有8条,P0.0为最低位。
这8个引脚有两种不同的功能,分别适用于不同的情况,第一种情况是89C51不带外存储器,P0口可以为通用I/O口使用,P0.0-P0.7用于传送CPU的输入/输出数据,这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;
第二种情况是89C51带片外存储器,P0.0-P0.7在CPU访问片外存储器时先传送片外存储器的低8位地址,然后传送CPU对片外存储器的读/写数据。
P0口为开漏输出,在作为通用I/O使用时,需要在外部用电阻上拉。
P1口:
这8个引脚和P0口的8个引脚类似,P1.7为最高位,P1.0为最低位,当P1口作为通用I/O口使用时,P1.0-P1.7的功能和P0口的第一功能相同,也用于传送用户的输入和输出数据。
P2口:
这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用I/O口使用,它的第一功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像P0口那样传送存储器的读/写数据。
P3口:
这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,每个引脚并不完全相同,如下表1所示:
表1P3口各位的第二功能
P3口各位
第二功能
P3.0
RXT(串行口输入)
P3.1
TXD(串行口输出)
P3.2
/INT0(外部中断0输入)
P3.3
/INT1(外部中断1输入)
P3.4
T0(定时器/计数器0的外部输入)
P3.5
T1(定时器/计数器1的外部输入)
P3.6
/WR(片外数据存储器写允许)
P3.7
/RD(片外数据存储器读允许)
Vcc为+5V电源线,Vss接地。
ALE:
地址锁存允许线,配合P0口的第二功能使用,在访问外部存储器时,89C51的CPU在P0.0-P0.7引脚线去传送随后而来的片外存储器读/写数据。
在不访问片外存储器时,89C51自动在ALE线上输出频率为1/6震荡器频率的脉冲序列。
该脉冲序列可以作为外部时钟源或定时脉冲使用。
:
片外存储器访问选择线,可以控制89C51使用片内ROM或使用片外ROM,
若
=1,则允许使用片内ROM,若
=0,则只使用片外ROM。
:
片外ROM的选通线,在访问片外ROM时,89C51自动在
线上产生一个负脉冲,作为片外ROM芯片的读选通信号。
RST:
复位线,可以使89C51处于复位(即初始化)工作状态。
通常89C51复位有自动上电复位和人工按键复位两种。
XTAL1和XTAL2:
片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接89C51片内OSC(震荡器)的定时反馈回路。
3.5复位电路和时钟电路
3.3.1复位电路设计
单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。
MCS-51单片机有一个复位引脚RST,采用施密特触发输入。
当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位。
复位完成后,如果RST端继续保持高电平,MCS-51就一直处于复位状态,只要RST恢复低电平后,单片机才能进入其他工作状态。
单片机的复位方式有上电自动复位和手动复位两种,本系统采用的是51系列单片机常用的上电复位和手动复位组合电路,只要Vcc上升时间不超过1ms,它们都能很好的工作。
3.3.2时钟电路设计
单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。
CPU执行一条指令的各个微操作所对应时间顺序称为单片机的时序。
MCS-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路。
本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路只需要一个晶振和2个电容即可。
电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路中,电容器C1和C2对震荡频率有微调作用,通常的取值范围是30±
10pF,在这个系统中选择了30pF;
石英晶振选择范围最高可选24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是12MHz,因而时钟信号的震荡频率为12MHz。
图4复位时钟电路图
3.6按键电路及直流电机控制
8个按键A-H控制直流电动机转速,A、B、C、D、E、F、G各转速按键控制转动速度依次降低,H为直流电动机转动停止按键。
电动机转速通过并联在其两端的电压表显示其两端电压,电压值越大,转速越高。
(可选用显示转速的直流电动机,但由于转速显示短时间内无法稳定,由直流电动机工作原理转速与其电压成正比,可用电压表显示其转速。
)
图5按键电机电路图
仿真
用DAC0808设计直流电动机调速器已经完成,就可以选取相应的芯片和元器件,利用Proteus软件绘制出硬件的原理,并仔细地检查修改,直至形成完善的硬件原理图。
但要真正实现电路对电压的测量和显示的功能,还需要有相应的软件配合,才能达到设计要求。
软件调试的主要任务是排查错误,错误主要包括逻辑和功能错误,这些错误有些是显性的,而有些是隐形的,可以通过仿真开发系统发现逐步改正。
Proteus软件可以对基于微控制器的设计连同所有的周围电子器件一起仿真,用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。
Proteus支持的微处理芯片包括8051系列、AVR系列、PIC系列、HC11系列及Z80等等。
Proteus可以完成单片机系统原理图电路绘制、PCB设计,更为显著点的特点是可以与uVisions3IDE工具软件结合进行编程仿真调试。
本系统的调试主要以软件为主,其中,系统电路图的绘制和仿真我采用的是Proteus软件,而程序方面,采用的是汇编语言,用Keil软件将程序(见附录)写入单片机。
组图6操作截图
5结论
由上所述,用DAC0808设计直流电动机调速器基本完成。
但设计中的不足之处仍然存在。
这次设计是我第一次用Keil和Proteus实现了仿真。
在这过程中,我对电路设计,单片机的使用等都有了新的认识。
通过这次设计学会了Proteus和Keil软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。
本系统采用电压表测量电动机的转速,用MCS-51单片机对直流电机的转速进行控制,用DAC0808芯片实现输出模拟电压值来控制直流电动机的转速。
本设计主要研究直流电机的控制和测量方法,从而对电机的控制精度、响应速度以及节约能源等都具有重要意义。
通过本次设计,我对单片机这门课有了进一步的了解。
无论是在硬件连接方面还是在软件编程方面。
本次设计采用了AT89C51单片机芯片,与以往的单片机相比增加了许多新的功能,使其功能更为完善,应用领域也更为广泛。
设计中还用到了数/模转换芯片DAC0808,以前在学单片机课程时只是对其理论知识有了初步的理解。
通过这次设计,对它的工作原理有了更深的理解。
在调试过程中遇到很多问题,硬件上的理论知识学得不够扎实,对电路的仿真方面也不够熟练。
总之这次电路的设计和仿真,基本上达到了设计的功能要求。
在以后的实践中,我将继续努力学习电路设计方面的理论知识,并理论联系实际,争取在电路设计方面能有所提升。
附录:
程序代码
ORG0000H
AJMPMAIN
ORG0003H
AJMPINSER
ORG0030H
MAIN:
SETBEX0
SETBIT0
SETBEA
MOVP0,0
MOVP1,#0FFH
HERE:
SJMPHERE
ORG0200H
INSER:
JNBP1.0,L0
JNBP1.1,L1
JNBP1.2,L2
JNBP1.3,L3
JNBP1.4,L4
JNBP1.5,L5
JNBP1.6,L6
JNBP1.7,L7
L0:
MOVA,#00H
MOVp0,A
RETI
L1:
MOVA,#1EH
L2:
MOVA,#3CH
MOVP0,A
L3:
MOVA,#5AH
L4:
MOVA,#78H
L5:
MOVA,#96H
L6:
MOVA,#0B0H
L7:
MOVA,#0F0H
END
参考文献
[1]辜承林,陈乔夫.电机学.华中科技大学出版社.2010
[2]徐玮.C51单片机高效入门.机械工业出版社.2007
[3]李朝青,单片机原理及接口技术,北京航空航天超大型出版社.2011
[4]林立,单片机原理与应用,电子工业出版社