开关量输入接口主要用于采集外部开关量信号,此部分电路使用TLP521光耦进行隔离,保证信号采样电路的安全性,同时可减小电路干扰。开关量信号从IN输入,COM为信号输入公共端。开关量信号经光耦输出至STM32的GPIO口,实现对外部开关量信号的检测。
2.4电压电流信号采样接口电路
传感器将非电量信号转换为电信号,一般输出标准电压电流信号,STM32F101自带AD转换通道允许输入电压范围为0-3.3V,因此传感器输出信号需经信号调理电路调整到AD通道有效采样电压范围。本课题的设计的数据采集卡可采样DC0-5V电压信号和DC4-20mA电流信号,使用HCNR201线性光耦进行隔离,输出跟随输入变化,线性度较好,保证了信号采样的准确性。
电压信号采样接口电路输入电压范围为DC0-5V,输入电压经电阻R1A和R1B分压后经电阻R63输入至运放U30A反相端,电容C107构成反馈电容,主要用来消除噪声和干扰。运放U30A在此处构成比较器,当有外部电压功率电感器公司信号接入时,U30A的1端输出低电平,线性光耦HCNR201的LED发光,当光照到PD1、PD2时分别形成通路,线性光耦主要实现光电转换和隔离,经过线性光耦输出的电流信号通过运放U31B构成的电路形成电压信号,经过U功率电感厂家31B输出的电压信号经过运放U31A构成的3.3V限幅电路,将输出电压限定在0-3.3V范围内,以保证STM32F10插件电感生产厂家1的AD通道采集到正常的电压信号。
2.5RS485通信接口电路
RS485通信主要实现采集的数据传输,为保证数据传输的安全性和通信的兼容性,在硬件设计上使用SP3485作为收发控制器,同时使用TLP521光耦进行隔离,保证数据采集卡硬件通信的安全;在软件设计上使用工业标准的MODBUS协议作为RS485通信规约,保证系统良好的兼容性和数据传输的准确性。
3软件设计
数据采集器软件设计主要采用模块化编程,主程序流程图主要包括关中断、各功能模块初始化、开相关中断、看门狗定时、开关量输入采集、AD采样处理、RS485通信数据处理和定时喂狗;主程序流程图如图6所示。