大家好、
我正在尝试使用此器件创建非常平滑的淡入/淡出过程、但出于某种原因、当输入非常低的数字时
进入给定通道的 PWM 值(例如值1、然后是2、然后是3)、我看到不应该出现的相对较大的变化。
在过去的两年中、我一直在使用16位 PWM 来处理 LED 淡入/淡出过程、我知道这里有什么问题。 范围为65535个可能值、例如
细微的变化甚至不应被眼睛察觉。
我想在控制该器件时缺少一些东西。 我想了解我看到的是什么原因以及如何修复它。
谢谢、
NIR
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、
我正在尝试使用此器件创建非常平滑的淡入/淡出过程、但出于某种原因、当输入非常低的数字时
进入给定通道的 PWM 值(例如值1、然后是2、然后是3)、我看到不应该出现的相对较大的变化。
在过去的两年中、我一直在使用16位 PWM 来处理 LED 淡入/淡出过程、我知道这里有什么问题。 范围为65535个可能值、例如
细微的变化甚至不应被眼睛察觉。
我想在控制该器件时缺少一些东西。 我想了解我看到的是什么原因以及如何修复它。
谢谢、
NIR
嗨、Steven、
谢谢你。 由于此项目仅处于概念验证阶段、我已经使用了两个 Adafruit 的 TLC59711分线板(https://www.adafruit.com/product/1455)级联在一起、并将它们连接到了 Adafruit 的 MetroMini (https://www.adafruit.com/product/2590)、后者是兼容的 Arduino 板。
一切都运行良好、我可以控制每个 LED 的亮度。 唯一的问题是我在原始帖子中提到的问题。 我在尝试
以了解代码中是否有可能导致此问题的东西。
下面是 该示例的简单源代码(请参阅我在"NIR"下代码中的注释)、我还随附了该库。
/*********
这是我们的 Adafruit 12通道 PWM/LED 驱动器的一个示例
立即在 Adafruit 商店购买!
---- > www.adafruit.com/.../
这些驱动器使用 SPI 进行通信、需要2个引脚
接口:数据和时钟。 电路板是不可行的
Adafruit 投入时间和资源来提供此开源代码、
请通过购买来支持 Adafruit 和开源硬件
来自 Adafruit 的产品!
由 Limor Fried / Ladyada 为 Adafruit Industries 撰写。
BSD 许可证、上述所有文本都必须包含在任何重新分发中
(二 /
#include "AdafruIT_TLC59711.h"
#include
//您已将多少个板链接在一起?
#define NUM_TLC59711 2.
#define data 11.
define clock 13
//AdafruIT_TLC59711 tlc = AdafruIT_TLC59711 (NUM_TLC59711、时钟、数据);
AdafruIT_TLC59711 tlc = AdafruIT_TLC59711 (NUM_TLC59711);
void setup(){
Serial.begin(9600);
//如果使用 UNO/AVR,则取消注释该行,因为10必须是输出
//使硬件 SPI 正常工作
引脚模式(10、输出);
tlc.begin();
tlc.setPWM(2,1);// NIR:这条线用于控制每个 LED 亮度。 例如、在这里、我尝试使用 PWM 值1来控制 LED 2
TLC。write();
while (1)
;
}e2e.ti.com/.../Adafruit_5F00_TLC59711.he2e.ti.com/.../Adafruit_5F00_TLC59711.cpp
嗨、Steven、
这一问题在两个级联器件上都出现。 是的、通信非常稳定、运行良好。 中不认为这是硬件问题、因为
所有命令都能正常工作。 读取器件的 D/S、第17页、内容为:
"TLC59711可使用增强型频谱脉冲宽度来调节每个输出通道的亮度
调制(ES-PWM)控制方案。 每个输出的 PWM 位长度为16位。 16位的使用
长度可实现65536亮度阶跃、从0%到100%亮度"
这非常好、正是我需要的项目。 但是、第18页的内容是:
"增强型频谱(ES) PWM 将总显示周期分为128个显示段。 总显示
周期是指第一个灰度时钟输入到空白后的65536灰度时钟输入之间的周期
(位213)被设定为"0"。 每个显示周期有512个灰度值、最大值"
这是我迷路的部分。 这实际上是否意味着每个 LED 只能具有512个 GS 值、而不是65、536个? 因为这是它看起来的方式
才能采取行动。 如果您从65536值范围中更改单个值、您将看不到它、但如果您从512个可能值范围中更改单个值、您肯定会看到它、我确实会看到它。
你怎么看?
NIR。
NIR、您好!
[引用 userid="440156" URL"~支持/power-management-group/power-management/f/power-management-forume/1121271/tlc59711 -大变化- LED 亮度-小- PWM -变化/41583664#4158364]*这是否意味着每个 LED 只能具有65、512和536个 GS 值? [/报价]不可以。 每个输出通道可具有65536个亮度步长。
此致、
Steven