基于单片机的PT100温度变送器设计
基于单片机的PT100温度变送器设计
文章目录
- 基于单片机的PT100温度变送器设计
- 前言
- 一、资源分享
- 二、系统框架
- 三、硬件准备
- 1.主控制器
- 2、PT100温度传感器
- 3、显示屏
- 4、WIFI模块
- 5、USB转RS485模块
- 6、SP3485EN
- 7、K11-11D3
- 四、设计PCB
- 1、安装下载立创EDA专业版
- 2、画原理图
- 3、摆放元器件,设计规则,泪滴,铺铜。
- 4、使用嘉立创下单助手进行下单,打板。
- 五、软件设计
- 1、编写STM32单片机代码
- 2、编写手机客户端代码
- 六、使用教程
- 1、准备
- 2、烧录软件
- 3、实验验证
- 总结
前言
本文设计出一款基于STM32单片机的PT100温度变送器。
主要功能如下:
1、使用PT100温度传感器采集温度。
2、将摄氏度转换为华氏度,将温度信号转换为4-20mA电流信号输出。
3、Modbus通信协议,以RS485电平格式实现工业通信。
4、灵活设置温度报警阈值,超出范围蜂鸣器报警。
5、通过ESP8266连接云服务器。
6、实现云平台、手机APP、单片机三方交互。
一、资源分享
实物与资料获取:基于STM32单片机的PT100温度变送器设计
资料如图所示:
二、系统框架
系统框架如图所示:
单片机整体框图:
三、硬件准备
1.主控制器
主控制器选择STM32F103RCT6,在淘宝上买的,如下图所示:
STM32F103RCT6 是意法半导体(STMicroelectronics)推出的一款基于 ARM Cortex-M3 内核的 32 位微控制器,在工业控制、消费电子等领域应用广泛。
- 内核与性能
内核:采用 ARM Cortex - M3 内核,具备高效的哈佛结构和 Thumb - 2 指令集,可实现较高的代码密度和处理性能。
工作频率:最高工作频率达 72MHz,能快速处理各种复杂任务。
运算能力:支持单周期乘法和硬件除法,提升了数据处理速度。 - 存储器
闪存(Flash):拥有 256KB 的闪存,可用于存储程序代码。其可擦写次数多,数据保存时间长,适合存储一些需要长期保存的程序和数据。
随机存取存储器(SRAM):具备 48KB 的 SRAM,能为程序运行提供临时数据存储和堆栈空间。 - 外设接口
通用输入输出端口(GPIO):多达 72 个 GPIO 引脚,可灵活配置为输入或输出模式。这些引脚可用于连接外部设备,如按键、LED、传感器等。
串行通信接口:
UART:3 个通用异步收发传输器(UART),可实现全双工通信,用于与其他设备进行异步串行通信,如连接 PC、蓝牙模块等。
SPI:2 个串行外设接口(SPI),通信速度快,常用于连接外部存储器、传感器等高速设备。
I²C:2 个集成电路总线(I²C),可用于连接多个具有 I²C 接口的设备,如 EEPROM、传感器等,实现数据的传输和设备的控制。
USB 接口:支持 USB 2.0 全速设备模式,可方便地与计算机或其他 USB 设备进行通信。
CAN 接口:具备 1 个控制器局域网(CAN)接口,适用于汽车电子、工业自动化等领域的分布式控制系统,实现节点间的可靠通信。
SDIO 接口:支持安全数字输入输出(SDIO)接口,可用于连接 SD 卡、MMC 卡等大容量存储设备,方便数据的存储和读取。 - 定时器
高级定时器:1 个高级定时器,可用于电机控制、PWM 生成等高精度应用场景。
通用定时器:4 个通用定时器,具备多种功能,如定时、计数、PWM 输出等,可满足不同的应用需求。
基本定时器:2 个基本定时器,主要用于简单的定时和计数任务。 - 模拟外设
模数转换器(ADC):拥有 2 个 12 位的 ADC,最多支持 16 个外部通道。可将模拟信号转换为数字信号,用于采集传感器的模拟输出,如温度、压力等。
数模转换器(DAC):1 个 12 位数模转换器,可将数字信号转换为模拟信号,用于产生模拟电压或电流信号。 - 其他特性
低功耗模式:支持多种低功耗模式,如睡眠模式、停止模式和待机模式,可有效降低系统功耗,延长电池续航时间。
复位和时钟管理:具备完善的复位和时钟管理系统,可确保系统在各种情况下稳定运行。同时,支持外部晶振和内部 RC 振荡器,方便用户根据实际需求选择合适的时钟源。
2、PT100温度传感器
使用PT100作为温度传感器,在淘宝上可以买到,如图:
pt100温度传感器是一种将温度变量转换为可传送的标准化输出信号的仪表。主要用于工业过程温度参数的测量和控制。带传感器的变送器通常由两部分组成:传感器和信号转换器。传感器主要是热电偶或热电阻;信号转换器主要由测量单元、信号处理和转换单元组成.
工作电压:DC5.0V
输出信号:模拟电压0-4V
运用场合:单片机控制温度计电缆测温,高炉水循环测温农业大棚测温,洁净室测温等电子设计
外形尺寸:35x14x1.6mm
发货清单:PT100温度传感器温度变换器1
接线:
VCC:接DC5.0V电源正极(给传感器供电)
GND:接电源负极
AO:信号引脚,接单片机AD检测引脚
3、显示屏
使用1.8寸显示屏,分辨率128*160。如图,
1.8寸彩屏,支持16BIT RGB 65K彩色显示,显示色彩丰富
128X160分辨率,显示清晰
采用SPI串行总线,只需几个IO即可点亮显示
带SD卡槽方便功能扩展
军工级工艺标准,长期稳定工作
4、WIFI模块
WIFI模块使用ESP8266,如图,
ESP01S 是一款基于乐鑫 ESP8266EX 芯片的低成本、低功耗 Wi-Fi 模块,专为物联网(IoT)和嵌入式系统设计。
以下是其详细介绍:
- 核心架构与性能
处理器:采用 32 位 Tensilica L106 RISC 处理器,主频支持 80MHz 或 160MHz,集成 TCP/IP 协议栈,可直接运行用户程序。
内存配置:
闪存(Flash):提供 1MB 或 4MB 两种版本(具体型号差异),用于存储固件和用户代码。
RAM:64KB,支持程序运行和数据缓存。
通信协议:支持 802.11b/g/n 标准,数据传输速率最高 4Mbps,覆盖 2.4GHz 频段,支持 STA、AP、STA+AP 三种工作模式。 - 硬件资源与接口
引脚定义:
供电:3.0V~3.6V(推荐 3.3V),传输电流 170mA,接收电流 56mA。
通信:UART 接口(TXD/RXD),支持 AT 指令交互,波特率默认 115200bps。
GPIO:提供 2 个可编程引脚(GPIO0、GPIO2),可用于控制外设(如 LED、继电器)或传感器输入。
其他:CH_PD(使能引脚,高电平有效)、RST(复位引脚)。
扩展能力:
PWM:部分引脚支持 PWM 输出,用于电机调速或灯光控制。
I²C/SPI:需通过外部扩展芯片(如 PCF8574、MCP23017)实现。 - 低功耗特性
工作模式:
活跃模式:传输时电流约 170mA,接收时 56mA。
睡眠模式:
轻睡眠:电流约 10mA,保留网络连接。
深度睡眠:电流低至 20μA,适用于电池供电设备。
唤醒方式:支持定时唤醒、GPIO 触发唤醒或 UART 数据唤醒。 - 应用场景
智能家居:通过 Wi-Fi 连接控制灯光、空调、门锁等设备。
环境监测:采集温湿度、空气质量等数据并上传至云端。
工业自动化:远程监控设备状态,实现无线数据传输。
智能农业:监测土壤湿度、光照等参数,优化种植管理。
5、USB转RS485模块
MODBUS在工业上使用的最多是RS485格式,虽然UART也可以使用,但是不如RS485稳定,本文默认配置是RS485电平,因此需要一个USB转485模块。本文使用的是cp2102。
按照下图配置为USB转RS485模式:
CP2102 是 Silicon Labs 公司推出的一款 USB 转 UART 桥接芯片,在各类嵌入式系统开发中应用广泛,:
- 主要特性
高度集成:该芯片将 USB 功能控制器、USB 收发器、晶体振荡器、EEPROM 和 UART 集成在一起,使得外围电路设计变得简单,缩小了整体的 PCB 面积。
低功耗:支持低功耗运行模式,适合对功耗要求严格的设备使用,可有效延长设备的电池续航时间。
高兼容性:兼容 USB 2.0 全速规范,在 Windows、Linux、Mac OS 等主流操作系统上都能很好地工作,无需额外的硬件电路支持。
数据传输速率:支持高达 3Mbps 的波特率,能满足大多数应用场景下的数据传输需求,确保数据的快速、稳定传输。 - 引脚功能
电源引脚:包括 VDD 和 GND,VDD 一般接 3.3V 或 5V 电源,为芯片提供工作所需的电能。
USB 接口引脚:D + 和 D - 是 USB 差分数据线,用于与计算机的 USB 接口进行通信,实现数据的传输和设备的识别。
UART 接口引脚:TXD 和 RXD 分别为 UART 的发送和接收引脚,用于与外部的 UART 设备进行数据交互,比如与微控制器、传感器等设备连接。
其他引脚:如 RESET# 用于芯片复位,SUSPEND# 用于指示 USB 总线的挂起状态等。 - 工作原理
当 CP2102 芯片连接到计算机的 USB 接口时,计算机会自动识别该设备,并加载相应的驱动程序。之后,计算机就可以通过 USB 接口向 CP2102 发送数据,CP2102 将接收到的 USB 数据转换为 UART 格式的数据,再通过 TXD 引脚发送给外部的 UART 设备;反之,外部 UART 设备通过 RXD 引脚将数据发送给 CP2102,CP2102 将其转换为 USB 格式的数据后,通过 USB 接口发送给计算机。 - 应用场景
嵌入式系统开发:在开发基于微控制器(如 STM32、Arduino 等)的项目时,可使用 CP2102 实现计算机与微控制器之间的通信,方便进行程序的下载和调试。
工业控制:在工业自动化领域,很多设备采用 UART 接口进行通信,CP2102 可以将这些设备与计算机连接起来,实现远程监控和控制。
物联网设备:在物联网设备的开发过程中,需要将传感器采集到的数据传输到计算机或云端服务器,CP2102 可以作为数据传输的桥梁,实现设备与上位机之间的通信。 - 硬件设计要点
电源设计:要保证电源的稳定性,可在 VDD 引脚附近添加去耦电容,以滤除电源中的高频噪声。
USB 接口设计:D + 和 D - 引脚需要连接合适的上拉电阻,以确保 USB 通信的稳定性。
晶体振荡器:芯片内部集成了晶体振荡器,但在 PCB 布局时,要注意晶体的位置和布线,避免受到干扰。 - 软件驱动
Silicon Labs 公司为 CP2102 提供了完善的驱动程序,支持多种操作系统。在使用时,只需将 CP2102 连接到计算机,操作系统会自动识别并安装驱动程序。安装完成后,就可以像使用普通的串口设备一样使用 CP2102 进行数据通信。
6、SP3485EN
SP3485EN - L/TR 是一款由 Maxim(美信)公司生产的低功耗、半双工 RS - 485 收发器,在工业自动化、楼宇自动化、安防监控等领域有着广泛的应用。下面为你详细介绍:
- 主要特性
低功耗设计:该收发器采用低功耗技术,工作电流较低,适合对功耗有严格要求的应用场景,能有效降低系统的整体功耗。
宽电源电压范围:支持 3.0V 至 5.5V 的电源电压,这使得它可以方便地与不同电源系统的设备进行集成,提高了其通用性和兼容性。
高数据传输速率:能够支持高达 10Mbps 的数据传输速率,可满足大多数高速数据通信的需求,确保数据的快速、准确传输。
增强的 ESD 保护:具备 ±15kV 的人体静电放电(ESD)保护能力,可有效防止因静电放电对芯片造成损坏,提高了芯片的可靠性和稳定性。
半双工通信:采用半双工通信模式,通过一个使能引脚来控制数据的发送和接收方向,适用于许多只需要单向数据传输的应用场景。 - 引脚功能
电源引脚:VCC 为电源输入引脚,连接电源;GND 为接地引脚。
数据收发引脚:A 和 B 是 RS - 485 总线的差分数据引脚,用于连接外部的 RS - 485 网络,实现数据的传输。
使能引脚:RE#(低电平有效)为接收使能引脚,DE(高电平有效)为发送使能引脚,通过控制这两个引脚的电平状态,可以切换芯片的数据收发模式。
其他引脚:RO 为接收器输出引脚,用于输出接收到的数据;DI 为驱动器输入引脚,用于输入要发送的数据。 - 工作原理
当 RE# 引脚为低电平、DE 引脚为低电平时,芯片处于接收模式,外部 RS - 485 总线上的数据通过 A 和 B 引脚输入到芯片内部,经过处理后从 RO 引脚输出。当 RE# 引脚为高电平、DE 引脚为高电平时,芯片处于发送模式,要发送的数据从 DI 引脚输入到芯片内部,经过处理后通过 A 和 B 引脚发送到 RS - 485 总线上。 - 应用场景
工业自动化:在工业现场的分布式控制系统中,多个设备之间需要进行远距离的数据通信,SP3485EN - L/TR 可以实现这些设备之间的 RS - 485 通信,保证数据的可靠传输。
楼宇自动化:用于楼宇内的各种智能设备(如空调、电梯、照明等)之间的通信,实现对楼宇设备的集中监控和管理。
安防监控:在安防监控系统中,可用于摄像头、门禁等设备与监控中心之间的数据传输,确保监控数据的实时性和准确性。 - 硬件设计要点
总线终端电阻:在 RS - 485 总线的两端需要连接 120Ω 的终端电阻,以匹配总线的特性阻抗,减少信号反射,提高通信的稳定性。
电源滤波:在 VCC 引脚附近需要添加适当的去耦电容,以滤除电源中的高频噪声,保证芯片的稳定工作。
隔离设计:在一些对电气隔离要求较高的应用场景中,需要使用隔离变压器或光耦等器件对 SP3485EN - L/TR 进行隔离,以防止不同设备之间的电气干扰。 - 软件编程
在使用 SP3485EN - L/TR 进行通信时,需要根据具体的应用需求编写相应的软件程序。一般来说,需要通过控制 RE# 和 DE 引脚的电平状态来切换芯片的数据收发模式,同时要处理好数据的发送和接收逻辑。例如,在单片机控制的系统中,可以使用 GPIO 引脚来控制 RE# 和 DE 引脚,使用串口通信来实现数据的发送和接收。
7、K11-11D3
功能:电压转0/4~20mA输出。
参数:
- 0.1%高精度
- 校准便宜0.05%
- 引脚ESD保护≥4000V
- 8~36V宽电压供电
四、设计PCB
直接使用上述模块,线路非常杂乱,因此,我们需要自己设计一块PCB底板。开发工具使用立创EDA。
相关资料已经放在本文第一节,“资源分享”。
1、安装下载立创EDA专业版
2、画原理图
3、摆放元器件,设计规则,泪滴,铺铜。
4、使用嘉立创下单助手进行下单,打板。
实物如图:
五、软件设计
1、编写STM32单片机代码
工程目录如图所示:
2、编写手机客户端代码
六、使用教程
1、准备
1、将STM32F103RCT6核心板,插在底板左上角,TYPE-C口朝上,SWD下载口朝下。
2、将TFT LCD插在底板响应位置。
3、插入AT24C02。
4、ESP8266插在相应位置。
5、接好PT100温度变送器。
6、在手机端安装机智云APP。
7、PC端安装MODBUS上位机。
2、烧录软件
下载代码需要提前安装好MDK环境,准备好SWD下载器,在MDK中进行“LOAD”下载。
3、实验验证
1、通过将PT100放在装了热水的水杯里,此时显示屏上温度值和电流值会变化。
2、使用modbus上位机发送指令,回收到板子回复的温度信息。
3、使用万用表,调到电流档,可以通过板子上的IOUT口测量电流输出。
STM32
手机APP