基于STM32设计的4G智能插座详解及常见疑问解答

 操作视频:基于STM32设计的4G智能插座一_哔哩哔哩_bilibili

资料包下载链接:https://pan.baidu.com/s/15gD5mNYRcF0W_N_SfUuwrw?pwd=1234 提取码: 1234

底板链接:https://item.taobao.com/item.htm?id=901342847635

1 硬件详解

1.1 STM32最小系统板

芯片型号是STM32F103C8T6,下面这个文章对这个板子介绍比较详细,有兴趣可以学习一下;

基于STM32的最小系统电路设计(STM32F103C8T6为例)_stm32微控制器和最小系统电路-优快云博客

1.2 BL0942采集电路

 采样是电阻直接采样的方式,通过串电阻分压采集交流电压,通过合金电阻差分采样采集电流;然后芯片内部计算得出功率及用电量等值;采样的详细介绍可以参考这个文章:HLW8032交流电参数模块采样原理讲解-优快云博客

 这里比较容易不理解的地方就是BL0942的芯片GND是直接接到交流线的其中一根线的,也就是BL0942的GND直接接交流电了,这不会弄坏芯片或者导致接串口是把GND接到电脑上损坏吗?

第一点:BL0942会不会被烧坏?不会;因为GND是一个参考电平说法,如果我把220V当做另一个电源的零点,那225V可能就是这个电源的5V。还有就是测量ADC也是需要参考地才能测量准确的。

第二点:这个交流电的“GND”会不会烧坏外接电脑?不会,主要靠实物图中红色框的那个黑疙瘩,这个叫直流隔离电源,作用是把输入的3.3V电源完全隔离开成不需要共地的另一个3.3V电源;也就是说BL0942芯片的GND和STM32的GND不是直接相连的。

1.3 继电器驱动电路

这是一个比较常规的低电平驱动继电器电路,KA_IO直接接STM32的引脚;当KA_IO引脚为低电平时,U2(光耦开关 )内部灯点亮,所以U2的3和4引脚导通;然后U17(S8550三极管)基极就被拉低为低电平,U17的发射机和集电极导通,此时继电器的线圈两端就是+5V和GND,线圈通电,继电器闭合,从而继电器的2和5引脚导通。

原理图中D2是一个续流二极管,就是在继电器线圈断电的时候,线圈两端会产生一个自感电动势,这个自感电势会造成破坏,而在继电器线圈两端反向并联一个二极管,为自感电动势提供一个放电电流回路(续流),进而起到保护作用。

1.4 蜂鸣器电路

 这个电路比较简单,用的蜂鸣器是有源蜂鸣器,就是通电就会响。主要是使用U20(S8550三极管)作为一个开关;R37是一个上拉电阻,保持电路稳定;R25是一个限流电阻,保护蜂鸣器的。

1.5 4G模块

4G模块用的是银尔达的D100P模块(屏蔽盖印的是Y100E),为了方便用的是DTU的固件,好处不需要STM32进行复杂的AT指令配置,直接在银尔达后台配置好参数,4G模块上电后自动进行配置,STM32只需要串口收发数据就可以了。缺点就是STM32无法获知4G模块的状态,不过可以通过观察4G模块的指示灯来分析4G模块的状态:

2 软件介绍

2.1 阿里云平台

阿里云物联网平台其实只是作为一个公网载体,负责转发两个设备之间数据转发的功能。当然物联网平台还有其他很多的功能,有兴趣的可以仔细研究一下。物联网平台设置比较繁琐,不过只要按照视频流程一步一步设置基本没有任何问题的;只要细心一点,标识符或者复制MQTT参数别出错。

在解析器只用了两个解析器,一个是负责把STM32上报的数据转发给手机端,另一个是负责把手机端的控制数据转发给STM32;还支持其他功能的解析器,例如设备上下线的消息也可以进行转发,不过因为4G模块如果直接断电断线,阿里云平台一般是轮询2分钟没有上报数据才判断设备断线的。

2.2 微信小程序

博主本人对小程序代码不熟悉,代码也是通过百度下载一个例程来修改的;所以小程序界面丑到爆,如果有朋友熟悉小程序代码可以优化一下,不介意的话可以发给我替换一下。

小程序上注意的点:

微信开发者工具上的这个AppId必须要是自己的,不然编译或者真机调试的时候都用不了。

 如果编译的时候报域名的错误,就检查一下项目配置里面有没有把域名添加到合法域名里面:

还有就是别复制错了阿里云的设备三元组数据:

2.3  STM32代码

 因为4G模块采用的是DTU固件了,所以STM32的代码比较简单,用了三个串口,

串口1是调试用的,代码里面的“printf”都是从串口1输出,调试的时候可以直观知道代码状态;

串口2用来接4G模块,如果想上报数据到云平台,就直接往串口2发送对应格式的字符串就可以了;当然串口2收到的数据就是云平台下发的数据,从里面解析出控制继电器的字段然后就可以了;

串口3是用来接BL0942数据的,对于BL0942的数据解析可以参考这个文章:BL0942电参数采集模块操作说明及疑问解答-优快云博客

 如果代码想实现大功率设备自动断电可以参考下面代码;如果想判断大电流,可以在165行插入判断C1的值。

3 常见疑问解答

3.1硬件类

3.1.1 BL0942的GND和交流的零线连在一起有危险吗

 BL0942的GND和交流的零线相连是为了提供一个参考地,不然无法准确测量电压和电流;当然也不会对BL0942芯片产生影响,对于BL0942而言,交流的零线是一个地线。

那这个交流零线的GND会不会对STM32造成影响?

不会,因为做了隔离;如下图,U18是一个直流3.3V的隔离电源,右侧是STM32用的GND,左侧是BL0942用的GND,这两个GND是没有连通的,所以这个交流零线的GND和STM32的GND并没有影响。

3.1.2PCB设计类问题

  • 电流采样电阻的差分走线

 这种走线也叫开尔文接法,目的是为了提高测量精度;电阻两端挖的过孔是为了后面加锡方便,因为走线是从背面走线过来的,到测量电阻这里转了正面,挖孔是为了保证能正常通过大电流。

  • 为什么BL0942用的GND不直接从采样电阻取,而是从接入端子取

这个也是为了防止GND的干扰导致电流测量精度误差大,因为采样电阻测量的电压非常小; 一般十几毫伏,所以为了防止干扰,单独从接入端子走一根GND过去给BL0942。

  • 走线开窗(没有阻焊层)有什么作用

 开窗是为了后面加锡方便,为什么要加锡呢,不是有走线了吗?PCB电路板的铜是有厚度的,一般是1OZ,大概是35um的厚度;所以如果通过大电流就会容易发热烧断,所以需要自己加厚走线焊锡,增大走线。

  • 这里挖槽有什么作用

 挖槽的目的是电气隔离,PCB板开槽能用来防止爬电距离不够、PCB板受潮后漏电流加大。PCB开槽后,短距离采用直接空气隔离,电气间隙,其耐压将得到一定的保证

3.2软件类 

<think>好的,我现在需要回答用户关于ESP32作用的问题。首先,用户之前询问了如何训练声音克隆的AI,现在转向ESP32,可能是在探索物联网或嵌入式开发相关项目,比如语音控制设备。因此,我需要明确ESP32的主要功能和应用场景,确保回答符合用户的知识需求。 首先,我应该回顾ESP32的基本信息。ESP32是一款由乐鑫科技开发的低成本、低功耗的微控制器,集成了Wi-Fi和蓝牙功能。它的主要作用包括连接互联网、处理传感器数据、控制外设等。接下来,我需要分点详细说明其作用,可能需要从核心功能、应用场景、开发优势等方面展开。 用户可能想知道ESP32与其他微控制器(如Arduino或STM32)的区别,所以在回答中要突出其无线通信能力和处理性能。同时,考虑到用户之前的问题涉及AI,可能需要提到ESP32在机器学习方面的应用,比如TensorFlow Lite的支持,但也要注意ESP32的资源限制,不能进行复杂模型训练,适合轻量级推理。 需要确保技术术语准确,比如双核处理器的主频、内存规格等,但也要用易懂的语言解释。例如,解释GPIO、PWM、ADC等接口的作用,以及它们在实际项目中的应用示例,比如智能家居中的传感器连接或电机控制。 另外,用户可能关心开发ESP32的难易程度,所以需要提到支持的开发框架,如Arduino IDE、ESP-IDF、MicroPython等,以及丰富的库和社区资源,这对初学者很重要。 还要注意ESP32的低功耗特性,适合电池供电设备,比如可穿戴设备或远程传感器节点,这可能与用户之前的AI项目结合,比如低功耗语音识别设备。 最后,需要提醒用户ESP32的局限性,比如处理能力有限,不适合高计算任务,但可通过优化或外接模块扩展功能。同时,提及安全功能如加密和OTA更新,这在物联网应用中很重要。 总结回答结构:概述、核心功能、应用场景、开发优势、注意事项。确保每个部分清晰,用例子帮助理解,避免过于技术化,保持口语化但专业。</think>ESP32是一款由乐鑫科技(Espressif Systems)推出的高性能、低功耗物联网Wi-Fi+蓝牙双模芯片模组,其核心作用可概括为**智能设备的"神经中枢"**,主要应用于物联网(IoT)、嵌入式系统和智能硬件领域。以下是其核心作用与技术特点的详细解析: --- ### 一、核心功能作用 1. **无线通信中枢** - **Wi-Fi 4(802.11 b/g/n)**:支持STA/AP/STA+AP混合模式,最高速率150Mbps - **蓝牙5.0**:兼容BLE和经典蓝牙,支持Mesh组网 - 典型应用:通过MQTT协议连接阿里云/华为云(例如每秒传输传感器数据) 2. **多协议处理中心** - 同时运行TCP/IP协议栈、BLE协议栈 - 支持HTTP/WebSocket/LwIP等网络协议 - 例:通过Web服务器远程控制家庭灯光(代码量仅需约50KB) 3. **实时控制引擎** - 双核Xtensa LX6处理器(主频240MHz) - 拥有34个可编程GPIO引脚 - 可驱动PWM电机(精度达16位)、读取高精度ADC(12位) --- ### 二、典型应用场景 | 应用领域 | 具体实现案例 | |-----------------|-----------------------------------------------------------------------------| | 智能家居 | 通过ESP32+红外模块控制空调,结合语音识别实现"小爱同学,室温调至25℃" | | 工业物联网 | 连接RS485传感器网络,采集工厂设备温度/振动数据,通过4G网关上传至云平台 | | 可穿戴设备 | 搭配MAX30102心率传感器,实现蓝牙手环的实时健康监测(功耗仅10μA@睡眠模式) | | 人机交互 | 驱动TFT触摸屏显示UI界面,支持手势识别操作(通过FPC电容触摸接口) | --- ### 三、技术优势详解 1. **性能参数** - 内存:520KB SRAM + 4MB Flash(可扩展至16MB) - 外设接口:SPI/I2C/UART/I2S/CAN/SDIO - 安全特性:支持AES/SHA2硬件加密,RSA-3072认证 2. **开发便捷性** - 多框架支持: - Arduino IDE(适合快速原型开发) - ESP-IDF(官方开发框架,支持FreeRTOS) - MicroPython(脚本化开发) - 丰富组件库:已集成AWS IoT、Azure IoT等SDK 3. **低功耗设计** - 多种省电模式: - Modem-sleep:3mA(保持Wi-Fi连接) - Deep-sleep:5μA(定时唤醒) - 动态电压调节:根据负载自动切换80/160/240MHz频率 --- ### 四、进阶功能拓展 1. **机器学习应用** - 支持TensorFlow Lite Micro框架 - 可部署关键词识别模型(如"唤醒词检测") - 典型性能:运行20层CNN网络约需50ms 2. **音视频处理** - 通过I2S接口连接数字麦克风(如INMP441) - 实现MP3音频解码(需外接DAC) - 视频方面可驱动240x320 LCD显示动态数据 3. **边缘计算** - 本地处理传感器数据(如FFT分析振动频谱) - 执行预测性维护算法,减少云端传输量 --- ### 五、选型注意事项 1. **版本差异** - ESP32-S3:增强USB OTG功能,适合HID设备开发 - ESP32-C3:RISC-V架构,成本更低 - ESP32-PICO:集成4MB Flash的微型封装 2. **开发建议** - 初学推荐使用NodeMCU-32S开发板(约¥25) - 量产建议选择工业级模组(如WROOM-32UE,工作温度-40℃~85℃) - PCB设计需注意射频走线阻抗匹配(50Ω特性阻抗) 3. **典型局限** - 不适合高分辨率摄像头接入(最高支持OV2640 200万像素) - 复杂图像处理建议搭配Kendryte K210协处理器 --- 通过灵活运用ESP32的这些特性,开发者能以极低成本(模组单价约$2)快速构建智能设备。据统计,截至2023年全球已有超过10亿台设备采用ESP32系列芯片,覆盖从智能插座到农业物联网的广泛领域。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Knight-20

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值