摘 要
随着物联 技术应用到了楼宇自动化建设和工业现场控制之中,远程控制开关有着十分广阔的应用前景,因此物联 开关成为了智慧楼宇的核心组成部分。在工业4.0的推动下,这就要求普通的开关不仅只用于控制开关,还要对现场或者恶劣环境的数据进行采集和上传。因此,本设计在物联 的基础技术上设计一款远程开关实现对工业远程控制和智能家居远程控制的研究工作。
本设计将在传统RTU远程终端单元的基础上,另行设计一款可以有线直连、无线连接、远程公 访问、带采集功能的一组开关设备。结合RTU优点使其可以应用于物联 行业,包括工业测控、智慧家居、智慧农业
目 录
1 绪论 1
1.1 课题背景 1
1.2 国内外研究情况 1
1.3 研究意义 2 2 系统总体方案设计 3
2.1 设计主要工作及基本要求 3
2.2 方案论证与选择 3
2.3 系统框图分析 5
2.4 系统总体方案设计 7 3 系统的硬件设计及系统流程 9
3.1 单片机核心电路 9
3.2 电源模块电路 10
3.3 模拟输入电路 11
3.4 数字输入电路 12
3.5 安信可A9模块 13
3.6 485通信模块 14
3.7 数字输出模块 14
3.8 串转并和扩展模块 15
3.9 串口转以太 模块 16 4 系统的软件设计及其流程 19
4.1 下位机主要程序 19
4.2 上位机和web 页 26 5 设计过程中遇到的问题和解决方案 36
5.1 硬件问题和解决方案 36
5.2 软件问题和解决方案 37 6 结论 39
1 绪论
跟随着物联 的发展,物联 无线传输技术和产品在智能电 领域、民用商用公共计量领域、工业现场控制领域、智能家居和智慧农业领域得以应用和发展。其可以作为物理系统信息本地数据采集、传输和分析的载体,联 而实现数据的物联 化。并且新兴的物联 产业链则是受到了全世界各个国家和各个技术领域的高度重视,并作为战略性新兴产业关注和发展。基于物联 的智慧服务和产品将成为下一代互联 时代的特征。物联 远程开关的设计诞生在这个物联 潮流下,其可以实现跨空间对设备进行开关控制,有利于快速及时对设备进行开关控制、提高设备控制效率和节省人力。除了对现场设备的开关控制,在作为智慧楼宇,智慧家居中也起到智能远程控制的作用。同样,基于这种开关设备,对于轻量级的工业现场还具备数据采集传输的功能。这种物联 设备成功应用于智慧楼宇、工业控制和智慧农业等各个领域。本次设计通过设计一款物联 远程控制开关,为今后工业4.0,智慧楼宇的兴起都起到了一些推动作用。
1.1 课题背景
物联 远程开关作为一种联 数据采集控制设备,在其设计及制造过程需要的技术理论知识涵盖了数字电路、模拟电路、传感器、控制算法、滤波算法、电磁兼容、通信技术和计算机科学等众多学科[1]。其联 控制及数据采集上传的方案作为工业控制领域和今后智慧楼宇的发展有着较为广泛的应用前景,会逐渐成为国内外高科技术企业和众多高校院所的研究方向和热点。
1.2 国内外研究情况
全球的物联 市场发展势头迅猛,随着2020工业4.0概念的提出,全球各个发达国家包括德国、美国、俄罗斯等国的远程控制技术和物联 技术的标准、应用、服务都还处于初步发展阶段。其中德国工业4.0概念与国内相近,成竞争趋势。在21世纪亦或者未来几年,物联 技术的应用市场规模会出现快速增长,包括其分支工业控制、智慧农业、智慧楼宇等等也相继普及。到2023年预计全球物联 市场规模将会达到2.8万亿美圆。对此,全球各个发达国家相继出台政策对于物联 的研究进行战略布局,抢占新一轮信息技术革命的先机。例如,美国就有了“智慧地球”计划以物联 技术为核心、欧盟的十四点行动计划、日本的“U-Japan计划”、韩国的“IT839战略”和“u-Korea”战略、新加坡的“下一代I-Hub”计划、台湾的U-Taiwan计划等等都将物联 技术作为当前的战略目标;前瞻产业研究院发布的《2018-2023年中国物联 行业细分市场需求与投资机会分析 告》大致预计,2017年全球物联 设备的数量到达84亿,比2016年的64亿增长了31%,预计2020年全球物联 设备数量将达到204亿[2]。
我国国内方面,得到技术和人才引进的受益和政府企业资金的响应支持,在互联 +和双创等带动下,国内物联 虽然起步较晚,在工业控制领域和智慧楼宇方面的物联 技术应用和研究也取得了一定的成果。在企业、高校、科研院所各界共同努力之下,国内逐步形成了一套芯片、元器件、软件、电器、物联 服务业等较为完善的物联 产业链,能够基本实现基于移动通信 络部署到机器。生态体系逐渐完善。截至到如今,国内的电信企业也开始启动NB-IoT 络建设即窄带物联 ,截至2017年全国 络基站数量规模远超40万站,商用 络也进入了部分省市。很多地方政府都支持NB-IoT发展,例如江西鹰潭等地,都在推进超过十万台的基于NB-IoT的智能水表的安装;西藏还将尝试将NB-IoT物联 技术引进到牦牛市场。在工业级远程控制领域,有人物联 、大唐电信等公司也相继设计了一系列GPRS远程控制器[3]。
1.3 研究意义
物联 远程开关的设计可以应用在智慧楼宇的建设当中,实现对灯具,动力,插座的控制[4]。不仅仅用在智慧楼宇当中,同样这种控制方案及方法可以应用于工业控制领域、智慧农业的建设当中,实现了对工业操作现场的数据进行采集和远程传输,实现直连、局域 、远程都得以应用,解放大量人力资源,减少了生产成本,而且设计的电路板体积小,便于安装和操作。物联 远程控制开关是物联 应用的一个分支,其发展对将对国内外物联 技术和产业,工业控制领域起到推动的作用,完整的控制技术最终将实现互联 、物联 服务行业的智能化,同时也能奠定一个国家在该领域的地位。
2 系统总体方案设计
2.1 技术指标 本次毕业设计的主要任务是通过设计软硬件以及相应手机app程序、上位机软件和 页实现一款物联 远程终端控制开关系统,针对较长距离和工业现场环境恶劣,增加远程数据采集和通信的功能。其中,包括对设备的数字量或开关量的输出与输入,模拟量的输入还有远程通讯模块的设计,以及设备运行状态指示灯,预留出响应扩展口用以应对工业现场复杂环境。
主要工作包括:硬件部分主要包括:主控芯片单片机、 络通信芯片、稳压芯片、串口通信芯片、GPRS通信芯片、隔离芯片以及其它元器件的选型;原理图和PCB的设计和绘制;元器件检测和焊接;软件部分包括:手机APP的编写;GPRS通信调试;继电器算法编写;ADC采集算法编写;串口通信算法编;上位机软件编写; 页制作及其相应参数调试;最后整体测试联调。
基本要求: (1)手机APP、上位机; (2) 络通信带 口、GPRS或NB_IoT通信[5]; (3)内置8路数字输入、8路数字输出;
(4)一路RS485/232接口,通信协议为标准MODBUS; (5)四路420mA或者05V模拟输入;支持外部IO接口扩展。
2.2 方案论证
2.4 总体方案设计
3 系统的硬件设计
3.2 电源模块电路
电源电路如下图所示,+12V供电分成两路,一路经过MIC29302转换成+4V,一路经ASM1117-5.0转换成+5V,再经过ASM1117-3.3转化成+3.3V,再经过ASN1117-1.8转化成+1.8V。参考相应数据手册可以计算出滤波电容和带负载电容大小。MIC29302输出可调电压公式为:
Vo=1.24*(1+R7/R8) 式(3-1)
本设计中R7选为750欧,R8选为330欧,对应输出+4V电压。
图3-2 电源模块电路
3.3 模拟输入电路
板载四路模拟输入原理图如下所示,阻容搭建模拟采集电路转换成STM32单片机可以识别出来的电压信 ,再进行解码转换。当输入模拟电压信 0+5V时,电压不会被采样电阻分压,经过后面两个精密分压电阻分压,转换成0+3.3V电压,直接送给单片机,单片机由12位ADC转换器转换解码。当输入的是电流信 4~20mA时,经过大功率的采样电阻转换成电压信 ,再由分压电阻转换成电压。不管什么信 都必须经过滤波电容滤波才能进入分压电路,当电流信 进入时,在单片机输入管脚接入1uF的电容,处理掉输入电流信 带来的干扰信 [8]。
图3-3 模拟输入电路电路
3.4 数字输入电路
数字输入电路如下图所示,由外部输入0~10的逻辑电平送给光耦芯片,通过光耦隔离的特性判断是否有信 输入。光耦隔离芯片选用的是东芝公司的TLP532-4。电路之间的信 输出,使输入端与负载完全隔离。输入模式为AC/DC输入,适合应用于工业现车。有输入电压时二极管端发光三极管被导通,上拉+3.3V电压经过限流电阻直接给单片机,单片机接收到高电平信 便完成一次数字式输入。此处应该注意的是三极管两端必须加上1uF电容,防止电路电压突变直接进入单片机,烧毁芯片。
图3-4 数字输入电路
3.5安信可A9模块
此模块电路在整个系统中其着主要的通讯作用,模块主要由A9芯片、GPRS天线、开关电路、状态指示灯电路和SIM卡座电路组成。原理图如下所示。
1)天线:作为高速信 的输出,在进行天线的PCB设计时要求考虑阻抗匹配,天线单层走线,用地线包围,防止外部信 进行干扰。也可以与地接入0.1F的滤波电容和0欧电阻。
2)开关模块:该部分电路参考安信可A9用户手册A9开关的方案设计,将其设计为软件进行开关操作。此电路用的是NPN三极管8050,主要利用三级管的开关特性搭载开关电路。当三极管基极输入低电平时,A9模块V_IO和IO29输入电平信 ,使三极管导通,导通信 进入A9模块PW脚,PW脚高电平2秒以上A9开机。
3)SIM卡座:安信可A9模块支持SIM卡,不需要外加驱动电路,设计采用Nano卡座,减少了电路板的体积,节省成本。
4)状态指示灯:模块上分别设置两组状态指示灯,一组指示A9模块运行状态,另一组指示A9模块通讯模式。分别接在A9芯片的IO27和IO28。
图3-5 安信可A9模块电路
3.6 485通讯模块
该电路模块为串行通信接口电路,RS485通信方式为半双工通讯方式[9],模块采用MAX485芯片构成简单的自动收发电路,MAX485芯片只需要在电源处加上滤波电容就可以构成两线制的485通讯模块。通过切换PC15-OSC32_OUT的电平的方式来达到485收发状态的切换。PC15-OSC32_OUT低电平时作为接收状态,PC15-OSC32_OUT高电平时作为发送状态。在输出差分线上用TVS做保护,如果工业现场需要远距离布线,则将120欧电阻R2焊接在电路板上,如果实验室短距离测试,则不用焊接R2。485差分信 线匹配电阻为120欧。原理图如下所示。
图3-6 485通讯模块电路
3.7 数字输出模块
板子上设计有八路数字输出模块,原理如下图示。用一组常开继电器作为大电流触电输出器件。通常选择三极管做驱动器件,MOS管是驱动电压器件,我们这里用功率型NMOS,当Ug>Us时,MOS管导通,即继电器阴极被导通,电流流过线圈,继电器吸合,实现控制目的。注意的是阴极和阳极用二极管保护器起来。这里二极管用1N4001即可。继电器的控制是通过74H164这个串转并芯片扩展IO,单片机通过控制74H164,从而实现控制继电器。实现了仅使用两个单片机管脚实现控制八路继电器,节省了六个单片机IO资源。
图3-7 数字输出模块电路
3.8 串转并和扩展模块
1)串转并电路模块:74H164芯片是串行输入数据,然后并行输出,数据由两个输入端A,B其中一个输入,控制其时钟信 脚,便可以输出8位并行数据[10]。输出的八个数据口直接接在8个继电器驱动的MOS管上,通过软件可实现任意控制。这个方案节省了单片机的六个管脚资源,使用两个管脚别可以控制8个继电器。
2)扩展模块:设计中将没有用到的单片机管脚资源,分别通过排针引出来,一共九个,PA和PB可做ADC通道采集通道。扩展口留在板子接口处,以方便后续功能升级开发,测试使用,无需配置,方便使用。
图3-8 串转并和扩展模块电路
3.9 串口转以太 模块
ZLAN1003是一款针对物联 应用设计的芯片。他内部集成PHY功能,因此该模块不需要单独添加PHY芯片。芯片的主要功能就是实现单片机的串口到TCP/IP的协议转化,即能将USART收到的数据传到云端/服务器,云端/服务器下发的数据发送到USART。实现这些功能,不用在额外开发底层驱动程序,ZLAN1003已经固化好TCP/IP协议栈程序,通过配置就可以使用。物联 远程控制开关串口转以太 的电路原理图如下所示:
图3-9串口转以太 模块电路
1)复位电路:芯片的核心电路之一,官 手册上给的最新参考电路为芯片复位,考虑到成本和PCB板面积大小问题,复位电路采用阻容复位。经过多次实验,在模块上电之前只需手动复位一次即可,模块便可以长期工作。
2)电源滤波:同大多数芯片一样,先要对电源进行滤波处理。ZLAN有两个电源,可以外部提供+3.3V和+1.8V电压。+1.8V电压也可以芯片自给,但是这种供电方案会导致芯片发热严重,于是便采取外部提供+1.8V电压的方案。即通过一个 ASM1117-1.8 稳压芯片将 VCC3.3V 转化为+1.8V,然后接入芯片的+1.8V引脚供芯片使用。此时,VCC33VI 和 VCC18O 都接外部 ASM1117-1.8 出来的 +1.8V 电源即可。
3) 口模块电路:我们选择的是集成好的带有 络变压器的HR911105A接口,它的 LINK 和 ACT 引脚连接到 RJ45 的发光LED灯上,用来指示 TCP 连接状态。这里 4 个 49.9 电阻为%1 精度的精密电阻。
4)速度选择电路:该模块一般有两个工作速度,高速和低速。高速设置方法:SPD0 和 SPD1上拉。图3-9中焊接R79电阻,不焊接 R80电阻。此时模块最高波特率能够达到 115200bps。模块选择高速设置,如原理图所示,方案选择高速。
5)布线及其降低功耗设计:因芯片内部集成PHY芯片,工作起来后会产生大量的热,为加快散热做以下处理:
外部供电:即采用外部 ASM1117-1.8 的稳压芯片提供 +1.8V 电源,而不用芯片内部稳压器。原因在于 ASM1117-1.8 的散热性能好于内部带有PHY芯片的模块。但是这个方式将会增加设计一个 +1.8V 稳压器的成本。
PCB布线时注意晶振应该尽量靠近芯片引脚,并且晶振原理电路板的边沿。不要将 络线 RX-、RX+、TX-、TX+通过晶振附近;RX-、RX+为一对差分线,TX-、TX+为一对差分线,一对差分线应该一起走线,避免以分离走不通的路线;ZLAN1003芯片PCB设计时,如果条件允许可以在底下增加 5 个大的导孔,这样可以增加散热。如下图所示:
4 系统的软件设计
4.1 下位机主要程序
下位机即STM32单片机嵌入式的开发使用的工具是Keil Software公司的MDK5 for ARM;开发语言是C语言;使用标准库函数开发,BOOT模式选择位为BOOT0置低,BOOT1不配置,后面将他扩展成IO口,即程序是从从主闪存存储器区域启动;使用的下载工具是STLINK-V2。
下位机中主要的程序是:STM32F103C8T6对外部输入420mA、05V信 的采集;A9的开关机和初始化,以及拨打电话和收发短信,GPRS联 操作;ZLAN1003的配置与联 ;RS485/232通信操作;控制八路继电器输出的操作。其中单片机的主要作用是:处理ADC采集的数据将其通过A9、串口转以太 上传至服务器或者上位机;判断逻辑输入,读取被控制设备的状态并上传;解析通过RS485/232或者 络传过来的协议,从而控制继电器输出。
4.1.1 下位机主要程序流程图
下位机程序是不带操作系统的STM32官方标准库函数程序,主要包括各个模块的初始化:A9初始化、ZLAN1003串口转以太 模块初始化、STM32ADC初始化、USART串口初始化、时钟初始化、GPIO初始化、定时器初始化等。首先A9模块、ZLAN1003模块、时钟、GPIO、定时器在主函数while(1)外面初始化一次即可。在主循环while(1)中主要运行:ADC等待中断程序,一直等待外部信 输入触发ADC中断;光耦模块输入请求程序,将光耦模块程序封装在Data_8number()函数中,用来检测外部是否有数字信 的输入;USART串口中断触发和处理程序,A9、ZLAN1003和RS485/232都是串口通信,实时监测串口是否接受到信 ,然后采取,断帧,解析协议处理,通过串口将接收到的上位机信 处理完成之后再做出相应回复或者控制动作,通信协议为标准Modbus协议;状态指示灯驱动程序,指示灯实时显示板子运行状态。
所有的控制都在串口中断程序里面进行处理,串口中断全部由串口接收事件触发。各个模块具体流程图及其功能如下所示:
?74H164驱动程序:
这部分程序主要实现将驱动信 转换成驱动电平驱动继电器,单片机将信 比如0x55发送给74H164芯片,程序判断是否从高位开始拆解,这块可以人为设置; 下面以大数开始拆解为例,信 到来芯片DA脚拉高,等待时钟跳变,说明一位数据被164内部寄存器处理完成,开始移位进行下一位,直到八位全部输出,大数据在前移位方向向小数据移位,小数据在前处理,移位向前移位。
?A9模块程序:
此模块的功能是GPRS收发,单片机通过串口发送AT指令与模块通信,该模块内部集成TCP/IP、GPRS不需要做单独的驱动,单片机直接通过AT指令控制即可。上电初始化检测是否存在SIM卡,然后主动请求TCP连接,连接上TCP服务器后发送测试指令,然后等待单片机指令,或者等待服务器指令。该模块的开关机和复位都由单片机软件控制。
?串口转以太 模块程序:
此模块是集成好的串口转以太 通信模块。单片机通过USART串口与该模块通信为主要程序,该模块同样支持AT指令。以太 模块上电之后需要配置,可以手动通过串口或者WEB配置,配置完成后向TCP服务器发送数据包检测通讯,完成后向虚拟发送指令测试,最后通过指令测试Modbus TCP。如果上述步骤出现问题则需要重新配置参数。完成后,等待服务器发送数据包或者等待单片机串口发送指令。
?数字输入模块程序:
数字输入模块程序在主循环中已经封装好,直接调用等待触发即可,有信 输入,单片机管脚直接检测到电平变化,做出判断与处理,并上传至服务器或者上位机。
图4-1-4 数字输入模块程序流程图
?模拟输入模块程序:
模拟输入不用软件判断是否电压输入,硬件将其处理完成直接送给单片机ADC采集通道,然后单片机通过处理,分析上传到服务器或者上位机。
图4-1-5 模拟输入模块程序流程图
4.1.2 主要算法和指令介绍
断帧处理算法:断帧的意思是在串口收到一帧数据后,发生的中断处理。一帧数据可以理解为给单片机一次发来的数据,一个字节或者八个字节,这一个字节或者八个字节的数据就叫做一帧数据。判断一帧数据是否结束就是断帧处理。
常用如下两种断帧处理方法:时间断帧和协议断帧,设计主要采用时间断帧,主要介绍一下时间断帧法。
时间断帧法,通过在定时器里对两帧数据的时间进行比较,在一帧数据里面前后的两个数据之间的时间差很短,通过判断这个时间,如果在一个时间段内或者超过一定时间没有数据被接收,基本上可以判断为一帧数据已经结束。定时器处理函数如下:
串口中断处理函数
2、消息接收与发送
消息的发送由发送按钮单击事件触发,具体代码如下:
发送数据函数:
private void SendDataToSerialPort(Serial PortMyPort,byte DataToSend) { byte[]DatasToWrite=new byte[]声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!