CN5711 用 Arduino 或电位器驱动 LED
指示
CN5711 用 Arduino 或电位器驱动 LED
如何使用 Arduino 或电位器驱动 LED (CN5711)
来自 dariocose
我喜欢 LED,尤其是个人项目,比如为我的自行车制作手电筒和灯。
在本教程中,我将解释满足我需要的简单 into 驱动 LED 的操作:
- Vin < 5V 使用单节锂电池或USB
- 可以用电位器或微控制器改变电流
- 电路简单,元器件少,占地面积小
我希望这个小指南对其他用户有用!
补给品:
成分
- LED驱动模组
- 任何电源 LED(我使用 1 瓦红色 LED 和 60° 镜头)
- 电池或电源
- 面包板
- 成分
对于 diy 版本:
- CN5711集成电路
- 电位器
- 原型板
- SOP8 转 DIP8 印刷电路板或 SOP8 转 DIP8 适配器
工具
- 烙铁
- 螺丝刀
第 1 步:数据表
几个月前,我在速卖通上发现了一款由CN5711 IC、电阻和可变电阻组成的led驱动模块。
来自 CN5711 数据表:
一般描述:
概述: CN5711 是一种电流调节集成电路,输入电压为tage 为 2.8V 至 6V,恒定输出电流可通过外部电阻设置为高达 1.5A。 CN5711 非常适合驱动 LED。 […] CN5711采用温度调节代替温度保护功能,温度调节可以使LED在环境温度高或电压高的情况下持续点亮tage 下降。 […]
应用: 手电筒、高亮度 LED 驱动器、LED 头灯、应急灯和照明 […]
特征: 操作量tage 范围:2.8V 至 6V,片上功率 MOSFET,低压差电压tage:0.37V @ 1.5A、LED 电流高达 1.5A、输出电流精度:± 5%、芯片温度调节、LED 过流保护 [...] 该 IC 有 3 种工作模式:
- PWM 信号直接施加到 CE 引脚,PWM 信号的频率应小于 2KHz
- 将逻辑信号施加到 NMOS 的栅极(图 4)
- 带电位器(图5)
使用 PWM 信号可以很容易地用 Arduino、Esp32 和 AtTiny85 等微控制器驱动 IC。
概述
CN571 I 是一款电流调节集成电路,输入电压为tage 为 2.8V 至 6V,恒定输出电流可通过外部电阻设置为 I.5A。 CN5711 非常适合驱动 LED。 片上功率 MOSFET 和电流检测模块大大减少了外部元件数量。 CN5711采用温度调节代替温度保护功能,温度调节可以使LED在环境温度高或电压高的情况下持续点亮tage 下降。 其他特性包括芯片使能等。CN5711 采用耐热增强型 8 引脚小外形封装 (SOPS)。
特征
- 操作量tag范围:2.8V 至 6V
- 片上功率MOSFET
- 低压差卷tage:0.37V @ 1.5A
- LED 电流高达 1.5A
- 输出电流精度:* 5%
- 芯片温度调节
- LED过流保护
- 工作温度范围:– 40 V 至 +85
- 提供 SOPS 包装
- 无铅,符合 Rohs 标准,无卤素
应用
- 手电筒
- 高亮度LED驱动器
- LED 大灯
- 应急灯和照明
引脚分配
图 3. CN5711 并联驱动 LED
图 4 调光 LED 的逻辑信号
方法 3: 如图 5 所示,电位器用于调暗 LED。
图 5 用于调暗 LED 的电位器
第 2 步:使用内置电位器驱动 LED
我希望照片和视频中的接线清晰。
V1 >> 蓝色 >> 电源 +
CE >>蓝色>>电源+
G >> 灰色 >> 地面
LED >> 棕色 >> LED +
为了给电路供电,我使用了一个便宜的电源(由一个旧的 atx 电源和一个 ZK-4KX 降压升压转换器制成)。 我设置音量tage以4.2v模拟单节锂电池。
从视频中我们可以看到,电路功率从30mA到200mA以上
https://youtu.be/kLZUsOy_Opg
通过可调电阻可调电流。
请使用合适的螺丝刀轻轻缓慢旋转
第 3 步:用微控制器驱动 LED
要使用微控制器控制电路,只需将 CE 引脚连接到微控制器的 PWM 引脚即可。
V1 >>蓝色>>电源+
CE >> 紫色 >> pwm 引脚
G >>灰色 >>地面
LED >> 棕色 >> LED +
将占空比设置为 0 (0%),LED 将关闭。 将占空比设置为 255 (100%),LED 将以最大功率点亮。 通过几行代码,我们可以调整 LED 的亮度。
在本节中,您可以下载 Arduino、Esp32 和 AtTiny85 的测试代码。
Arduino测试代码:
#define 引脚 3
#define 关闭 0
#define led On 250 //255是最大pwm值
整数值 = 0 ; //脉宽调制值
无效设置(){
pinMode(pinLed,输出); //setto il pin pwm come uscita
}
无效循环(){
//眨
模拟写入(pinLed,led Off); // 关闭指示灯
延迟(1000);
// 等一下
模拟写入(pinLed,led On); //点亮led
延迟(1000);
// 等一下
模拟写入(pinLed,led Off); //…
延迟(1000);
模拟写入(pinLed,led On);
延迟(1000);
//调暗
for (value = ledOn; value > ledOff; value –) { //通过减少“值”来减少光线
模拟写入(pinLed,值);
延迟(20);
}
for (value = ledOff; value < ledOn; value ++) { //通过增加“值”来增加光线
模拟写入(pinLed,值);
延迟(20);
}
}
https://youtu.be/_6SwgEA3cuJg
https://www.instructables.com/FJV/WYFF/LDSTSONV/FJVWYFFLDSTSSNV.ino
https://www.instructables.com/F4F/GUYU/LDSTS9NW/F4FGUYULDSTS9SNW.ino
https://www.instructables.com/FXD/ZBY3/LDSTS9NX/FXDZBY3LDSTS9NX.ino
下载
下载
下载
第四步:DIY版
我按照标准数据表电路制作了模块的 diy 版本。
我使用了一个 50k 的电位器,尽管数据表上写着“R-ISET 的最大值是 30K 欧姆”。
如您所见,电路不是很干净……
我应该使用 SOP8 到 DIP8 pcb 或 SOP8 到 DIP8 适配器以获得更优雅的电路!
我希望分享一个gerber file 很快你就可以使用了。
第 5 步:再见!
请通过评论留下您的印象,并报告技术和语法错误!
通过此链接支持我和我的项目 https://allmylinks.com/dariocose
做得好!
我确实看到了一个可能导致一些混乱的技术语法错误。 在第 2 步结束时,您说:
“从视频中我们可以看到,电路功率从30mAh到200mAh以上”
那应该是“30 mA 到 200 mA”。
术语 mAh 的意思是“毫amps 乘以小时,是能量测量,而不是电流测量。 十五毫amps 持续 2 小时或 5 毫amps 6 小时都是 30 mAh。
写得很好,可以指导!
谢谢!
你是对的! 谢谢你的建议!
我马上纠正!
文件/资源
![]() |
instructables CN5711 用 Arduino 或电位器驱动 LED [pdf] 指示 CN5711, CN5711 用Arduino或电位器驱动LED,用Arduino或电位器驱动LED |