首页 > 其他分享 >基于单片机的太阳能无线 LED 灯设计

基于单片机的太阳能无线 LED 灯设计

时间:2024-06-15 12:29:10浏览次数:24  
标签:LED WIFI 单片机 电路 太阳能 无线 光照

摘 要 : 文章设计一款太阳能 LED 灯 , 经过太阳能给锂电池充电 , 利用 51 单片机通过检测电路对整个系统施行管理和监控, 可以使用手机和 WIFI 作为通信工具 , 利用光敏电阻检测光照 , 进而控制灯的亮度 , 天越黑 , 灯越亮 , 程序编写构造清晰, 应用前景广阔 。 关键词 : 单片机 ; 太阳能 ; 光敏电阻 ; C 语言

0 引言

太阳能与 LED 相结合的技术运用在路灯领域完全符合“ 绿色 , 节能 , 低成本 ” 的现代化设计理念 。 基于目前相关研究, 笔者设计了一款基于单片机的太阳能 LED 灯 , 可以使用手机, 通过 WIFI 控制灯的亮灭 , 单片机检测太阳能电池板的电压, 并将太阳能电池板是否正常运行信息发送给手机。 基于单片机的太阳能控制系统不仅能够在路灯上使用, 其设计方法及其技术还可以普遍使用到电池控制器, 逆变控制器等领域 , 对相关科学具备推进作用并且具有很大拓展价值。

1 总体方案设计

太阳能无线 LED 灯系统主要由单片机系统 、 太阳能接口电路、 锂电池充电及升压电路 、 WIFI 模块电路 、 光照检测电路、 A/D 采集转换电路和 LED 灯电路组成 。 太阳能接口电路、 锂电池充电及升压电路 、 光照检测电路 、 A/D 采集转换电路作为输入模块, LED 灯电路作为输出模块 ,WIFI 模块电路与单片机系统及作为输入模块也作为输出模块, 用户可通过 WIFI 发送指令 。 系统框图如图 1 所示 。

2 系统硬件设计

硬件设计主要包括太阳能接口电路 、 分压电路 、 光照检测电路、 WIFI 模块电路等几部分 。 首先通过太阳能给锂电池充电; 把装置置于阳光下 , 通过光敏电阻检测光照 ,进而控制灯的亮度; 光敏电阻对光照十分敏感 , 其在无光照时, 呈现的是高阻状态 , 暗电阻一般可达 1.5M Ω , 当有光照时, 材料中激发出自由电子和空穴 , 其电阻值减小 , 电阻值会随着光照强度的升高迅速降低, 亮电阻值可小至1kΩ 以下 ; 通过 WIFI 控制灯的亮灭 , 单片机检测太阳能电池板的电压, 并将太阳能电池板是否正常运行信息发送给用户 。

2.1 太阳能接口电路设计

本系统中选择 9V 多晶硅太阳能电池板作为发电元件, 太阳能发电后经过 L7805CV 芯片稳压后 , 将发电后的电压稳在 5V , 然后在经过 TP4056 芯片给锂电池进行充放电, 同时因为锂电池的电压为 3.7V ~ 4.2V , 而本设计的单片机等电路均为 5V 供电 , 所以用升压装置将 3.7V 的电压升到 5V 来给设备供电 。 太阳能电池板发电原理图如图2 所示 。

2.2 分压电路设计

在串联电路中 , 各电阻上的电流相等 , 各电阻两端的电压之和等于电路总电压。 可知每个电阻上的电压小于电路总电压, 故称串联电阻分压 。 在设计中 , 选择的 A/D 芯片采集的 5V 电压 , 故超过 5V 的电压需要分压后降压为 0 ~5V 才可以经过 A/D 转换 , 其电路原理图如图 3 所示 。

2.3 光照检测电路设计

本系统选择光敏电阻作为检测光照的器件 , 其工作原理是基于内光电效应。 光照愈强 , 阻值就愈低 , 随着光照强度的升高, 电阻值迅速降低 , 光敏电阻对光线十分敏感, 其在无光照时 , 呈高阻状态 。 在本设计中 , 通过串联一个电阻实现光敏电阻的分压, 电阻为分压电阻 , 同时也保护光敏电阻, 其原理图如图 4 所示 。

2.4 WIFI 模块电路设计

串口 WIFI 模块是新一代嵌入式 WIFI 模块 , 一款超低功耗的模块, 可将用户的物理设备连接到 WIFI 无线网络上, 进行互联网或局域网通信 , 实现联网功能 , 用手机连接APP 控制 LED 灯的亮灭 , WIFI 模块电路图如图 5 所示 。

3 系统软件设计

软件设计中单片机开发环境是 Keil uVision4 , Keil u Vision4 软件是目前 51 系列单片机系统的主流程序开发软件, Keil uVision4 是 STC 公司推出最新一代关于 51 系列单片机处理器的编译、 连接和调试集成环境 。 如图 3 所示。 可以降低开发周期 , 从而节约很多成本 。 Keil uVision4不仅提供了完整的 Windows 开发环境界面 , 支持 C/C++ 语言开发, 而且其 C 语言编辑效率很高 , 能够使开发者非常容易地使用 C 语言进行程序编程 [4] 。 小型太阳能无线 WIFI光照控 LED 灯系统额定功率总和为 10W , 系统的光电转换效率为 18% 左右 , 最高的达到 24% , 锂电池的最大充电电流为自身容量的 1/10 , 则系统输出的最大电流为 0.2A ,理论上可以供给于路灯照明。

4 系统调试

为了对太阳能无线 LED 灯系统测试来验证其可行性, 运行程序使用 C 语言进行编写 , 在搭建调试平台后 , 需要对软件程序进行调试, 若程序调试没有问题 , 接下来开始验证系统功能是否满足要求, 若功能有问题 , 需要继续调试程序, 反复进行 , 直到所有功能都满足为止 , 能正常运行, 至此完成系统调试 。 如图 6 所示为系统运行流程图 。

5 结论

基于单片机的太阳能无线 LED 灯的设计经验证 , 满足设计要求, 系统的硬件设计及调试都达到了预期结果 。LED 灯和太阳能电池板并网运行稳定 , 未出现电压波动 。系统使用 STC89C52 单片机为主控制器 , 太阳能 LED 灯的亮度强弱, 可以通过实际需求 , 使用手机连接 WIFI 进行调控以满足需要。

标签:LED,WIFI,单片机,电路,太阳能,无线,光照
From: https://blog.csdn.net/weixin_45905610/article/details/139700229

相关文章

  • QT210开发板学习(2): 通过DNW点亮LED灯
    查找开发板原理图,可知可用的LED有4个,引脚为EINT0/1/2/3,对应的IO口则是GPH0_0/1/2/3,寄存器有GPH0CON,GPH0DAT,GPH0PUD,GPH0DRVGPH0CON用来设置IO模式(地址为0xE0200C00),GPH0DAT是电平状态(地址为0xE0200C04)我们需要设置为Output模式,并且将状态设置为高电平新......
  • 【单片机毕业设计选题24007】-基于STM32和阿里云的家庭健康数据监测系统
    系统功能:本课题设计是基于STM32单片机作为控制主体,通过HX711称重模块,HC-SR04超声波测距模块,红外测温,心率传感器等模块通过I2C或SPI接口与STM32进行通信,并读取传感器输出的身高,体重,心率,体温,血氧,心率,体脂率数据等数据,体脂率采用公式计算,可自行设置阈值超出阈值蜂鸣器发出警告。......
  • 嵌入式Linux中的LED驱动控制(基于misc)
    在开发驱动程序的时候,有时希望快速地实现其业务功能,以把精力放在文件接口功能的测试上来。这样,对于常见的一些繁琐而又不能省略的步骤(如设备号的申请、字符设备的注册、设备节点文件的创建等),就希望能尽量地简化。这时,就可以使用Linux内核提供的misc(杂项)来实现。这里仍然使用“嵌......
  • NG32031单片机串口初始化
    目录1.串口基础2.串口配置步骤3.N32G031串口初始化示例3.1开启时钟3.2 配置GPIO3.3 配置USART3.4 使能中断(如果需要)    3.5. 示例代码4.调试和验证5.注意事项6.额外功能NG32G031单片机的串口(UART)通常用于与外部设备或计算机进行串行通信。以下......
  • 设置springboot scheduled多线程,解决多个定时任务并发问题(转载)
    项目上有几个定时任务都是同时间点要执行的,最近发现多个定时任务为单线程排队执行,后来经过查资料发现@schedule注解默认是单线程的,如果定时任务比较多或者有的定时任务比较耗时,会影响到其他定时任务的执行,通过以下方法解决多个定时任务同时并发执行问题。第1种:增加配置类@Configu......
  • 基于51单片机的温控风扇-数码管显示-风扇人体感应
    一.硬件方案系统采用51单片机作为控制平台对风扇转速进行控制。可由用户设置高、低温度值,测得温度值在高低温度之间时打开风扇弱风档,当温度升高超过所设定的温度时自动切换到大风档,当温度小于所设定的温度时自动关闭风扇。风扇控制状态随外界温度而定,并通过PWM的方式控制风......
  • 用立创EDA绘制一个使用51单片机P3口进行八位流水灯的控制的PCB板。
    文章目录概要整体架构流程技术名词解释小结概要使用立创EDA绘制一个使用51单片机最小系统,并使用P3口进行八位流水灯的控制的PCB板。整体架构流程整体由四部分构成:51单片机选择STC89C52RC,价格便宜,下图为51单片机的端口图。EA端为高电平(优先读取内部存储)。上拉电......
  • ubuntu22.04编译openwrt的lede-17.01一些错误的处理方式
    m4c-stack.c:55:26:error:missingbinaryoperatorbeforetoken“(“55|#elifHAVE_LIBSIGSEGV&&解决方法:wgethttps://raw.githubusercontent.com/keyfour/openwrt/2722d51c5cf6a296b8ecf7ae09e46690403a6c3d/tools/m4/patches/011-fix-sigstksz.patch-O......
  • 【esp32 学习笔记】 入门使用u8g2库(以OLED驱动芯片SSD1306为例)
    一、常用APIU8g2库提供了丰富的API,用于控制各种显示器并在屏幕上绘制文本、图形等元素。以下是U8g2库中一些常用的API:1.初始化-------U8G2U8G2(display,rotation,[,reset[,clock,data,cs,dc,reset,cs1,cs2,cs3]]) 初始化U8g2对象,其中display表示所使用的显示器......
  • multipass创建虚拟launch failed: Remote "" is unknown or unreachable的错误
    安装multipass后,选择的windows自带的hyperv执行命令:multipasslaunch-nznxs01报错:launchfailed:Remote""isunknownorunreachable网上找了个解决办法,全是安装virturalbox,各种操作,试过没有一个能行后面我自己找到原因了无法从远程服务器活动基础镜像,但网络是通的我对......