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

Problémy s návrhem, konstrukcí, zapojením, realizací elektronických zařízení

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Robert
Příspěvky: 17
Registrován: 25 led 2005, 01:00
Bydliště: Zlín
Kontaktovat uživatele:

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

#1 Příspěvek 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

:( :(
Přílohy
ovladani-displeje.png
Ovládání displeje
(49.88 KiB) Staženo 150 x
7-segment-displej.png
7-segment displej
(6.54 KiB) Staženo 45 x

Uživatelský avatar
Eleman
Příspěvky: 3439
Registrován: 21 úno 2011, 01:00
Bydliště: Český Středozápad (JO70AD)

#2 Příspěvek od Eleman »

Co napájecí zdroj - stabilita, dostatečný výkon... Ve schematu nevidím blokování napájení kondenzátory (elyt + keramika)
Člověk se celý život učí jenom proto, aby ve stáří všechno zapomněl.
„Když už člověk jednou je, tak má koukat aby byl. A když kouká, aby byl, a je, tak má být to, co je, a nemá být to, co není, jak tomu v mnoha případech je.“ J. Werich

Uživatelský avatar
Robert
Příspěvky: 17
Registrován: 25 led 2005, 01:00
Bydliště: Zlín
Kontaktovat uživatele:

#3 Příspěvek 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í.

Uživatelský avatar
Eleman
Příspěvky: 3439
Registrován: 21 úno 2011, 01:00
Bydliště: Český Středozápad (JO70AD)

#4 Příspěvek 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í.
Člověk se celý život učí jenom proto, aby ve stáří všechno zapomněl.
„Když už člověk jednou je, tak má koukat aby byl. A když kouká, aby byl, a je, tak má být to, co je, a nemá být to, co není, jak tomu v mnoha případech je.“ J. Werich

Uživatelský avatar
Robert
Příspěvky: 17
Registrován: 25 led 2005, 01:00
Bydliště: Zlín
Kontaktovat uživatele:

#5 Příspěvek od Robert »

Blokování nemám. Co bys doporučil?

Uživatelský avatar
Banda
Příspěvky: 1170
Registrován: 22 bře 2005, 01:00
Bydliště: OV

#6 Příspěvek od Banda »

Špatné hodnoty rezistorů 100 a 1M. Stáhnout katalogové listy a nastudovat.

Uživatelský avatar
css
Příspěvky: 352
Registrován: 05 led 2011, 01:00
Bydliště: Karlovy Vary

#7 Příspěvek 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ů.

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#8 Příspěvek 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.

Uživatelský avatar
css
Příspěvky: 352
Registrován: 05 led 2011, 01:00
Bydliště: Karlovy Vary

#9 Příspěvek 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.

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#10 Příspěvek od Andrea »

Podle mě je to šílenej orloj, ten displej by šel řídit multiplexně.

Uživatelský avatar
radekrd
Příspěvky: 642
Registrován: 21 kvě 2008, 02:00
Bydliště: Moravský Krumlov
Kontaktovat uživatele:

#11 Příspěvek 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?

Uživatelský avatar
Robert
Příspěvky: 17
Registrován: 25 led 2005, 01:00
Bydliště: Zlín
Kontaktovat uživatele:

#12 Příspěvek 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.

Uživatelský avatar
divous
Příspěvky: 161
Registrován: 08 říj 2010, 02:00
Bydliště: ValMez

#13 Příspěvek 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?

Uživatelský avatar
bohumilfulin
Příspěvky: 109
Registrován: 12 led 2010, 01:00

#14 Příspěvek 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

Odpovědět

Zpět na „Řešení problémů s různými konstrukcemi“