Članak - 2. dio
Home Up

 

            

Članak iz "Radio T9" broj 11 (decembar 2000.-januar 2001.)

U prethodnom broju smo se upoznali sa mikrokontrolerom PIC16F84 i vidjeli šta nam je sve neophodno za njegovu upotrebu. Pogledajmo sada kako se na bazi ovog mikrokontrolera može realizirati napredan elektronski taster.

 

Do sada se svaki ljubitelj telegrafije i samogradnje vjerovatno susretao sa bezbroj različitih realizacija elektronskih tastera. Za ilustriranje primjene mikrokontrolera elektronski taster je izabran iz više razloga. Kao prvo, njegova realizacija na bazi mikrokontrolera je relativno jednostavna, a pruža vrlo dobar uvid u način rješavanja problema primjenom mikrokontrolera. Zatim, poređenje ovakve realizacije sa već poznatim pruža dobar uvid u prednosti programski realiziranih funkcionalnosti u odnosu na fiksno ožičena kola, obzirom da je bez većih teškoća naknadno moguće izvršiti čak i znatne modifikacije programa. I na kraju, baš na ovom primjeru ćemo vidjeti kako je realizacijom na bazi mikrokontrolera moguće proširiti funkcionalnosti u odnosu na klasične realizacije. 

Šema elektronskog tastera na bazi mikrokontrolera PIC16F84 je prikazana na slici 1.  Taster se napaja sa 9-12 V =. Osim PIC16F84 korišteno je još i kolo MAX232 proizvođača MAXIM ili neki njegov ekvivalent, te dobro poznato NE555. Pogledajmo sada malo bliže funkciju svakog od ovih kola.  

Od 13 ulazno-izlaznih linija kola PIC16F84 (RA0-RA3, RB0-RB7), RA0-RA2, te RB7 se koriste kao izlazi, a RA4, te RB0-RB5 kao ulazi. Pin RB6 je ostao neiskorišten. Smjer ovih linija se određuje softverski, postavljanjem vrijednosti u registre TRISA i TRISB, pri čemu setovanje nekog bita registra određuje da njemu pripadajuća linija predstavlja ulaz, a resetovanje aktivira liniju kao izlaz. Tako je za ovaj slučaj u registar TRISA upisan broj 0x10 (odnosno 10000 binarno), a u registar TRISB broj 0x7F (odnosno 01111111 binarno). Osim određivanja smjera ulazno-izlaznih linija mikrokontrolera, program koji je u njega upisan treba da realizira i funkciju svakog od pinova. Tako je programski realizirano da dovođenje logičke jedinice (napona 5 V) na ulaz RB0 proizvodi niz kratkih impulsa (tačaka), a na RB1 niz dugih impulsa (crtica) na izlazima RA0 i RA3 (ako je zujalica aktivirana). Pri tome se precizno čuva pravilan odnos tačka-pauza-crta (1:1:3) bez obzira na brzinu otpravljanja koja je postavljena. Osim toga, istovremeno dovođenje logičke jedinice na ulaze RB0 i RB1 proizvodi naizmjenično crte i tačke, što omogućava korištenje squeeze ručica. Programski je takođe pinovima RB2 i RB3 pridružena funkcionalnost smanjivanja, odnosno povećavanja brzine otpravljanja. Dovođenje logičke jedinice na pin RB4 prebacuje elektronski taster između lokalnog moda (kod koga se znakovi otpravljaju ručicom) i terminalskog moda (kod koga se otpravljaju znakovi koji se kucaju na bilo kom terminalu sa RS-232 serijskom vezom, npr. PC računaru sa nekim od terminalskih programa kao što su Telix ili Telemate). Trenutno aktivni mod se indicira LED diodama, pa tako LED2 indicira da je taster u lokalnom, a LED1 u terminalskom modu rada.  

Zadržaćemo se još kratko na terminalskom modu. Kod ovog moda, PC računar ili terminal šalje ASCII kod znaka pritisnutog na tastaturi preko RS-232 veze, a mikrokontroler na osnovu ASCII koda određuje Morzeov kod koji je potrebno otpraviti. Nakon otpravljanja, kao potvrda se preko RS-232 veze šalje ASCII kod otpravljenog znaka. Na ovaj način je bez nekog posebno kompliciranog protokola osigurano da se uvijek ima potvrda otpravljanja, što opet omogućava da se na strani PC računara može razviti neki program primjereniji od običnih terminalskih programa za primjenu ovakvog elektronskog tastera (npr. za rad u takmičenjima ili slično). U slučaju da se otkuca neki znak koji nema Morzeov kod, takav znak se samo vraća nazad, bez otpravljanja bilo kakvog znaka na elektronskom tasteru.  

Dovođenje logičke jedinice na pin RB5 uključuje, odnosno isključuje ugrađenu zujalicu, tako što aktivira odnosno deaktivira otpravljanje znakova na izlazu RA3 koji upravlja zujalicom. RB7 služi kao TxD linija serijske veze, čija su stanja predstavljena naponima od 0 i 5 V. Preko izlaza RA0 se upravlja tranzistorom T1. Ovaj tranzistor je ostavljen sa otvorenim kolektorom, tako da je njime moguće direktno tastovati predajnik, ili se izvan pločice može ugraditi relej za tastovanje. Ovisno o izabranom načinu treba izabrati i tranzistor, kako ne bi došlo do njegovog proboja. Sa tranzistorom BF258 navedenim na šemi je moguće prekidati struju do 50 mA, kod napona do 250 V.  Izlazi RA1 i RA2 aktiviraju LED1 i LED2, ovisno o aktivnom modu rada, kako je već gore pomenuto.  Pin RA4 služi kao RxD  linija serijske veze, a ulazni naponski nivoi su 0 i 5 V. Ovim bi bio završen kratak opis funkcija svake od ulazno-izlaznih linija koje se koriste. 

Prije opisivanja preostalog dijela šeme, pozabavimo se još nekim detaljima koji su realizirani u programu koji je upisan u PIC16F84. Obzirom da PIC16F84 posjeduje i EEPROM za podatke, a obzirom da bi bilo poželjno da se postavljena stanja tastera pamte i nakon njegovog isključivanja, i to je realizirano upravo tako što se trenutno postavljena brzina, kao i status zujalice pohranjuju u EEPROM-u, gdje ostaju i nakon isključivanja napona napajanja. Kada se elektronski taster ponovo uključi, za vrijeme njegove inicijalizacije se očitaju pohranjene vrijednosti tako da nije potrebno ponovo postavljati brzinu, te uključivati ili isključivati zujalicu. Osim toga, u terminalskom modu će pritisak na znak & dati informaciju o softveru  elektronskog tastera, a pritisak na # će elektronski taster prebaciti u lokalni mod.  

Sada ćemo pogledati još preostali dio šeme. Kolo MAX232 služi kao RS-232 transceiver, koji TTL naponske nivoe od RB7 pretvara u naponske nivoe RS-232 TxD linije (-12 i +12 V), te koji naponske nivoe RS-232 Rx linije pretvara u TTL naponske nivoe. Sve potrebne napone ovo kolo generiše interno, uz upotrebu vanjskih kapaciteta, čija vrijednost može i odstupati od vrijednosti navedenih na šemi, ali bi svi trebali biti iste vrijednosti. Na pinovima 13, 14 i 15 MAX232 imamo redom signale RxD, TxD i GND. U tabeli 1 je pregled spojeva ovih linija na različite serijske kablove. 

Linija Null-modem (DTE-DTE) kabl Normalni DTE-DCE kabl
Sub-D 9 male Sub-D 25 male Sub-D 9 female Sub-D25 female
RxD 2 3 3 2
TxD 3 2 2 3
GND 5 7 5 7

Tabela 1

 Zujalica je realizirana pomoću kola NE555 i daje signal dovoljne jačine da može direktno napajati mali zvučnik impendanse 8 W. Napajanje ovog kola se dovodi preko tranzistora T2, kojim upravlja izlaz RA3 i na taj način se zujalica uključuje i isključuje. Vrijednosti elemenata nisu kritične, ali utiču na frekvenciju zvuka koji zujalica emituje, te na njegov kvalitet. 

Na slici 2 je predstavljena štampana pločica razvijena za ovaj elektronski taster. Integrisana kola, naročito PIC16F84, je poželjno montirati u podnožja. Takođe, pri rukovanju sa PIC16F84 je potrebno obratiti pažnju na statički elektricitet, kako se kolo ne bi oštetilo. Slika 3 predstavlja montažnu šemu. 

Kada se uređaj sagradi, da bi profunkcionisao, potrebno je u mikrokontroler upisati program kojim se realizira elektronski taster. Šta više, nije preporučljivo neprogramiran mikrokontroler u uređaju dovoditi pod napon, obzirom da bez programa ulazno-izlazne linije neće biti ispravno inicijalizirane, što bi moglo i oštetiti kolo. Ako ste sagradili programer koji je predstavljen u prethodnom članku i sa interneta download-ali program PicProg, tada vam je još neophodan HEX-fajl, odnosno asemblirani program koji se treba upisati u mikrokontroler. Njega možete download-ati sa stranice autora tastera (odnosno moje malenkosti) na adresi http://www.qsl.net/t95mwl/projects. A oni koji nemaju programer ili želju da se bave upisivanjem programa u mikrokontroler, kao i svi oni koji imaju bilo kakva pitanja ili komentare vezano za ovaj elektronski taster ili teme kojima su se bavila ova dva članka, mogu se obratiti autoru na putem e-maila ([email protected]) ili preko ARA BiH. 

Iako ovaj elektronski taster već u svojoj prvoj verziji ima dosta funkcionalnosti, još uvijek je ostalo mjesta za proširenja, kao što je npr. iskorištenje preostalog EEPROM-a za memorisanje kraćeg teksta, ili dodavanje nekih komandi, kao što je automatski poziv i slično. Takođe, kako je već pomenuto, na strani PC računara se lako može razviti program koji omogućava jednostavniji rad sa elektronskim tasterom u takmičenjima ili njegovu primjenu u obuci iz telegrafije.

Slika 4: Izgled sagrađenog tastera. 

Nazad:

Članak iz "Radio T9" br. 10

 

  [email protected]

This site  was last updated on 03/20/01.

 You are visitor number since 06/08/98