打印
[单片机芯片]

嵌入双肩包的光伏电池及智能充电系统

[复制链接]
1101|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 thanksdear 于 2023-5-6 17:41 编辑

[size=22.0000pt]关于嵌入双肩包的光伏电池及智能充电系统的技术报告[size=16.0000pt]1.项目概述
[size=12.0000pt]1.1应用背景
[size=12.0000pt]移动电源离不开对电能的需求,在许多情况,电能极难获得。在取之不尽的太阳能面前,利用好太阳能是个极其诱人的项目。利用太阳能转电能能够很好的补齐移动电源的获取电能方式空白,而且太阳能节能环保,尽管起初成本较高,但在长时间的使用下,太阳能转电能的使用价值会超过直接供应电能的使用价值,完全符合时代发展需求。
[size=12.0000pt]同时,面对大量化石能源的消耗及带来的污染,为实现绿色能源发展、实现移动电源的自供电并且提高户外充电的便捷性,设计出一种嵌入双肩包的太阳能光伏电池及智能充电系统。该系统通过各个板块,能够通过绿色能源转换成电能储存在移动电源中,为其他电子产品进行充电,增加了户外移动电源获取电能方式,提供户外保障,有效地减少了能源污染,满足时代发展。
[size=12.0000pt]1.2.实现功能
[size=12.0000pt]本项目使用光伏技术,在太阳能辐射下可以产出电能,储存在蓄电池,预防了野外天气长时间对电的缺少和保护环境,将系统组装在背包中,大幅提高便捷性,利用风扇散热装置提高空气流动,减少了电路存留在背包的热量。此外还有液晶显示屏显示电量,并通过智能语音模块智能播报电量。
[size=12.0000pt]利用晶体硅的性质,可以将太阳能转换为电能,再把硅片封装即可组装成太阳能电池板。此外,底部设置有液晶显示屏,显示屏可以通过触摸显示此刻书包电量。与液晶显示屏并联一个电量状态识别模块,在电量充满或者电量过低时,触发智能语音模块,进行智能语音提示。在电路层两侧,装有两个小风扇,进行散热,以防电路层温度过高。底部设置为细小的孔,方便空气流动,增加散热。
[size=12.0000pt]
[size=16.0000pt]2. [size=16.0000pt]硬件说明
2.1硬件结构框图
2.1.1光伏系统硬件框图
[size=10.0000pt] [size=10.0000pt]1[size=10.0000pt] 光伏系统硬件框图
2.1.2 单片机控制及外设硬件框图
[size=10.0000pt] [size=10.0000pt]2[size=10.0000pt] 单片机控制及外设硬件框图
2.2 光伏板

[size=10.5000pt]
[size=10.5000pt]
2.3 控制器

[size=10.5000pt]光伏系统控制器,对光伏电池板产生的电流整流,使电路中的的电流平稳,具有功率调节功能。控制器对蓄电池的输入电流和输出电流有着控制作用,可以将电流平稳地流入蓄电池中并平稳的给负载供电,[size=10.5000pt]保对蓄电池正确充电并防止过度充电。有着短路保护、开路保护、过压保护、蓄电池反接保护
2.4 MCU

[size=10.5000pt]
2.5蓝牙模块

[size=10.5000pt]
[size=10.5000pt]
[size=10.5000pt]
2.6温度模块、驱动模块、语音播报模块、蓝牙模块、显示屏


[size=10.5000pt]
[size=12.0000pt]L298N是意法半导体集团旗下量产的一种电机驱动芯片,拥有工作电压高、输出电流大、驱动能力强、发热量低、抗干扰能力强等特点,通常用来驱动继电器、螺线管、电磁阀、直流电机以及步进电机。
[size=12.0000pt]DHT11是一款有已校准[size=12.0000pt]数字信号[size=12.0000pt]输出的[size=12.0000pt]温湿度传感器[size=12.0000pt]、[size=12.0000pt]其精度湿度±5%RH, 温度±2℃,量程湿度5~95%RH, 温度-20~+60℃[size=12.0000pt]。
[size=12.0000pt]DY-SV5W是一款智能语音模块,集成IO分段触发,[size=12.0000pt]UART[size=12.0000pt]串口控制,[size=12.0000pt]ONE_line[size=12.0000pt]单总线串口控制,标准[size=12.0000pt]MP3[size=12.0000pt]等[size=12.0000pt]7[size=12.0000pt]种工作模式;板载[size=12.0000pt]5W D[size=12.0000pt]类功放,可直接驱动 [size=12.0000pt]4[size=12.0000pt]Ω,[size=12.0000pt]3~5W[size=12.0000pt]喇叭;支持[size=12.0000pt]MP3,WAV[size=12.0000pt]解码格式,最大支持[size=12.0000pt]32G TF[size=12.0000pt]卡存储,可通过[size=12.0000pt]USB[size=12.0000pt]数据线连接电脑更新[size=12.0000pt]TF[size=12.0000pt]卡存储音频文件。
[size=12.0000pt]
[size=16.0000pt]3. [size=16.0000pt]软件说明
[size=10.5000pt]主函数
[size=10.5000pt]1.串口接收蓝牙数据
[size=10.5000pt]void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
[size=10.5000pt]{
[size=10.5000pt]        [size=10.5000pt]unsigned char tem;
[size=10.5000pt]        [size=10.5000pt]if(huart->Instance==USART1)
[size=10.5000pt]        [size=10.5000pt]{
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]tem = Uart1_RX_data - '0';
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]if(tem == 9)
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]{
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]if(mode_flag == 0)  mode_flag = 1;
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]else mode_flag = 0;
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]}
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]if(mode_flag == 1)
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]{
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]if(tem == 0)
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]{
[size=10.5000pt]
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]TIM3->CCR3 = FAN_SPEED_LEVER_0;
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]LEVER = 0;
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]}
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]else if(tem == 1)
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]{
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]TIM3->CCR3 = FAN_SPEED_LEVER_1;
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]LEVER = 1;
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]}
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]else if(tem == 2)
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]{
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]TIM3->CCR3 = FAN_SPEED_LEVER_2;
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]LEVER = 2;
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]}
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]else if(tem == 3)
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]{
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]TIM3->CCR3 = FAN_SPEED_LEVER_3;
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]LEVER = 3;
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]}
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]}
[size=10.5000pt]        [size=10.5000pt]}
[size=10.5000pt]        [size=10.5000pt]HAL_UART_Receive_IT(&huart1, (uint8_t *)&Uart1_RX_data, 1);
[size=10.5000pt]}
[size=10.5000pt]
[size=10.5000pt]2. [size=10.5000pt]相关初始化

[size=10.5000pt]
[size=10.5000pt]3. [size=10.5000pt]dht11的使用并传送数据至手机蓝牙app
[size=10.5000pt]if( Read_DHT11 ( & DHT11_Data ) == 1)
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]{
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]OLED_ShowString(1,1,"humi:");
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]OLED_ShowNum(1,7,DHT11_Data.humi_int,2);
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]OLED_ShowChar(1,9,'.');
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]OLED_ShowNum(1,10,DHT11_Data.humi_deci,1);
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]OLED_ShowString(2,1,"temp:");
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]OLED_ShowNum(2,7,DHT11_Data.temp_int,2);
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]OLED_ShowChar(2,9,'.');
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]OLED_ShowNum(2,10,DHT11_Data.temp_deci,1);
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]OLED_ShowString(3,1,"LEVER:");
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]OLED_ShowNum(3,8,LEVER,1);
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]OLED_ShowString(4,1,"FAN_CONTROL");
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]printf("\r\n读取DHT11成功!\r\n\r\n湿度为%d.%d RH ,温度为 %d.%d℃ \r\n",\
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]DHT11_Data.humi_int,DHT11_Data.humi_deci,DHT11_Data.temp_int,DHT11_Data.temp_deci);
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]}[size=10.5000pt]        [size=10.5000pt]        
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]else
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]{
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]  OLED_ShowString(1,1,"WRONG!!!");
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]printf("Read DHT11 ERROR!\r\n");
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]}
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]if(mode_flag == MODE_NORMAL)
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]{
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]OLED_ShowString(4,1,"FAN_NORMAL");
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]if (DHT11_Data.temp_int >= 30)
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]{
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]TIM3->CCR3 = FAN_SPEED_LEVER_2;
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]LEVER = 2;
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]}
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]else if (DHT11_Data.temp_int < 30&&DHT11_Data.temp_int > 15)
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]{
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]TIM3->CCR3 = FAN_SPEED_LEVER_1;
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]LEVER = 1;
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]}
[size=10.5000pt]        [size=10.5000pt]        [size=10.5000pt]}
[size=10.5000pt]
[size=10.5000pt]4. [size=10.5000pt]其余头文件函数未展示
[size=10.5000pt]5. [size=10.5000pt]蓝牙app
[size=10.5000pt]




[size=16.0000pt]4. [size=16.0000pt]效果展示[size=10.5000pt]1. [size=10.5000pt]光伏系统
[size=10.5000pt]
[size=10.5000pt]        

[size=10.5000pt]
[size=10.5000pt]
[size=10.5000pt]
[size=10.5000pt]
[size=10.5000pt]2.模块组建

[size=10.5000pt]3. [size=10.5000pt]蓝牙app接收和返回数据




7086364561faed3ddb.png (52.58 KB )

7086364561faed3ddb.png

使用特权

评论回复
沙发
thanksdear|  楼主 | 2023-5-6 17:42 | 只看该作者
这什么情况啊,为什么发出来是这个样子的

使用特权

评论回复
板凳
caigang13| | 2023-5-6 22:06 | 只看该作者
有创意的想法和设计

使用特权

评论回复
地板
coody| | 2023-5-7 17:21 | 只看该作者
我是买了一个折叠25W的,挂在背包上,自己整了一个充电电路+库仑计+电压显示,带MPPT,简单,挺好。

使用特权

评论回复
5
xch| | 2023-5-8 12:30 | 只看该作者
多少公斤?
可以考虑背包装翅膀,需要时飞上天充电。

使用特权

评论回复
6
guijial511| | 2023-5-13 23:10 | 只看该作者
以后背个双肩包,自带电源。

使用特权

评论回复
7
yangxiaor520| | 2023-5-14 09:24 | 只看该作者
随时背个能源包

使用特权

评论回复
8
tpgf| | 2023-6-2 14:56 | 只看该作者
现在连双肩包都嵌入式了?那能详细说说什么是嵌入双肩包吗

使用特权

评论回复
9
nawu| | 2023-6-2 15:31 | 只看该作者
这种嵌入背包会不会比较费肩膀呢 比较沉重呢

使用特权

评论回复
10
aoyi| | 2023-6-2 15:54 | 只看该作者
感觉这种包 他的功能噱头比较厉害  主要还是展示一下科技实力

使用特权

评论回复
11
zljiu| | 2023-6-2 16:18 | 只看该作者
应该还在研发阶段吧  感觉距离实用阶段还有不小的距离

使用特权

评论回复
12
gwsan| | 2023-6-2 17:03 | 只看该作者
coody 发表于 2023-5-7 17:21
我是买了一个折叠25W的,挂在背包上,自己整了一个充电电路+库仑计+电压显示,带MPPT,简单,挺好。 ...

感觉功能上实用吗 使用起来方便不方便啊

使用特权

评论回复
13
tfqi| | 2023-6-2 17:19 | 只看该作者
绝对是一个新事物以后出行就不必带充电电源了

使用特权

评论回复
14
coody| | 2023-6-6 18:24 | 只看该作者
gwsan 发表于 2023-6-2 17:03
感觉功能上实用吗 使用起来方便不方便啊

徒步的时候很有用。
我有一个折叠太阳能,和一个微型手摇发电的,徒步有用。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝