Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
英飞凌Infineon
【RTTxIFX大赛】基于RT-Thread的智能电网用户侧家庭能源管理系统EMS
发布于 2023-07-16 00:20:00 浏览:1423
订阅该版
[tocm] # 系统功能概述 家庭能源管理系统就是将用电负载、分布式电源、储能装置及检测控制装置组成网络,实现能量的联动。 系统工作流程为,光伏电池板发出6V电能,经过Boost升压电路升至12V并入直流母线为储能电池充电,储能电池维持直流母线12V恒定电压,后级推挽逆变电路将直流母线电压经过升压变压器生成交流电,再经过整流滤波后供负载使用。工作过程中,Boost、推挽升压电路均由单片机驱动信号控制电压,整套系统由英飞凌单片机作主控板,完成驱动信号生成和调整,控制系统整体运行过程,监控系统状态。整套控制系统电源均由储能电池提供,保证系统独立运行能力。 # 系统全貌 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230716/8812492e69ac5081297bce9850b4d279.png.webp) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230716/6566f67b5bba338ee7cd47cd02251f97.png.webp) # 硬件电路 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230715/cc7c27df76ce93ed983a4f90400b4043.png) Boost升压电路部分,将光伏电池板6V电压升压至12V直流母线电压,从而为储能电池充电。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230716/6abaaedbf28c49ebbf61e29f937b0f72.png.webp) 推挽升压逆变部分,将储能电池提供的低压侧直流母线电压进行推挽升压逆变,经整流滤波后,供后级负载使用。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230716/8cc2f72661f81490d80b9ef48af8288d.png.webp) 光耦隔离电路,采用光耦隔离电路隔离强电功率信号和控制信号,保障单片机安全工作。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230716/e823e78c7e8904592f48c1e0f5ee36f7.png.webp) 辅助电源电路,采用LM2596降压芯片从直流母线电压,为光耦及栅极驱动芯片供电。 隔离电源电路,采用B0505隔离电源芯片作为单片机隔离供电。 屏幕显示模组 采用SPI接口的TFTLCD 2.4寸彩色显示屏,完成系统显示功能。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230723/9f9fbd38855002fc1718c4611e8a4565.png.webp) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230723/ff434a73b445939494f96b0a63277d9e.png.webp) # 软件部分 ## 软件功能架构 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230716/53442291387e47bf3ec8bded68bbb56c.png.webp) ## 软件层次依赖 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230716/926fd6363c375231fdeb536cd32e18b1.png) ### PWM生成方式对比 - RTT最高层PWM接口API 最方便配置,能支持PWM发生,频率占空比调整,但无法进行更细粒度的设置,如设置死区、上下溢出中断、比较中断等等必备的功能较难实现。 - HAL硬件抽象层PWM接口API 支持PWM发生,也支持死区、中断设置,但是接口过于抽象,每次占空比更新进行了不必要的计算,比较冗余,难以实现实时性要求高的场景。 例如:在SPWM生成中,需要每周期更新占空比,但是HAL计算过于冗余,是将占空比用浮点数计算,每次需要不必要的装载值转换,导致计算时间超出PWM中断间隔,计算过程太长,在30KHz的PWM情况下,两次中断的间隔最多33us,HAL计算太久,无法在此时间内完成,导致波形异常。所以必须采用更细粒度的接口。 - PDL外设驱动库PWM接口API 最底层的驱动库,支持全部功能,并且,Infineon提供了配置工具进行外设配置。使用 device-configurator 配置工具进行精细配置。 综上比较,本项目必须选择使用PDL库进行PWM驱动信号的生成,才能满足实时控制要求。所以驱动信号部分采用device-configurator 配置的PDL库开发,实现精细粒度的配置,其余外设如串口、ADC,均采用RTT提供的最上层通用接口进行开发,实现最高开发效率。 ## 驱动信号发生 ### Boost驱动信号生成 单路PWM,30Khz,占空比可调,每周期达到比较值时中断。 配置过程 步骤 1. 首先把配置打开 2. 然后自己写中断配置和中断回调。 - 定义中断回调函数 - 中断配置,设置优先级,绑定回调函数 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230715/72d9a6fed37c86803ec28ac3e25d001e.png) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230715/f0f599caa3dfc40c0b12af981971614b.png.webp) ### 推挽升压控制信号 双路互补PWM,30KHz固定占空比50%,留有死区。 如果没有死区会导致变压器同时导通,出现电压震荡,产生较大的换流尖峰电压,超过MOSFET最大限度,击穿MOSFET。 尖峰如图,280V的期望输出,由于未设置死区,产生了近600V的电压尖峰,对于系统安全运行极度危险(不要问我是怎么知道滴。。。),切记切记。 配置过程 PWM基本配置同Boost 死区配置如下 配置500ns死区时间,测试得到效果如下,符合预期。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230715/24cbaf0049e31b1daea3cf8f4775b11f.png.webp) ## 正弦波SPWM脉宽调制信号生成 采用正弦波调制,设计调制信号驱动表,设置PWM上下溢出中断,同步更新占空比,每次更新计算时间不得超出PWM中断间隔时间。 配置过程 每次所用时间测试 重复1000次所用时间5.541ms,平均每次5.5us<33us,满足实时控制要求。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230716/1bc44e0b8d26f7423582dfab1ea2eff5.png.webp) ## 屏幕显示软件设计 SPI接口配置 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230723/1e46c8b63e6afbb815b33e26696c4c43.png.webp) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230723/7e7f336a02f7f363b261cc7f31c701e2.png) 数据传输控制 SPI显示数据传输 采用low level库实现, high level库实现需要中断,但屏幕读写不需要过多中断,直接采用底层库实现。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230723/f05f15dd1f6a57a8a04c41bd23e7364f.png.webp) GPIO电平控制 采用寄存器方式控制引脚高低电平,加快读写速度,提高屏幕刷新率。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230723/22659d35e0663dd02ae89df2b651c273.png.webp) 再根据LCD编写出界面显示功能接口,进行调用。 # 测试效果 ## Boost光伏输入电压升压效果 输入侧升压电路正常,输入5.7V升压至11.6V,能够达到为电池充电的效果 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230716/73dc897998f36fa233812c450eaaabf6.png.webp) ## 死区控制互补PWM 设置了600ns死区时间,确保MOSFET开关管正常开通关闭 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230716/19c776a6d8b7af936f79f5a98ec555e7.png.webp) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230716/cc464fe6037560d8bf8a7f16fcddaf13.png.webp) ## 逆变升压效果 升压至345V高压交流电,满足逆变升压效果 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230716/84f59b5670ed894e7df91ddef5e1d196.png.webp) ## 屏幕状态显示效果 界面展示效果 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230723/fda4e28b5ee1be4f18698751ac05b88c.png.webp) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230723/44eaac6787f01a1839e591c789976b3a.png.webp) 系统状态监控效果 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230723/7d46332aa4d6e6c940e6f2126d3f1bf1.png.webp) 完成实时显示光伏电池Boost电压状态、储能电池状态、推挽升压变换器状态,对系统监控起到关键作用。 # 成果演示视频 【【RTTxIFX大赛】家庭能量管理系统EMS作品成果演示】 https://www.bilibili.com/video/BV1Fj411f7pa/?share_source=copy_web&vd_source=bdb3bc659ce9fce59a79401dcbe1a6c4 # 项目总结 创造性地设计了家庭能量管理系统,完成了光伏储能等设备的统一工作,对能量系统进行集中管理和调配控制,完成了预期控制功能,测试效果符合预期。 下一步可增加并网、级联等功能,可以将系统进一步扩大,适应更大的用电场景,实现工厂或楼宇的能量集中管理系统。为能量管理系统的研制提供解决方案。
3
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
HLMX_5114
这家伙很懒,什么也没写!
文章
2
回答
0
被采纳
0
关注TA
发私信
相关文章
1
RT-Thread支持英飞凌芯片吗?
2
RT-Thread系统在英飞凌TC364芯片上仅能在 Cpu 0 运行
3
请问版主RTT有没有移植到infineon的XC2000系列MCU上
4
关于RTT对于infineon 的Aurix系列的支持。
5
RT-AK使用,插件如何构建
6
PSOC6 BSP工程导入不成功
7
PSoCTM 62 初始化串口后进入休眠,功耗增加。
8
英飞凌PSoC 6 RTT开发板普通工程编译完ROM使用量就达到了1101KB
9
2023开发者大会动手实验环境搭建
10
英飞凌CYW43012 Wi-Fi 功能提示MAC地址获取错误
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
SFUD
msh
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1443
个答案
289
次被采纳
张世争
805
个答案
174
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
4
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
1
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部