Stránka 1 z 1

Problém s ovládání LED displeje

Napsal: 13 črc 2011, 18:33
od Robert
Zdravím kolegové, dělám Led displej.

Popis:
Vytvořil jsem si 5 ks 7segmentových displejů podle níže uvedeného schématu. K tomu sem vytvořil ovládání založené na Atmega8. Princip spočívá v tom, že na portech PD0-PD6 je to co chci zobrazit a pomocí portů PC0-PC5 udávám na kterém 7-segmentu to zobrazím. D-klopné obvody slouží pro paměť pro jednotlivé 7-segmenty, abych se vyhnul jejich problikávání než je znovu nastavím.

Problem:
Po zapnutí čísla v pohodě běhají jak mají, ale po čase začne celý displej blikat.

Netušily byste kde bych mohl mít problém? Osobně to tipuji na špatně zvolené hodnoty odporů. Nejdřív sem to měl bez těch 1M odporů, přes které uzemňuji porty PD0-PD6, ale některé segmenty svítily(slabě) i když neměly a jejich přidáním se to spravilo.


Kdyby vás něco napadlo, velmi bych to ocenil vážně už mě nenapadá v čem by to mohlo být . Díky

:( :(

Napsal: 13 črc 2011, 18:44
od Eleman
Co napájecí zdroj - stabilita, dostatečný výkon... Ve schematu nevidím blokování napájení kondenzátory (elyt + keramika)

Napsal: 13 črc 2011, 18:47
od Robert
Napájení řeším pomocí spínacího zdroje ze starého počítače, tam by mělo být stabilní napětí.

Napsal: 13 črc 2011, 18:49
od Eleman
To nemusí být vždy pravda, zejména když jednotlivé větve zdroje nejsou řádně (pořádně) zatíženy. A co to blokování napájení.

Napsal: 13 črc 2011, 18:53
od Robert
Blokování nemám. Co bys doporučil?

Napsal: 13 črc 2011, 20:08
od Banda
Špatné hodnoty rezistorů 100 a 1M. Stáhnout katalogové listy a nastudovat.

Napsal: 13 črc 2011, 21:14
od css
Čau, v tvém zapojení je několik věcí špatně, pokusím se to vysvětlit běžnou mluvou:

Při aplikaci obvodů TTL a většiny procesorů je potřeba si uvědomit, že výstupy se chovají jako relativně tvrdý zdroj jen pro log. 0, tam většinou dodají proud řádově miliampéry, kdežto pro log. 1 je to velmi měkký zdroj, netahal bych z nich víc jak 1mA a napětí na výstupu pak velmi rychle klesá. Takže tvé chyby v zapojení jsou:

1) Je navrženo tak, že výstupem s log. 1 z latche 74273 budíš NPN tranzistor spínání displeje, navíc přes velmi malý odpor 100R. Přechod báze-emitor tranzistoru si zde představ jako diodu a díky takto malému odporu v sérii by do báze teoreticky teklo cca 40mA proudu, kdyby toho výstup té 74273 byl schopen. Je prakticky ve zkratu na zem. Lepší by bylo místo tranzistorů NPN použít PNP a spínat segmenty displeje log. 0. Pokud tranzistory NPN chceš nechat, nahraď odpory 100R do báze hodnotou okolo 10k, z výstupů latche do báze poteče proud cca 0,5mA, což pro tranzistor s betou>100 jako je BC547 znamená, že jím můžeš spínat proudy minimálně cca 50mA a to je pro tři LEDky v sérii až až.

2) Odpory R37-R46 mezi portem CPU a GND nemají žádný praktický význam, naopak, jelikož na něm visí několik TTL obvodů, měly by zde být tzv. pull-up odpory mezi portem a Vcc pro posílení proudové nedostatečnosti portu procesoru v úrovni log. 1, doporučuju něco okolo 5k. Stejné bych dal i mezi signály CLK a CLR a Vcc, zrovna CLK bývá na správnou strmost hran pulzů a napěťové úrovně dost háklivý a je dost možné, že se ti ty latche přepisují samovolně, a proto displej bliká.

Vývod RESET CPU vede někam kromě konektoru? Nevidím na něm minimálně žádný resetovací RC článek. Pokud ovšem Atmega nemá nějaký reset obvod již v sobě, to bohužel nevím, tenhle CPU nepoužívám. Docela by mě zajímaly i hodnoty C1 a C2.

Jinak může být pravda i to co psali mí předchůdci ohledně zdroje a blokovacích kondenzátorů.

Napsal: 13 črc 2011, 21:21
od Andrea
css píše:měly by zde být tzv. pull-up odpory mezi portem a Vcc pro posílení proudové nedostatečnosti portu procesoru v úrovni log. 1
Jaké nedostatečnosti? Při 4V VOH dá AVRko 40mA.

Napsal: 13 črc 2011, 21:30
od css
Andrea: Tak promiň, jak píšu, Atmega neznám. Jsem na to zvyklý z ostatních platforem, kde patří řekl bych k dobrému bontonu proudově posílit výstup pull-up rezistorem, pokud na něm visí víc jak jeden další obvod, případně budí třeba trandík, jako zde. Každopádně pro ty výstupy 74273 to platí beze zbytku.

Napsal: 13 črc 2011, 21:32
od Andrea
Podle mě je to šílenej orloj, ten displej by šel řídit multiplexně.

Napsal: 13 črc 2011, 21:45
od radekrd
Pochybuju, že tam má přímo 74273 i když i ta měla posílené výstupy na buzení sběrnic (kdo by to dneska používal?) nejspíš to bude HC nebo HCT tam jsou výstupy symetrické a s buzením NPN není žádný problém, ten by nebyl tedy ani u obyč TTL, ale naopak při buzení PNP by problém být mohl.
Jestli to není to spíš SW problém? Nějaké přetečení a zbloudění běhu programu?

Napsal: 13 črc 2011, 23:17
od Robert
Díky moc všem za rady vyzkouším je.


- to: radekrd, máš pravdu jsou to HC 74273
- to: css, -> velmi dekuji za podrobné rozebrání mích chyb, skusím změnit ty odpory zda to pomůže.
-> kondenzátory jsou 22pF, je to z http://hawelson.blog.cz/1005/programova ... leru-atmel
pro paralelní port,
-> port RESET je pouze připojen na konektor.

Napsal: 14 črc 2011, 07:34
od divous
To já bych zase problém viděl spíše v programu.
Žádný z výše uvedených chybiček by neměl mít vliv na blikání všech
7mi segmentovek. (snad kromě těch odbůrků v bázi tranzistorů a stability zdroje)
Pokud by ti to nevadilo, tak sem hoď zdroják a my ti jej rozpitváme.

Jaká je hodnota krystalu?

Napsal: 14 črc 2011, 14:25
od bohumilfulin
misto to hromadky trazistoru dej uln2803. Je urcite rychlejsi nez to tvoje zapojeni. to muze byt pricinou zmateneho blikani. Pokud delas multiplex pomalu tak to funguje, a kdyz zrychlis, tak to prestane stihat zhasinat.

Udelej maly test, sniz 12V na neco(8-9V) aby to jeste zhnulo a bylo videt ze MCU funguje. Tak snizis proud LEDkama. Pokud se to uklidni, tak mas problem v navrhu gnd PCB. Proste oddelovat vykonovou a digitalni zem. Opet nastudovat co se tim mysli.

Pokud ne, mas chybu v programu

Nezapomen ze opravdu zdroj z PC je delan na velikou a stabilni zatez. Male proudy nemusi mit vubec rad a taky spinani ne. to zalezi od typu.

ad blokovani:
ke kazdemu IO dat blokovaci kondenzator 100n, a klidne k nemu dej i elyt tak 10M. a hlavne si to nastuduj. zdroju na webu je dost.

Pojistku atmegy Brownout detector sniz na 2.7.

volny vstup D8 na ttl? ne-ne! pridat odpor 1M a potahnout nahoru

no navrhnul's bastarda.
mels okopirovat neco slusnejsiho