APP下载

基于单片机的USB通信电磁锁控制系统设计

2021-05-10杨一曼许连阁

昆明冶金高等专科学校学报 2021年1期
关键词:串口电容电源

杨一曼,许连阁

(辽宁机电职业技术学院自动控制系,辽宁 丹东 118000)

0 引 言

随着零售业的发展,在信息化及物联网技术快速发展的背景下,自动售货机已在全世界范围内分布,其门锁的智能化和安全性尤为重要。USB是一种串口总线标准,也是一种I/O接口的技术规范,实现了主机和外部设备的通讯,具有标准统一、携带方便、可以热插拔等特点,是应用广泛的串行接口总线[1]。在自动售货机电磁锁中应用USB通信技术,将使电磁锁的控制系统结构简单、成本低、安全性得到保障。单片机具有性价比高、应用灵活、性能稳定等特点,以单片机为控制核心的应用技术越来越广,能够实现实时、稳定地传送数据。将USB通信技术与单片机控制相结合,设计了以单片机为控制核心的USB通信电磁锁控制系统,能够实现电磁锁的控制技术要求。

1 USB电磁锁控制系统技术说明

1)外接电源:AC85~265 V 50 Hz,<12 W;

2)输出配接12 V接线方式,即电磁锁采用并联线圈的方式;

3)配接电磁锁容量:12 V,<0.8 A;

4)USB连接线用USB-B型接口;

5)USB驱动问题,一般 Win 7 以上系统能够自动识别但XP系统不能识别的系统,安装CH340的驱动程序即可;

6)具有掉电记忆功能,即在停电恢复供电后,锁的状态是停电前的状态;

7)指示灯:红色为交流电源指示,黄色为USB接入指示,绿色常亮表示已锁门,绿色闪烁表示门锁已打开。

2 硬件系统组成

基于单片机的USB通信电磁锁控制系统由单片机控制系统、电磁锁驱动电路、USB信号转换RS232TTL电路和电源转换电路组成(图1)。

2.1 单片机控制系统

STC15系列单片机是新一代8051单片机,具有高速、低功耗、高可靠性、强抗干扰能力、无法解密的加密技术、指令代码与传统8051指令代码兼容、易于编程,同时内部具有EEPROM可擦写十万余次、掉电不丢失数据等特点;另外可以省掉外部晶振和外部复位电路,降低了硬件电路的复杂程度,同时也能够节约成本。基于以上优点,系统选择型号为STC15W202S的单片机[2]作为控制核心。此单片机工作电压是 5.5~2.5 V,Flash程序存储器存储空间是 2 k 字节,SRAM的存储空间是256字节,EEPROM的存储空间是 3 k 字节,有一组串行口,内部具有看门狗电路。

通过串口接收和发送数据,实现电磁锁的开闭,同时系统也设置手动开关门调试按钮和开关门指示灯。单片机控制系统如图1所示,单片机引脚P 3.0接电阻R9和引脚P3.1,接隔离二极管的作用是防止USB器件给单片机供电;在电源线Vcc与Gnd之间加上电源去耦电容C6和C10,作用是去除电源线噪声,电容容量较大者吸收低频噪音,电容容量较小者吸收高频噪音,提高抗干扰能力。

图1 单片机控制系统Fig.1 Single chip microcomputer control system

2.2 电磁锁驱动电路

为了增加安全性,降低电路干扰,使之前端与电磁锁完全隔离,所以选择PC817应用电路作为电磁锁驱动电路,PC817为单通道紧凑型光电耦合器,当发光二极管发光,照射到光敏三级管上使之导通,PC817的引脚3与场效应管V1的栅极相连接,当光敏三极管导通时场效应管导通,电磁锁得电。由于电磁锁是电感性元件,电感通电后电磁饱和,当断电瞬间V1截止时,在电感两端因电感阻碍电流变化的特性,产生一个与电源电压幅值相同的反向电动势,即-12 V,与电源电压叠加,在V1的源极上产生 24 V 的电压。为避免场效应管V1被高电压击穿损坏,在电磁阀线圈两端反向并联续流二极管,吸收这个反电动势,以保护场效应管V1安全工作。电磁锁驱动电路如图2所示。

图2 电磁锁驱动电路Fig.2 Drive circuit of electromagnetic lock

2.3 USB信号转换RS232TTL电路

图3 USB信号转换RS232TTL电路Fig.3 USB signal conversion RS232TTL circuit

单片机的TXD、RXD是TTL电平,所以将USB信号转换成RS232TTL电平,只有这样才能与单片机TTL电平兼容,上位机与单片机才能完成通讯。PL-2303虽然成本低,但是外围电路复杂,CH340虽然成本相对高,但是其性能稳定,外围电路简单,所以选择CH340将USB信号转换成RS232。CH340芯片内置了电源上电复位电路,UD+和UD-引脚与USB总线的D+和D-连接,时钟信号由其内置的反相器和晶体稳频震荡产生,晶体X1、电容C7和C8构成时钟振荡电路,C5电容滤掉直流电源中的高频波动,C9电解电容滤掉直流电源中的低频波动。PCB布局时,C5和C9与CH340相连引脚越近越好。为了减少外界的信号干扰,D+和D-信号线平行布置,在两侧提供地线或覆铜;为了减少高频干扰,尽量缩短晶体振荡的输入端和反相输出端长度,可以在其附近环绕地线或覆铜。给USB串口协议简单,自动售货机电磁锁对USB通信的传输速度要求不高,所以选择USB-B接口电路[3]。USB信号转换RS232TTL电路如图3所示。

2.4 电源转换电路

电子电路正常工作需要直流稳压电源,而常用的电源是交流电,需将交流输入电压转换成稳定的直流电压。电磁锁[4]是上电动作型,得电上锁,失电开锁,工作电压为 12 V,需要驱动的电磁锁工作电流约为 0.8 A,所以选择 12 V 1 A 单路输出的开关电源模块,用于交流电转换成直流电,采用电容和电感进行滤波,使输出的直流电压更加平稳。HT7550稳压模块为STC15W202S单片机、USB转串口芯片CH340、光电耦合器PC817、USB-B接口电路提供稳压5V电源。电源转换电路如图4所示。

图4 电源转换电路Fig.4 Power conversion circuit

3 软件设计

图5 通信中断子程序流程Fig.5 Sub-flow chart of communication interrupt

基于单片机的USB通信电磁锁控制系统程序开发环境选择Keil C编程软件,头文件包括“STC15W202S.H”“intrins.h”和“STCEEPROM.H”。程序包括主程序、定时器中断子程序和串口通信中断子程序,主程序包括端口初始化、定时器初始化、串口初始化[5]、锁状态变化标志位为0,看门狗程序、判断锁状态变化标志位,如果有变化,将锁状态写入EEPROM中,实现掉电前锁的状态读取,如果没有变化继续从看门狗程序循环扫描。在单片机控制系统中,单片机的工作时常受到外界电磁场的干扰,程序跑飞,进而陷入死循环,使单片机控制系统无法正常工作,造成不良后果,所以便有了“看门狗”电路对单片机运行状态进行实时监测。STC15W202S-SOP8单片机自带看门狗电路,其工作原理是:在主程序中定时扫描看门狗程序,一旦发生单片机程序跑飞而进入某一段程序没有循环执行主程序时,看门狗程序没有被执行,这时看门狗电路得不到单片机送来的信号,累计到一定程度,便在单片机内部产生复位信号。单片机复位后,程序计数器PC被赋值0000H,程序从ROM起始位置0000H开始执行,保证单片机程序正常执行。定时器中断子程序实现的功能是控制锁状态指示灯和检测按键,按键长按 2 s 以上,开关锁状态取反。

接收主机开关锁信号格式为4字节,格式为:识别码1,识别码2,命令,结束符。开锁命令为:0x58 0x55 0x4b 0xee,关锁命令为:0x58 0x55 0x47 0xee。串口通信中断子程序接收上位机发送的数据,判断是否是开关锁命令后执行开关门动作,当接收到主机查询命令,开锁发送返回值为:0xfe 0x4b 0xef,关锁发送返回值为:0xfe 0x47 0xef。通信中断子程序流程如图5所示。

4 系统测试

1)通讯参数:波特率 9.6 Kbps,8位数据,无校验位,1位停止位;

2) 通讯格式:关门= 0x58 0x55 0x47 0xee;

3)通讯格式:开锁= 0x58 0x55 0x4b 0xee;

4)通讯格式:查锁=0x58 0x55 0x4f 0xee;

5)开关锁返回值:0xfe [0x4b/0x47] 0xef。

通过测试系统能够正常发送和接收开关锁命令并实现电磁锁的开关,并接收主机查询命令;返回开关锁状态值,通过断电-通电测试掉电前锁的记忆功能,实现了USB电磁锁控制系统的所有技术要求。

5 结 语

基于单片机的USB通信电磁锁控制系统,以STC15W202S单片机为控制核心,USB通信控制电磁锁的开关,根据STC15W202S单片机性能特点和USB串口标准统一、携带方便、可以热插拔等特点,对系统进行硬件设计和软件设计测试。测试表明:系统结构简单,应用灵活,成本较低,性能安全可靠,具有推广价值。

猜你喜欢

串口电容电源
基于EM9000工控板高性能双串口通信模型设计与实现
Cool Invention炫酷发明
MCS—51单片机中的多串口通讯技术的应用
等效电源法的应用
超级电容车的充电,有望几十秒内搞定吗?
浅谈电感和电容在交流电路中的作用
微机串口的测试诊断
小体积大用途
新电源
运用等效电源巧解题