基于STC8F单片机的开关量控制系统设计

2018-08-21 10:26李高峰
科技与创新 2018年16期
关键词:二极管触点串口

李高峰

(青岛艾诺智能仪器有限公司,山东 青岛 266101)

在工业现场应用中,控制系统往往需要多组开关量输出和输入,既要求安全电气隔离,又要求远距离控制,还要求抗干扰性能强。本文设计了一种基于STC8F单片机的开关量控制系统,可较好地解决上述问题。

1 总体思路

以STC8F单片机为核心,用16路IO口控制16路继电器开关量输出,用另外16路IO口控制光耦开关量输入,通过RS485串口和外部通信。

2 硬件设计

2.1 STC8F单片机简介

STC8F系列单片机是STC公司的新一代产品,特点为:①超高速8051内核,指令代码完全兼容传统8051,支持在线仿真。②最大64 K字节FLASH,可擦写100 000次以上,支持在系统编程(ISP),2 K字节内部扩展RAM。③多个定时器,多个串口,多组GPIO。集成可编程的时钟、电压监控复位电路。④宽电压,宽温度,抗干扰,价格低。

2.2 控制模块

控制模块如图1所示。

J1为电源输入,可使用DC5V/1A适配器供电,有滤波电容C9和保护用TVS1。因适配器基本都是开关电源,C9没有使用太大的电容。U1为STC8F2K64S2-LQFP44单片机,是系统的控制核心。因其内部集成的晶振精度及温漂不太理想,为减小串口波特率的误差,使用了外部晶振Y1。使用了其内部集成的可编程电压监控复位电路,没有使用单独的外部复位电路。P5.4控制指示灯,用来指示本机状态,比如正常、通信故障等。DO[0..15]为16路输出IO,驱动后级开关量输出继电器阵列,单片机内部可配置为推挽输出模式。DI[0..15]为16路输入IO,来自开关量输入光耦阵列,单片机内部可配置为准双向弱上拉模式。J2为串口UART1(RXD1、TXD2),用于下载程序和仿真调试。串口UART2(RXD2、TXD2、REN/DE)接后级RS485模块,作为从设备与外部主机通信。SW1为拨码开关,用于设定本机的通信地址。电容C1、C8为单片机的滤波电容,应尽量靠近单片机VCC/GND引脚,PCB走线尽量短而粗。

图1 控制模块

2.3 RS485串口模块

RS485串口模块如图2所示。

图2 RS485串口模块

SP485E为SIPEX公司产品,具有抗静电、失效保护等特点。系统复位时REN/DE经R3下拉,处于接收模式,免得影响外部总线。为增强抗干扰能力,比如雷击,增加了多个电阻和TVS进行保护。

2.4 开关量模块

开关量模块如图3所示。

图3 开关量模块

2.4.1 开关量输出阵列

图3中为一路示例,实际为DO[0..15]共16路。DO0通过三级管T1驱动继电器RY1,二极管D2为继电器线圈续流二极管。CR1为阻容模块,可吸收触点动作时产生的电磁拉弧。继电器为宏发HF46-5 V。线圈规格为5 V/125 Ω,线圈电流为40 mA,如果16路继电器同时动作,最大需要640 mA电流。触点规格为5A/250 VAC/28 VDC,应避免带大功率负载,以免触点烧坏粘连。线圈和触点间耐压为4 000 VAC,触点间耐压为1 000 VAC。在PCB步线时,应注意250 VAC的安全距离和电气间隙的要求。

2.4.2 开关量输入阵列

图3中为一路示例,实际为DI[0..15]共16路。SWI0经滤波及二极管保护,经光耦到DI0。SWI0短接到GNDS为有效信号(低有效)。

U4为DCDC模块,阵列共用,深圳顺源公司的F0505S-1W,输出5 V/200 mA,隔离电压3 000 VAC。

3 软件设计

软件设计主要包括:①初始化。主要包括GPIO、定时器T0、串口2、看门狗等。②定时器T0中断函数。对输入信号进行扫描,对输出信号进行更新。③串口2中断函数。接收上位机下发的指令,上传本机扫描结果。

4 结束语

本系统可控制多路开关量,简单可靠,移植方便,价格便宜,具有一定的实用和推广价值。

猜你喜欢
二极管触点串口
快恢复二极管在高频电路中的选型应用
铁路信号灯用交流继电器转换时间提取方法
基于电路分割法汽车电动车窗控制开关故障的检修
航空电转换器的损伤原因分析及修理
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
接触器辅助触点接触电阻产生原因分析
MCS—51单片机中的多串口通讯技术的应用
目标教学法在中职校电子电工专业教学中的实践
含理想二极管电路的疑难问题辨析お