《rpotues课程设计直流电动机调速器单片机--大学毕设论文.doc》由会员分享,可在线阅读,更多相关《rpotues课程设计直流电动机调速器单片机--大学毕设论文.doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机课程设计说明书1 引言随着微电子技术的不断发展与进步,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。在现代工业中,直流电动机作为电能转换的传动装置,被广泛应用于机械、冶金、石油、化工、国防等工业部门中。直流电动机是将直流电能转换为机械能的电动机。因其良好的调速性能而在电力拖动中得到广泛应用。随着对生产工艺、产品质量的要求不断提高和产量的增长,越来越多的生产机械要求能实现自动调速。直流调速系统的发展得力于微电子技术、电力电子技术、传感器技术、永磁材料技术、自动控制技术和微机应
2、用技术的最新发展成就。正是这些技术的进步使直流调速系统发生翻天覆地的变化。其中电机的控制部分已经由模拟控制逐渐让位于以单片机为主的微处理器控制,形成数字与模拟的混合控制系统和纯数字控制系统,并向全数字控制方向快速发展。本文设计了用DAC0808设计直流电动机调速器的基本方案,阐述了该调速器系统的基本结构、工作原理、运行特性及其设计方法。本系统用电压表测量直流电动机的转速,用MCS-51单片机输出数字信号通过DAC0808芯片实现数模转换,从而输出模拟电压来控制调节直流电动机的转速。本设计主要研究利用单片机及DAC0808实现数模转换调速,直流电机的控制和测量方法,从而对直流电机的调速控制精度、
3、响应速度以及节约能源等都具有重要意义。2 设计总体方案2.1 设计要求 基本要求:使用AT89C51单片机为核心,使用数模转换元件DAC0808对单片机输出的数字信号进行转换,输出模拟信号驱动直流电动机。具体要求:在设计中,设计8个按键对应直流电动机的8挡不同转速,按下不同按键时,电动机将以不同速度转动,在8个按键中取一个按键为直流电动机转动停止按键。8挡不同转速的设定由学生自己决定。仿真:控制程序在Keil软件中编写,编译,整个控制电路在Proteus仿真软件中连接调示。2.2 设计思路 (1)根据设计要求,选择AT89C51单片机为核心控制器件,并编写相应控制程序。(2)D/A转换采用DA
4、C0808实现,与单片机的接口为P0口,采用运放电路输出电压模拟量对直流电动机调速。(3)直流电动机有8挡转速,分别由8个按键通过连接单片机的P1口控制,8个按键H-A,转速依次升高,A按键转速最大,其中H按键为直流电动机停转键。(4)直流电动机的转速由与其并联的电压表显示,电压越大,转速越快。2.3 设计方案直流电机调速系统硬件以MCS-51单片机为控制核心,包括电源电路、按键控制电路、单片机控制、数模转换、电机驱动电路、转速显示等部分。硬件电路设计系统框图如图1所示。 图1 直流电机调速系统框图3 硬件电路设计3.1 DAC0808的简介 DAC0808的管脚图及各引脚功能:图2 DAC0
5、808引脚图DAC0808是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。DAC0808结构: D0D7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);ILE:数据锁存允许控制信号输入线,高电平有效;000000CS:片选信号输入线(选通数据锁存器),低电平有效;WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高
6、电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR1、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;IOUT2:电流输出端2,其值与IOUT1值之和为一常数;Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;Vcc:电源输入端,Vc
7、c的范围为+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接运算放大器的反
8、相端,相应权电流流出求和电路;当Si=0时,开关Si接地。分析该电路,可得出恒流源采用具有电流负反馈的BJT恒流源电路,即可得如图11.3.2所示的实际的权电流D/A转换器电路。3.2 3.图4 实际的权电流D/A转换器电路为消除因各BJT发射结电压VBE的不一致性对D/A转换精度的影响,图中T3T1均采用了多发射极晶体管,其发射极个数分别是8、4、2,即T3T1发射极面积之比为8:4:2。这样,在各BJT电流比值为8:4:2的情况下,T3T1的发射极电流密度相等,可使各发射节电压VBE相同。由于T3T1的基极电压相同,所以它们的发射极e3、e2、e1就为等电位点。在计算各支路电流时将它们等效
9、连接后,可看出电路中得到T型电阻网络与图11.2.1中工作状态完全相同,流入每个2R电阻的电流从高位到低位依次减少1/2,各支路中电流分配比值满足8:4: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、
10、2R电阻无关。这样,电路降低了对BJT参数及R、2R取值的要求,对于集成化十分有利。3.2.3 D/A转换器的输出方式常用的D/A转换器绝大部分是数字电流转换器,输出量是电流。如要实现电压输出,在实际应用时还需增加输出电路将电流转换成电压。使用D/A转换器,正确选择和设计输出电路是非常重要的,下面来讨论这方面的内容。在前面介绍的D/A转换器中,输入的数字均视为正数,即二进制数的所有位都为数值位。根据电路形式或参考电压的极性不同,输出电压或为0V到正满度值,或为0V到负满度值,D/A转换器处于单极性输出方式。采用单极性输出方式时,数字输入量采用自然二进制码,8位D/A转换器单极性输出时,输入数字
11、量与输出模拟量之间的关系如表1所示。表 1 8位D/A转换器在单极性输出时的输入/输出关系倒T形电阻网络D/A转换器单极性电压输出的电路如图所示。其中图a为单极性反相电压输出电路,vo=-iDf;图b为同相电压输出电路,vo=iR(1+R2/R1)在实际应用中,D/A转换器输入的数字量有正极性也有负极性。这就要求D/A转换器能将不同极性的数字量对应转换为正、负极性的模拟电压,工作于双极性方式。双极性D/A转换常用的编码有:2的补码、偏移二进制码及符号数值码(符号位加数值码)等。表2列出了8位2的补码、偏移二进制码及模拟量之间的对应关系。常用双极性及输出模拟量表2、常用双极性及输出模拟量由表2可
12、见,偏移二进制码与与无符号二进制形式相同,它实际上是将二进制码对应的模拟量的零值偏移至80H,使偏移后的数中,只有大于128的才是正数,而小于128的则为负数。所以,若将单极性8位D/A转换器的输出电压减去VREF/2(80H所对应的模拟量),就可得到极性正确的偏移二进制码输出电压。若D/A转换器输入数字量是2的补码,那么,需先将它转换为偏移二进制码,然后输入到上述D/A转换器电路中就可实现其双极性输出。比较表2中2的补码与偏移二进制码可以发现,若将8位2的补码加80H,并舍弃进位就可得偏移二进制码。实现2的补码加80H很简单,只需将高位求反即可。这样,可得到采用2的补码输入的8位双极性输出D
13、/A转换器电路如图5所示。图5 双极性输出D/A转换器图中,输入NB是原码的2的补码,最高位取反(加80H)变为偏移二进制码后进入D/A转换器,由D/A转换器输出的模拟量v1经A2组成的第二个求和放大器减去VREF/2后,得到极性正确的输出电压vo,即电路输入2的补码NB满足表2所示的对应关系。3.3 H桥电机驱动电路设计方案图6所示的H桥式电机驱动电路包括4个三极管和一个电机,电路得名于“H桥驱动电路”是因为它的形状酷似字母H。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。图6 H桥驱动电路。 要使电机运转,
14、必须使对角线上的一对三极管导通。例如,如图7所示,当左端加低电平,右端加高电平时,Q1管和Q4管导通时,电流就从电源正极经Q1从左至右流过电机,然后再经 Q4回到电源负极。按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。图7 H桥驱动电机顺时针转动图8所示为另一对三极管Q2和Q3导通的情况,电流将从右至左流过电机,从而驱动电机沿另一方向转动(电机周围的箭头表示为逆时针方向)。图8 H桥驱动电机逆时针转动3.4 单片机系统3.3.1 AT89C51性能AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含有4KB的可反复擦写的只读程序存储器和128字节的随机存储器
15、。该器件采用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.2 AT89C51各引脚
16、功能T89C51提供以下标准功能:4KB的Flash闪速存储器,128B内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时,AT89C51可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。AT89C51采用PDIP封装形式,引脚配置如图3所示。图3 AT89C51的引脚图AT89C51芯片的各引脚功能为:P0口:这组引脚共有8条,P0.0为最低位
17、。这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.
18、7的功能和P0口的第一功能相同,也用于传送用户的输入和输出数据。P2口:这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用I/O口使用,它的第一功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像P0口那样传送存储器的读/写数据。P3口:这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,每个引脚并不完全相同,如下表1所示:表1 P3口各位的第二功能P3口各位第二功能P3.0 RXT(串行口输入)P3.1 TXD(串行口输出)P3.2/INT0(外部中断0输入)P3.3/INT1(外部中断1输入)P3.4T0(定时器/
19、计数器0的外部输入)P3.5T1(定时器/计数器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。:片外RO
20、M的选通线,在访问片外ROM时,89C51自动在线上产生一个负脉冲,作为片外ROM芯片的读选通信号。RST:复位线,可以使89C51处于复位(即初始化)工作状态。通常89C51复位有自动上电复位和人工按键复位两种。XTAL1和XTAL2:片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接89C51片内OSC(震荡器)的定时反馈回路。3.5 复位电路和时钟电路3.3.1复位电路设计单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51单片机有一个复位引脚RST,采用施密特触发输入。当震荡器起振后,只要该引脚上出现2个
21、机器周期以上的高电平即可确保时器件复位。复位完成后,如果RST端继续保持高电平,MCS-51就一直处于复位状态,只要RST恢复低电平后,单片机才能进入其他工作状态。单片机的复位方式有上电自动复位和手动复位两种,本系统采用的是51系列单片机常用的上电复位和手动复位组合电路,只要Vcc上升时间不超过1ms,它们都能很好的工作。3.3.2时钟电路设计单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。CPU执行一条指令的各个微操作所对应时间顺序称为单片机的时序。MCS-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,
22、XTAL1为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路。 本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路只需要一个晶振和 2个电容即可。电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路中,电容器C1和C2对震荡频率有微调作用,通常的取值范围是3010pF,在这个系统中选择了30pF;石英晶振选择范围最高可选24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是12MHz,因而时钟信号的震荡频率为12MHz。 图4 复位时钟电路图3.6 按键电路及直流电机控制8个按键A-H控制直流电动机转速,
23、A、B、C、D、E、F、G各转速按键控制转动速度依次降低,H为直流电动机转动停止按键。电动机转速通过并联在其两端的电压表显示其两端电压,电压值越大,转速越高。(可选用显示转速的直流电动机,但由于转速显示短时间内无法稳定,由直流电动机工作原理转速与其电压成正比,可用电压表显示其转速。) 图5 按键 电机电路图仿真 用DAC0808设计直流电动机调速器已经完成,就可以选取相应的芯片和元器件,利用Proteus软件绘制出硬件的原理,并仔细地检查修改,直至形成完善的硬件原理图。但要真正实现电路对电压的测量和显示的功能,还需要有相应的软件配合,才能达到设计要求。软件调试的主要任务是排查错误,错误主要包括
24、逻辑和功能错误,这些错误有些是显性的,而有些是隐形的,可以通过仿真开发系统发现逐步改正。Proteus软件可以对基于微控制器的设计连同所有的周围电子器件一起仿真,用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。Proteus支持的微处理芯片包括8051系列、AVR系列、PIC系列、HC11系列及Z80等等。Proteus可以完成单片机系统原理图电路绘制、PCB设计,更为显著点的特点是可以与u Visions3 IDE工具软件结合进行编程仿真调试。本系统的调试主要以软件为主,其中,系统电路图的绘制和仿真我采用的是Proteus软件,而程序方面,采用
25、的是汇编语言,用Keil软件将程序(见附录)写入单片机。 组图6 操作截图5 结论由上所述,用DAC0808设计直流电动机调速器基本完成。但设计中的不足之处仍然存在。这次设计是我第一次用Keil和Proteus实现了仿真。在这过程中,我对电路设计,单片机的使用等都有了新的认识。通过这次设计学会了Proteus和Keil软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。本系统采用电压表测量电动机的转速,用MCS-51单片机对直流电机的转速进行控制,用DAC0808芯片实现输出模拟电压值来控制直流电动机的转速。本设计主要研究直流电
26、机的控制和测量方法,从而对电机的控制精度、响应速度以及节约能源等都具有重要意义。通过本次设计,我对单片机这门课有了进一步的了解。无论是在硬件连接方面还是在软件编程方面。本次设计采用了AT89C51单片机芯片,与以往的单片机相比增加了许多新的功能,使其功能更为完善,应用领域也更为广泛。设计中还用到了数/模转换芯片DAC0808,以前在学单片机课程时只是对其理论知识有了初步的理解。通过这次设计,对它的工作原理有了更深的理解。在调试过程中遇到很多问题,硬件上的理论知识学得不够扎实,对电路的仿真方面也不够熟练。 总之这次电路的设计和仿真,基本上达到了设计的功能要求。在以后的实践中,我将继续努力学习电路
27、设计方面的理论知识,并理论联系实际,争取在电路设计方面能有所提升。附 录:程序代码 第 20 页 共 20 页ORG 0000H AJMP MAINORG 0003H AJMP INSERORG 0030HMAIN: SETB EX0 SETB IT0 SETB EA MOV P0,0 MOV P1,#0FFHHERE: SJMP HEREORG 0200HINSER: JNB P1.0,L0 JNB P1.1,L1 JNB P1.2,L2 JNB P1.3,L3 JNB P1.4,L4 JNB P1.5,L5 JNB P1.6,L6 JNB P1.7,L7L0: MOV A,#00H MOV
28、 p0,A MOV P1,#0FFH RETIL1: MOV A,#1EH MOV p0,A MOV P1,#0FFH RETIL2: MOV A,#3CH MOV P0,A MOV P1,#0FFH RETIL3: MOV A,#5AH MOV P0,A MOV P1,#0FFH RETIL4: MOV A,#78H MOV P0,A MOV P1,#0FFH RETIL5: MOV A,#96H MOV P0,A MOV P1,#0FFH RETIL6: MOV A,#0B0H MOV P0,A MOV P1,#0FFH RETIL7: MOV A,#0F0H MOV P0,A MOV P1,#0FFH RETIEND参考文献1 辜承林,陈乔夫. 电机学.华中科技大学出版社.20102 徐玮. C51单片机高效入门. 机械工业出版社.20073 李朝青,单片机原理及接口技术,北京航空航天超大型出版社.20114 林立,单片机原理与应用,电子工业出版社