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