当前位置: 首页 > news >正文

5 基于STM32单片机的绝缘检测系统设计(STM32代码编写+手机APP设计+PCB设计+Proteus仿真)

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • 1 1 资料获取与演示视频
    • 1.1 资料介绍
    • 1.2 资料获取
    • 1.3 演示视频
  • 2 系统框架
  • 3 硬件
    • 3.1 主控制器
    • 3.2 显示屏
    • 3.3 WIFI模块
    • 3.4 DHT11温湿度传感器
    • 3.5 可调电位器
  • 4 设计PCB
    • 4.1 安装下载立创EDA专业版
    • 4.2 画原理图
    • 4.3 摆放元器件,设计规则,泪滴,铺铜。
    • 4.4 使用嘉立创下单助手进行下单,打板。
    • 4.5 实物图
  • 5 软件设计
    • 5.1 编写STM32单片机代码
    • 5.2 设计手机APP
  • 6 proteus仿真
  • 7 实验测试
    • 7.1 准备
    • 7.2 烧录软件
    • 7.3 实验验证
  • 总结


前言

本文设计出一款基于STM32单片机的绝缘检测系统。
主要功能如下:

1、STM32F103C8T6单片机作为主控制器。

2、DHT11温湿度传感器采集温湿度

3、测量未知物体阻值

4、语音实时播报当前温度、湿度、电阻值

5、阈值可以调节,超出阈值报警

6、OLED实时显示当前信息

7、通过ESP8266连接OneNET云平台,实现单片机-OneNET云平台-手机APP三方交互。


1 1 资料获取与演示视频

1.1 资料介绍

在这里插入图片描述

1.2 资料获取

完整资料获得链接:
咸鱼:【胜磊电子】基于STM32单片机的绝缘检测系统设计(STM32代码编写+手机APP设计+PCB设计+Proteus仿真)

淘宝:【胜磊电子】基于STM32单片机的绝缘检测系统设计(STM32代码编写+手机APP设计+PCB设计+Proteus仿真)

1.3 演示视频

哔哩哔哩:【胜磊电子】基于STM32单片机的绝缘检测系统设计(STM32代码编写+手机APP设计+PCB设计+Proteus仿真)


2 系统框架

系统框架如图所示:
在这里插入图片描述
单片机整体框图:
在这里插入图片描述


3 硬件

3.1 主控制器

主控制器选择STM32F103C8T6,在淘宝上买的,如下图所示:
在这里插入图片描述
STM32F103C8T6 是意法半导体(ST)推出的一款基于 ARM Cortex-M3 内核的 32 位微控制器,以下从其性能参数、功能特性、应用领域等方面进行介绍:

  1. 主频
    最高可达 72MHz,具备 1.25DMIPS/MHz 的运算能力,能够快速处理各种指令和任务。
    内核处理器:采用 ARM Cortex-M3 内核,具有高性能、低功耗的特点,支持 Thumb-2 指令集,能够高效地执行各种指令。

  2. 存储
    拥有 64KB 的 Flash 存储器,用于存储程序代码和常量数据;20KB 的 SRAM,用于存储运行时的变量和临时数据。

  3. 丰富的外设接口
    USART:集成了 3 个 USART(通用同步异步收发器)接口
    SPI:2 个 SPI(串行外设接口)接口
    I2C:2 个 I2C(Inter-Integrated Circuit)接口
    USB: 1 个 USB 2.0 全速接口
    定时器:包含 7 个定时器,其中包括 4 路 PWM 输出,可用于脉冲宽度调制、输入捕获、输出比较、正交编码器接口等功能,广泛应用于电机控制、脉冲信号生成等领域。
    ADC(模数转换器):内置 2 个 12 位 ADC,转换时间仅为 1μs,具有 10 个通道,可对多路模拟信号进行快速采样转换,适用于各种需要采集模拟信号的场景,如传感器数据采集等。

  4. 时钟系统
    内置 4-16MHz 的高速内部时钟(HSI)和 32KHz 的低速内部时钟(LSI),也可通过外部晶振提供更高精度的时钟源,通常包括一个 8MHz 的高速外部时钟(HSE)和一个 32.768KHz 的低速外部时钟(LSE),为芯片内部各个模块提供精确的时钟信号,确保它们能够同步工作。

  5. 其他功能
    集成了看门狗定时器、CRC 计算单元、RTC 实时时钟、SysTick 定时器、DMA(Direct Memory Access)控制器等,进一步增强了芯片的功能和可靠性。支持 JTAG(Joint Test Action Group)和 SWD(Single Wire Debug)调试接口,方便开发人员连接调试器进行程序调试和下载,提高开发效率。

3.2 显示屏

使用1.8寸显示屏,分辨率128*160。如图,
在这里插入图片描述

1.8寸彩屏,支持16BIT RGB 65K彩色显示,显示色彩丰富

128X160分辨率,显示清晰

采用SPI串行总线,只需几个IO即可点亮显示

带SD卡槽方便功能扩展

军工级工艺标准,长期稳定工作

3.3 WIFI模块

WIFI模块使用ESP8266,如图,
在这里插入图片描述
ESP01S 是一款基于乐鑫 ESP8266EX 芯片的低成本、低功耗 Wi-Fi 模块,专为物联网(IoT)和嵌入式系统设计。
以下是其详细介绍:

  1. 核心架构与性能
    处理器:采用 32 位 Tensilica L106 RISC 处理器,主频支持 80MHz 或 160MHz,集成 TCP/IP 协议栈,可直接运行用户程序。
    内存配置:
    闪存(Flash):提供 1MB 或 4MB 两种版本(具体型号差异),用于存储固件和用户代码。
    RAM:64KB,支持程序运行和数据缓存。
    通信协议:支持 802.11b/g/n 标准,数据传输速率最高 4Mbps,覆盖 2.4GHz 频段,支持 STA、AP、STA+AP 三种工作模式。

  2. 硬件资源与接口
    引脚定义:
    供电: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)实现。

  3. 低功耗特性
    工作模式:
    活跃模式:传输时电流约 170mA,接收时 56mA。
    睡眠模式:
    轻睡眠:电流约 10mA,保留网络连接。
    深度睡眠:电流低至 20μA,适用于电池供电设备。
    唤醒方式:支持定时唤醒、GPIO 触发唤醒或 UART 数据唤醒。

  4. 应用场景
    智能家居:通过 Wi-Fi 连接控制灯光、空调、门锁等设备。
    环境监测:采集温湿度、空气质量等数据并上传至云端。
    工业自动化:远程监控设备状态,实现无线数据传输。
    智能农业:监测土壤湿度、光照等参数,优化种植管理。

3.4 DHT11温湿度传感器

在这里插入图片描述
使用DHT11模块检测环境的温度和湿度。

DHT11 是一款湿温度一体化的数字传感器。该传感器包括一个电阻式测湿元件和一个 NTC测温元件,并与一个高性能 8 位单片机相连接。通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。DHT11 与单片机之间能采用简单的单总线进行通信,仅仅需要一个 I/O 口。传感器内部湿度和温度数据 40Bit 的数据一次性传给单片机,数据采用校验和方式进行校验,有效的保证数据传输的准确性。DHT11 功耗很低,5V 电源电压下,工作平均最大电流 0.5mA。
DHT11 的技术参数如下:
⚫ 工作电压范围:3.3V-5.5V
⚫ 工作电流 :平均 0.5mA
⚫ 输出:单总线数字信号
⚫ 测量范围:湿度 20~90%RH,温度 0~50℃
⚫ 精度 :湿度±5%,温度±2℃
⚫ 分辨率 :湿度 1%,温度 1℃

DHT11 数字湿温度传感器采用单总线数据格式。即,单个数据引脚端口完成输入输出双向传输。其数据包由 5Byte(40Bit)组成。数据分小数部分和整数部分,一次完整的数据传输为40bit,高位先出。DHT11 的数据格式为:8bit 湿度整数数据+8bit 湿度小数数据+8bit 温度整数
数据+8bit 温度小数数据+8bit 校验和。其中校验和数据为前四个字节相加。
传感器数据输出的是未编码的二进制数据。数据(湿度、温度、整数、小数)之间应该分开处理。例如,某次从 DHT11 读到的数据如图所示:
在这里插入图片描述由以上数据就可得到湿度和温度的值,计算方法:
湿度= byte4 . byte3=45.0 (%RH)
温度= byte2 . byte1=28.0 ( ℃)
校验= byte4+ byte3+ byte2+ byte1=73(=湿度+温度)(校验正确)
可以看出,DHT11 的数据格式是十分简单的,DHT11 和 MCU 的一次通信最大为 3ms 左右,
建议主机连续读取时间间隔不要小于 100ms。
下面,我们介绍一下 DHT11 的传输时序。DHT11 的数据发送流程如图所示:
在这里插入图片描述
首先主机发送开始信号,即:拉低数据线,保持 t1(至少 18ms)时间,然后拉高数据线 t2(20~40us)时间,然后读取 DHT11 的响应,正常的话,DHT11 会拉低数据线,保持 t3(40~50us)时间,作为响应信号,然后 DHT11 拉高数据线,保持 t4(40~50us)时间后,开始输出数据。
DHT11 输出数字‘0’的时序如图所示:

在这里插入图片描述
DHT11 输出数字‘1’的时序如图所示:
在这里插入图片描述
通过以上了解,我们就可以通过 STM32 来实现对 DHT11 的读取了。

3.5 可调电位器

在这里插入图片描述
调电位器是一种可以手动调节电阻值的电子元件,广泛应用于各种电子设备中,通过改变电阻值来控制电路中的电流、电压等参数。

  1. 基本结构
    可调电位器通常由以下几个关键部分组成:
    电阻体:是实现电阻调节的核心部分,一般由碳膜、金属膜、导电塑料等材料制成,其电阻值分布决定了调节的特性。
    滑动触点:与电阻体紧密接触,能在电阻体上滑动,通过改变与电阻体接触的位置来改变接入电路的电阻值。
    引出端:通常有三个引脚,其中两个引脚连接电阻体的两端,称为固定端;另一个引脚连接滑动触点,称为滑动端。
    调节机构:包括旋钮、滑杆等,用于手动操作滑动触点在电阻体上移动,实现电阻值的调节。
  2. 工作原理
    可调电位器的工作原理基于分压或限流的特性。当它接入电路时,滑动触点将电阻体分成两个部分。
    若将两个固定端接入电路,滑动端可以从中取出一部分电压,实现分压功能,例如在音量调节电路中,通过改变滑动端的位置来改变输出电压,从而调节音量大小。
    若将一个固定端和滑动端接入电路,则接入电路的电阻值为该部分电阻体的电阻,通过滑动触点改变接入长度来改变电阻值,实现限流功能,比如在一些小电流电路中调节电流大小。
  3. 主要类型
    根据不同的分类标准,可调电位器有多种类型:
    按调节方式:
    旋转式可调电位器:通过旋转旋钮来调节电阻值,是最常见的类型,如收音机、音响的音量旋钮。
    直滑式可调电位器:通过沿直线滑动滑杆来调节,常用于一些需要线性调节的场合,如调音台的推子。
    按电阻体材料:
    碳膜可调电位器:成本较低,性能一般,适用于对精度要求不高的电路。
    金属膜可调电位器:精度较高,温度稳定性好,适用于要求较高的电路。
    导电塑料可调电位器:寿命长,耐磨性好,线性度高,常用于需要频繁调节的场合。
    按用途:
    普通可调电位器:适用于一般的电路调节。
    精密可调电位器(微调电位器):体积较小,调节精度高,常用于电路的校准和微调,如仪器仪表中的校准电路。

4 设计PCB

直接使用上述模块,线路非常杂乱,因此,我们需要自己设计一块PCB底板。开发工具使用立创EDA。

相关资料已经放在本文第一节。

4.1 安装下载立创EDA专业版

4.2 画原理图

4.3 摆放元器件,设计规则,泪滴,铺铜。

在这里插入图片描述

4.4 使用嘉立创下单助手进行下单,打板。

4.5 实物图

实物如图:
在这里插入图片描述


5 软件设计

5.1 编写STM32单片机代码

工程目录如图所示:
在这里插入图片描述

5.2 设计手机APP

在这里插入图片描述
手机APP设计完成如下:
在这里插入图片描述


6 proteus仿真

本系统使用proteus8.17进行仿真测试。
在这里插入图片描述

完整视频请看本文1.3 演示视频


7 实验测试

7.1 准备

1、准备好硬件实物,接好传感器和其他外设。

2、将TFT LCD插在底板响应位置。

3、ESP8266插在相应位置。

4、在手机端安装APP。

5、上电

7.2 烧录软件

下载代码需要提前安装好MDK环境,准备好SWD下载器,在MDK中进行“LOAD”下载。

7.3 实验验证

1、 proteus仿真测试

2、温湿度传感器测试

3、电阻测量测试

4、语音播报测试

5、阈值调节,报警测试

6、单片机-OneNET云平台-手机APP三方交互测试

演示视频:

基于STM32单片机的绝缘检测系统(STM32代码编写+手机APP设计+PCB设计+Proteus仿真)


总结

http://www.lryc.cn/news/593207.html

相关文章:

  • 6 STM32单片机的智能家居安防系统设计(STM32代码+手机APP设计+PCB设计+Proteus仿真)
  • 对话访谈 | 盘古信息×锐明科技:中国企业高质量出海“走进去”和“走上去”
  • 家庭KTV v1.1.9 | 曲库丰富,无限制免费K歌
  • 驾驭 Spring Boot 事件机制:8 个内置事件 + 自定义扩展实战
  • 《一行注解解决重复提交:Spring Boot 接口幂等实战》
  • 深入理解设计模式:策略模式的艺术与实践
  • 在非Spring Boot的Spring项目中使用Lock4j
  • 用graphviz画一个关系图
  • 云服务器磁盘IO性能优化的测试与配置方法
  • 2025年7月19日,二维矩阵
  • 智能制造——解读39页汽车行业数字化工厂解决方案【附全文阅读】
  • 异世界历险之数据结构世界(二叉树-leetcode)
  • 国产电科金仓数据库:融合进化,智领未来
  • 【Unity3D实例-功能-移动】角色移动-通过WSAD(Rigidbody方式)
  • 架构探索笔记【1】
  • JavaScript空值安全深度指南
  • windows内核研究(驱动开发之内核编程)
  • Java无服务架构新范式:Spring Native与AWS Lambda冷启动深度优化
  • 【小沐学GIS】基于Rust绘制三维数字地球Earth(Rust、OpenGL、GIS)
  • C++STL系列之概述
  • OpenCV 官翻5 - 机器学习
  • 【web安全】万能密码
  • 物联网系统中的可视化大屏定义
  • UGUI 性能优化系列:第三篇——渲染与像素填充率优化
  • 小明记账簿焕新记:从单色到多彩的主题进化之路
  • 【Android】ListView与RecyclerView的基础使用
  • 安全隔离新选择:SiLM5768L系列 - 集成互锁功能的高速六通道数字隔离器
  • 从随机数值到特征检测器的学习与更新
  • 【Linux驱动-快速回顾】简单了解一下PinCtrl子系统:设备树如何被接解析与匹配
  • 大模型 Function Call 的实现步骤及示例详解