WS2818b - plnění při 100% PWM
Petr Zapadlo
zapik na email.cz
Neděle Září 6 12:55:17 CEST 2020
Zdravím,
páchám tady modul na řízení 3W RGB led a jako PWM driver jsem použil
WS2818b. A asi jsem si trochu naběhl.
WS2818 má na výstupu proudovou noru 15mA, nedal jsem tam přímo led, ale
ovládací pin z NCL30160. Má uvnitř PullUP rezistor. Dostal jsem prima
nápad - výstup z WS připojit přímo na vstup NCL.
Zdá se že to funguje, JEN došlo k inverzi signálu a jak tady laboruju,
tak WS2818 neumí 100% plnění na PWM - při nastavení kanálu na #FF
zůstavají špičky 24us. Pro běžné použití asi nevadí (trochu to sníží
maximální výkon), ale v mém případě průser - led nedokážu zhasnout.
Chci se zeptat, jestli je to skutečně tak a není to jen problém
ovládacího SW. S knihovnou NEOPIXEL jsem se s tím absolutně nedomluvit
- WS2818 má max takt dat 400kHz a i při nastavení příznaku v NEO_KHZ400
jsou data vysílána 800kHz.
Knihovna FastLED se zdá funguje - při nastavení:
FastLED.addLeds<WS2811_400, DATA_PIN, RGB>(leds, NUM_LEDS)
se zdá že to funguje - až na ty špičky při nastavení 100% plnění.
Otázka č1 - mám hledat problém v knihovně, umí ty řadiče 100% plnění?
Otázka č. 2 - pokud neumí, jak udělat nejsnadněji inverzi - plošňák
hotový, nechce se mi moc škrábat a dělat úpravy (mám tam 3x WS, tj 9
kanálů, tj 9 invertorů)
Díky
Petr
Další informace o konferenci Hw-list