Založen: Jan 15, 2008 Příspěvky: 187 Bydliště: Olomouc
Zaslal: čt červenec 18 2019, 13:48 Předmět: RG(B) LED Hodiny problém - "stínování číslic"
Zdravím, nějakou dobu pracuji na projektu RGB Led hodin, které mají od určitého času svítit červeně a pozvolna přecházet do zelené. Hodiny jsou vytvořeny z RGB Led pásků, každý jednotlivý segment číslice je jeden segment pásku (tzn. 3 RGB LED diody). Udělal jsem si návrh schématu, odzkoušel jednotlivé "moduly", napsal program a návrh funguje až na jeden problém a to je, že se mi jednotlivé číslice mírně zobrazují na sousedních číslicích. Nazývám to stínování číslic, nevím jestli pro to je jiný pojem. Nemůžu přijít na to jestli se jedná o problém programu (arduina), nebo návrhu elektroniky. Přikládám schámata a kód programu.
Kód arduina:
void digit(int digit) {
switch (digit) {
case 0:
PORTB = B00000000;
break;
case 1:
PORTB = B00001000;
break;
case 2:
PORTB = B00000100;
break;
case 3:
PORTB = B00000010;
break;
case 4:
PORTB = B00000001;
break;
}
}
void segments(int number) {
switch (number) {
case 0:
PORTL = B01111110;
break;
case 1:
PORTL = B00110000;
break;
case 2:
PORTL = B01101101;
break;
case 3:
PORTL = B01111001;
break;
case 4:
PORTL = B00110011;
break;
case 5:
PORTL = B01011011;
break;
case 6:
PORTL = B01011111;
break;
case 7:
PORTL = B01110000;
break;
case 8:
PORTL = B01111111;
break;
case 9:
PORTL = B01111011;
break;
}
}
Vynechal jsem deklaraci proměnných a definování jednotlivých pinů. Nezáleží na tom jaké tempo (delay) nastavím, jestli 400ms nebo 5ms, číslice se stále zobrazují kde nemají.
Obrázky jsou při napájení UDN cca 9,6V, pokud snížím na 8V tak se to tolik neprojevuje. Kde může být problém v programu, nebo v elektronice, je možné že je chyba v UDN2981?
RG Led driver.jpg
Komentář:
1) Původní návrh, všech 4 číslic ovládaný jedním UDN2981
Velikost:
284.24 kB
Zobrazeno:
146 krát
cely_cas_zelena.jpg
Komentář:
3) Zobrazuji cely čas, číslice přepínám s delay na 5ms.
Velikost:
211.57 kB
Zobrazeno:
67 krát
400ms_cervena.jpg
Komentář:
4) Zobrazuji číslice s delay 400ms, nuly jsou vidět na každé číslici.
Velikost:
240.76 kB
Zobrazeno:
87 krát
RG Led driver_board.jpg
Komentář:
2) Návrh realizovaný na desku. Reálně jsou dvě tyto desky vytvořeny a osazeny. Každá ovládá jednu dvojici čísel.
Tak jak to máš, se na nově rozsvícené číslici zobrazí nejdřív to, co bylo na předchozí a pak se to změní na to, co tam má být.
Ale to se týká jen prosvětlování do sousední číslice, ne přes všechny, jak to dělá tobě. To bych viděla spíš na problém těch sériových MOSFETů, to zapojení se mi vůbec nelíbí. Předpokládám, že signály R a G jsou PWM výstupy a jsou tam pořád, i na číslicích, co nemají svítit. A přes ty kilový odpory mezi S a G horních tranzistorů (a možná i nějaký parazitní kapacity) se ty neaktivní číslice prosvětlují. Čistější by bylo dát tam jen jeden MOSFET a před něj AND hradlo.
Edit: Zkus ty 1k odpory horních tranzistorů přepojit na zem, ne na S (mimochodem 1k je zbytečná zátěž, stačí 10k). A případně ještě dát na drainy toho spodního dvojitého tranzistoru pull-upy na + (třeba taky 10k). To by mělo ty horní tranzistory spolehlivě zavřít, když bude zavřený ten spodní.
Založen: Jan 15, 2008 Příspěvky: 187 Bydliště: Olomouc
Zaslal: čt červenec 18 2019, 14:30 Předmět:
lesana87 napsal(a):
a) V programu bys měl mít nejdřív zhasnutí číslice, pak nastavení nové hodnoty a teprve pak číslici rozsvítit.
b)...Předpokládám, že signály R a G jsou PWM výstupy a jsou tam pořád, i na číslicích, co nemají svítit. A přes ty kilový odpory mezi S a G horních tranzistorů a nějaký parazitní kapacity se ty neaktivní číslice prosvětlují. Čistější by bylo dát tam jen jeden MOSFET a před něj AND hradlo.
a) zkoušel jsem, nefunguje - žádná změna
b) PWM řídí všechny číslice stejnou barvou, takže jsou tam pořád, ale uzemňuji ty PWM mosfety pro jednotlivé číslice zvlášť, takže dvojici PWM mosfetů pro R a G uzemním tím jedním (otevřeným) mosfetem pokud chci aby svítila, naopak, když ne. Tzn. pokud chci aby mi svítila jen první číslice poslední (digit) mosfety ostatních číslic jsou prostě zavřené (měly by). Což mě přivádí k prvnímu příspěvku od Cowley.
Cowley napsal(a):
Neutíká to někde kolem dolního Mosfetu?
Zkus to změřit.
Mám stejný podezření ale dělám poprvé s mosfety a nevím jak to potvrdit... Jak to můžu změřit, resp co přesně mám změřit?
Tzn. pokud chci aby mi svítila jen první číslice poslední (digit) mosfety ostatních číslic jsou prostě zavřené (měly by). Což mě přivádí k prvnímu příspěvku od Cowley.
No zavřené jsou ty spodní, ty jsou jasné, ale ty horní nemusí být. Když máš třeba na G +5V a na R 0V, tak ty Source horních transitorů jsou na napětí 2,5V (přes ty 1k odpory) a na Gate toho zeleného je +5V - je nejspíš otevřený a přes to 1k se ta číslice trochu prosvětlí. Zkus udělat tu úpravu, co jsem ti napsala v editu předchozího příspěvku.
Založen: Jan 15, 2008 Příspěvky: 187 Bydliště: Olomouc
Zaslal: čt červenec 18 2019, 14:58 Předmět:
Cowley napsal(a):
A co dole řídit Mosfetem znak a nahoře u ULN řídit Mosfetem PWM?
To mi přijde komplikovanější, pokud "dole" myslíš na katodě LED, tak tam je dvojnásobek výstupů (jeden pro červenou druhý pro zelenou), anoda je společná pro LED pásek, tak mi přijde snadnější ovládat znak na anodách. A PWM jednotlivých barev na katodách.
lesana87 napsal(a):
Edit: Zkus ty 1k odpory horních tranzistorů přepojit na zem, ne na S (mimochodem 1k je zbytečná zátěž, stačí 10k). A případně ještě dát na drainy toho spodního dvojitého tranzistoru pull-upy na + (třeba taky 10k). To by mělo ty horní tranzistory spolehlivě zavřít, když bude zavřený ten spodní.
Myslíš to takhle? (příloha)
EDIT
lesana87 napsal(a):
No zavřené jsou ty spodní, ty jsou jasné, ale ty horní nemusí být. Když máš třeba na G +5V a na R 0V, tak ty Source horních transitorů jsou na napětí 2,5V (přes ty 1k odpory) a na Gate toho zeleného je +5V - je nejspíš otevřený a přes to 1k se ta číslice trochu prosvětlí. Zkus udělat tu úpravu, co jsem ti napsala v editu předchozího příspěvku.
Založen: Jan 15, 2008 Příspěvky: 187 Bydliště: Olomouc
Zaslal: pá červenec 19 2019, 12:51 Předmět:
Tak jsem udělal dvě nové desky, a vypadá že to pomohlo, ačkoliv to stále mírně stínuje, tak při 12V zanedbatelně, na fotce to vypadá sice hůř, ale když před to dám mléčné sklo, nebo folii, tak to bude dobrý. Díky
Založen: Jan 15, 2008 Příspěvky: 187 Bydliště: Olomouc
Zaslal: pá červenec 19 2019, 14:29 Předmět:
To jsem pro jistotu dopsal, ale to stejné jsem napsal pro segmenty, před každým cyklem je vynuluji, trochu se to zase zlepšilo. Akorát mi teď blbne jeden segment, prosvítá nějak moc... To už asi doladím. Díky za pomoc
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.