C8015F041在智能功率柜中的应用
摘要:简要介绍智能励磁功率柜的概念及C8051F041单片机的特点;详细论述基于C8051F041的智能励磁功率柜的结构、原理及CAN总线通信的实现方法。该控制方案系统集成度高、硬件简单、工作可靠,具有良好的推广价值。
关键词:C8051F041 CAN 现场总线 励磁
随着发电机容量的不断增大,对励磁系统的要求越来越高。某省12年的统计表明,励磁系统故障仍是发电机故障停机和非计划停运的主要原因,占发电机的非计划停运比大于50%。励磁系统出现故障,将影响发电系统整体可靠性,可见励磁系统的可靠性非常重要。国内目前使用的各类励磁调节器非常先进,但功率柜的制造水平还不尽如人意,这势必影响励磁系统整体性能的提高,进而妨碍升发电系统的性能。
目前,国产的励磁功率柜普遍存在检测功能不全,信息传送、控制和检测技术落后等问题。本文介绍的基于C8051F041的智能励磁功率柜具有完备的检测、控制、通信功能。
javascript:window.open(this.src);" style="cursor:pointer;"/>
1 C8051F041单片机特点
C8051FXX系列单片机是美国Cygnal公司新推出的一种兼容51内核的单片机。其结构较复杂,限于篇幅,在这里不再详述。以下仅就笔者对C8051F041的使用介绍一下其新特点。
①内核采用流水线结构,速度可达25MIPS(25MHz晶振),比普通的51快10倍;指令与标准51系列兼容,掌握开发过程非常容易;JTAG调试方式,支持在系统、全速、非插入调试和编程,不占用片内资源。
②片上集成64KB Flash,4352B内部RAM(256+4KB,可外扩至64KB),32个I/O口,12通道12位100ksps可编程增益ADC,8通道8位500ksps可编程增益ADC,2路12位DAC,3路模拟比较器,内部电压基准,片内电源监视、降压检测、看门狗。由于C8051F041的高集成度,避免了外扩ROM、RAM、A/D、D/A、Watchdog、可编程I/O口、EEPROM(用片内Flash实现),大大简化了硬件电路,为形成以C8051F041为核心的单片系统创造了条件,从而可提高系统的可靠性。
③片内集成2个UART,1个SM(兼容I2C),1个SPI。最为便利的是,C8051F041集成了CAN总线控制器。CAN总线具有开发费用低、抗干扰性强、适用于工业现场应用等特点,其在干扰非常严重各种工业现场测控领域得到广泛应用。C8051F041只需加上CAN总线收发电路就可挂接到CAN通信网络上,大大简化了通信系统的设计,同时可减少通信节点受到干扰的概率。
④可编程的16位计数器阵列(PCA),有6个捕捉/比较模块,5个通用16位计数器/定时器。这为需求定时器/计数器较多的测控节点提供了方便。
⑤C8051F041能够满足绝大多数工业测控节点的要求,能够形成以C8051F041为核心的单片系统;配以外围测量单元,可以形成完整的测控节点,提高系统的可靠性。
2 智能励磁功率柜的系统结构
智能功率柜系统原理框图如图1所示。javascript:window.open(this.src);" style="cursor:pointer;"/>在功率柜中最关键的部件是三相全控桥。控制此桥的核心参数触发角度经CAN总线由调节器送出,同时送达本地柜应发的电流值。经检测得到的输出电流值与调节器的应发给定电流值进行比较,完成PI运算后产生新的微调触角度。该触发角度经PCA形成触发脉冲继而驱动三相全控桥,从而在电子级实现柜间均流。与此同时,通过信号检测模块将柜内温度、晶闸管通断状态、输出电流值送入微控制器,对各参数进行计算分析,与设定阀值比较,实时显示测量结果并可进行报警。
2.1 基于PCA模块实现的数字移相触发
三相晶闸管全控桥工作原理及6个晶闸管的触发脉冲相序关系如图2所示。
PCA包含6个基于同一16位计数器作为时基的捕捉/比较模块,每个模块可构成正沿捕捉、负沿捕捉、正负沿捕捉、软件定时器、高速输出、脉冲宽度调制器6种方式。在本系统中,其被构造成高速输出模式,每当PCA计数器与模块的16位捕捉/比较寄存器相匹配,相应模块的CEX引脚的逻辑电平发生变化,并引起相应中断。
触发信号从同步信号过零点计时,调节器经CAN网络发送给各功率框触发我的电角度值α、同步信号周期值TSYN、脉冲宽度W。同步信号采样电路如图3所示。同步信号过零产生中断时,使PCA计数器开始计数,并根据α、W、TSYN及PCA计数频率计算出α的对应值Tα1~Tα6和脉冲后沿的对应值TW1~TW6,并将Tα1~Tα6写入6个模块的16位捕捉/比较寄存器。当捕捉寄存器的值与PCA计数器相符时,CEX引脚变为高电平,相应模块产生中断。在中断子程序中相应的TWN读写入16位捕捉/比较寄存器,其与PCA计数器值相符时,CEX引脚变为低电平,一路触发单脉冲产生,用门电路可将6路单脉冲合为6路双窄脉冲。下式为Tα和Tw计算方法:
TαN=TSYN[α+90(N-1)]/(360×TCLK)
TWN=TSYN[α+W+90(N-1)]/(360×TCLK)
N=1,2,…,6,TCLK为PCA计数器计数周期。
javascript:window.open(this.src);" style="cursor:pointer;"/>
2.2 通过片内Flash在线修改参数
C8051F041的Flash的0x0000~0x007F的地址范围既可用于片内64KB Flash,也可用于附加的128B的扇区,这通过设置PSCTL寄存器的SFLE位实现。由于片内Flash必须先擦除再写入,而且以512B一扇区进行,故附加的128B的扇我更适合用作非易失性数据存储。功率柜需在线修改的参数为PI调节器的P和I。下面以KEIL C51为例给出在线修改参数的程序。
WrRe_Flash(){
Unsigned int xdata *pwrite;
Unsigned int code *pread;
Unsigned char i;
Unsigned char il;
WDTCH=0xde; //禁止看门狗
WDTCN=0xad;
FLSCL=0x09; //25MHz时钟的擦写频率
PSCTL=0x02; //允许Flash扇区擦除javascript:window.open(this.src);" style="cursor:pointer;"/>
PSCTL=0x05; //允许Flash扇区写
pwrite=0x0000; //0x0000指向128B扇区
*pwrite=0; //擦除Flash
PSCTL&=~0x02; //禁止擦除Flash
for(i=0;i<2;i++) //将P和I参数写入
{*pwrite++=PI;}
PSCTL&=~0x01; //禁止写Flash
pread=0x0000; //读入当前值
for(il=0;il<2;il++){PI[il]=*pread++;}
}
3 CAN总线在励磁装置中的应用
CAN总线是主要的现场总线之一。由于其较低的开发费用、良好的抗干扰能力等特点,其在工业测控领域得到广泛应用。关于CAN总线的基本概念、接口电路等方面的相关内容较多,这里不再详述。本文重点介绍如何用C8051F041实现CAN总线通信。
3.1 C8051F041的CAN控制器结构
C8051F041内部集成CAN控制器,不需外加CAN控制器(如SJA1000),这对于需要良好抗干扰性的测控系统有很大好处;可将C8051F041构成为集通信与控制功能于一体的单片系统,大大简化硬件设计,进而提高系统抗干扰能力。
图4给出C8051F041内部CAN结构图,MCU不能直接访问信息RAM,必须通过IF寄存器,然后由IF寄存器与信息RAM交换数据。信息RAM共可存32帧信息,IF寄存器分为IF1和IF2两组,可分别定义为接收、发送功能,IF的CommandRequest寄存器定义访问32帧信息的哪一帧,CommandMask定义将一帧信息的哪一部分传到信息RAM。
中断寄存器IR为0x0000,表示没有断发生;为0x0001~0x0020,表示32帧信息的哪一帧引脚中断;为0x8000,表示状态改变(发送完成、接收完成、错误状态)引起中断。
3.2 CAN通信
通信的初始化过程与其它CAN控制器类似,不再详述。限于篇幅仅给出如图5所示的发送、信息RAM与IF通信和接中断子程序的框图。
javascript:window.open(this.src);" style="cursor:pointer;"/>
3.3 CAN总线在智能功率柜中的应用
CAN通信系统由4个节点组成:1个调节器和3个功率柜。功率柜由C8051F041完成通信功能,调节器由集成了CAN协议的网卡HT-1302B负责通信。本系统由带屏蔽层的双绞线构成通信介质,最大通信距离不超过150m,通信速率可达250Kbps。调节器发送单柜应发电流值、触发角、同步信号周期、脉冲宽度给各功率柜,功率柜将各柜输出电流值、导通监视结果、柜内各点温度反馈回调节器。
4 应用中的问题
①在默认中断顺序中,CAN的中断号高于INT1(优先级低),应将CAN设为高中断优先级使其高于INT1,这样才能有正确的触发角度。
②在线修改参数时,读、写指针的数据类型应分为code、xdata,擦除、写入Flash后应分别立即禁止擦除、禁止写入,参数写入后应将参数再读入RAM中。
③总线定时寄存器的设置极大影响了CAN性能的发挥。应用中,我们采用16MHz晶振,BTR为1C01H,通信速率为250Kbps,两点间最大通信距离为150m,通信效果很好。
④新推出的C8051C06X除具有C8051F04X的功能外,新增了16位ADC。这为需高精度测量的应用场合提供了方便。