微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于AT89C51单片机的变频调速控制系统设计

基于AT89C51单片机的变频调速控制系统设计

时间:11-04 来源:互联网 点击:
4.控制电路软硬件设计

三相SPWM发生器是控制电路的核心部分。在本设计中,我们选用了AT89C51单片机控制英国MITEL公司的专用集成芯片SA8281作为 SPWM波形发生器,该芯片与微处理器接口方便,几乎不用加任何的逻辑电路即可构成完整的SPWM控制电路,结构紧凑,提高了系统的集成度和可靠性,利于降低成本。

4.1 SA8281的功能介绍

SA8281芯片是MITEL公司设计的专门为交流电机的调速控制,UPS电源以及其他需要脉宽调制作为一种有效电源控制的电力电子器件。引脚如图6所示:



图6 SA8281的引脚排列



图7 单片机与SA8281连接图           

它可用于三相PWM波形产生的可编程微机外围接口芯片,使用一组标准的MOTEL总线,适用于英特尔和摩托罗拉二种总线接口,接口通用性好,编程和操作简单,方便,快捷。

SA8281采用常用的对称的双边缘采样法产生全数字化PWM波形,无时漂,无温漂,具有很高的精度和温度稳定性。

有6个标准的TTL电平输出,用来驱动逆变器的6个功率开关器件。

工作频率范围宽,精度高,三角载波频率可调。

工作方式灵活,在电路不变的情况下,直接通过软件设定载波频率、调制频率、调制比、最小脉宽、死区时间等工作参数就可改变逆变器的性能指标,驱动不同负载或工作于不同工况。可通过改变输出SPWM脉冲的相序实现电机的正反转,通过调制达到输出频率为OHz而给电机绕组通一直流电,实现电机的“直流插入制动”。

独立闭锁端可瞬时闭锁输出SPWM脉冲,可处理电机突发情况的发生。

波形存储在内部ROM中,可以选择可删除的最小脉宽和死区时间。

4.2 控制硬件电路的实现

控制电路部分采用的单片机为ATMEL公司推出的AT89C51,它采用CMOS结构,耗能低,抗干扰能力强,与MCS一5l系列完全兼容,且功能比一般的51系列芯片要强大许多。其内部含有128字节的RAM和4K字节的EPROM完全满足系统需要,不用外加RAM或EPROM存放数据或程序,但需要设定和保存的参数则存放在一片EEPROM中[ 5]。

正弦波发生器的原理图如图7所示,它以SA828l作为三相正弦波的发生芯片,单片机AT89C51作为SA8281的控制芯片。SA828l 将大部分外围电路都集成在芯片内部,可以看出SA8281与微处理器接口简单,控制电路非常简单,结构紧凑,这样做从另一方面来讲对芯片工作的稳定性有很大帮助,提高了可靠性。

从整个电路来说,实现对SA828l的控制是通过按键输入相应的信息。本电路的设计要对SA8281输入初始化参数和控制参数,所以用到了三个按键0#键、1#键和2#键。在主程序中判断键号用的是查询式,0#键按下转入初始化子程序:l#键按下转入加速子程序:2#键按下转入减速子程序。

AT89C51是地址与数据总线复用类的单片机,为了隔离潜在的噪音干扰,设置输出断开引脚SETTRIP在通常情况下接地,同时设置了开关,便于在紧急情况下迅速关断所有PWM输出;为使PWM输出处于有效状态,输出关断引脚 接高电平[ 6]。外部时钟CLK引脚接独立的12M有源晶振为 SA8281芯片提供一时钟基准用于控制与PWM有关的各时序。

4.3控制电路软件设计

对SA8281芯片的控制是通过微处理器接口将相应的参数送入芯片内部两24位的寄存器R4、R3来实现的,它们是初始化寄存器和控制寄存器。数据先被读入一系列临时寄存器R0~R2中,然后通过一条虚拟的写操作将数据传送至相应的R4,R3寄存器。

初始化寄存器用于设定和电机及逆变器有关的一些基本参数。在正常情况下,这些参数在电机工作前就被初始化(例.在PWM输出允许前),并且在电机工作时一般不允许改变。

控制寄存器在工作过程中控制输出脉宽调制波的状态,从而进一步控制电机的运行,比如转速、正/反转、启动和停止等。通常在电机工作时该寄存器内容经常被改写以实现对电机的实时控制。程序流程图下面分别进行说明:

4.3.1主程序

主程序判断键号用的是查询式:

O#键按下转入初始化子程序;1#键按下转入加速子程序;2#键按下转入减速子程序。

另外为了防止误操作增加了延时去抖动的再次判断键号环节。主程序流程图如图8所示:



图8 主程序流程图



图9 SA8281初始化子程序流程图

4.3.2初始化子程序

在初始化子程序要设定的是与电机和变频器有关的基本参数,包括载波频率的设定、调制波频率范围设定、脉冲延迟时间设定、最小删除脉宽的设定、调制波形选择、幅值控制设定等。

初始化寄存器的数据先以8位格式存入临时寄存器R0,R1和R2中,然后通过虚拟写操作R4再被存入初始化寄存器。

通常情况下,这些参数在电机工作过程中不要改变。

SA8281初始化子程序流程如图9所示:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top