基于AT89C52的CAN总线无功补偿控制设计
扫描二维码
随时随地手机看文章
1 引言
根据资料统计,输电线路、高压配电网、低压用户三个部分的线损中,低压用户线损最大,因此,降损节能应主要围绕低压380V用户进行。长期以来,我国低压配电网网架薄弱,自然功率因数低,而且结构复杂,降低了电网的经济效益。目前,电力部门一般采用就地无功补偿的方法解决这一问题。目前市场上所投入使用的低压无功补偿装置有很多种,但大部分补偿单元基本上都是由主控制器的CPU直接驱动的,系统有多少组电容器,就会从CPU引出相应路数的线,从无功补偿器引出的线路很多,同时传输距离也很有限。这给安装、检修、维护和扩展带来了极大的不方便。
CAN(Controller Area Network)总线属于现场总线的范畴,它是德国Bosch公司从20世纪80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。CAN总线标准支持全双工通信,传输介质采用双绞线和光纤,传输速率可达1Mbps,节点数可达110个。其最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。其容错能力和抗干扰能力强,传输安全性高、通讯速率快、传输距离可达10KM、同时还具有良好的抗电磁干扰能力,因而在实际应用中具有极高的应用价值。我们将CAN总线技术应用低压无功补偿装置上,可以取得较好的无功补偿效果。
2 系统硬件设计
2.1 系统硬件总体结构设计
系统硬件总体结构设计原理框图如图1所示。控制系统由数据采集单元、中心微处理控制器、CAN总线通信和驱动执行单元、输入键盘、显示单元等部分组成。
图1 硬件总体结构框图
控制器的工作原理是:从控制现场传感器CT、PT送来的电流、电压信号,经过二次变换,转换成0~2V,0~5A信号。这些信号再经过处理,使输入的电压、电流信号满足数据采集测量芯片SA9904B的输入要求。SA9904B把测得的三相电力参数相关值如电压、有功能量、无功能量、频率等存在其内部暂存器里。微处理控制器采用的是AT89C52型单片机,通过SPI接口访问SA9904B内部的24位暂存器,把暂存器的数据根据相应的公式计算就可以得到各相有功功率和无功功率,以及各分相有效电压和频率。根据预设的控制策略就可以决定要动作的开关模块,然后主控制器把要动作的智能投切模块以及要进行的投切动作以帧的形式送到CAN总线上,相应的智能开关模块控制电容器的投切。
2.2 CAN总线节点的硬件设计
节点是组成CAN总线网络的基本单位,在本系统中,主控制器和智能投切模块都可以看作是CAN总线的一个节点,每一个总线节点都由微处理器、CAN控制器、CAN驱动器组成,各节点之间通过总线连接起来。接线示意图如图2:
图2 CAN节点硬件结构图
CAN通信接口采用PHILIPS公司生产的SJA1000通信控制器和82C250总线驱动器。82C250是CAN控制器和物理总线间的接口,速率高,并且有过热保护,它可以提供对总线的差动发送和接受功能。
2.3通信电路设计
CAN智能节点结构由3部分组成:微控制器、CAN控制器、CAN收发器。CAN收发器负责建立CAN控制器和物理总线之间的连接,控制逻辑电平信号从CAN控制器到达物理总线的物理层,反之亦然。CAN控制器和收发器分别采用的是PHILIPS公司的SJA1000和PCA82C250。微控制器负责从CAN控制器接受数据,然后进行数据处理,将处理结果通过CAN控制器和CAN收发器发送给网络中其他的节点。为了增强CAN总线节点的抗干扰能力,SJA1000的TX0和RX0并不是直接与82C250的TXD和RXD相连,而是通过高速光耦6N137后与82C250相连,从而实现了总线上各个CAN节点间的电气隔离。
2.4 安全保护电路设计
单片机微处理器CPU在运行过程中,很可能因受到外界干扰而出现程序“跑飞”或死机。当CPU在扫描工作时间超过正常周期时,需要监视控制定时器发出强行复位信号,将CPU重新拉回初始状态,使系统恢复正常。本设计中采用美国XICOR公司的新型产品X5045可编程看门狗,当系统出现故障时,只要其计时的扫描周期达到编程设定的超时极限,或者当电源电压降到最低转换点以下时,芯片RESET引脚就会立即输出高电平复位信号,从而避免了因系统故障、电源通断、瞬时电压不稳等因素系统安全性能的影响。
2.5 人机接口设计
本装置通过4个按键组合可用来设定控制参数,如电压上下限,功率因数上下限,电流互感器变比等,还可用来选择手动运行方式还是自动运行方式。液晶显示器选用RT12864,可显示4排汉字,小巧精致、美观。液晶显示模块在工作时显示三相实时功率因数,通过按键翻阅还可以显示三相实时电压,有功功率,无功功率等参数。
3 软件设计
采用模块化的软件设计,将软件分成若干相对的独立的功能模块,并为各模块安排适当的入口和出口参数,使得模块之间的相互连接,组合灵活方便。智能传感器的的软件由数据采集模块、输出控制模块、CAN总线通信模块等组成,各模块在监控系统的程序调度下协调工作。CAN总线通信模块由3部分组成:初始化程序、发送数据程序和接受终端程序3部分组成。由于系统中任意时刻均可主动与其他节点通信,所以,各节点的通信程序相同。基于AT89C52和SJA1000的CAN接口模块通过CAN总线建立通信。SJA1000的应用程序可以被分为初始化程序、报文发送程序和报文接收程序。
3.1 CAN控制器SJA1000初始化设计
节点的初始化主要是指系统上电后对微处理器AT89C52和CAN控制器SJA1000进行的初始化,以确定工作主频、波特率和输出特性等。对AT89C52的初始化可结合其监控任务进行,主要是对中断允许与屏蔽、中断优先级、定时器的使用与设置等,由于SJA1000内部无微处理器,故其初始化仍要通过AT89C52对其进行编程实现。初始化程序流程如图3所示。
图3 初始化程序流程图
SJA1000的初始化应在复位模式下进行,所以在SJA1000初始化程序中首先要将工作方式置为复位模式,之后要设置验收滤波方式、验收屏蔽寄存器(AMR)和验收代码寄存器(ACR)、波特率参数和中断允许寄存器(IER)等。CAN协议物理层中的同步跳转宽度和通信波特率的大小由定时寄存器BTR0、BTR1的内容决定。需要指出的是:对于一个系统中的所有节点,这两个寄存器的内容必须相同,否则将无法进行通信。初始化设置完成后,将复位请求位置“0”,SJA1000就可以进入工作状态,执行正常的通信任务。
3.2 CAN总线发送和接受数据程序设计
对SJA1000进行初始化建立CAN总线通信后,模块就可以通过CAN总线发送和接收CAN数据包。消息的发送由CAN控制器SJA1000根据CAN规则自动完成,主控制器必须把要发送的信息送到SJA1000的发送缓冲器中,并设置“发送请求标识位”于命令寄存器中。模块向总线上发送数据包是主动的,如果一次发送不成功,可以再次发送。
CAN控制器SJA1000根据规则自动接收消息,接收到的消息放入接收缓冲器,此时接收缓冲器状态标识RBS置为1,此时表示接收缓冲器中有接收到的消息。主控制器必须将消息保存到程序设置的消息缓冲器中,同时释放接收缓冲器并对消息内容做出反应。接收过程可以通过SJA1000的中断请求或查询SJA1000的标志位来进行。
4 结束语
本文介绍的通信设计方法应用于电网在线无功补偿控制系统中,其采用的短帧结构,数据传输速度快,受干扰概率低;不同的检测设备节点同时传输数据时,优先级高的节点先传输;采用多主式的数据传输方式,网络上任何一个节点出错都不会影响其它节点的正常运行的特性,从总体设计上可以看出,基于CAN总线无功补偿装置突出的优点是使整个系统减少了引出线,使设备简洁,易于扩展,同时也便于安装、检修和维护。
本文德主要创新点:将CAN现场总线技术用于低压电网无功动态补偿,使用标准协议的通讯方式扩展了系统的通讯结构。采用先进的总线技术使系统结构简洁,效率高,网络上任何一个节点出错都不会影响,大大提高了系统的可靠性和适应能力。