2012_333AB_P1

Controlul turatiei unui motor de curent continuu [edit]

  [edit]

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.

 atmega328p.pde

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.