单片机的直流电机调速系统.docx

上传人:小飞机 文档编号:5076878 上传时间:2023-06-02 格式:DOCX 页数:23 大小:326.38KB
返回 下载 相关 举报
单片机的直流电机调速系统.docx_第1页
第1页 / 共23页
单片机的直流电机调速系统.docx_第2页
第2页 / 共23页
单片机的直流电机调速系统.docx_第3页
第3页 / 共23页
单片机的直流电机调速系统.docx_第4页
第4页 / 共23页
单片机的直流电机调速系统.docx_第5页
第5页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机的直流电机调速系统.docx》由会员分享,可在线阅读,更多相关《单片机的直流电机调速系统.docx(23页珍藏版)》请在三一办公上搜索。

1、基于8051单片机直流电机调速系统2.1总体硬件电路设计2.1.1系统总体设计框图本系统采用89C51控制输出数据,由PWM信号发生电路产生PWM信号,送到 直流电机,直流电机通过测速电路,滤波电路,和A/D转换电路交数据重新送回 单片机,进行PI运算,从而实现对电机速度和转向的控制,达到直流电机调速 的目的。主控芯片A/D滤波测速转换电路发电机图2-1系统总体设计图2.1.2 8051单片机简介1. 8051单片机的基本组成8051单片机由CPU和8个部件组成,它们都通过片内单一总线连接,其基 本结构依然是通用CPU加上外围芯片的结构模式,但在功能单元的控制上采用了 特殊功能寄存器的集中控制

2、方法。其基本组成如下图所示:图2-2 8051基本结构图2. CPU及部分部件的作用功能介绍如下中央处理器CPU:它是单片机的核心,完成运算和控制功能。内部数据存储器:8051芯片中共有256个RAM单元,能作为存储器使用的 只是前128个单元,其地址为00H7FH。通常说的内部数据存储器就是指这前 128个单元,简称内部RAM。内部程序存储器:8051芯片内部共有4K个单元,用于存储程序、原始数据 或表格,简称内部ROM。定时器:8051片内有2个16位的定时器,用来实现定时或者计数功能,并 且以其定时或计数结果对计算机进行控制。中断控制系统:该芯片共有5个中断源,即外部中断2个,定时/计数

3、中断 2个和串行中断1个。3. 8051单片机引脚图F1.0 140VCC8051Fl. 1 239F0.0F1.2338F0. 1F1.3437P0. 2P1.4536P0. 3F1.5 635P0. 4P1.6 734P0. 5P1.7 833F0.6EST/VFD 932F0.7RXD/P3. 0 1031一 EA/VFFTXD/F3. 11130一 ALE/PRDGINT0/P3. 21229FSENINT1/P3. 31328P2. 7T0/F3.41427一F2.6T1/F3.5 1526P2.5WR/F3. 6 一1625F2.4RD/P3.7 1724F2.3XTAI2 182

4、3F2. 2XTAL1 1922F2. 1VSS2021F2.0图2-3 8051单片机引脚图2.1.3单片机系统中所用其他芯片选型1.地址锁存器地址锁存器可以选择多种,有地址锁存功能的器件有74LS373、8282、74LS273等,8282是地址锁存器,功能与74LS373类似,但本系统选用74LS373 作为地址锁存器,考虑到其应用的广泛性以及具有良好的性价比,成为目前在单 片机系统中应该较广泛的地址锁存器。74LS373片内是8个输出带三态门的D锁 存器。当使能端呈高电平时,锁存器中的内容可以更新,而在返回低电平的瞬间实 现锁存。如果此时芯片的输出控制端为低,也即是输出三态门打开,锁存

5、器中的 地址信息便可以通过三态门输出。其引脚图如图2-4所示:0E 120Vcc1Q 2198Q1D 3188D2D 417一 TD2Q 574LS37316花3Q 6156Q3D 7146D4D 8135D4Q 9125QGND 1011G图2-4 74L373引脚图2.程序存储器存储器是单片机的又一个重要组成部分,其中程序存储器是单片机中非常重 要的存储器,但由于其存储空间不足,常常需要对单片机的存储器空间进行扩展, 扩展程序存储器常用芯片有EPROMC紫外线可擦除型),如2716(2KB)、2732(4KB)、 2764 (8KB)、27128 (16KB)、27256 (32KB)等,

6、另外还有 + 5V 电擦除 E2PROM, 如2816 (2KB)、2864 (8KB)等等。考虑到系统功能的可扩展性以及程序功能的 扩展,本系统采用16KB的27128作为程序存储器扩展芯片,在满足系统要求的 前提下还存有一定的扩展空间,是本系统最合适的程序存储器扩展芯片。27128 的引脚图如图2-5所示:Vpp 一128 VccA12 227一丽A7 326A13AJ6 425ABA5 524A9A4 一623AllA3 72712822一 0EA2 一821A10A1 920一 CEAD 101907Oo 11180601 12170502 131604GND 141503图2-5 2

7、7128结构图3 .数据存储器8051单片机有128B RAM,当数据量超过128B也需要把数据存储区进一步扩 展。常用RAM芯片分静态和动态两种。静态RAM有6116(2KB)、6264(8KB)等, 动态DRAM2164(8KB)等,另外还有集成IRAM和E2PROM。使用E2PROM作数据存储 器有断电保护数据的优点。数据存储器扩展常使用随机存储器芯片,用的较多的是Intel公司的6116 容量为2KB和6264容量为8KB。本系统采用容量8KB的6264作为数据存储器扩 展芯片。其引脚图如图2-6所示:NC 一128VccA1Z 227WEA7 326一 CE2A6 425ASA5 5

8、24A9A4 一623AllA3 7626422一 0EA2 821A10A1 920AJO 1019107I0o 1118106101 1217105102 1 C104GNT -图2-6 6264引脚图一 1032.1.4 8051单片机扩展电路及分析+5VVc c VseXTAL1P2. 0P2 1XTAI2铉丁P2. 3P ? 4F1ESET/WDp;EA/VIDfOOFO. 1 F0.2 8051 fo.3 F0.4P3.FCi.5 一F0.6P3. 7/EDPn 7ALE/FROG PSEN- +-+*+5V |_LVcc GNDIDIQ2D2Q3D3Q4D 74LS373 4Q5

9、D5Q6D6Q7D7Q8D80G 0Er*- .h.*VPP VCCA7A6A5A4A3A2A1A0271280001020304050607o 1 2 3 1x 1x ix 1X LA A A LA A ACE0E &HE备的低8位 OE iiE CE&用I/O 口使 03曜带片外存储于两种不的情 用, 哭 T器,1址,功能,分别f口可以作为_u 1 2 n- 1A 1A 1A c A A A A ABII_k-A7A6A5A4A3A2A1A0图2-7 8051单片机扩展电路及分析接线分析:P0.:-P0.0:这8个引脚共有两种不同的况。第一种情况是8051不带片外存储器,P0P0.7-P0

10、.0用于传送CPU的I/O数据。第二种情况是80P0.7 -P0.0在CPU访问片外存储器时先是用于传送片外存fi然后传送 CPU 对片外存储器的读写数据。P2.7-P2.0:这组引脚的第一功能可以作为通用的I/O使用。它的第二功 能和?0 口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选 中片外存储器单元,但是并不能像P0 口那样还可以传送存储器的读写数据。P3.7-P3.0:这组引脚的第一功能为传送用户的输入/输出数据。它的第二 功能作为控制用,每个引脚不尽相同。VCC为+5V电源线,Vss为接地线。ALE/PROG :地址锁存允许/编程线,配合P0 口引脚的第二功能使用,在

11、访 问片外存储器时,8051CPU在P0.7-P0.0引脚线上输出片外存储器低8位地址 的同时还在ALE/PROG线上输出一个高电位脉冲,其下降沿用于把这个片外存 储器低8位地址锁存到外部专用地址锁存器,以便空出P0.7-P0. 0引脚线去传 送随后而来的片外存储器的读写数据。EA/Vpp:允许访问片外存储器/编程电源线,可以控制8051使用片内ROM 还是片外ROM。如果EA=1,那么允许使用片内ROM;如果EA =0,那么允许使用 片外ROM。XTAL1和XTAL2:片内振荡电路输入线,这两个端子用来外接石英晶体和微 调电容,即用来连接8051片内OSC的定时反馈电路。石英晶振起振后,应能

12、在 XTAL2线上输出一个3V左右的正弦波,以便于8051片内的OSC电路按石英晶振 相同频率自激振荡,电容C1、C2可以帮助起振,调节它们可以达到微调fosc的 目的。0SC2.2 PWM信号发生电路设计2.2.1 PWM的基本原理PWM (脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载 两端的电压,从而达到控制要求的一种电压调整方法。PWM可以应用在许多方面, 比如:电机调速、温度控制、压力控制等等。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且 根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电 枢上电压的“占空比”来达到改变平均电

13、压大小的目的,从而来控制电动机的转设电机始终接通电源时,电机转速最大为Vmax,设占空比为D= t1 / T,则 电机的平均速度为V广七疽D,其中七指的是电机的平均速度;Vmax是指电机在 全通电时的最大速度;D二t1 / T是指占空比。由上面的公式可见,当我们改变占空比D = t1 / T时,就可以得到不同的 电机平均速度匕,从而达到调速的目的。严格来说,平均速度Vd与占空比D并 非严格的线性关系,但是在一般的应用中,我们可以将其近似地看成是线性关系。2.2.2 PWM信号发生电路设计+5图2-9PWM信号发生电路PWM波可以由具有PWM输出的单片机通过编程来得以产生,也可以采用PWM 专用

14、芯片来实现。当PWM波的频率太高时,它对直流电机驱动的功率管要求太高, 而当它的频率太低时,其产生的电磁噪声就比较大,在实际应用中,当PWM波的 频率在18KHz左右时,效果最好。在本系统内,采用了两片4位数值比较器4585 和一片12位串行计数器4040组成了 PWM信号发生电路。两片数值比较器4585,即图上U2、U3的A组接12位串行4040计数输出端 Q2Q9,而U2、U3的B组接到单片机的P1端口。只要改变P1端口的输出值, 那么就可以使得PWM信号的占空比发生变化,从而进行调速控制。12位串行计数器4040的计数输入端CLK接到单片机C51晶振的振荡输出 XTAL2。计数器4040

15、每来8个脉冲,其输出Q2Q9加1,当计数值小于或者等 于单片机P1端口输出值X时,图中U2的(AB)输出端保持为低电平,而当计 数值大于单片机P1端口输出值X时,图中U2的(AB)输出端为高电平。随着 计数值的增加,Q2Q9由全“ 1”变为全“0”时,图中U2的(AB)输出端又 变为低电平,这样就在U2的(AB)端得到了 PWM的信号,它的占空比为(255 -X / 255)*100%,那么只要改变X的数值,就可以相应的改变PWM信号的占空比, 从而进行直流电机的转速控制。使用这个方法时,单片机只需要根据调整量输出X的值,而PWM信号由三片 通用数字电路生成,这样可以使得软件大大简化,同时也有

16、利于单片机系统的正 常工作。由于单片机上电复位时P1端口输出全为“1”,使用数值比较器4585 的B组与P1端口相连,升速时P0端口输出X按一定规律减少,而降速时按一定 规律增大。2.2.3 PWM发生电路主要芯片的工作原理1.数据比较器具有数据比较功能的芯片有74LS6828, 74LS6838等8位数值比较器,4位 数值比较器4585等。本PWM发生电路通过两片4位数值比较器4585就可实现 PWM信号的产生,因此选用4585作为信号发生电路。芯片4585的引脚图:输出2 .串行计数器图2-10 4585引脚图系统PWM信号发生电路中还使用到一片串行计数器,有串行计数功能的芯片 有4024

17、、4040等,它们具有相同的电路结构和逻辑功能,但4024是7位二进制 串行计数器,而芯片4040是一个12位的二进制串行计数器,所有计数器位为主 从触发器,计数器在时钟下降沿进行计数。当CR为高电平时,它对计数器进行 清零,由于在时钟输入端使用施密特触发器,故对脉冲上升和下降时间没有限制, 所有的输入和输出均经过缓冲。本系统使用4040作为串行计数器,芯片4040 的引脚图如图2-11所示:Q11 吁皿116Q5 215一 Q10Q4 一3八14Q94040Q6 413一 Q7Q3 512Q8Q2 611CRQ1 710一 CPQSS 89Q02.3功率放大驱动电路设计功率放大驱动芯片有多种

18、,其中较常用的芯片有IR2110和EXB841,但由于 IR2110具有双通道驱动特性,且电路简单,使用方便,价格相对EXB841便宜, 具有较高的性价比,且对于直流电机调速使用起来更加简便,因此该驱动电路采 用了 IR2110集成芯片,使得该集成电路具有较强的驱动能力和保护功能。2.3.1芯片IR2110性能及特点IR2110是美国国际整流器公司利用自身独有的高压集成电路以及无闩锁 CMOS技术,于1990年前后开发并且投放市场的,IR2110是一种双通道高压、高 速的功率器件栅极驱动的单片式集成驱动器。它把驱动高压侧和低压侧MOSFET 或IGBT所需的绝大部分功能集成在一个高性能的封装内

19、,外接很少的分立元件 就能提供极快的功耗,它的特点在于,将输入逻辑信号转换成同相低阻输出驱动 信号,可以驱动同一桥臂的两路输出,驱动能力强,响应速度快,工作电压比较 高,可以达到600V,其内设欠压封锁,成本低、易于调试。高压侧驱动采用外 部自举电容上电,与其他驱动电路相比,它在设计上大大减少了驱动变压器和电 容的数目,使得MOSFET和IGBT的驱动电路设计大为简化,而且它可以实现对 MOSFET和IGBT的最优驱动,还具有快速完整的保护功能。与此同时,IR2110 的研制成功并且投入应用可以极大地提高控制系统的可靠性。降低了产品成本和 减少体积。2.3.2 IR2110的引脚图以及功能IR

20、2110将输入逻辑信号转换成同相低阻输出驱动信号,可以驱动同一桥臂 的两路输出,驱动能力强,响应速度快,工作电压比较高,是目前功率放大驱动 电路中使用最多的驱动芯片。其结构也比较简单,芯片引脚图如下所示:L0 1IR211014空COM 213VSEVcc 312一 UN空一411一 SDVe 510一 HI1TVE -69DDH0 78空图2-12 IR2110引脚图2.4主电路设计2.4.1延时保护电路利用IR2110芯片的完善设计可以实现延时保护电路。IR2110使它自身可对输入的两个通道信号之间产生合适的延时,保证了加 到被驱动的逆变桥中同桥臂上的两个功率MOS器件的驱动信号之间有一互

21、琐时 间间隔,因而防止了被驱动的逆变桥中两个功率MOS器件同时导通而发生直流电 源直通路的危险。2.4.2主电路从上面的原理可以看出,产生高压侧门极驱动电压的前提是低压侧必须有开 关的动作,在高压侧截止期间低压侧必须导通,才能够给自举电容提供充电的通 路。因此在这个电路中,Q1、Q4或者Q2、Q3是不可能持续、不间断的导通的。 我们可以采取双PWM信号来控制直流电机的正转以及它的速度。将IC1的HIN端与IC2的LIN端相连,而把IC1的LIN端与IC2的HIN端相 连,这样就使得两片芯片所输出的信号恰好相反。在HIN为高电平期间,Q1、Q4导通,在直流电机上加正向的工作电压。其 具体的操作步

22、骤如下:当IC1的LO为低电平而HO为高电平的时候,Q2截止,C1上的电压经过VB、 IC内部电路和HO端加在Q1的栅极上,从而使得Q1导通。同理,此时IC2的HO 为低电平而LO为高电平,Q3截止,C3上的电压经过VB、IC内部电路和HO端加 在Q4的栅极上,从而使得Q4导通。电源经Q1至电动机的正极经过整个直流电机后再通过Q4到达零电位,完成 整个的回路。此时直流电机正转。在HIN为低电平期间,LIN端输入高电平,Q2、Q3导通,在直流电机上加反 向工作电压。其具体的操作步骤如下:当IC1的LO为高电平而HO为低电平的时候,Q2导通且Q1截止。此时Q2 的漏极近乎于零电平,Vcc通过D1向

23、C1充电,为Q1的又一次导通作准备。同 理可知,IC2的HO为高电平而LO为低电平,Q3导通且Q4截止,Q3的漏极近乎 于零电平,此时Vcc通过D2向C3充电,为Q4的又一次导通作准备。电源经Q3至电动机的负极经过整个直流电机后再通过Q2到达零电位,完成 整个的回路。此时,直流电机反转。因此电枢上的工作电压是双极性矩形脉冲波形,由于存在着机械惯性的缘 故,电动机转向和转速是由矩形脉冲电压的平均值来决定的。设PWM波的周期为T,HIN为高电平的时间为t1,这里忽略死区时间,那么LIN为高电平的时间就为T-t1。HIN信号的占空比为D=t1/T。设电源电压为V, 那么电枢电压的平均值为:Vou=

24、t1 - ( T - t1 ) V / T=(2 t1 - T ) V / T=(2D - 1 )V定义负载电压系数为入,入=Vout / V,那么入=2D - 1 ;当T为常 数时,改变HIN为高电平的时间t1,也就改变了占空比D,从而达到了改变Vout 的目的。D在01之间变化,因此入在1之间变化。如果我们联系改变入, 那么便可以实现电机正向的无级调速。当入=0.5时,Vout=0,此时电机的转速为0;当0.5入1时,Vout为正,电机正转;电机正转全速运行。当入二1 时,Vout二V,图2-13系统主电路2.4.3输出电压波形系统电路经过单片机控制的PWM信号产生电路送来的PWM信号,经

25、过功率放 大电路,形成输出电压的波形图如下图如示:HINUNVoUTVccVcc图2-14输出电压波形2.4.4系统总体电路图直流电机调速系统总体电路设计由单片机产生控制PWM信号发生电路产生 PWM信号的数据,控制直流电机调速电路对电机进行调速。negsum)(k2=possum-negsum; /存储结果CY=0;temp1=k3+k1;误差积累,(if(CY=1)/16 位判断。UK=0xfe;elseUK=k1+k3;elseUK=1;P3=UK;附录1.详细电路设计图2.程序(1) 延时程序 void dealy() (uchar i;for(i=0;inegsum)( k2=pos

26、sum-negsum; /存储结果 CY=0;temp1=k3+k1;误差积累,(if(CY=1)/16 位判断。UK=0xfe;elseUK=k1+k3;elseUK=1;P3=UK;(3) 主程序void main()(P1=0x00;P3=0x00;TMOD=0x01; /*定时器 0 方式 1*/TH0=0xfc;/*定时器装载初值*/TL0=0x18;ET0=1;/*开定时器0中断*/TR0=1;/*启动定时器0*/while(1)(if(P1_0=1)P1=0xff;if(P1_1=1)EA=0;/*关 CPU 中断*/if(P1_2=1) (dir=dir;/* 转向控制*/while(P1_2!=0) (;if(P1_3=1)(high+;if(high=30)high=0;while(P1_3!=0)(;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号