|
|
|
| Mikrokontroleri |
Autor: Tihomir Stamenković |
|
MIKROKONTROLERSKI REGULATOR BRZINE I SMERA JEDNOSMERNIH (DC) MOTORA Nakon što smo se u prethodna dva broja upoznali sa Atmelovim mikrokontrolerom AT89C2051, prikazaćemo sada jedan praktičan primer u kome se koristi ovaj procesor. Izbor je pao na regulator brzine DC motora, izveden kao kompaktan mali modul koji se može koristiti samostalno, ili u sastavu nekog složenijeg uređaja. Ova aplikacija ujedno pokazuje, koliko upotreba mikrokontrolera pojednostavljuje razvoj i izradu nekog uređaja.
Komponenta na kojoj se bazira ovaj uređaj je Atmelov mikrokontroler AT89C2051, koji obavlja sledeće funkcije:
Tasteri imaju sledeću funkciju: S1 - povećanje brzine S2 - smanjenje brzine S3 - promena smera. Vezivanjem kondenzatora od 100nF paralelno sa tasterima postiže se hardversko eliminisanje smetnji usled treperenja kontakata, čime se uprošćuje program za ovaj uređaj. Displeji se pogone u multipleksu, tako što su segmenti spojeni na PORT1 procesora, a selekcija displeja se vrši pinovima P3. 1 i P3. 7. Signal smera se dobija na pinu P3, 4, a PWM signal kojim se reguliše brzina motora, na pinu P3. 5. Ova dva signala se vode, direktno ili preko invertora C i D kola IC2 na izlazni drajver L298N.
Integralno kolo L298N smešteno je u 15-to pinsko MULTIWATT kućište i prvenstveno je namenjeno za pobudu koračnih motora. Sastoji se iz 4 izlazna kanala koji čine 2 puna tranzistorska mosta. U našoj aplikaciji, ovi izlazni kanali su spojeni u paralelu tako da je dobijen jedan puni tranzistorski most koji se može opteretiti strujom od 3. 5A i na koji se priključuje motor. Led diode LED1 i LED2 služe za vizuelnu indikaciju smera obrtanja motora. Uputstvo za gradnju Uređaj nema kritičnih delova i lako ga je sagraditi. Upotrebljene su jednoslojne štampane pločice što dodatno pojednostavljuje izradu. Za one koji se odluče za samogradnju ovog uređaja evo nekoliko saveta:
Program Program Pisanje programa nebi trebalo da vam zada poteškoća. U cilju olakšanja ovog dela posla prilažemo tablicu izlaza za PORT P1 za pravilno pobuđivanje 7_seg. displeja.
Kako se regulacija brzine motora postiže impulsno-širinski modulisanim (PWM) signalom, evo predloga (Listing) kako da upotrebom raspoloživih tajmera T0 i T1 dobijete PWM signal;
Oba tajmera su u modu 0 (13-to bitni brojači), i T0 radi , a u R0se nalazi zadata brzina (0 - 99) Drugim rečima tajmer T0 broji 99 puta što odgovara periodi PWM signala, a T1 broji zadati broj puta (0-99), što odgovara dužini trajanja PWM impulsa, odnosno brzini motora. Prilikom promene smera motora ubacite obavezno rutinu za kašnjenje, kako bi umanjili strujne udare koji nastaju kada se naglo promeni smer motora. Ovo može dovesti do pregorevanja integralnog kola IC4 ili zaštitnih dioda D5 - D8. Umesto zaključka Upotrebljeni mikrokontroler AT89C2051 obavlja trostruku funkciju (tasteri, displej, motor) i njegove sve raspoložive I/0 linije su zauzete. Izgleda da su mogućnosti za dodatno upošljavanje procesora iscrpljene. Ali dali je tako?Ukoliko ne koristmo decimalnu tačku možemo osloboditi jedan pin (za npr. serijski prijem podataka). Selekciju displeja jedinice desetice možemo vršiti i jednim pinom uz dodatak samo jednog tranzistora, čime smo oslobodili još jedan pin. (neki alarm, serijska predaja podataka i t. d. ) Korišćenjem BCD na 7 segmentni dekoder oslobađamo dodatna tri pina pa se može pogoniti displej sa više cifara, ili npr. povezati procesor sa serijskim EEPROM-om, i dobiti uređjaj koji trajno pamti zadate parametre. Dali su ovo granične mogućnosti čipa u malom 20-to pinskom kućištu? To ipak zavisi od vas i vaše konstruktorske maštovitosti!
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
C o p y r i g h t 1998 mikroElektronika. All Right Reserved. Za sva pitanja obratite se redakciji |