内容介绍
内容介绍
一、项目介绍和创意介绍
项目名称
智能MPPT光伏充电物联网监测系统
项目简介
本项目是一款基于CN3791 MPPT充电控制芯片和ESP32物联网模块的智能太阳能充电监测系统。系统通过STM32F103C8T6微控制器实时采集光伏电池板电压、电流、功率,锂电池电压、电流、电量百分比,环境温度和光照强度等8项关键参数,并通过ESP32将数据上传至物联网平台,实现对光伏充电系统的远程监控和智能管理。本设计参加2026 M-Design设计竞赛的任务四
创新点
- 三合一智能监测:同时监测光伏输入、电池状态和环境参数
- MPPT优化充电:采用CN3791芯片实现最大功率点跟踪,提高充电效率
- 物联网云监控:通过点灯科技平台实现手机APP远程监控
- Web一键配网:支持WiFi免代码配置,用户使用便捷
- MPPT(最大功率点跟踪)算法用于光伏系统中,使电池板在不同环境条件下持续输出当前的最大功率。常见算法包括:**扰动观察法**,通过周期性微调电压并观察功率变化来追踪峰值,简单但稳态时有振荡;**电导增量法**,利用功率对电压导数为零的条件计算最佳工作点,精度更高;**恒定电压法**,将工作电压固定为开路电压的约0.76倍,成本低但适应性差;以及用于复杂遮阴场景的**智能算法**(如模糊逻辑、神经网络)。实际应用中,低成本系统多用恒定电压法,家用逆变器常用扰动观察法或电导增量法,大型电站则可能引入智能算法。
二、硬件介绍
主要硬件组件
- 主控芯片:STM32F103C8T6(Cortex-M3内核,72MHz)
- 物联网模块:ESP32-WROOM-32(WiFi+蓝牙双模)
- 充电管理芯片:CN3791(MPPT太阳能充电控制器)
- 电压电流检测:INA226高精度双向电流检测芯片×2
- 温度传感器:DS18B20数字温度传感器
- 光照传感器:BH1750数字光照传感器
- 显示模块:0.96寸OLED显示屏
硬件连接说明
- STM32与ESP32通过UART串口通信(PA9-TX,PA10-RX)
- INA226-1连接光伏输入(I2C1)
- INA226-2连接锂电池输出(I2C2)
- DS18B20和BH1750通过I2C总线连接
- OLED显示屏通过I2C接口显示实时数据
三、方案框图和项目设计思路
方案框图

设计思路
本系统设计遵循"感知-处理-传输-展示"的四层架构:
- 感知层:通过多传感器实时采集8类数据
- 光伏输入:电压、电流、功率
- 电池状态:电压、电流、电量百分比
- 环境参数:温度、光照强度
- 处理层:STM32进行数据处理和算法实现
- MPPT算法优化充电效率
- 电池电量百分比计算
- 数据滤波和校准
- 传输层:ESP32实现物联网通信
- WiFi自动连接和重连
- Web配置界面
- 展示层:多平台数据显示
四、原理图和PCB设计介绍
原理图设计特点
- OLED本地显示
- 点灯科技手机APP
- 光伏输入:5-18V宽电压输入
- 锂电池:3.7V锂电池管理
- 系统供电:3.3V稳压电路


五、软件流程图和关键代码介绍
软件流程图

关键代码介绍
1. STM32数据发送代码
// 数据打包格式:t温度 v电压1 i电流1 p功率1 u电压2 a电流2 b电池电量 l光照强度
sprintf(t, "t%4.1fv%4.2fi%8.2fp%8.1fu%4.2fa%8.2fb%3dl%5d",
temp2, v, current, p, v2, current2, p2, (int)light);
HAL_UART_Transmit(&huart1, (uint8_t*)t, strlen(t), 50);
2. ESP32数据解析代码
// 串口数据接收和解析
if(MySerial.available()) {
data = MySerial.read();
// 温度数据 (4位:25.5)
if(data == 't') {
for(int x=0; x<4; x++) {
while(MySerial.available()<=0);
data = MySerial.read();
a[x] = data;
}
a[4] = '\0'; // 字符串结束符
ta = atof(a); // 转换为浮点数
}
// 电压1数据 (4位:12.34)
if(data == 'v') {
for(int x=0; x<4; x++) {
while(MySerial.available()<=0);
data = MySerial.read();
b[x] = data;
}
b[4] = '\0';
v1 = atof(b);
}
// ... 其他数据类似解析
}
六、功能展示图及说明
最终效果图展示 连接上太阳能板和电池就可以工作了,其中电池给系统供电

本地OLED显示界面:
- 界面1:温度和光照强度
- 界面2:光伏输入参数(电压、电流、功率)
- 界面3:锂电池参数(电压、电流、电量百分比)

手机APP监控界面:
- 实时数据显示卡片:电压、电流功率、电量、温度、光照强度

七、设计中遇到的难题和解决方法
多传感器数据同步问题- 问题描述:8个传感器数据采集和传输需要精确同步,避免数据错乱。
解决方案:采用定时器中断统一触发,数据采集设计数据打包协议,添加数据校验位在ESP32端添加数据完整性检查
- 问题描述:8个传感器数据采集和传输需要精确同步,避免数据错乱。
八、对本次竞赛的心得体会
通过参加2026贸泽电子M-Design创意设计竞赛,我有以下几点深刻体会:
技术创新方面
- 绿色能源技术的重要性:本项目让我深刻认识到可再生能源技术的巨大潜力和应用价值,光伏充电系统在偏远地区和物联网设备中有着广阔的应用前景。
- 系统集成能力提升:将MPPT充电、电池管理、环境监测、物联网通信等多个子系统整合到一个项目中,极大提升了我的系统设计和集成能力。
- 跨学科知识融合:项目涉及电力电子、嵌入式系统、物联网通信、传感器技术等多个领域,促进了我跨学科知识的融合和应用。
工程实践方面
- 从理论到实践的跨越:将课本上学到的MPPT算法、电池管理算法等理论知识应用到实际项目中,遇到了很多理论中未涉及的实际问题,通过解决问题获得了宝贵的实践经验。
- 团队协作的重要性:虽然这是一个个人项目,但在开发过程中与同学、老师的交流讨论让我认识到团队协作在复杂项目开发中的关键作用。
- 文档和规范的重要性:完整的项目文档、规范的代码注释、清晰的电路图是项目成功的重要保障,也是工程实践的基本要求。
社会价值方面
- 节能减排的实际贡献:通过优化光伏充电效率,本系统能够提高能源利用率,为节能减排做出实际贡献。
- 物联网技术的社会应用:项目展示了物联网技术在能源管理领域的应用前景,为智能电网、分布式能源等提供了技术参考。
- 创新设计的推广价值:项目的模块化设计和可扩展性使其可以应用于多种场景,如太阳能路灯、野外监测站、农业物联网等。
个人成长方面
- 解决问题能力的提升:在项目开发过程中遇到的各种技术难题,通过查阅资料、实验验证、优化改进,最终都找到了解决方案,这极大提升了我的问题解决能力。
- 工程思维的形成:学会了从系统角度思考问题,考虑性能、成本、可靠性、可维护性等多个维度,形成了初步的工程思维。
- 持续学习的习惯:技术更新迅速,必须保持持续学习的态度,本项目让我养成了跟踪新技术、学习新工具的良好习惯。
未来展望
本项目还有很大的改进空间,未来计划:
- 增加人工智能算法,实现智能充放电策略
- 扩展为多节点网络,支持分布式光伏监控
- 开发Web管理平台,提供更丰富的数据分析功能
- 优化硬件设计,降低成本,提高可靠性
通过这次竞赛,我不仅完成了一个技术创新项目,更重要的是获得了宝贵的工程实践经验和解决问题的能力,这将对我未来的学习和职业发展产生深远影响。感谢贸泽电子提供这样一个展示创新成果的平台,让我有机会将理论知识转化为实际应用,为绿色能源技术的发展贡献自己的一份力量。
软硬件
电路图
附件下载
C3-Web-BLIKER-bishe.zip
mppt (2).zip
团队介绍
本人是电气工程
评论
0 / 100
查看更多
猜你喜欢
制作FPGA电子琴1. 存储一段音乐,并可以进行音乐播放,
2. 可以自己通过板上的按键进行弹奏,支持两个按键同时按下(和弦)并且声音不能失真,板上的按键只有13个,可以通过有上方的“上“、”下”两个按键对音程进行扩展
john
2576
2026 M-Design设计竞赛 - 基于 ESP32-C6 的太阳能发电状态监测系统该项目使用了ESP32-C6,实现了太阳能发电状态监测系统的设计,它的主要功能为:面向小型太阳能供电或储能应用场景,设计一套可以本地联网、实时显示、后续可继续扩展的储能方案。
bigzhu
9
2026 M-Design设计竞赛-基于物联网的温室大棚管理系统该项目使用了STM32,ESP32.BH1750,DHT11,实现了温室大棚管理系统的设计,它的主要功能为:本项目基于STM32F103C8T6与ESP32,实时采集空气温湿度、土壤湿度和光照强度,并在OLED上显示。系统可自动根据预设阈值控制排气扇、水泵和补光灯,并触发声光报警;阈值支持按键调节且掉电记忆。数据通过ESP32上传至点灯科技APP,支持Web一键配网,实现温室环境的远程智能监控。。
叶佳敏
14