基于89C51单片机的电动机转速控制器设计.docx





《基于89C51单片机的电动机转速控制器设计.docx》由会员分享,可在线阅读,更多相关《基于89C51单片机的电动机转速控制器设计.docx(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 引言:在电气时代的今天,电动机一直在现代的生产和生活中扮演着十分重要的作用。据资料统计,如今有90%的动力源来自于电动机,我国生产的电能大约有60%用于电动机。电动机与人们的生活密切相关。步进电机作为机电一体化的关键产品之一,是一种将电脉冲信号转换成直线或角位移的控制电机,广泛应用于工业控制系统中。其转速和机械角位移分别与输入电机绕组中的脉冲平率和脉冲个数成正比。通过改变电脉冲频率,可大范围内进行调速【1】。同时,该电机还能快速起动、制动、反转和自锁。此外,步进电机易于实现计算机或其它数字元件接口,适用于数字控制系统。由于具有上述特点,步进电机日益广泛应用于数字控制系统中,如数控机床、绘图
2、机、自动记录仪表和数一模转换等装置。但步进电机的驱动信号经常还是用一些专用的模拟芯片控制器或者是信号发生器来产生,缺乏灵活性和可靠性。在一些智能化要求较高的场合,用模拟芯片以及信号发生器来控制步进电机有一定的局限性,可以采用AT89C51 单片机控制步进电机以改善其性能【2】。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在国民经济各个领域都有应用。2 步进电机的工作原理步进电机本身可以直接接受数字信号,不需要进行数字与模拟量的转换,具有高精度快速启停能力。如果选用三相六拍,步距1.5,即进一步,电机转动1.5,转动一周需要200步【3】。步进电机直接由数字信号控制,其控制程序可以分
3、为脉冲序列的生成、方向的控制、步进电机变速控制程序3部分。2.1 步进电机控制的基本原理步进电机的基本控制包括转向控制和速度控制2个方面。如图2.1.1,从结构上看,步进电机分为三相、四相、五相等类型,常用的则以三相为主。三相步进电机的工作方式有三相单三拍、三相双三拍和三相六拍3种,下面具体加以阐述。(1)换相顺序的控制步进电机通电换相这个过程称为脉冲分配。例如,三相步进电机在单三拍的工作方式下,其各相的通电顺序为A-B-C-A,通电控制脉冲必须按照这一顺序分别控制A、B、C相得通断。三相双三拍的通电顺序为AB-BC-CA-AB,三相六拍的通电顺序为A-AB-B-BC-C-CA-A【4】。(2
4、)步进电机的转向控制如果给定工作方式正序换相通电,步进电机正转。若步进电机励磁方式为三相六拍,即A-AB-B-BC-C-CA-A。如果按反序通电换相,即A-AC-C-CB-B-BA-A,则电机就反转。其它方式的情况类似。(3)步进电机的速度控制如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。2个脉冲的间隔越短,步进电机就转得越快。调整输送给步进电机的脉冲频率,就可以对步进电机进行调速。图2.1.1 三相步进电机工作原理图2.2 步进电机的起停控制步进电机由于其电气特性,运转时会有步进感,即振动感。为了使电机转动更平滑,减小振动,可在步进电机控制脉冲的上升沿和下降沿采用细分
5、的梯形波,可以减小步进电机的步进角,提高电机运行的平稳性。在步进电机停转时,为了防止因惯性而使电机轴产生顺滑,则需采用合适的锁定波形,产生锁定磁力矩,锁定步进电机的卷轴,使步进电机的转轴不能自由转动。2.3 步进电机的加减速控制在步进电机控制系统中,通过实验发现,如果信号变化太快,步进电机由于惯性跟不上电信号的变化,这时就会产生丢步和堵转现象。所以,步进电机在启动时,必须有加速过程,在停止时一定要有减速过程【5】。理想的加速曲线一般为指数曲线,步进电机整个减速过程的频率变化规律是整个加速过程频率变化规律的逆过程。选定的曲线比较符合步进电机加减速过程的运行规律,能充分利用步进电机的有效转矩,快速
6、响应性好,缩短加减速的时间,并可防止失步和过冲现象。在一个实际的控制系统中,要根据负载的情况来选择步进电机。步进电机能响应而不失步的最高步进频率称为“启动频率”,与此类似,“停止频率”是指系统控制信号突然管段,步进电机不冲过目标位置的最高步进频率。电机的启动频率、停止频率和输出转矩都要和负载的转动惯量相适应,有了这些数据,才能有效地对电机进行加减速控制。加速过程由突跳频率加加速曲线组成(减速过程反之)。突跳频率是指步进电机在静止状态时突然施加的脉冲启动频率f0。步进电机的最高启动频率一般为0.1kHz到4kHz,而最高运行频率可以达到N102kHz。以超过最高起动频率的频率直接起动,会产生堵转
7、和丢步的现象。较为理想的起动曲线应是按指数规律起动。但实际应用时对起动段的处理可采用按直线拟合的方法,即阶梯加速法。一般可按2种情况处理。(1) 已知突跳频率,则按突跳频率分段起动,分段数n=f/f0(2) 未知突跳频率,则按段拟合至给定的起动频率,每段频率的递增量f=f/8,即采用8段拟合。在运行控制过程中,将起始的速度分为n分,作为阶梯频率,采用阶梯加速法将速度连续升到所需要的速度,然后锁定,按预置的曲线运行,如图2.3.1所示 图2.3.1 步进电机运行过程中频率变化曲线在一般的应用中,经过大量实践和反复验证,频率如按直线上升或下降,控制效果就可以满足常规的应用要求。用单片机实现步进电机
8、的加减速控制,实际上就是控制发脉冲的频率。加速时,使脉冲频率增高,减速时则相反。如果使用定时中断来控制电机的速度,加减速控制就不断改变定时器的初值【6】。速度从v1-v2变化,如果是线性增加,则按给定的斜率加减速,如果是突变,则按阶梯加速法处理。2.4 步进电机的换向控制步进电机换向时,一定要在电机减速停止或降到突跳频率范围以内再换向,以免产生较大的冲击而损坏电机。换向信号一定要在前一个方向的最后一个脉冲结束后以及下一个方向的第1个脉冲之前发出【7】。对于脉冲的设计主要要求有一定的脉冲宽度、脉冲序列的均匀度及高低电平方式。在某一高速下的正、反向切换实质包含了减速换向加速3个过程。3 AT89C
9、51简介本控制系统采用ATMEL公司MCS-51系列单片机AT89C51作为微处理器。AT89C51内部有4K的可编程EPROM、21个特殊功能寄存器、2个16位的定时计数器以及一个全双工串行口,对外有4个端端口、32跳I/O线,它们都具有位寻址功能,使用非常方便【8】。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器【9】。89C51单片机是一种功能强大,灵活性高且价格合理的单片机,完全满足本系统设计
10、需要,它的外形及引脚排列如图所示3.1所示:图3.1 AT89C51外形及引脚3.1 主要特性:与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定1288位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路【10】 3.2 管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/
11、地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内
12、部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下列所示:口管脚 备选功能P3.0 RXD(串行输入口)P
13、3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6【11】。因此它可用作
14、对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RE
15、SET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入和内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出【12】。3.3 振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号需通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.4 芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,
16、并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作【13】。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.5 串口通讯单片机的结构和特殊寄存器,这是你编写软件的关键。至于串口通信需要用到那些特殊功能寄存器呢,它们是SBUF,SCON等。SBUF 数据缓冲寄存器这是一个可以直接寻址的串行口专用
17、寄存器。包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址99H。CPU 在读SBUF 时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。SCON 串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。SCON 就是51 芯片的串行口控制寄存器【14】。它的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51
18、芯片串行口的工作状态。51芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON 寄存器。4 步进电机驱动芯片步进电机的控制系统一般包含4部分:控制器、逻辑分配器、驱动电路及步进电机。其结构示意图如图4.1所示。其中,控制器和逻辑分配器可以独立分开,也可合二为一,由微处理器独自完成。图4.1 步进电机控制系统结构示意图对步进电机的驱动不能直接用直流或交流驱动,而必须使用专用的步进电机驱动电路。按照步进电机的启动电流流向,驱动电路分为单极性驱动电路和双极性驱动电路【15】。单极性驱动电路保证步进电机绕组电流沿一个方向流动,适用于反应式步进电机。双极性驱动电路通过控制使步进电机
19、绕组的电流可以正反方向流动,适用于永磁式和混合式步进电机。单极性和双极性绕组结构示意图如图4.2所示。 图4.2 单极性和双极性绕组结构步进电机驱动电路可采用集成化驱动器,比如单极性驱动芯片UCN5804A、ULC2003C、STK6822H等,双极性驱动芯片UC3770、SAAl027、L298、SAAl042、UC3717A等;也可以采用分立元件制作【16】。采用集成芯片设计的驱动器电路简单,且抗干扰能力强,然而功率可能受限制;采用分立元件设计的驱动电路可以构成大功率的驱动电路,但电路比较复杂。4.1 L298简介L298是SGSThomson公司的产品,属于双H桥高电压大电流驱动器【17
20、】。控制信号与TTL电路兼容,可以用来驱动感性负载,如继电器、线圈、直流电机、步进电机等。该芯片能实现两相步进电机双极性驱动或四相步进电机单极性驱动。L298的内部结构框图如图4.3所示,其Multiwattl5封装如图4.4所示,其散热片与第8脚(GND引脚)相连。L298的逻辑电路使用十5V电源,接受标准TTL逻辑信号。它的驱动部分含有两个高电压大电流全桥式驱动器,可承受的最大驱动电压达46V,相电流可达25A【18】。它具有两个使能输入端,在不受输入信号影响的情况下允许或禁止桥路工作,每个全桥的下部三极管的发射极接在一起并引出,以连接外部检测电阻,测量瞬时驱动电流【19】。它设置了一个附
21、加电源输入端,使逻辑部分电路在低电压下工作。图4.3 L298的内部结构框图图4.4 L298的Multiwatt15封装各引脚的功能如下:SENSE A桥路A电流取样电压输出,取样电阻接在该引脚和地之间。OUT1桥路A输出。OUT2桥路A输出。VS步进电机驱动电压输入引脚。该引脚须接一个100nF的无感电容到地。IN1桥路A输入,与TTL电平兼容。ENA桥路A使能输入,TTL电平,低电平时禁止桥路A工作。IN2桥路A输入,与TTL电平兼容。GND信号地与功率地引脚。VDD逻辑电路供电电压输入引脚。该引脚须接一个100nF的无感电容到地。IN3桥路B输入,与TTL电平兼容。ENB桥路B使能输入
22、,TTL电平,低电平时禁止桥路B工作。IN4桥路B输入,与TTL电平兼容。OUT3桥路B输出。OUT4桥路B输出。SENSE B桥路B电流取样电压输出,取样电阻接在该引脚和地之间【20】L298的输出可以直接与二相步进电机连接,采用H桥驱动方式;也可用于驱动单极性的四相步进电机。连接方式如表4.5所列。控制时序由逻辑分配器产生。 表4.5 L298与步进电机的连接L298输出端二相步进电机输入端四相步进电机输入端方法1方法2VSCOMOUT1AACOUT2ACAOUT3BBDOUT4BDBGNDCOM 4.2 L298N控制器原理图4.6是控制器原理图,由3个虚线框图组成。图4.6 控制器原理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 89 C51 单片机 电动机 转速 控制器 设计

限制150内