Trzy porty mikrokontrolera PIC sterują 12 diodami LED

fg_1

W niniejszym opracowaniu układ pokazany na rysunku 1 wykorzystuje tylko trzy linie We/Wy do sterowania 12 diodami LED.
W tym zastosowaniu obwód służy, jako obrotomierz dla silnika pojazdu mechanicznego i wyświetla względną prędkość obrotową silnika za pomocą szeregu diod LED rozmieszczonych w linii lub postaci kolistego łuku.
Trzy pary połączonych przeciwrównolegle (antyrównolegle) diod LED (D2 i D3, D4 i D5 oraz D6 i D7) odbierają prąd z portów IC1 poprzez rezystory ograniczające prąd R5, R6 i R7.
Dwie grupy trzech diod LED: D8, D9, D10 i D11, D12, D13) są włączone między portami mikrokontrolera IC1 i dwoma dzielnikami napięć odniesienia VREF1 i VREF2.
Zmiana wartości rezystorów R5, R6 i R7 reguluje jasność sześciu środkowych diod LED, a rezystory R1, R2 i R4 sterują jasnością sześciu zewnętrznych diod LED. Ogólnie rzecz biorąc, układ ten może wykorzystywać N linii We/Wy mikroprocesora, aby sterować tyloma diodami LED jak: N × (N-1) + 2N. fg_2
Układ wykorzystuje mikrokontroler firmy Microcochip PIC10F200 (IC1) – mały, niedrogi, sześciopinowy układ, który udostępnia tylko trzy wyprowadzenia We/Wy i jeden pin tylko wejściowy.

fg_3
Piny We/Wy – GP0, GP1 i GP2 – sterują zestawem 12 diod LED wykresu słupkowego, składającego się z czterech żółtych diod LED, czterech zielonych diod LED i czterech czerwonych diod LED sterowanych w trybie multipleksowym (rysunek 2).
Pin wejściowy (tylko) mikroprocesora, GP3, służy, jako wejście dla impulsów sprzężonych z zaciskiem pierwotnego uzwojenia cewki zapłonowej.
Rezystor R3 i dioda D1 zapewniają kondycjonowanie sygnału wejściowego, a programowo (za pomocą software) zaimplementowana procedura zapobiegania efektowi odbijania (ang. deboucing) usuwa efekty dzwonienia pochodzących z impulsów.
Biorąc pod uwagę wysoką wartość R3 wynoszącą 390kΩ, obwód radzi sobie ze skokami wejściowymi wysokiego napięcia i zapobiega zawieszaniu się PIC10F200.
Port GP3, który służy jako port programowania procesora, różni się od innych portów procesora, ponieważ zawiera wewnętrzną diodę zabezpieczającą. Dioda 20mA zapobiega przed przejściowymi ujemnymi napięciami, które mogą się pojawić na GP3.
Obwód działa niezawodnie, ale można dodać zewnętrzną diodę zabezpieczającą dla lepszej ochrony przed indukowanym przejściowo napięciem zatrzaskującym. Anodę tej diody należy podłączyć do masy a jej katodę do portu GP3 układu IC1. Możesz skonfigurować wykres słupkowy, aby wskazać prędkość silnika przez liczbę włączonych diod LED (tryb paskowy) lub podświetlając tylko jedną lub dwie diody LED (tryb punktowy).
Schemat kolorów pokazany na rysunku 2 wykorzystuje żółte diody LED do wskazywania zbyt niskiej prędkości, zielone diody LED dla nominalnej prędkości i czerwone diody LED dla nadmiernej prędkości. Rysunek 3 pokazuje schemat blokowy oprogramowania wskaźnika.

fg_4

Wewnętrzny zegar procesora powoduje, że Timer0 przepełnia się, co 512μs, co reprezentuje jeden przedział czasowy, czyli fazę multipleksowania. Z ośmiu przedziałów czasowych, jeden steruje trzema górnymi diodami LED, a drugi steruje trzema niższymi diodami LED.
Dla uproszczenie oprogramowania, ostatnie sześć przedziałów czasowych kolejno steruje środkowymi diodami LED. Na początku pętli głównej mikroprocesor zlicza impulsy zegarowe i czeka, aż Timer0 się przepełni.
Po wystąpieniu przepełnienia, porty wyjściowe sterują diodami LED zgodnie z przypisanymi przedziałami czasowymi. Po upływie ośmiu przedziałów czasowych procesor ustawia porty w tym samym stanie. Po 200 odstępach czasowych procesor zlicza impulsy przychodzące z tachometru i strukturę świecenia diod LED zgodnie z liczbą przychodzących impulsów, czyli zgodnie z częstotliwością wejściową.
Obrotomierz wskazuje prędkość obrotową do 120 cykli/s. Dołączone listingi (listing1listing2) oprogramowania zawierają pliki w języku C (led12.c.pdf) oraz w języku asemblerowym (led12.asm.pdf). Źródłowy plik zip zawiera pełny projekt MPLab. Rysunek 4 (na następnej stronie) pokazuje przebiegi, które zostały zdjęte oscyloskopem cyfrowym na portach GP0, GP1 i GP2. Autor: Nedjelko Lekic

pełny materiał w pliku pdf

Komentarze z Facebooka

Komentarze obecnie - OFF.