基于STM32的低压电机再启动控制器设计
2014-03-08王楠楠刘春英
王楠楠,刘春英
(河北工程大学 信息与电气工程学院,邯郸 056038)
“晃电”是指电网因雷击、短路、发电厂故障及其他外部、内部原因造成电网短时间电压大幅度波动、甚至短时断电数秒的现象;“晃电”会使系统电压瞬间降低,导致接触器、变频器及断路器等控制设备脱扣,造成能源供应中止或生产线停产[1]。企业中,大量低压电动机由接触器来控制,供电系统短暂失压将会使接触器因失电脱扣,导致电机停机。晃电结束后,电网电压恢复,电机需人工启动,大量时间被延误。给企业造成了相当大的直接、间接的经济损失。
本文针对交流接触器控制的电动机,设计了一种基于STM32微控制器和MODBUS协议的低压电机再启动控制器。根据用户现场回路采用不同的接线方式,实现相应的再起动控制,有效避免了晃电对企业连续生产的影响。
控制器充分利用STM32微处理器丰富的片上资源和强大的处理功能,实现电机精确、安全再启动,并实时显示电机运行状态以及当前电压值;以RS485为物理层,通过MODBUS协议,实现上位机对现场设备的智能化控制以及网络化管理。
1 工作原理
1.1 控制器原理
低压电机再启动控制器供电电路引自交流接触器控制电路L、N端,并通过控制器的输出控制端检测接触器KM常开辅助触点状态,从而判断晃电发生情况。
现场电路供电正常时,控制器电源电路中设计法拉电容作为储能元件,发生晃电时,电容放电供控制器工作,可维持工作时间300 s。
当现场发生晃电时,交流接触器KM的线圈失电,接触器KM主触点断开,正在运行的电机停机。同时接触器KM常开辅助触点断开,控制器启动计时。控制器实时监测电网电压,根据电压恢复情况控制电机:如果电网电压在设定时间内的某一时刻开始恢复正常,此时开始,根据工艺流程要求,控制器延时控制相应继电器闭合,接触器KM线圈得电,KM主触头闭合,因电网晃电造成停机的电机再启动;如果在允许时间内电网电压没有恢复正常,则控制器相应继电器不动作,线路保持断开,电机由其它方式再启动。
1.2 工作方式
控制器设计了两路继电器控制,根据现场对电机再启动方式要求,来控制继电器J1和继电器J2状态,实现不同方式的电机再启动,如星三角启动回路或降压启动回路的电机再起动。
控制器通过RS485总线可以和上位机进行双向通信。上位机可以对接触器状态及抗晃电时间等进行遥控和查询;上位机有要求时,控制器可以将接触器当前状态、晃电时间、有无晃电现象等信息上传至上位机。
2 控制器硬件电路设计
控制器由电源电路、STM32微处理器、电压监测、继电器、按键输入、显示、485通信模块组成。控制器硬件框图如图1所示。
图1 硬件框图Fig.1 Block diagram of hardware devices
控制器4个输入按键包括复位键、功能选择键、位选择键、加1/确认功能键;数码管显示晃电时间、电网电压等。通信模块实现控制器与上位机通信。
2.1 STM32微处理器
STM32系列32位闪存微控制器使用来自ARM公司具有突破性的Cortex-M3内核,该内核是专门设计于满足集高性能、低功耗、实时应用、具有竞争性价格于一体的嵌入式领域的要求[2]。
控制器以32位STM32F103RBT6为核心处理器,性能高、功耗低。片上集成128 K字节的Flash存储器,2个12位μs级A/D转换器,3个 USART接口。微处理器基于Cortex-M3 CPU,最高工作频率可达72 MHz,单周期32位乘法和硬件除法器,大幅提高Cortex-M3运算能力。
编程时,应用STM32固件函数库,可以大大降低编写程序的时间,降低成本。
2.2 电源电路
控制器由电网交流低压经过开关电源变换输出电压供电。“晃电”再启动控制器必须能够在系统供电出现低电压或者供电中断时维持正常连续工作,才能够在电压恢复后按设定的参数精确再启动[3]。电压电路原理图如图2所示,图中法拉电容C2、C4的作用为晃电时,作为维持控制器工作的电源;D2、D3、D4功能为防止法拉电容向开关电源供电,损坏开关电源;R1用来限制法拉电容的充电电流。
图2 电源电路Fig.2 Power circuit
2.3 电压监测
控制器通过监测接触器常开辅助触点判断电机运行状态,通过L、N两端电压监测电网电压恢复情况,控制电机再启动。电压监测电路如图3所示,电压互感器T1输出电流,经R2输出电压,D7、D8两个保护二极管与1.5 V基准电压,保证电压互感器输出电压UA在0.8~2.2 V,在处理器A/D的线性工作范围内;R10、C52低通滤波,R9吸收特高频信号,便于谐波分析;D5、D6组成钳位电路,防止A/D输入信号过小或过大烧坏芯片。
图3 电压监测电路Fig.3 Voltage monitoring circuit
2.4 继电器控制
继电器控制电路中采用光耦合器实现控制电路与现场电路电气隔离,同时保持信号联系。如果电网电压在规定时间内恢复正常,STM32控制对应输出端口,光耦合器3脚输出高电平,R8防止光耦合器截止时,三极管基极下拉至地,保证三极管截止,通过限流电阻R6给三极管发射结提供静态偏置,三极管处于饱和状态,控制继电器闭合,线路闭合,实现电机再启动;如果电网电压没有恢复正常,则继电器保持断开,电机由其它方式再启动。D10为续流二极管,C5为滤波电容。继电器控制电路设计如图4所示。
图4 继电器控制电路Fig.4 Relay controlling circuit
3 软件设计
控制器软件设计决定电机能否实现精确、安全的再启动。通信协议选择决定上位机对现场设备监控的准确性和实时性。控制器软件设计包括MODBUS协议选择、通信命令格式、电机再启动控制程序。
3.1 MODBUS协议选择
MODBUS协议是应用在工业控制领域中的一种标准通信协议,通过该协议,不同厂商生产的设备可以连接成工业网络,实现集散控制。RS485总线通信方式具有结构简单、价格低廉、通信距离较远和数据传输速率适当等优点[4]。
标准MODBUS协议有2种工作模式:ASCII模式和RTU模式。由于在同样的波特率下,RTU模式比ASCII模式能够传送更多的数据[5],因此控制器采用RTU模式来实现MODBUS通信协议。
RTU消息帧典型格式如表1所示。采用RTU模式通信时,消息发送至少要以3.5个字符时间的停顿间隔开始。在最后一个传输字符之后,一个至少3.5个字符时间的停顿标定消息的结束。
表1 RTU消息帧Tab.1 RTU message frame
3.2 MODBUS通信命令格式
MODBUS通信采用主从方式,在同一网络中,主机和从机必须都采用统一通信模式和同一传输速率。
控制器与上位机通信包括最近一次晃电开始时间、晃电结束时间,因晃电停机电机是否由控制器重启,控制器参数设置,系统供电时重启电机及对时等信息。
如1号控制器记录最近一次晃电发生时间为2014年2月12日6时25分37.55秒,结束时间为2014年2月12日6时25分37.98秒。时间在4个寄存器中,用毫秒方式表示,转换成16进制,则上述发生时间存储为:07de 020c 0619 92ae。寄存器首地址为01H,上位机读寄存器功能码为03H,控制器1返回晃电发生和结束时间,则命令格式为
上位机发送:0x01 0x03 0x00 0x01 0x00 0x08 0x1d 0x14
控制器 1返回:0x01 0x03 0x10 0x07 0xde 0x02 0x0c 0x06 0x19 0x92 0xae 0x07 0xde 0x02 0x0c 0x06 0x19 0x94 0x5c 0x07 0x5a
上位机对时命令,保证现场组网设备时钟一致。对时命令以广播方式发送,功能码为10H,寄存器首地址为40H。如果统一对时时间为2014年2月13日8时10分20.20秒,则命令格式为
上位机发送:0x00 0x10 0x00 0x40 0x00 0x04 0x08 0x07 0xde 0x02 0x0d 0x08 0x0a 0x4e 0xe8 0x10 0x23
上位机发送对时命令后,现场组网中所有从机设备如控制器1按命令设置控制器时间。
1号控制器重启晃电后停机的电机,则首地址00H寄存器值为01,否则为00,则当重启后上位机查询时,命令格式为
上位机发送:0x01 0x03 0x00 0x00 0x00 0x01 0x0a 0x84
控制器 1返回:0x01 0x03 0x02 0x00 0x01 0x84 0x79
3.3 再启动控制程序
再启动控制包括3个模块:电机掉电判断及再启动;实时监测电网电压,微处理器采样中断功能可保证实时性;人机交互模块。电机再启动控制部分流程如图5所示。控制器主要根据接触器辅助触点判断电机运行状态变化,根据掉电后电网电压恢复情况和现场线路设计,控制继电器动作。
图5 再启动控制流程图Fig.5 Flow chart of restarting controlling
4 典型控制接线应用
控制器可以实现不同接线方式电机再启动,以星-三角接线再启动为例,介绍控制器控制接线应用,接线图如图6所示。
图6 再启动控制接线图Fig.6 Wiring chart of restarting controlling
控制器通过监测接触器KM3辅助触点状态判断是否有晃电现象发生。再启动控制过程为:如果ZJ释放,控制器输出再启动信号,继电器J1线圈得电,KM3线圈得电主触头闭合,同时时间继电器SJ得电延时,KM1线圈得电主触头闭合,电机以星形接线启动;SJ延时到,SJ常开触点闭合,继电器ZJ线圈得电,KM3线圈失电,KM2线圈得电主触头闭合同时SJ线圈失电,KM1线圈不断电,电机以三角形接线运行。
5 结语
控制器采用STM32作为核心处理器,充分利用其丰富的片上资源和高速处理能力,准确测量电网电压,精确定时再启动因晃电停机的电机。通过RS485总线与上位机通信,采用标准的MODBUS协议,实现低压电网的智能化控制。控制器完成后,已成功应用于某些连续生产的煤化工企业中,有效防止因电网晃电而造成的电机停机事故。
[1] 陈建厚.企业“晃电”治理的方法[J].电气应用,2011,30(6):21-24.
[2] 季力.基于STM32芯片的电参数测量与数据传输[J].自动化与仪器仪表,2010(3):137-139.
[3] 高仁璟,崔建军,郝刚.“晃电”检测与再启动控制器设计[J].仪器仪表学报,2008,29(4):822-824.
[4] 汪义旺,崔鸣,祁春清.RS-485/Modbus在FFU控制系统中的应用[J].自动化仪表,2010,31(6):39-44.
[5] 郑鸿彦,苗世洪,张军民.基于ARM9微处理器的MODBUS通信协议的实现[J].电气应用,2007,26(5):45-79. ■