2012_333AB_P1
Controlul turatiei unui motor de curent continuu
I. Project Description
Proiectul pe care l-am realizat controleaza turatia unui motor cu ajutorului microprocesorului 386EX de pe placa EVZ3 disponibila in laborator.
II. Project Requirements
Acest proiect necesita construirea unei placute care contine un microcontroller ATMega328P si o punte H (controller de motor), controlate de placa EVZ3, prin intermediul tastaturii matriceale disponibila.
Theacher Proposal
- placa cu ATMEGA , placa de test 50*100, driver curent pentru motoare + PWM.
- placa Z3 va trimite prin seriala turatia motorului, directia de rotatie. Pe LCD-ul placii Z3 trebuie sa afisati turatia curenta. O sa aveti butoane de +/- pentru controlul turatie implementate tot pe placa de Z3.
- trebuie sa aveti 2 programe de control al turatiei : gen 10 s la 40% urmat de 4s 10% pentru simularea unui deplasament. Aceste programe vor fi accesate tot de la tastatura.
III. User Flow
Utilizatorul foloseste butonele C si D pentru a creste, respectiv a descreste viteza, iar cu tasta 4 opreste complet motorul. De asemenea, exista 3 programe automate pentru controlul automat al turatiei. Tastele 6, 8 si 9 pornesc programele, care la interval de o secunda schimba atat turatia cat si viteza motorului. Acestea ar putea fi folosite, de exemplu, pentru a automatiza un proces rapid.
IV. Required components
Compoentele hardware folosite sunt un micrcontroller AVR (ATMega328P), 4 tranzistori MOSFET pentru puntea H (2x IRF540N - de tip N si 2x IRF5305 - de tip P), rezistente de 10k si 1k, un stabilizator 7805 pentru alimentarea microcontrollerului, si mufa DB-9 pentru comunicatia seriala. Transformarea nivelului logic se face cu un tranzistor NPN montat cu emitorul la masa, care lucreaza ca un inversor.
V. Hardware Design
Pentru a vedea diferite faze de construire a placutei, va invit pe https://www.dropbox.com/sh/3wugbcjpucfe914/Q4N65WwLEX/poze%20proiect%20smp
Schema este tot printre acele poze, sau aici.
VI. Software Design
Codul folosit pe atmega328p porneste comunicatia pe serial si asculta comenzi de la microprocesorul 386. Initial, trimite comanda pentru a opri motorul, iar daca primeste o comanda in intervalul ['A', 'O'] motorul se invarte in sens trigonometric, cu viteza proportionala cu comanda primita. Caracterul 'M' codifica oprirea motorului. Analog, intervalul ['N', 'Z'] reprezinta vitezele pentru sensul invers.
Codul din main-ul de pe placa EVZ folosit pentru a controla turatia motorului este urmatorul:
http://dl.dropbox.com/u/25102477/turatie.zip [nu am reusit sa pun arhive pe moodle]
VII. Results
Proiectul a functionat asa cum a fost descris in cerinte, viteza putand fi reglata suficient de precis si corect.
VIII. Download
http://dl.dropbox.com/u/25102477/turatie.zip
atmega328p.pde
https://www.dropbox.com/sh/3wugbcjpucfe914/Q4N65WwLEX/poze%20proiect%20smp
IX. Status
Proiectul a functionat complet la prezentarea de miercuri.
X. Personal Contribution
Claudiu s-a ocupat de construirea placutei si lipirea componentelor electronice pentru puntea H. Andrei a fost responsabil de partea software, pe placa EVZ3, in C, cat si pe microcontroller, in limbajul C++, cu ajutorul unei librarii de serial.