基于微处理器的大电流模拟继电器的设计*

2014-07-31 20:42崔转玲
机械研究与应用 2014年2期
关键词:子程序液晶中断

林 森, 崔转玲

(1.兰州交通大学 机电工程学院,甘肃 兰州 730070; 2.兰州交通大学 自动化与电气工程学院,甘肃 兰州 730070)

基于微处理器的大电流模拟继电器的设计*

林 森1, 崔转玲2

(1.兰州交通大学 机电工程学院,甘肃 兰州 730070; 2.兰州交通大学 自动化与电气工程学院,甘肃 兰州 730070)

由于受到传统开关器件的限制,大电流开关电源存在功率小、效率低等问题,在对PWM软开关技术进行分析后,利用AT89C52单片机的中断方式输出频率和占空比可调的PWM脉冲,控制大功率开关管GT40T101的通断,从而实现以模拟继电器的方式控制电路的通断。通过搭建电路验证了PWM软开关在控制大功率电源方面的优越性,对于实际的电气工程应用具有一定的参考价值。

单片机;IGBT;模拟继电器;人机交互系统

0 引 言

目前开关电源技术主要朝着高效率、高性能、高可靠性的方向发展。传统的开关器件通断速度慢并且在状态变换的瞬间电流或电压都会有急剧的变化,从而造成极大的损耗;因此如何提高开关速度降低开关损耗已成为一个亟待解决的问题[6]。大功率IGBT开关器件通断速度快,导通电流大极好的符合了这一要求,PWM软开关技术也为此提供了解决办法[3]。笔者通过软件的方法控制单片机使之输出规定的PWM波,以电平的方式控制功率管GT40T101的通断,以模拟继电器的方式控制电路的接通和断开。利用扫描键盘和1602液晶实现良好的人机交互界面,并通过软件仿真进行验证[5]。

1 电路工作原理简介

此研究的控制对象是一个阻感负载,使其按照一定的频率接通或断开。如图1所示L1即为被控对象,R1为限流电阻,D1为续流二极管,C1为输入端滤波电容,Q1为IGBT器件GT40T101,通过控制栅极电流实现电路的导通或关断。编程使单片机输出特定的PWM脉冲控制功率管的导通或关断从而实现电路的通断[2]。

图1 电路原理图

GT40T101是东芝出品的N沟道型绝缘栅双极性晶体管大电流功率开关,其开启电压UGE在3.0 V~6.0 V,上升时间0.6 μs,开通时间为0.7 μs,下降时间0.2 μs,关段时间为0.5 μs。故该晶体管可以满足电压和通断时间的要求。另外单片机I/O口输出的电压约5 V,故通过稳压电路可以满足该管的开启电压的要求[1]。GT40T101的最大集电极电流包括额定直流电流IC为40 A,和1 ms脉宽电流80A,故该晶体管可以满足设计中大电流(50 A)的要求[4]。

2 系统硬件设计

系统由主控芯片AT89C52单片机,1602液晶显示器,按键以及部分外围电路组成,硬件结构图如图2所示。

图2 系统结构硬件图

2.1 整体硬件设计

单片机和外围扩展模块的接口电路图如图3所示。

图3 硬件电路接口原理图

AT89C52通过P0口与键盘组成扫描键盘,用以在液晶上显示0~9十个数字;通过P2口连接液晶显示器的数据口,键盘输入的数据可以通过此口传送给1602。另有两个独立键盘,采用外部中断的方式分别执行确定和取消功能74HC245是一个增强I/O驱动能力的芯片,设计中将芯片的片选控制口OE始终接地保持片选有效;芯片的数据传输方向控制口DIR接高电平,其数据从A端向B段传送。

2.2 键盘硬件设计

如图4所示,按键0~9采用的是扫描式键盘。0~3键一端接P0.0,4~7键一端接P0.1,另一端分别接接P0.4,P0.5,P0.6,P0.7;8~9键一端接P0.2,另一端分别接接P0.4,P0.5;独立按键分别接外部中断0和外部中断1;扫描时逐次将P0口的低四位置零,检测高四位的电平状态,从而确定按键按下。

2.3 1602液晶硬件设计

如图5所示,1602液晶显示器与单片机通过驱动芯片74HC245连接,并由P1口的低三位提供控制线,P1.0是数据命令选择口;P1.1是读写控制口;P1.2是使能信号控制口。具体组合如表1所列。

图4 键盘接口原理图

图5 1602液晶接口原理图

功能写命令读数据读状态写数据RS0101RW0110E↑11↑

3 系统软件设计

软件部分包括主程序、中断定时程序、液晶显示程序、键盘扫描程序。主程序包括1602液晶初始化程序、扫描键盘编码程序、数据传递程序。采用模块化的方式编写程序使得程序具有较高的安全性和可调用行,流程图如图6所示。

3.1 1602液晶程序

该段程序的作用是为液晶进行显示做好准备。通过单片机的P2数据口向1602写入若干条命令。具体程序如下:

//初始化

void init_lcd1602()

{e=0;

rw=0;

write_com(0x0f);//开显示,光标闪烁

write_com(0x38);//双行显示,8位数据

write_com(0x01);//显示清屏

write_com(0x0c);//开显示,光标不闪

write_com(0x06);//指针自动加一,不移屏

write_com(0x80); }//设置初始化数据指针

通过上述程序1602进入准备状态,当主程序执行写数据指令之后液晶就会在指定位置显示指定的字符,或调用液晶内部以固化的RAM字符。

图6 程序作流程图

1602的写命令可以由下面的子程序实现:

//写指令或写数据

void write(uchar i,bit j)

{

read_busy();

P2=i;//待写入数据

RS=j;//其中j=0,写指令;j=1,写数据

RW=0;//写操作

EN=1;//提供高脉冲

EN=0;}

在程序的后续操作中,不论是读写数据还是命令都需要对1602进行判忙操作,即判断液晶是否处在空闲状态,如果没有在空闲状态,对1602的读写操作均为无效。下面就是判忙子程序。

//读写允许判断函数

void read_busy()

{

P2=0xff;

RS=0;

RW=1;

EN=1;//输出八位状态字

while(P2&0x80);

//P2口最高位位若不为0,停在此处,读写禁止;若为0,读写允许,进入下一步

EN=0;}

通过上面的子程序,即可对1602做到准确有效的操作。

3.2 键盘扫面程序

此设计里的所有按键都是一端接P0口的一个低四位,另一端接P0口里的一个高四位。工作时高四位为高电平,低四位逐位拉低,通过检测高四位的电平状态从而判断出是哪一个键按下。不同的P0口状态代表了不同的数据,并对应不同的显示数据。具体的I/O状态与数据如表2所列。

表2 数据对应表

根据上表的对应关系,可以编写出键盘扫描子程序。具体程序如下:

//键盘扫描函数

unsigned char KeyScan(void)

{unsigned char cord_h,cord_l;

//行列值中间变量

KeyPort=0xf0;//行线输出全为0

cord_h=KeyPort&0xf0;//读入列线值

if(cord_h!=0xf0)//先检测有无按键按下

{DelayMs(10); //去抖

if((KeyPort&0xf0)!=0xf0)

{cord_h=KeyPort&0xf0;//读入列线值

KeyPort=cord_h|0x0f;//输出当前列线值

cord_l=KeyPort&0x0f;//读入行线值

while((KeyPort&0x0f)!=0x0f);

//等待松开并输出

return(cord_h+cord_l);//键盘最后组合码值}

}

return(0xff); }//返回该值

3.3 中断定时程序

此设计中频率在1~400Hz,占空比在1%~100%之间连续可调。经过计算可知输出高电平时间最短为25 μs,最长为1 s。

设计中采用中断的方式严格准确的定时25 μs,通过计数的方式准确的使得I/O口输出规定的高电平时间。

设计中采用定时器1,利用方式2即8位自动数据重装方式。计数的数据格式采用长整型数据,以防止数据溢出。

//定时器1设置

EA=1; //中断总控制位,允许中断

ET1=1; //定时器1中断允许

TMOD=0x20;//定时器1,软启动,方式2

TH1=0xFF; //自动重装的数据(1us中断)

TL1=0xFF;

TR1=1; //启动定时器1

另外在中断子程序中需要给定时器1中自动重装数据,为了防止中断操作影响时序,因此中断子程序中的命令不宜过长。具体如下。

void tim1() interrupt 1

{TH1=0xFF;

TL1=0xFF;

count1++;}

通过以上程序便可完成设计的目的,即通过I/O口便可输出频率占空比可调的PWM脉冲。通过软件仿真可以得到合适的波形,效果良好。

4 软件仿真

利用Proteus7.5搭建最小系统仿真电路。仿真验证数据如表3所列。

表3 仿真数据

图7中四张图纵向的每一小格代表1V,横向的每一小格代表5 ms(20 Hz)或1 ms(100 Hz)。从上面图3或图4可以看出,100 Hz时下降沿或上升沿有一定的延时,这是因为频率越高导致周期越短,由于单片机的运算速度有限才导致了有所延迟,所以要想消除延迟应提高处理器的运算速度。

图7 不同频率和占空比时输出的波形图

5 结 语

针对系统的控制对象,设计出合理的可为电源提供开关信号的单片机系统。系统具有简单的交互式人机系统,可方便的对电源进行控制,通过改进将来可以很好地实现自动控制。

[1] 林 云,管 春.电力电子技术[M].北京:人民邮电出版社,2012.

[2] 李朝春,刘艳玲.单片机原理及接口技术[M].北京:北京航空航天大学出版社,2013.

[3] 蔡宣三,倪本来.开关电源设计与制作基础[M].北京:电子工业出版社,2012.

[4] 罗廷芳,孟志强.基于IGBT的固态高压脉冲电源的研究与设计[J].电子设计工程,2012,20(5):113-115.

[5] 谭浩强.C程序设计[M].第四版.北京:清华大学出版社,2010.

[6] 贺岩斌,王志鹏,曾旭初.高功率脉冲电源的研制[J].电力电子技术,2011,45(5):78-80.

Design of High Current Analogue Relay Based on SCM

LIN Sen1, CUI Zhuan-ling2

(1.SchoolofMechatronicEngineering,LanzhouJiaotongUniversity,LanzhouGansu730070,China;2.SchoolofAutomation&ElectricalEngineering,LanzhouJiaotongUniversity,LanzhouGansu730070,China)

Due to the limitation of the traditional switch devices, high current switching power supply has small power, low efficiency. After analyzing the PWM soft switching technology, the adjustable frequency and duty ratio of PWM pulse outputs by using AT89C52 microcontroller interrupt, switch or off the large power GT40T101 are controlled, then the control of on-off of the circuit is realized by simulating a relay. By building the circuit,the superiority of PWM in the control of high power soft switching power supply is verified, which has a certain reference value for the practical application of electrical engineering.

SCM;IGBT;analogue relay;human-computer interaction systems

2014-01-13

林 森(1988-),男,陕西渭南人,在读硕士,研究方向:机械制造及自动化和工业自动控制。

TP23

A

1007-4414(2014)02-0174-04

猜你喜欢
子程序液晶中断
不可压液晶方程组的Serrin解
《液晶与显示》征稿简则
跟踪导练(二)(5)
千里移防,卫勤保障不中断
浅谈子程序在数控车编程中的应用
液晶与显示2015年第30卷第1期 目录
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序
液晶与显示2014年第29卷第2期 目录
AT89C51与中断有关的寄存器功能表解