评论
我将 3 个像素放在我的英雄下,并且有点工作,颜色关闭。在 startup_test 之后,第一个像素不亮。当热端加热时,颜色都是错误的。一旦热端温度升高,第一个 LED 指示灯为蓝色,另外两个为白色。正在忍受它。我只需要在数据输入线上加一个高欧姆电阻并更改NEOPIXEL_TYPE?感谢任何帮助,一直在忍受它,但宁愿它按预期的方式工作。 |
我还没有安装 LED 灯条,所以我只能猜测,但如果你的颜色不对,你可以尝试更改 NEOPIXEL_TYPE。也许是 NEO_KHZ800 或 NEO_RGB。 对于第一个行为不同的 LED,也许您定义了 NEOPIXEL_BKGD_LED_INDEX?这似乎只影响一个 LED。 |
我确实尝试过 NEO_RGB,但颜色更差。我觉得奇怪的是,在通电后它们应该是蓝色的并且第一个 LED 灯熄灭了。我刚刚尝试使用 NEOPIXEL_TYPE (NEO_GRB + NEO_KHZ800) 进行编译,但失败了。输出不喜欢 + 号。 |
此外,NEOPIXEL_BKGD_LED_INDEX 仍被注释掉。 |
我是个傻瓜 NEO_GRB + KHZ800 不应该在括号中!这就是我懒惰和复制粘贴的结果。 |
这也是我的问题,错误的颜色和部分功能的 RGB LED。 |
刚刚编译了上面的更改,准备测试它。只需焊接电阻变化即可。 |
感谢您发布您的发现,我选择了 14.4k 并且非常接近。红是红蓝是蓝等等,我觉得橙色和黄色有点偏差。我可以接受它,我真的只关心打印时的额外光线。再次感谢! |
有趣的!谢谢!你用过帽子吗?比如adafruit推荐的? |
不是这个,而是我所做的所有其他可寻址的主导项目。我确实有一套 4 个茶灯,我打印并用于万圣节场景,带有闪烁的草图,我没有使用任何帽子。整个十月都在,没有任何不良影响。 |
我能够让 LED 以不同的方式工作。你有没有注意到颜色不一致的问题?我很好奇电阻器是这里的关键。我会尝试获取效果的视频,但在预热周期中,大多数像素应该是紫色的,但少数会变成黄色或红色。 |
|
@demitrix 我从 SKR-PSU 连接到金属底盘放置了一根额外的地线,并将我的 5v LED PSU 接地也连接到底盘。 有多个用户提到不一致的接地问题,可能是因为接地平面设计不当。 |
这是我第一次让脱衣舞工作时使用的更改。 Configuration.h NEOPIXEL_PIN 在单独的文件中定义,无需在此处定义。 @raymond-w2我正在使用 DCDC5V 插件并从电路板本身获取 5v/gnd。也许这也是一个问题。我周围有一个 4kOhm 的电阻器,我可能会输入数据以查看它是否有帮助。 如果您查看 Marlin\src\feature\leds\neopixel.cpp,我认为使用 NEO_GRB + NEO_KHZ800 是多余的 Adafruit_NeoPixel Marlin_NeoPixel::adaneo1(NEOPIXEL_PIXELS、NEOPIXEL_PIN、NEOPIXEL_TYPE + NEO_KHZ800) |
@demitrix 只有少量 LED 才能使用板载 DCDC5V,我使用的是 59 条。 |
我只有 20 个 LED,所以在范围内。我暂时有。它们有时会工作,但颜色不一致,老实说,我相信这是 BTT 在 neopixel 库中对 STM32F1 的实现 |
我的怀疑取得了一些进展。在简单阅读了一些关于 bit banging 和微控制器以及 WS2812B strip 的内容后,我确信 BTT 的时序不对。我刚刚上传了我修改后的 NeoPixel 库的第二个版本,并且在我的 LED 上具有更好的准确性。我增加了 nop 的数量以增加 GPIO 高低之间的延迟。BTT 使用的一些范围很远。真的需要有人用示波器来测量数据引脚并确认时序。
|
经过反复试验后,我的 RGB LED 开始工作了。
由外墙电源供电的 59 个 LED 灯带。
https://imgur.com/a/lEBhNcu
在这里分享我的解决方案,因为我花了很多时间在这上面……
在 WS2812B Din 上,正常电阻应为 300 至 500 欧姆。
我将其更改为 12580 欧姆(几个串联的电阻),现在信号通过了:)
/edit
经过微尘修补后,最佳值为 14K 欧姆
软件设置:
平台io.ini
https://github.com/bigtreetech/Adafruit_NeoPixel
Configuration.h
`// 支持 Adafruit Neopixel LED 驱动器
#define NEOPIXEL_LED
#if ENABLED(NEOPIXEL_LED)
//#define NEOPIXEL_TYPE NEO_GRB // NEO_GRBW / NEO_GRB – 四/三通道驱动器类型(在 Adafruit_NeoPixel.h 中定义)
//编辑RaymondW
#define NEOPIXEL_TYPE (NEO_GRB + NEO_KHZ800)
#define NEOPIXEL_PIN PC7 // LED 驱动引脚
//由 RaymondW 更改
#define NEOPIXEL_PIXELS 59 // 条带中的 LED 数量,如果使用 2 个 neopixel 条带,则为 2 个条带中较大的一个
#define NEOPIXEL_IS_SEQUENTIAL // 温度变化的顺序显示 – LED 逐个 LED。禁用一次更改所有 LED。
#define NEOPIXEL_BRIGHTNESS 55 // 初始亮度 (0-255)
#define NEOPIXEL_STARTUP_TEST // 启动时循环显示颜色
// 使用单个 Neopixel LED 进行静态(背景)照明
#define NEOPIXEL_BKGD_LED_INDEX 25 // 要使用的 LED 索引
#define NEOPIXEL_BKGD_COLOR { 0, 0, 0, 255 } // R, G, B, W
#endif
/**
*/
#if ANY(BLINKM, RGB_LED, RGBW_LED, PCA9632, PCA9533, NEOPIXEL_LED)
#define PRINTER_EVENT_LEDS
#endif`