襄阳的网站建设公司,一家专门做原型的网站,如何成立网站,百度问答平台基于单片机的PT100温度变送器设计 文章目录 基于单片机的PT100温度变送器设计前言一、资源分享二、系统框架三、硬件准备1.主控制器2、PT100温度传感器3、显示屏4、WIFI模块5、USB转RS485模块6、SP3485EN7、K11-11D3 四、设计PCB1、安装下载立创EDA专业版2、画原理图3、摆放元器…基于单片机的PT100温度变送器设计 文章目录 基于单片机的PT100温度变送器设计前言一、资源分享二、系统框架三、硬件准备1.主控制器2、PT100温度传感器3、显示屏4、WIFI模块5、USB转RS485模块6、SP3485EN7、K11-11D3 四、设计PCB1、安装下载立创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、传感器等。 串行通信接口 UART3 个通用异步收发传输器UART可实现全双工通信用于与其他设备进行异步串行通信如连接 PC、蓝牙模块等。 SPI2 个串行外设接口SPI通信速度快常用于连接外部存储器、传感器等高速设备。 I²C2 个集成电路总线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 个外部通道。可将模拟信号转换为数字信号用于采集传感器的模拟输出如温度、压力等。 数模转换器DAC1 个 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 两种版本具体型号差异用于存储固件和用户代码。 RAM64KB支持程序运行和数据缓存。 通信协议支持 802.11b/g/n 标准数据传输速率最高 4Mbps覆盖 2.4GHz 频段支持 STA、AP、STAAP 三种工作模式。硬件资源与接口 引脚定义 供电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 和 GNDVDD 一般接 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 引脚将数据发送给 CP2102CP2102 将其转换为 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保护≥4000V8~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 总结