2.系统设计基础
2.1通讯方案的选择
使用STM32F103C8T6模块作为MCU,温湿度传感器通过MODBUS协议采集环境中的温湿度,OLED显示屏显示当前状态下的环境温湿度,同时温湿度传感器也利用MODBUS协议进行数据的初步采集到的数据的显示,通过RS485通讯线路与上位机相连,电脑端作为主站向单片机作为的从站发送请求,从站接收后然后将数据返回给主机。PC通过串口助手读取串口,配置组态王模拟软件。其中利用组态王仿真PC上位机端的运用,主机就可以操控监控界面,通过显示屏实时查看更新的数据,进行温湿度数据的监控分析;最终完成MODBUS分析仪的显示和简单曲线分析功能。
一方面,该方案的编码过程简单,只要是开发单片机模块,使其与电脑上位机进行通讯,编写温湿度数据采集的基于MODBUS通讯协议的通讯代码即可。
另一方面,方案线路连接简单。故采用本方案。
系统的通信结构图如图2.1所示:
图2.1 系统的通讯结构图
3.硬件电路设计
3.1单片机模块
本项目研究中使用的是STM32F103C8T6型号的单片机,该单片机的核心板硬件图如图3.1所示:
图3.1 核心板硬件图
该单片机一共有两个IIC总线接口,能够在从模式和多主模式下工作,而且可以在标准和快速两种模式下。IIC的总线接口可以用七位寻址或十位寻址,在七位的从模式的时候可以双从地址寻址。而且在单片机的内部有CRC发生器/效验器。它们可以用两种总线:一个是SM Bus总线2.0版,另一个是PM Bus总线。还支持DMA操作。
在单片机的内部有一个设备控制器可以兼容全速USB,它通过遵循全速USB设备(12兆位/秒)国标,将端点通过软件配置,设置为待机和唤醒两个状态。内部的主PLL可以产生48MHz时钟,该时钟是USB专用的而且时钟源只能使用HSE晶体振荡器。
该单片机所包含的最小系统内部电路比较简单,其最小系统电路如图3.2所示:
4.软件设计
4.1串口通信模块
本系统是基于RS485接口加入MODBUS通信协议实现温湿度的测量,通过串行通信实现单片机与PC端进行通信的一种基本方式。则主从机的参数设置如下表4.1所示:
表4.1 主从机参数设置表
通信参数 PC端 数据采集系统端
串口 COM1 Modbus RTU
波特率 9600 bit/s 9600 bit/s
奇偶校验 无 无
数据长度 8位 8位
停止位 1位 1位
MODBUS协议规定了两个串行传输模式:一个是RTU模式,另一个是ASCII模式,在Modbus串行链路上,全部设备的传输模式一定相同。串行通信程序设计主要包含单片机双串口初始化程序,完成传输模式、站点地址、数据格式、通信速率和主从站工作模式等功能。
5.系统调试
5.1硬件调试
5.1.1单片机电路板的调试
(1)买到的相关元器件列表有:USB转串口,电源,温湿度传感器,OLED显示屏,STM32F103C8T6最小系统。
(2)通过参考出来的原理图,将各个模块焊接在电路板上,焊接后的效果图如图5.1所示:
文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。