PeterB, 22.3.2011 10:55:03
Mas tam odpory pre kazdy segment? Ten dekoder ich nepotrebuje pokial dobre pamatam, ale MCU kazdopadne ano.
radek, 22.3.2011 11:27:02
ano, mám, ale to by na to stejně nemělo mít vliv.
xpepa23, 22.3.2011 12:01:17
Nezapomeň po každém jednotlivém rozsvícení na segmentu zase zhasnout a pokud chceš přeskočit na jiný segment nezapomeň zase vypnout tranzistor. Já jsem to udělal tak že prostě pokud chci zobrazit jedničku na všech prostě zapneš na první segmentovce společný tranzistor a pak pouze jednotlivé políčka ale jedno po druhém ne naráz. Pak vypnu tranzsitor, otevřu druhý a znovu. Dobu svitu si v programu teďka něják nevybavuju ale rozhodně jen nějakých pár ms možná dokonce us jsem dával a pohoda. 4 sedmisegmentovky ovládám přes atmega8 a dalo by se ještě o dost víc.
radek, 22.3.2011 12:12:01
já nemám problém s vypnutím:) segment se vypne hned, ale když má být vypnutý, tak se zase pomalu rozvěcí (byť na pinu je stále logicky jednička). Ach jo, co dělám blbě?
xpepa23, 22.3.2011 13:57:33
Mohl sis ušetřit odpory kdybys je pověsil na napájecí větev jeden podle katalogu k tomu segmentu od 270 do 330R. Pak hledej problém programu. Co používáš za procesor? Ten co je ve schématu? Zkus po částech program zkoušet. Prostě napiš maličký program pro jednotlivé diodky na tom segmentu. Třeba ať ti to ukáže nulu ale né najednou ale projeď to třeba po vteřině. Co vteřina změna diody, tak ti to sice neuáže nulu ale opíše její obvod. Musíš zkoušet. Ale na 100 procent to musí být v programu. Program se nepíš najednou. A takovýhle program je na pár řádků. To já teďka vyrábím laboratorní zdroj kombinovaný s nabíječkou a dvěmi PWM kanály, vše řízeno mikroprocesorem s výstupem na displej. A to už je trochu jiný maso.
radek, 22.3.2011 15:39:30
v programu to nebude, protože přesně tak, jak píšeš to dělám (svítím jen jeden segmentík v sedmisegmentu a ten postupně rozvěcuji a zhasínám). Je to jednoduchý prg - rozsvit, pocke, zahsni, rozsvit druhy segment apod. Procesor je Atmega32. Prostě z nějakého důvodu, i když je pin v logické jedničce (změřeno) začne tranzistor otevírat....
jezevec, 22.3.2011 16:08:49
No jo, jen jestli to neblikáš moc rychle, tak že to oko nestačí sledovat.
jezevec, 22.3.2011 16:15:45
Teď jsem si všiml, že ti to svítí i v log1. Problém je v tom, že log1 nemusí být 5V, ale třeba 4V a tranzistor se pak nezavře. Dej do báze odpor 1-5k a přidej odpor mezi B-E tak 10k.
radek, 22.3.2011 16:45:16
tranzistor se mi zavře, tj. zhasne to při zavření (nastavení na log 1), ale postupně se začne mrcha otevírat (a led rozsvěcet):( pullup na +5V to řeší, ale mělo by to jít i bez něj
radek, 22.3.2011 16:45:38
ad blikání - ne, je to rozvícení, čekání cca 1 s ...:)
jezevec, 22.3.2011 16:54:08
A změřil sis úroveň napětí z mcu při log1?
xpepa23, 22.3.2011 18:42:19
A dělá to na všech pinech? Nebo jen na určitém?
radek, 22.3.2011 19:06:15
ano, cca 4.7V, dělá to na portu A, jiný port jsem nezkoušel. nevypadá to na problém na straně mcu, ale něco s těmi tranzistory, ale netuším co:(
bastlíno, 22.3.2011 20:00:39
Namaluj schéma, jak to máš skutečně zapojené. Povídání o schématu je nanic.
Jestli to dobře chápu , tak spínáš ledky bez omezujícího odporu, což je dost nestandardní a dělají to číňani v LED klíčenkách. Jenže tam počítají s vnitřním odporem baterky. Možná je proud omezen velkými odpory v bázích(20k) a proudovým zesílením tranzistorů, jenže to je teplotně značně nestabilní parametr a tato metoda je naprd.
Nemění se při pokusu napájecí napětí?
Jaký je napájecí proud? Jak je omezen proud ledkama?
Jestli máš v logické 1 napětí na výstupu skutečně 4,7V(?) , tak je to divné, ale možná to stačí na pootevření. To že se to rozsvěcení děje pomalu je dáno ohřevem tranzistoru.
Možná se bez odporu nebo diody navíc skutečně neobejdeš.
radek, 22.3.2011 20:16:42
otevírá se nulou, ne 4.7 V... rezistory tam mám (vůči jednotlivým led částem v segmentu), zapojení je přesně shodné s uvedeným. ještě jednou jsem provedl aktuální měření a jsem překvapen - napětí na colectoru je nejmenší cca 1.7V a největší cca 5. napětí se přesně zvyšuje spolu s tím, jak se rozsvěcí ledka. Napětí na bázi (čistě na bázi, ne před rezistorem báze) je pořád cca 4,7 V (před rezistorem je správně 0 nebo 4.7 podle toho, zda je pin na 1 nebo na 0).
jezevec, 22.3.2011 20:40:14
Teď ještě napiš, jak to máš sestavené, jestli je to systém vrabčí hnízdo s dlouhými přívody, tak je to jasný. Proč máš do báze tak velké odpory, dej tak 1-5k.
jezevec, 22.3.2011 20:43:34
Ještě doplním, tranzistor (PNP) se neotevírá nulou ale o 0,5-0,7V menším napětím na bázi než na emitoru, tohle si musíš uvědomit.
radek, 22.3.2011 20:47:22
nepájivé kontaktní pole. rezistory jsem měl i 660 Ohm, tam jsem začal.
radek, 22.3.2011 20:48:47
tak to by mohlo být ono, jesli se otevírá napětím menším o 0.5-0.7V vůči emitoru, tak je to plus mínus přesně ono.
jezevec, 22.3.2011 21:03:50
Ty odpory B-E tam dávám vždy, je to jistota. Logické úrovně z mcu i jiných číslicových IO mívají rozdílnou úroveň nejenom mezi různými výrobci.
Dělat digitální obvody, hlavně s mcu, na nepájivém poli je dost ošidné.
radek, 22.3.2011 22:03:53
Já to nedělám jako hodiny, ale vyšel jsem z toho - bude to řídící centrum pro akvárko. Jinak asi to fakt bude ono - mám to na nepájivém poli. Stav, kdy mám vypnuté všechny tranzistory a ledky jemne sviti. dotknu se pole - rozsviti se vic, nekdy min, reaguje to naprosto stochasticky, na různá místa. tak to jsem z toho uz totalne jelen:( Nikde to na zadny volny kotnakt nevypada. staci se k tomu poli i jen priblizit a trochu se to meni... to bude ono, ale otazka je vlastne co:)
PeterB, 23.3.2011 08:11:10
skontroluj nezapojene vyvody, v programe ich nastav ako vystupy, oscilator co najblizsie k procaku, blokovacie kondenzatory na napajanie atd...