Jste zde

2místný čítač připojený k 8pinovému mikrokontroléru

8pinové mikrokontroléry se staly vcelku běžnými. Spousty společností včetně Microchipu a Atmelu má tyto mikrořadiče v nabídce. Takováto MCU i přes svoji velikost poskytují mnoho funkcí, avšak často je počet vstupně-výstupních linek omezen na maximální počet 6 (2 vývody připadají na přívod elektrické energie do čipu). Právě díky těmto omezením je vždy výzva navrhnout konkrétní zapojení s takto malými mikročipy, speciálně to platí při návrhu řízení optických zobrazovačů (LCD, 7segmentové LED displeje, atd.). Právě poslední zmíněné zapojení si dnes probereme a ukážeme si jeho řízení pomocí metody „Charlieplex“, což je obdoba multiplexního řízení. Proč se tato metoda nazývá zrovna Charlieplex, se mi přes veškerou snahu nepodařilo zjistit.

Teorie

Znakové LCD jsou všeobecně velmi těžko připojitelné k takto malým řadičům, pokud nepoužijete jiné systémy řízení, např. 4drátový interface, i to má však svá omezení, nebo novější tzv. „inteligentní LCD“ s 2drátovým sériovým rozhraním. Řízení velkého počtu LED také není zcela „jednoduchou“ záležitostí, tedy pokud nepoužijete již dříve zmiňovanou metodu Charlieplex. Tato myšlenka byla poprvé uvedena v srpnu roku 2001 v „Technickém dumání“ Dona Lancastera (z angl. orig. Don Lancaster’s Tech Musings) a stejně tak v aplikačních listech obvodu AN1880 firmy Maxim Semiconductor.www.maxim-ic.com

Myšlenka takto multiplexovaného displeje je lépe patrná z obr. 1.

obr. 1. Připojení 20 LED pomocí 5 vývodů
obr. 1. Připojení 20 LED pomocí 5 vývodů 

Všeobecně platí, že
N I/O linkami je možné řídit N * (N – 1) LED.

Displej se řídí tak, že se jeden pin nastaví jako výstupní s log. úrovní „1“ a jiný s log. úrovní „0“, všechny ostatní I/O piny se musí nalézat ve stavu vysoké impedance (jako vstupy). Z tohoto vyplývá, že v jedné chvíli může být zapnuta pouze jedna LED. Po patřičné době se změní nastavení portu a rozsvítí se jiná LED. Aby se zamezilo viditelnému blikání, měla by být obnovovací frekvence každé světelné diody minimálně 50 Hz.

Problém s takto multiplexovanými displeji je nízká střední hodnota proudu protékajícího každou diodou, obzvlášť se to projevuje při jejich vysokém počtu. Jelikož v dané době se v zapnutém stavu nachází pouze jedna LED, je tento činitel 1 / ( N * (N - 1)). Se vzrůstajícím počtem diod se toto číslo nadále snižuje, a proto udržet patřičnou hodnotu proudu (tak aby byl svit vůbec patrný) je zapotřebí, aby proudová špička byla přiměřeně vysoká. Toto nám zajistí relativně nízké hodnoty předřadných rezistorů. A právě zde je kámen úrazu, pokud proudový náraz překračuje dovolené zatížení jednotlivých LED, nelze v tomto případě Charlieplex použít.

Další poznámka se týká toho, že mohou být použity pouze takové mikrokontroléry, které umožňují konfiguraci každého pinu jak výstupu, tak i vstupu (musí se nacházet v režimu vysoké impedance). Právě tyto 3 stavy umožňují řízení tak vysokého počtu LED diod. Jinými slovy takový typický 8051 se pro Charlieplex nedá prakticky použít.

Konstrukce čítače

Zde si popíšeme konstrukci jednoduchého čítače do 200 pro univerzální použití. Takto koncipovaný čítač lze sestrojit velmi jednoduše (ne však levně) pomocí vhodně zvoleného mikrokontroléru s patřičným počtem I/O portů. My však půjdeme jinou cestou a pro tyto účely zvolíme ten nejlevnější 8pinový MCU z rodiny Tiny Atmel AVR, konkrétně Atmel ATTiny15. Tento řadič poskytuje 6 I/O pinů, my jich však pro řízení displeje můžeme použít pouze 5, poněvadž jeden bude zajišťovat vstup impulzů.

Pro čítání do 200 bychom však potřebovali tři 7segmentové displeje a ovládat je pomocí 5 pinů je takřka nemožné. Naštěstí se nemusíme omezovat jen na desítkovou soustavu, a tak pro naše účely zvolíme raději soustavu šestnáctkovou. Čítač tedy bude zobrazovat 00-FF (Hex). I tak se může zdát, že řídit 2místný 7segmentový displej složený z vysokého počtu LED diod, je složitý úkol. Nicméně jeden segment je složen vždy ze tří diod zapojených paralelně, a to by mělo splňovat naše požadavky a řešit naše problémy.

Schéma zapojení je na obr. 2. Jako mikrokontrolér byl tedy zvolen AVR ATTiny15 a pro displej byly vybrány 3mm vysoce svítivé červené LED. Výsledná deska plošných spojů s osazenými součástkami je uvedena na obr. 3. Všechny rezistory jsou 100Ohm , ¼ Watt. Špičkový proud protékající diodou je okolo 30 mA při napájecím napětí 5 V. Celé zapojení funguje v rozsahu 3 V – 6 V. Obnovovací frekvence je 1000 Hz, která je odvozena od vnitřních hodin mikrokontroléru (1,6 MHz).

obr. 2. Schéma zapojení
obr. 2. Schéma zapojení
obr. 3. Deska plošných spojů
obr. 3. Deska plošných spojů

Závěr

Ačkoli je současné provedení realizováno jako jednoduchý čítač, dá se ještě rozšířit. Display lze zvětšit až na 2½místný. Mnoho 8pinových MCU má vestavěn/y ADC kanál(y), a tak lze tento čítač přestavět na velmi jednoduchý 2½místný voltmetr.

Downloads & Odkazy

Hodnocení článku: 

Komentáře