首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于单片机C8051F060的智能功率柜的设计应用

基于单片机C8051F060的智能功率柜的设计应用

关键字:单片机   智能功率柜   CAN总线  
1 引言
目前,国产的励磁功率柜普遍存在检测功能不全、信息传送技术、控制和检测技术落后等问题。为了解决这一问题,本文给出了通过采用高集成度单片机C8051F060实现的智能励磁功率柜与CAN总线的通信方法,该方案具有完备的检测、控制和通信功能。

2 C8051F060单片机的特点

C8051FXX系列单片机是美国CYGNAL公司推出的一种与51系列单片机内核兼容的单片机。仅就笔者对C8051F060的使用实践介绍一下其新特点:

(1)内核采用流水线结构,速度可达25MIPS(25MHz晶振),比普通的51单片机快10倍;其指令与标准系列51单片机兼容,因而掌握开发过程非常容易;该芯片的JTAG调试方式支持在系统、全速、非插入调试和编程,且不占用片内资源。

(2)片上集成有64kB FLASH、4352B内部RAM(256+4kB,可外扩至64kB)、59个I/O口、 2通道16位1MSPS的可编程增益ADC、8通道10位200kSPS可编程增益ADC、2路12位DAC、3路模拟比较器、内部电压基准以及片内电源监视、降压检测和看门狗等功能。由于C8051F060的高集成度,因而无需外扩ROM、RAM、AD、DA、wATCHDOG、可编程I/O口和EEPROM(用片内FLASH实现),从而大大简化了硬件电路,并为构成以C8051F060为核心的单片机系统创造了条件,同时也提高了系统的可靠性。

(3)片内集成有2个UART、1个SM(兼容I2C)和1个SPI。最为便利的是,C8051F060集成了CAN总线控制器,这使得CAN总线具有开发费用低廉、抗干扰性强、可适用于工业现场应用等特点,并可广泛应用于干扰环境非常严重的各种工业现场测控领域。C8051F060只需加上CAN总线收发电路就可挂接到CAN通信网络上,因而大大简化了通信系统的设计,减少了通信节点受干扰的概率。

(4)可编程的16位计数器阵列PCA有6个捕捉/比较模块和5个通用16位计数器/定时器,这一为要求定时器/计数器具有较多的测控节点提供了方便。

(5)C8051F060能满足绝大多数工业测控节点的要求,能够形成以C8051F060为核心的单片机系统,如果配以外围测量单元,还可形成完整的测控节点。

3 智能励磁功率柜的系统结构

智能功率柜系统原理框图如图1所示。功率柜中最关键的部件是三相全控桥,控制此桥的核心参数为触发角度,该参数可由CAN总线通过调节器送出,同时送达本地柜应发的电流值。经检测得到的输出电流与调节器的应发给定电流进行比较并完成PI运算,即可产生新的微调触发角度。该触发角度经PCA形成触发脉冲继而驱动三相全控桥,从而实现柜间均流。与此同时,通过信号检测模块还可将柜内温度、晶闸管通断状态、输出电流值送入微控制器,以对各参数进行计算分析,并将其与设定的阈值进行比较,最后实时显示测量结果,同时报警。




3.1 基于PCA模块实现的数字移相触发

三相晶闸管全控桥的工作原理及六个晶闸管的触发脉冲相序关系如图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α+90N-1 /360TCLk

TwN=TSYNα+w+90N-1 /360TCLk

式中,N可取12...6, TCLk为PCA计数器的计数周期。




3.2 通过片内FLASH在线修改参数

C8051F060中FLASH的0X0000~0X007F地址范围既可用于片内64kB FLASH,也可用于附加的128B的扇区,这可通过设置PSCTL寄存器的SFLE位来实现。由于片内FLASH必须先擦除再写入,而且应当以512B为一扇区进行,故附加的128B的扇区更适合用作非易失性数据的存储。在功率柜中,通常需要在线修改的参数为PI调节器的P和I,下面以kEIL C语句为例给出在线修改参数的程序:

wRRE FLASH 

UNSIGNED INT XDATA *PwRITE

UNSIGNED INT CODE *PREAD

UNSIGNED CHAR I 

UNSIGNED CHAR I1

wDTCN=0XDE //禁止看门狗

wDTCN=0XAD

FLSCL|=0X09 //25MHz时钟的擦写频率

PSCTL|=0X02 //允许FLASH扇区擦除

PSCTL|=0X05 //允许FLASH扇区写

PwRITE=0X0000 0X0000指向128B扇区

*PwRITE=0 //擦除FLASH

PSCTL&=~0X02 //禁止擦除FLASH

FORI=0I<2I++  //将P和I参数写入

*PwRITE++=PI_I 

PSCTL&=~0X01 //禁止写FLASH

PREAD=0X0000 //读入当前值

FORI1=0I1<2I1++ 

PI_I1=*PREAD++
返回列表