2.2 组群控制器系统组成
图2给出了一种组群控制器设计方案。它包括CPU模块、线路状态检测模块、交流接触器驱动模块、后备电源模块、时钟模块、控制策略模块、电能计量模块、温湿度检测模块、GSM通信模块和电力载波通信模块。CPU模块采用CPU结构。主微控制器采用高性能、8位、40引脚、具有8KBFlash、多路8位A/D的RISC单片机PIC16F877,负责与GSM通信模块和电力载波模块通信,与交流接触器驱动控制,与实时时钟的读取和校准以及根据照明控制策略发送控制指令等功能。从微控制器采用与主微控制器同一系列的高性能8位、28引脚、多路8位A/D、具有4KB Flash的RISC单片机PIC16F873。该控制器负责管理电能计量模块、后备电源及监控模块、温湿度监控模块和线路状态检测模块等。
2.3 双CPU通信方法与RS-485通信
虽然PIC16F87x系列单片机外围通信接口丰富,但是,整个系统通信复杂,接口资源仍然很紧张。主从CPU的可靠通信,是组群控制器可靠工作的关键之一。
根据资源分配,主微控制器PIC16F877与从微控制器PIC16F873采用SPI接口,并以主从方式通信。根据系统端口配置需要,PIC16F873采用硬件SPI接口方式,PIC16F877采用普通I/O口RB1~RB3来模拟硬件SPI口,即软件SPI接口。PIC16F877的SPI硬件资源分配给E2PROM 24C64使用。PIC16F873的SPI接口工作在从模式下,PIC16F877需要选用一个普通I/O口(这里是RB4)与PIC16F873的SPI通信控制端RA4/SS相连,控制SI通信的发起与结束,如图3所示。每次通信都是由PIC16F877发起,PIC16F873响应。
电能计量模块为单独模块,能够测量供电线路的电压、电流、功率、功率因数等参数,并具有标准的RS-485接口。为此,PIC16F873利用硬串口RC6/TX和RC7/RX,通过RS485接口变换,与电能计量模块JP1相连。这里MAX485芯片作为485总线接口转换芯片,用RC2作为RS-485总线通信输入/输出使能控制端,控制信号的读入和送出。
2.4 交流接触器控制与状态保持
组群控制器的一项重要任务是通过固体继电器SSR和交流接触器实现照明线路供电控制。固体继电器为DC3~24V输入,AC220V输出,其输入由NPN型三极管9013驱动。由于系统实际运行过程中存在各种干扰,若则相关引脚很可能会出现跳变信号或三态,造成交流接触器误动作。因此“锁定”复位前状态,对保证系统可靠性非常重要。这里采用了由1个D触发器、1个光耦、3个电阻和3个I/O引脚组成的采样/保持电路,如图4所示。D触发器复位端R和置位端S分别接地,数据端D接CPU的数据控制端RE0,时钟端CLK通过光耦TIP521接CPU的时钟产生控制端RE1和RE2。保持电路的关键在于RE0、RE1、RE2单个引脚误动作无法产生有效时钟和控制指令。即使CPU发生复位,由RC0脚读回固态继电器当前工作状态,并将RE0输出(D触发器输入)置成该状态,进而保证SSR不产生误动作。电阻R32为上拉电阻,保证RE2出现三态时光耦不产生误导通。电阻R33起限流作用。实际证明该电路是有效的。