7 segment s AVR dle ScienceProg - pomalé rozsvícení segmentů

Ahoj,
stavím si 7segment dle scienceprog.com/control-7-segment-led-displays-with-avr/, tranzistory mám bc640, rezistory do báze cca 20 kilo. Zatím jsem ve stavu, kdy nepoužívám dekodér, piny z mcu (atmega32) přivádím na bázi skrze tyto rezistory. natvrdo jsem si dal zobrazit ledku odpovídající poli a. Sedmisegment je červený.

Abych si vyzkoušel, jak se to bude chovat, postupně s cca jednou vteřinou zpoždění postupně točím jednotlivé segmenty (myšleno 1…3 celé sedmisegmenty) s rozvícenou ledkou A. Jenže, to co má být zhasnuté se pomalu rozvěcuje, jako kdyby tranzistory se postupně otevíraly. Už nevím, kudy kam, zapojení mám správné. Zajímavé je, že když dám třeba současně svítit dva sedmisegmenty, tak třetí se rozsvěcuje, když má být zhaslý, ale když mají být zhaslé ty dva a třetí svítit, tak to tak je a nic se postupně nerozsvěcuje.

Poradíte někdo? Díky.

:arrow_right: administrator: přejmenováno z "7segment"

Předpokládám, že zkoušíš to duhý zapojení. Musím tě zklamat, ale není správně. Chybějí tam odpory mezi segmenty a mcu jako u prvního obrázku. Ty jsou tam nutné. Tedy alespoň pokud nemá dekodér proudové omezení v sobě. A bez dekodéru není co řešit.
Co se týká bázových odporů tranzistorů, tak jsou moc velké. U toho tranzistoru nepočítej s větším zesílením než 20. Pokud potáhneš každým segmentem 10mA, tak při rozsvícené “8” s tečkou musí tranzistor přenýst 80mA.
Bázový odpor Rb při napájení 5V tedy musí být maximálně (5-0,7)/(0,08/20)=1075. Tedy odpor 1k v bázi jak je ve schématu je vhodná hodnota.
Nejdřív tedy oprav zapojení (a pro jistotu se s ním pochlub). Pak se mrknem na řízení když to nepojede.

odpory mcu-7seg tam mám, zkoušel jsem i podstatně nižší rezistor na bázi, začal jsem se 680 Ohm. Chová se to tak, že při vypnutí se tranzistor skutečně vypne (vypínám logickou 1 na mcu pinu přiváděného přes rezistor do báze), ale začne se pomnalu otevírat, i kdy je tam na bázi logická 1.

Tak to slyšim poprvý :open_mouth:.
Zkus dát mezi emitor(ta noha se šipkou) a zem odpor 10k.

zkoušel jsem pull up mezi bázi a +5V, to pomohlo, ale mělo by to jít i bez něj. Pull down na emitor mne nenapadl, jakou by tam měl roli?

Ále… kecám. Mezi kolektor a zem… Aby odvedl zbytkovej proud kolektoru.
Pokud pomůže odpor mezi bází a emitorem, tak dobrý. Jen bych tady účinek moc nečekal, když tam má procesor držet +5V. Leda že by procesor měl i v nezatíženym stavu na výstupu výrazně pod Vcc (o 0.5V a víc). Ale nevidím důvod proč by tomu tak u cmos obvodu mělo být :frowning:.

ten zbytkovej proud bych chápal, kdyby to nevyplo včas a rychle, on se ale vypne a začne se postupně zapínat:( ten pull up jak jsem psal, sice funguje, ale také se mi to tam moc nezdá. Ten odpor na kolektor zkusím, nicméně postupně se segment rozsvěcí do jasna, takže tranzistor se fakt otevře:( chjo, to je zase nějaká chyba mezi klávesnicí a židlí jen na ni ne a ne přijít:(

To jako do úplně otevřenýho stavu? Jesli ti odpor mezí BE pomáhá, tak ho tam nech. Ten se běžně zapojuje (obvykle když řídicí obvod pouze vypíná proud a nedrží bázi zavřenou silou).
Ten tranzistor je nějakej divnej…

nevím, jestli do zcela otevřeného stavu, ale ledka svítí jasně, takže asi ano. Je mi divné, že:

při přivedení jedničky na pin MCU tranzistor vypne, ledka vůbec nesvítí. pomalu se začně rozsvěcovat, tranzistor se otevírá. Tranzistory jsem měnil, měl jsem jich víc. Ani nejde o nějakou rychlou frekvenci, prodlevy jsou velké, cca 1 s… Tedy je mi divné to otevírání, ne to zhasnutí:)

ještě k tomu BE rezistoru - snad pomáhá:) viditelně nic nepozoruji:) ledka se zdá nesvítí:)

jeden DS - gme.cz/_dokumentace/dokument … -109.1.pdf

druhý DS - datasheetcatalog.org/datashe … -bc636.pdf

jsem slepej, nebo má každý jinak piny?

tak sjem ještě jednou 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). Zkoušel jsem NPN přehodit podle druhého, ale bez úspěchu.

Podle pdf jsou jinak :slight_smile:. Každopádně prostřední bývá buď C nebo B. Zde se obě pdf shodly na C. Najít B snad není problém ne? (u PNP noha, do které míří obě diody)
Navíc pokud máš měřák schopnej testovat tranzistory, tak stačí najít polohu, kdy má největší zesílení a víš kde která noha je (už pár desítek let nejsou tranzistory symetrické).

měřák už jsem zkusil a podle něj to mám zapojené dobře:)

tak jsem ještě udělal jeden pokus, všechny piny jsem (ty co souvisí s tranzistory) uvedl do logické 1, na výstupech je 4,5V. tranzistory jsou mírně pootevřené, na colektorech je cca 1.8V. 4.5V by ale pro uzavření tranzistoru mělo stačit. fakt nechápu. vadný displej?

procesor daj prec… a na odpor do baze tranzistora pripoj priamo 5V musi to zhasnut podla mna ti tam nieco na procesore beha a nedrzi log 1 ale kmita medzi 0 a 1…

kontrolní led, kterou jsem tam zapojil, tak nebliká - dělá co má, svítí / nesvítí podle stavu pinu. Jenže - přiel jsem na jednu věc a to bude asi ono. Mám to na nepájivém poli. Stav, kdy mám vypnuté všechny tranzistory a ledky jemne sviti. dotknus e pole - rozsviti se vic, nekdy min, reaguje to naprosto stochasticky. 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:)

Pokud máš napájení 5V, tak 4.5V na uzavření nestačí a bázový odpor je nezbytný. Při 0.5V se už dioda B-E začíná otvírat a bází něco leze. Tomu musíš zabránit.

ok, tedy správné řešení je dát tam pull up na bázi na +5V. Zapojím ho za bázový resistor směrem k bázi, hodnota cca 5 kOhm? Při bázovém rezistoru cca do jednoho kila?

A je schopen mi někdo vysvětlit to chování s kontaktním polem? Mám tam i filtrační kondíky. Statická elektřina či co? Díky, vím, že otravuju, ale snažím se to pochopit a rozumět tomu.

Odpor takový, aby jsi byl spolehlivě alespoň pod 0.2V na Vbe. Pokud by procesor držel 4.5V silou (ikdybys do něho chtěl tlačit vyšší napětí), bylo by třeba to spočítat, ale to nepředpokládám. Tedy 5k může být (i větší), ale neměl bys jít pod 2k abys neodsával moc bázového proudu a neomezoval tím saturaci při zapnutí segmentu.

U toho pole to statika bude. Na malej tranzistor s plovoucí bází se stačí blbě podívat a začíná se otvírat :slight_smile:.