31. januarja, 2010

Kratka šola programiranja mikrokontrolerjev

Program, v katerem smo uporabili Debounce ukaz je zdaj sledeč:

 

Config Portb = Output
Config Portd.0 = Input
Dim Ledica As Bit
Dim Tipka As Bit
$regfile = "attiny2313.dat"
Do
   Portb = 255
   Debounce Pind.0 , 0, Ukaz , Sub
   Debounce Pind.0 , 1, Ukaz1 , Sub
Loop
End
'Subrutine
Ukaz:
   Portb.0 = Ledica
   Ledica = Not Ledica
   Wait 1
Return
Ukaz1:
   Portb.1 = Ledica
   Ledica = Not Ledica
   Wait 1
Return

Program deluje enako kot predhodnik s tem, da z ukazom Debounce skočimo v subrutino ob določenem pogoju. V kolikor je logično stanje Pind.0 = 0, potem program skoči v subrutino Ukaz, opravi program, ki se nahaja v njej in se vrne na mesto, od koder je skočil v program. Za zahtevnejše uporabnike še povejmo, da lahko čas odskakovanja nastavljamo z ukazom:

Config Debounce = xx

Pri tem da je spremenljivka xx celoštevilčna vrednost od 1 do 255 in predstavlja čas v milisekundah. V kolikor tega ukaza ne uporabimo, je čas odskakovanja nastavljen na 25 milisekund.

Priklop tranzistorja

Na mikrokontroler lahko priključimo porabnike električnega toka, ki trošijo relativno malo. To je cena na račun miniaturizacije mikrokontrolerja, saj njegovi izhodi premorejo krmiliti le do 20 mA izhodnega toka. Zato moramo za krmiljenje porabnikov „težje kategorije“ uporabiti ojačevalnike, kot so tranzistorji. Elektroniki poznamo več vrst tranzistorjev, tokrat se bomo omejili na bipolarne in FET tranzistorje. Pri obojih poznamo P in N tipe. P tipi se krmilijo z logično 0, N pa pa z logično 1. Slika 10 prikazuje osnovni vezavi P in N tipa bipolarnega tranzistorja, slika 11 pa P in N tipa FET tranzistorja.

Shema na sliki 10 kaže priklop bipolarnih tranzistorjev. Opazili boste, da imata oba tranzistorja v priključku baze spojen upor, ki služi zaščiti tranzistorja. Vrednost upora je lahko med 1000 Ohmov (1 kOhm) do 10 kOhmov. Rele (kot breme, ki ga vklapljamo/izklapljamo) je pri NPN tranzistorju (Q1) vezan na +12V, pri PNP-ju pa na +5V. Pri tem velja omeniti, da diodi vezani na rele služita zaščiti tranzistorja pri vklopu/izklopu releja. Prav tako velja poudariti, da mora biti rele pri PNP tranzistorju (Q2) deklariran za delovanje pri nazivni napetosti 5V, medtem ko naj bo rele pri NPN-ju deklariran za nazivno napetost 12V. Pri NPN-ju vklapljamo rele z logično 1 na izhodu mikrokontrolerja, medtem ko pri PNP-ju z logično 0. Shema na sliki 11 je identična tisti na sliki 10. Posebnost sheme na sliki 11 je, da FET tranzistorji ne potrebujejo upora na Gate priključku. Vse ostalo – tudi vklop releja je identičen: NFET (Q1) vklapljamo z logično 1, PFET (Q2) pa z logično 0. Program za vklapljanje in izklapljanje relejev je za sliki 10 in 11 identičen tistemu, s katerim smo vklapljali LEDice. Pri tem moramo le paziti, kateri tip tranzistorja smo uporabili in s katerim logičnim stanjem se ta tip tranzistorja odpre.

Tags: