APP下载

基于STM32的RTU控制器设计

2017-05-30陈里刘璐玲

科技尚品 2017年5期
关键词:微控制器模拟量电路设计

陈里 刘璐玲

摘 要:本文提出了一种RTU控制器的设计方案,用以解决特殊环境下现场设备无法实现人工控制的问题。根据方案完成了控制器的软硬件设计,实现了对现场信号的采集和现场设备的控制。本设计具有稳定性高、数据收发实时性强、误码率低和易于安装等优点,可广泛应用于城市交通、能源、电力和油田等诸多领域,对提升各行业设备控制的自动化管控水平和生产效率有非常重要的现实意义。

关键词:RTU控制器;设计

RTU是基于传感器技术和微控制技术设计的数据传输和控制器,它能够对接收设备的信号进行监测,并将监测的信号送给监控端。当接收到监控端下发的命令后,可以对本机接入的输出设备进行控制,实现对现场设备或现场环境的远程调控。

1 系统介绍

根据系统的功能要求,本次设计的RTU控制器系统结构如图1所示。本系统以微控制器STM32F103C8作为核心器件,外部扩展了输入检测电路、通信电路、显示电路和输出控制电路,实现数据的采集、传输和输出控制功能。系统上电后,首先对2路模拟量和数字量的输入进行采集,采集结果送微控制器处理,并将处理后的结果送液晶显示屏进行显示。显示完成后将得到数据打包,通过以太网接口和RS485同时发出。发送完成后,将2个通信口同时置为接收状态,准备接收监控主机数据。当接收到监控主机下发的命令后,根据命令对2路数字量的输出进行控制。

2 系统硬件实现

2.1 主控电路设计

本设计的控制核心单元是微控制器最小系统,它由STM32F103C8芯片、晶振电路和复位电路构成。最小系统电路如图2所示。

2.2 输入检测电路设计

输入检测电路采用AD8420将两路输入的4~20mA电流转成电压信号,实现模数转换功能;采用两个TPL521光耦将输入的24V信号转成3.3V信号输出,实现输入数字信号的采集。输入检测电路如图3所示。

2.2.1 模拟量检测电路设计

输入的4~20mA信号由Ain1和Ain2通过2个5R的电阻转成直流信号后接入到U2和U5的2脚。再经过电路放大28倍转成0.6~2.8V的电压,通过Aout6和Aout8输出。Aout6和Aout8接微控制器的PB0和PB1引脚,程序通过读取ADC_IN8和ADC_IN9的输出来获取输入模拟量的值。

2.2.2 数字量检测电路设计

从D1和D2输入的24V电压信号经过R11和R15降压后接在光耦的发生端,输出端D1_IN和D2_IN接微控制器的引脚PB2和PB3。当光耦导通时,D1_IN和D2_IN引脚将出现高电平信号,即STM32若在PB2和PB3检测到高电平时,可以确认外部有数字信号输入。反之,若在PB2和PB3检测到低电平,则表示外部无数字信号输入。

2.3 输出控制电路设计

输出控制电路由继电器和光耦构成,用于输出24V的控制信号。光耦用于隔离STM32的引脚和继电器的线圈控制脚,防止主控芯片中传入干扰而影响正常工作。电路如图4所示。

2.4 显示电路设计

液晶显示电路如图5所示。微控制器通过PB8~PB11引脚实现对LCD1602的控制。

2.5 通信电路设计

通信电路包括以太网通信电路与RS485通信电路两部分。以太网通信电路采用SPI接口以太网模块W5500来展开设计,RS485通信电路采用ISO3082來實现。电路如图6所示。

2.5.1 以太网通信电路设计

STM32和W5500之间采用4线SPI接口进行通信,它的PA4~PA7接W5500的SPI控制引脚。需要进行收据收发时,STM32首先通过PA4引脚输出高电平,使能W5500工作。随后在PA5引脚输出读写脉冲,通过PA6引脚向W5500写入配置数据,并通过读取PA7引脚的输出值获得W5500的返回数据。

2.5.2 RS485通信电路设计

STM32通过串口1与ISO3082相连,串口1的发送线接ISO3082的6脚,输出线接3082的4脚。电路工作后,若需要发送数据,则STM32的PA8输出高电平,使ISO3082进入数据发送状态,随后将需要发送的数据写入串口1发送缓冲区。需要读取数据时,PA8引脚输出低电平使3082进入数据接收状态,当串口1申请接收中断时,通过读取接收缓冲区的数据即可实现数据的接收。

3 系统软件实现

根据RTU系统硬件可将软件分主程序和通信程序两个大部分。主程序用于实现本机输入数据采集,并调用通信子程序与监控主机完成数据交互工作,且能够根据接收的数据控制输出设备动作,响应监控主机下发的控制命令。

3.1 主程序设计

主程序首先对执行参数进行初始化操作,完成初始化后再读取1次本机的数据,并控制LCD1602液晶工作,显示当前采集的数据。接着程序进入while(1)的循环中顺序执行如图7所示的动作。

3.2 通信程序设计

3.2.1 通信程序设计

通信程序的主要功能是对数据发送和接收进行判断。数据发送功能用于上传本机数据,接收功能用于接收主机下发命令,为主机的输出控制端的工作提供数据支持。通信程序流程如图8所示。

3.2.2 通信协议制定

①监控主机端下发数据

监控主机下发的数据帧格式如表1所示。表1中的数据表示向地址为192.168.1.116的终端节点下发命令,控制节点Relay1和Relay2均不输出。

②本机上传数据

本机上传的数据帧格式如表2所示。表2中的数据表示地址为192.168.1.118的节点向网口上传数据,本机的Relay1和Relay2位输出,模拟量1的采集值为254,模拟量2的采集值为255,本机无数字量输入。

4 结语

本文提出了一种基于STM32微控制器的RTU控制器设计方案,通过软硬件设计使控制器实现了本机数据采集、显示和数据远程交互功能,并能根据接收端命令,控制数字量输出,实现对接入设备的控制。本次设计的RTU控制器为工业现场设备的自动化控制提供了一个有效的手段,能够改变传统控制理念,简化控制操作,提升控制效率,创造较大的经济效益。

参考文献

[1]陈梓馥,孙万蓉,董明明.基于ARM9的RTU设计[J].物联网技术,2012,(3):62-66.

[2]黄少伟,田京山,于殿强.埕岛油田采油平台RTU的设计[J].油气田地面工程,2006,(1):36.

(作者单位:武汉工程大学邮电与信息工程学院 机械与电气工程系)

猜你喜欢

微控制器模拟量电路设计
Altium Designer在电路设计中的应用
负反馈放大电路设计
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
物联网技术在微控制器实验教学中的应用
关于600MW火电机组模拟量控制系统设计和研究
基于UC3843的60W升压电路设计
模拟量输入式合并单元测试仪的研制
Atmel针对新一代物联网应用发布全新32位微控制器
最新STM32设计工具增加对混合信号微控制器的支持
一种通用模拟量及开关量信号采集板卡的设计