Zpět na seznam článků     Číst komentáře (1)     Verze pro tisk

Programování mikrokontrolérů architektury AVR (5)

Autor: Prog0el   
15.3.2016

Pátý díl našeho seriálu o mikrokontrolérech bude zaměřen na všestranně využitelnou periferii nazvanou čítač/časovač a budeme jej, mimo jiné, používat ke generování pulzně-šířkově modulovaného signálu, který umožňuje realizovat regulátor o vysoké účinnosti. Část dílu bude věnována také elektronice, jelikož mikrokontroléry nejsou pouze o programování.


Čítač-časovač

Jedná se o interní periferii, která je schopna odměřovat čas, zaznamenávat události na vstupu či, jak již bylo zmíněno, generovat pulzně-šířkově modulovaný signál, který se označuje zkratkou „PWM“ (pulse-width modulation). Samozřejmostí je spolupráce s přerušovacím systémem, kterou jsem již nastínil v předchozím díle. Mikrokontrolér AT Mega 8 obsahuje tři čítače/ časovače, které mohou být konfigurovány nezávisle na sobě. Čítač/ časovač pracuje mimo konfiguračních registrů také s registrem hodnot. V případě, že pracujeme v režimu „čítač“, pak se do registru hodnot zaznamenává počet akcí zaznamenaných na vstupu čítače a jestliže pracujeme v režimu časovač, pak se do registru hodnot nastavuje tzv. výchozí hodnota, od které čítač samovolně inkrementuje svou hodnotu až do přetečení registru, při kterém se může vyvolat přerušení. Od přetečení inkrementace probíhá i nadále od nuly. Přerušení lze vyvolat také při dosažení určité hodnoty v registru čítače/ časovače. Podle registrů hodnoty rozdělujeme čítače/časovače na osmibitové a šestnáctibitové (realizovány dvojicí osmibitových registrů). Interval inkrementace určuje zdroj taktování čítače, kterým může být kmitočet jádra, popřípadě dělený kmitočet jádra, externí zdroj taktovacího signálu či krystal. Dělení kmitočtu realizuje tzv. „dělička kmitočtu“.

Přehled vlastností jednotlivých čítačů

Čítač/časovač 0 (osmibitový): Časovač s děličkou a čítač s reakcí na náběžnou či sestupnou hranu a je schopen reagovat vyvoláním přerušení v případě přetečení hodnoty v registru hodnot (přechod z 255->0). Jelikož se jedná o nejjednodušší čítač, tak nelze používat PWM, ani porovnávat hodnoty. Konfigurační registr čítače/ časovače 0 umožňuje nastavit taktování a děličku:
TCCR0:|-|-|-|-|-|CS02|CS01|CS00|

Význam CS02 CS01 CS00
Čítač/ časovač je vypnut 0 0 0
Taktování kmitočtem jádra 0 0 1
Taktování kmitočtem jádra děleného 8 0 1 0
Taktování kmitočtem jádra děleného 64 0 1 1
Taktování kmitočtem jádra děleného 256 1 0 0
Taktování kmitočtem jádra děleného 1024 1 0 1
Sestupná hrana na pinu T0- režim čítače 1 1 0
Vzestupná hrana na pinu T0- režim čítače 1 1 1

Samotný registr hodnoty, který jsem zmínil výše, je označen jako TCNT0.

Čítač/časovač 1 (šestnáctibitový): Oproti čítači/ časovači 0 je navíc schopen generovat PWM signál o rozlišení 16 bitů, má dva nezávislé výstupy, které jsou vyvedeny na vstupně/ výstupní piny, což umožňuje již zmíněnou PWM či obecně při dosažení porovnávané hodnoty v registru hodnot nastavit výstupní pin na odpovídající hodnotu. Je zde také funkce automatického nulování čítače (Clear on compare match), které po shodě hodnot v registru hodnoty a porovnávacím registru automaticky nastaví registr hodnot do nuly. V neposlední řadě může být také užitečná možnost vyvolat přerušení na základě porovnávání hodnot. Některé možnosti jsem vynechal, jelikož by začátečníkům pouze pletly hlavu. Mezi tyto možnosti patří také možnost zachycení hodnoty čítače/ časovače 1 po signálu na pinu ICP1 (Input CaPture 1), který v okamžiku náběžné či sestupné hrany na zmíněném pinu, překopíruje obsah TCNT1(H/L) do ICR1(H/L).

Konfigurační registry tu máme hned dva:
TCCR1A: |COM1A1 |COM1A0 |COM1B1 |COM1B0 |FOC1A |FOC1B |WGM11| WGM10
TCCR1B:| ICNC1| ICES1| – |WGM13| WGM12| CS12| CS11| CS10
Bity WGM (Waveform generator mode) nastavují módy generátoru funkcí, což jsou především různé modifikace PWM. Pro jednoduchost nebudu vypisovat celou tabulku čítající 16 řádků, ale v praktickém příkladu uvedu konkrétní konfiguraci a případné zájemce o hlubší studium čítačů/ časovačů odkážu do katalogového listu výrobce, jelikož smyslem tohoto seriálu není opisování datasheetu, ale zprostředkování nejdůležitějších informací. Jelikož se jedná o šestnáctibitový čítač/ časovač, tak je registr hodnot a porovnávané hodnoty složen ze dvou osmibitových registrů, kde nižší je byte příslušného registru označen písmenem „L“ a zbývající, vyšší byte, je označen „H“, tedy například TCNT1L a TCNT1H. Nastavení akce na výstupech čítače/ časovače po detekci shody TCNT1(H/L) s OCR1(A/B)(H/L). Tyto bity mají odlišné funkce, pokud je PWM vypnuto, či pokud jsou zapnuty jeho příslušné režimy. Důležitým faktem, je, že registry porovnávacích hodnot jsou celkem čtyři osmibitové, které dohromady tvoří dva šestnáctibitové registry. Tyto registry jsou, jak je znázorněno výše, označeny písmeny „A“, popřípadě „B“. Jsme tedy schopni operovat se dvěma výstupy pomocí porovnávání jednoho registru hodnot jednoho čítače. V praxi to znamená, že můžeme na dva PWM kanály použít jeden čítač/ časovač. Tato funkcionalita je dostupná pouze u čítače/ časovače 1.

Význam v případě deaktivované PWM COM1(A/B)1 COM1(A/B)0
Výstup čítače/ časovače 1 odpojen 0 0
Negovat výstup čítače/ časovače 1 0 1
Nastavit výstup čítače/ časovače do log.0 1 0
Nastavit výstup čítače/ časovače do log.1 1 1

Význam v případě aktivace fast PWM COM1(A/B)1 COM1(A/B)0
PWM vypnuto 0 0
PWM vypnuto 0 1
PWM zapnuto- invertováno 1 0
PWM zapnuto 1 1
Pro začátek se obejdeme pouze s použitím rychlého PWM (fast PWM) módu a jiné módy zde zmiňovat nebudu, nicméně pro ně může být význam výše popsaných bitů také jiný. Ještě bych dodal, že výstupy jsou ve schématu naznačeny jako OC(číslo čítače)(A/B). Bity CS12, CS11, CS10 stejně, jako v případě čítače/ časovače 0, slouží k nastavení taktování čítače/ časovače a pravdivostní tabulka je rovněž stejná.

Čítač/časovač 2 (osmibitový): Poslední čítač/ časovač je na rozdíl od čítače/ časovače 1 osmibitový a je opatřen pouze jedním výstupem (OC2). PWM je možno použít, avšak pouze s osmibitovým rozlišením. Velice podstatným rozdílem je fakt, že na rozdíl od výše uvedených čítačů je možno jako zdroj taktování použít mimo jiné také krystal reálného času. Krystal reálného času lze v případě mikrokontroléru AT Mega 8 využít pouze, je-li jako zdroj taktování jádra zvolen interní oscilátor, jelikož se zmíněný krystal reálného času připojuje na stejné dva piny, na které by byl připojen krystal/ keramický rezonátor/ RC článek či externí zdroj hodinového signálu. Vyšší typy mikrokontrolérů AVR, například AT Mega 16, již mají piny pro krystal řídící čítač separovány od pinů pro krystal řídící frekvenci jádra a lze tedy používat oba zmíněné krystaly současně. Krystal reálného času má rezonanční frekvenci 32768Hz. Mohli byste si klást otázku, proč se výrobce uchýlil zrovna k této rezonanční frekvenci. Důvodem je fakt, že pokud frekvenci 32768Hz podělíme vnitřní děličkou kmitočtu 128, získáme frekvenci 256Hz, která bude inkrementovat osmibitový registr. Víme tedy, že 256 krát za sekundu se inkrementuje registr o maximální hodnotě 255, z čehož plyne, že registr bude každou sekundou přecházet z hodnoty 255->0, jinými slovy registr každou sekundou přeteče. Když tento čítač/ časovač nakonfigurujeme tak, aby se vyvolávalo přerušení při přetečení, pak bude toto přerušení vyvoláváno, relativně přesně, každou sekundou, což lze využít v měřící technice, při konstrukci hodin apod. Kdybychom použili pouhou čekací smyčku z knihovny „delay.h“, narazili bychom na problém s přesností a také tím, že po dobu čekání bychom nemohli provádět žádné akce. Konfigurační registry budou opět dva:
TCCR2: |FOC2|WGM20|COM21|COM20|WGM21|CS22|CS21|CS20
ASSR: |–| |–| –| –| AS2|TCN2UB|OCR2UB|TCR2UB
Práce s registrem TCCR2 je identická jako TCCR1A. Jediná změna je v bitu „AS2“ v registru „ASSR“, který nastavuje, zda bude pro účely čítače/ časovače 2 využit hodinový krystal (log.1) či kmitočet jádra (log.0). Existence TCNT2 jistě také není překvapivá.

Nastavení přerušení v souvislosti s čítači

Nastavení přerušení jako reakci na přetečení či shodu hodnot příslušných registrů čítače/ časovače se využívá registru TIMSK (Timer Interrupt MaSK). Princip je obdobný jako u konfigurace externího přerušení, tedy zapsáním log. 1 na příslušný bit registru TIMSK nastaví vyvolání přerušení, avšak až po globálním povolení přerušení instrukcí „sei“ či, v minulém díle popsanou, aktivací přes registr MCUCR.
TIMSK:|OCIE2|TOIE2|TICIE1|OCIE1A|OCIE1B|TOIE1|–|TOIE0
OCIE2: Přerušení po shodě TCNT2 s OC2 čítače/ časovače 2
TOIE2: Přerušení po přetečení čítače/ časovače 2
TICIE1: Přerušení po zachycení hodnoty čítače/ časovače 1
OCIE1A: Přerušení po shodě TCNT1(H/L) s OC2(H/L) čítače/ časovače 1
OCIE1B: Přerušení po shodě TCNT1(H/L) s OC2(H/L) čítače/ časovače 1
TOIE1: Přerušení po přetečení čítače/ časovače 1
TOIE0: Přerušení po přetečení čítače/ časovače 0
Příznakový registr přerušení souvisejících s čítači je vhodné před aktivací vymazat, aby nedošlo bezprostředně po globálním povolení přerušení k volání rutin přerušení jako následek předešlých akcí. Příznakový registr jsme si rovněž vysvětlili v minulém díle, takže jen stručně shrnu, že po záznamu akce vedoucí k přerušení se bez ohledu na její aktivaci nastaví příznak přerušení reprezentovaný jako logická 1 příslušného bitu zmíněného příznakového registru. Příslušný příznak přerušení se maže zapsáním logické 1 na bit příznaku, který chceme mazat. Popisovaný registr se nazývá TIFR (Timer Interrupt Flag Register) a programátory jistě potěší, že je koncipován stejně, jako registr TIMSK, takže přerušení povolené pomocí daného bitu registru TIMSK bude mít příznak na stejném čísle bitu v registru TIFR.
TIFR:| OCF2|TOV2|ICF1|OCF1A|OCF1B|TOV1|–|TOV0
OCF2: Příznak přerušení po shodě TCNT2 s OC2 čítače/ časovače 2
TOV2: Příznak přerušení po přetečení čítače/ časovače 2
ICF1: Příznak přerušení po zachycení hodnoty čítače/ časovače 1
OCF1A: Příznak přerušení po shodě TCNT1(H/L) s OC2(H/L) čítače/ časovače 1
OCF1B: Příznak přerušení po shodě TCNT1(H/L) s OC2(H/L) čítače/ časovače 1
TOV1: Příznak přerušení po přetečení čítače/ časovače 1
TOV0: Příznak přerušení po přetečení čítače/ časovače 0

Řízení a regulace

Předem nastíněnou metodu řízení teď proberu trochu podrobněji. V případě, že ovládáme ovládanou soustavu bez znalosti jejího skutečného stavu, pak se nejedná o regulaci, nýbrž o řízení. Informaci o stavu regulované soustavy nám podává měřící veličina, na základě které se regulátor rozhoduje o průběhu tzv. „akční veličiny“, která působí na regulovanou soustavu s cílem udržovat regulovanou veličinu v konstantní, nastavovací veličinou nastavené, hodnotě. Předcházející odstavec neměl čtenáře zmást, ale nastínit základní terminologii z oblasti automatizace a regulační techniky. Celý fakt se dá jednoduše vysvětlit například na řízení svitu LED diody. Doposud jsme si vysvětlovali tzv. „dvoupólové řízení“, které spočívalo v zapnutí či vypnutí LED diody logickou úrovní na výstupu. Kdybychom chtěli získat jas, řekněme, poloviční, měli bychom více možností, jak daný problém vyřešit. Prvním řešením by bylo omezit proud LED diodou větším rezistorem či specializovaným obvodem (lineárním stabilizátorem proudu). Nevýhodou by bylo, že příkon LED diody i s rezistorem by se nezměnil, avšak svit LED by byl snížen, z čehož plyne také snížení účinnosti celého řízení, jelikož výkon, který se nepodílí na přeměně ve světlo, musí být přeměněn v teplo. Dlouhou dobu se tento způsob regulace lidem vůbec nezdál neefektivní. Uvedu jako příklad legendární tramvaj T3, která se na území tehdejšího Československa využívala v 70. letech 20. stol. Zmíněná tramvaj měla motor řízen velkým reostatem, který se v tomto oboru obecně označuje jako „zrychlovač“. Při rozjezdu bylo potřeba urychlovačem omezit výkon motoru, jelikož pokud by omezení neproběhlo, proudový ráz po jeho zapnutí by přetížil síť a rozjezd by nebyl plynulý. Krátce po rozjezdu musel být zrychlovač přemostěn stykačem a ofukován ventilátorem, aby vychladnul, jelikož na trvalé zatížení nebyl stavěn. Dnes již se v trakčních elektrických vozidlech využívají buďto vícevrstvé spínací prvky (tyristory), unipolární či IGBT tranzistory tvořící koncový stupeň tzv. „frekvenčního měniče“. Využívá se vlastností synchronních/ asynchronních motorů, které mají otáčky závislé na frekvenci napájecího napětí. My se v následujících kapitolách nebudeme zabývat změnou frekvence, která bude v našem případě konstantní, ale manipulací s dobou, kdy je zařízení spuštěno a kdy nikoliv.

PWM

Pulzně-šířková modulace využívá k napájení řízeného zařízení obdélníkového signálu s amplitudou rovnou jeho jmenovitému napájecímu napětí. Nedochází tedy ke změně napětí ani proudu; mění se pouze střída. Střída je poměr doby, po kterou je připojeno zmiňované napájení ke spotřebiči k periodě signálu, jak vysvětluje následující obrázek. Nutno dodat, že střída může nabývat pouze kladných hodnot v rozmezí od 0 do 1 včetně a lze ji, obdobně jako účinnost, vyjádřit v procentech vynásobením stem.
Signál PWM
Obecně tedy platí, že střída udává, kolik procent výkonu se podílí na funkci řízeného zařízení. Důležitým parametrem je frekvence PWM signálu, která bývá v řádech desítek až stovek kHz. Pro frekvenci platí vztah f=1/T, kde „T“ je perioda signálu, který jistě znáte ještě ze základních škol. Z pohledu mikrokontroléru se pracuje s PWM tak, že se do registru OCR zapíše číslo, které, v případě neinvertovaného módu PWM určuje dobu, po kterou je výstup nastaven do logické 1, či v případě invertovaného módu- log. 0. Střída „s“ je pak rovna s=OCR/(R-1); kde „s“ reprezentuje střídu, „OCR“ hodnotu nastavenou v registru „OCR“ a „R“ rozlišení PWM, které se vypočítá jako R=2^N, kde „N“ je bitová hloubka. Pokud je střída nastavena na nulu, pak je zařízení trvale vypnuto, pokud je nastavena na „R-1“, tedy 100%, pak je zařízení trvale zapnuto a pracuje na plný výkon. Chceme- li střídu 20%, tak na čítači/časovači, kterému jsme nastavili osmibitovou PWM, do registru OCR zapíšeme číslo 0.2*255, tedy 51. Výpočet byl proveden jednoduchou trojčlenkou, což, doufám, definitivně prolomilo ledy mezi vámi a PWM.

Praktický příklad

Praktický příklad bude realizovat řízení svitu LED pásku pomocí tlačítek, včetně jednoduchého přechodového efektu. Čítač- časovač 1 je nastaven do módu rychlého osmibitového PWM, což znamená, že PWM bude mít celkem 256 úrovní střídy včetně střídy nulové (výstup je trvale v log.0). Rovněž je aktivováno externí přerušení INT0 a INT1. Vstup INT0 je využit jako tlačítko pro snižování jasu a INT1 je využit jako tlačítko zvyšování jasu. Rutiny přerušení obsahují také ošetření přetečení a podtečení. V hlavní smyčce programu se nachází přepínač, který přepíná na základě hodnoty uložené v proměnné „effect“ typu unsigned char. Ve výchozím stavu je tato zmiňovaná proměnná nastavena na hodnotu 0, při které přepínač v hlavní smyčce programu pouze hlídá stav vstupu PD4 u kterého je aktivní pull-up rezistor. Pokud je v log.0, což znamená , že tlačítko pro spuštění efektu bylo stisknuto. Inkrementuje proměnnou „effect“ a přepínač zareaguje tak, že dojde k postupné inkrementaci hodnoty uložené v registru OCR1AL až do stavu, kdy se bude v hodnotě 0xFF. Po tom, co je hodnota OCR1AL 0xFF dojde k e zvýšení hodnoty proměnné „effect“ na hodnotu 2. Přepínač zareaguje tak, že dojde k postupné dekrementaci hodnoty v registru OCR1AL až k nule. Pokud je hodnota v registru OCR1AL rovna nule, pak se hodnota uložená v proměnné „effect“ sníží o jedničku, čímž se znova začne zvyšovat jas LED již popsaným postupem.

Do stavů 1 a 2 přepínače v hlavní smyčce programu bylo přidáno zpoždění realizované čekací smyčkou, které je přípustné, jelikož funkci snímání vstupu tlačítka pro spuštění efektu neovlivní, i kdyby byla jakkoliv velká. Vypnutí efektu je realizováno tak, že při stisku tlačítka ‚-‘ nebo ‚+‘ dojde k nastavení proměnné „effect“ do nulové hodnoty; chod programu bude pokračovat čekáním na stisk tlačítka efektu či manuální řízení povely na pinech externího přerušení. Schéma zapojení je zde:
Schéma zapojení

Ve schématu si můžete všimnout dvou odlišností oproti předešlým schématům uveřejněným v tomto seriálu. První odlišnosti je, že zde jako spínací prvek byl použit tranzistor řízený polem, který má lepší spínací vlastnosti, než bipolární typ a vlivem malého odporu za sepnutého stavu (RDSon) na něm vzniká méně odpadního tepla. Tranzistor má tři vývody označené jako G (gate)- řídící elektroda, S (source) a D (drain). Podstatným rozdílem unipolárního tranzistoru oproti tranzistoru bipolárnímu je fakt, že je řízen nepětím (nikoliv proudem). Pokud budeme postupně zvyšovat napětí mezi „S“ a „G“, odpor mezi „S“ a „D“ bude klesat. Pokud je na „G“ nulové napětí, pak je odpor mezi „S“ a „D“ teoreticky nekonečný. Prakticky ovšem nekonečný není, nicméně my tranzistor budeme i tak považovat za uzavřený v případě, že je napětí mezi „S“ a „G“ (UGS) nulové. Od jistého napětí UGS, které se může dle typu tranzistoru lišit, se již RDSon nezvyšuje- tranzistor přešel do oblasti saturace. Pokud s tranzistorem pracujeme jako se spínačem, pak nás právě oblast saturace bude nejvíce zajímat, jelikož se snažíme vyvarovat stavům, kdy by byl tranzistor otevřen jen z části za účelem eliminace zmíněného odpadního tepla. Tranzistor, který jsem použil je tzv. „MOSFET s indukovaným kanálem vodivosti typu „N“. Rozlišujeme několik typů tranzistorů řízených elektrickým polem (unipolárních tranzistorů) a právě jedním z nich je MOSFET (Metal Oxide Semiconductor Field Effect Transistor). Technologii výroby takovýchto tranzistorů probírat dopodrobna nebudu, jelikož je k jejímu pochopení nutná znalost elektroniky na úrovni atomů. Nás ovšem budou zajímat další přívlastky tranzistoru mosfet, jelikož mimo indukovaného kanálu můžeme mít také kanál „zabudovaný“. Rozdíl je v tom, že při nulovém UGS je MOSFET s indukovaným kanálem vodivosti typu N plně uzavřen, zatímco MOSFET se zabudovaným kanálem je při stejných podmínkách na řídící elektrodě z části otevřen. Z tohoto důvodu se v číslicové, potažmo mikroprocesorové technice příliš nevyužívá, jelikož se není schopen sám uzavřít logickou nulou na řídící elektrodě; Své uplatnění nachází hlavně v obvodech analogové elektroniky. Stejně tak, jako rozlišujeme typy kanálů, rozlišujeme i jejich vodivosti. Mimo vodivosti typu „N“ máme také vodivost typu „P“, která s sebou nese odlišnosti v řízení tranzistoru. Pokud chceme snížit RDSon, pak musíme, v případě použití mosfetu s vodivostí typu „P“ řídit řídící elektrodu záporným napětím. To znamená, že bod zaškrcení (stav, kdy tranzistor začíná být saturován) by v případě použití vodivosti typu „N“ nastal při 3V UGS, avšak v případě použití vodivosti „P“, by nastal při UGS -3V. Záporné napětí lze získat opačně polarizovaným výstupem řídícího obvodu. Rezistor R1 a R2 tvoří napěťový dělič a omezuje UGS tranzistoru Q1, kterým může být takřka jakýkoliv unipolární MOSFET s indukovaným „N“ kanálem. Při jeho výběru se dívejte hlavně na hodnotu IDS, což je maximální proud spínaným obvodem, kterým je v našem případě LED pásek. Pro testy s LED páskem do jednoho metru nám postačí tranzistor s IDS kolem 2A a více. Dalším parametrem je zmíněný RDSon, který by neměl být příliš velký (za dobrý se považuje, když dosahuje hodnot desítek m?). Neméně důležité je také napětí UDS, které by mělo být v našem případě vyšší, než 20V, což nepředstavuje žádný problém. Já jsem použil typ IRFIBC30G. Pinout (rozmístění vývodů) tranzistoru pro pouzdro TO-220, který je pro každý tranzistor MOSFET libovolného typu stejný, můžete vidět zde:
Pinout tranzistoru v pouzdře TO220

Schematická značka tranzistoru s vodivostí „P“ se liší pouze v opačném směru šipky.

Dalším podstatným rozdílem oproti minulým dílům je, že v konstrukci se vyskytují dva zdroje, z nichž jeden je pětivoltový- pro napájení mikrokontroléru a druhý dvanáctivoltový, ovládaný tranzistorem Q1. Napětí 12V se nesmí dostat k mikrokontroléru, který by se v důsledku jeho přítomnosti pravděpodobně nenávratně poškodil. Princip je takový, že oba zdroje mají propojeny (GND/ - póly) a zvlášť vyvedeny +) póly, jak ilustruje příklad znázorněný dvěma bateriemi:
Demonstrace společné země pomocí baterií
My ovšem nebudeme používat baterie, ale využijeme lineární stabilizátor napětí. Stabilizátor je patřen třemi vývody- vstup, výstup a společná zem. Jeho úkolem je v obvodu zabezpečit, že se změnami vstupního napětí bude jeho výstupní napětí konstantní. Stabilizátory se dělí dle výstupního napětí a proudu a značí se „7xyy“, kde x označuje, zda bude kladná či záporná zem, my si vystačíme se stabilizátorem se zápornou zemí, který má na místě „x“ číslici 8. Kladná zem se označuje číslicí 9. Skupina „yy“ označuje výstupní napětí ve voltech. My použijeme stabilizátor 7805, což je stabilizátor o výstupním napětí 5V a jeho zapojení můžete vidět níže:
Lineární stabilizátor 78**

Důležité je, aby bylo vstupní napětí větší, než napětí výstupní (běžně se udává, že o 2V- viz datasheet) a nebyla překročena maximální výkonová ztráta pouzdra, k čemuž nedojde, jelikož 5V je napájen pouze mikrokontrolér. Kondenzátory jsou určeny k eliminaci rizika kmitání stabilizátoru. Stejně jako tranzistory, tak i lineární stabilizátory se prodávají v rozličných pouzdrech. Já jsem použil stabilizátor v pouzdře TO220, jehož pinout je níže:
Pinout lineárního stabilizátoru 78**

Srovnání pouzdra TO92 (tranzistoru BC547, který byl použit v minulém díle seriálu) s pouzdrem TO220. Prostřední komponent na fotografii je unipolární tranzistor a po jeho pravé straně se nachází lineární stabilizátor 7805.
Srovnání pouzdra TO92 (vlevo) a pouzdra TO220
LED pásek je moderní světelný zdroj, který obsahuje LED diody na samolepícím ohebném plošném spoji spolu s rezistory k omezení proudu. Ty jsou integrovány, a proto je nemusíme počítat. LED pásky se prodávají v různých barevných variantách včetně kombinovaných (nejčastěji RGB, které jsou schopny svítit jakoukoliv barvou v závislosti na nastavení jasu červené, zelené a modré LED diody) a společným znakem všech LED pásků je zpravidla napájení 12V. Proud, který LED pásek odebírá je přímo úměrný počtu modulů, které byly použity. Výrobce udává proudový odběr na modul. LED pásky si také většinou kupujeme podle počtu modulů. Velmi přínosné je, že je LED pásek schopen být dělen na jednotlivé moduly a každý tento ústřižek má přístupné piny pro napájení, ke kterým lze jednoduše připájet vodiče, jak ukazuje fotografie níže:
Detailní pohled na LED pásek
LED pásek je k popisované konstrukci připojen na piny (LED-)> vývod (-) na LED pásku a (LED+)> vývod (+) na LED pásku. Využít můžete LED pásek libovolné barvy. Při uploadu software do mikrokontroléru máte na výběr ze dvou možností napájení. Tou první je odpojení 12V zdroje a připojení napájení z programátoru jako doposud, přičemž by bylo vhodné odpojit výstup stabilizátoru od mikrokontroléru. Druhou možností je napájení pomocí programátoru vůbec nepřipojovat; připojit pouze společnou zem, datové vodiče a reset. V tomto případě je na místě postupovat opatrně, jelikož by mohlo dojít k fatální chybě z nepozornosti, která by pravděpodobně vedla k destrukci celé konstrukce, programátoru i počítače.


Fotografie konstrukce realizované na nepájivém kontaktním poli


Zdrojový kód je dostupný ke stažení.

Líbil se Vám článek?
Budeme potěšeni, pokud vás zaujme také reklamní nabídka

Social Bookmarking

     





Hodnocení/Hlasovalo: 1.25/4

1  2  3  4  5    
(známkování jako ve škole)