PROIECT 2012
Proiectele realizate in cadrul Laboratorului de SMP 2012, Fiecare echipa are de completat in pagina WIKI corespunzatoare proiectului in cadrul tabelului de mai jos, in functie de grupa de care apartine La o grupa se poate implementa o singura data un proiect.
Lista cu proiectele disponibile o gasiti AICI.
Punctaj Proiect
-
2p Pagina Wiki in format HTML cu capitolele create - poze(diferite stadii ale proiectului) + schema hardware + listing software (microcontroller + OpenWatcom la Z3)
-
5p Functionalitate proiect - punctaj in functie de cerintele cerute/realizate
-
1p Calitatea proiectului - cat de organizati ati fost in realizarea acestuia, cod format frumos, optimizari etc...
-
2p Nota individuala - participarea voastra in proiect, raspunsul vostru la intrebarile laborantului la presentarea proiectului
Cerinte general valabile:
- Toate proiectele se vor integra software si/sau hardware cu placa EV/Z3. Pentru integrarea hardware se va folosi portul serial al placii EV/Z3
- Logica software de baza se va regasi pe placa EV/Z3 si va fi realizata în C + inline assembly folosind template-ul OpenWatcom de la laborator
- Pagina de wiki trebuie sa contina o descriere a ce a realizat fiecare student in cadrul proiectului
- Daca nu puneti pe site alta schema de proiectare hardware se va folosi cea cu PIC16F628A pusa la dispozitie
- Wiki-ul trebuie updat ca sa vad stadii intermediare ale proiectului
Elemente de electronica
-
Pentru a vedea/comanda un pret estimativ a componentelor va propun www.conexelectronic.ro . Gasiti si alte magazine pe Maica Domnului.
-
Letconul ar trebui sa aiba cam 40W , nu mai mult de 60 oricum , iar fludorul la 1mm-1.5mm. Sa aveti si un voltmetru cu voi.
-
Va recomand inainte sa alegeti proiectul sa cititi cateva elemente de electronica de AICI.
2012_333AB_P1
(Restore this version)
Modified: 4 April 2011, 9:47 PM User: Andrei Dobrin → AD
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
What does the project require to be implemented (both hardware and software). Expected behavior. 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. Acest eprograme vor fi accesate tot de la tastatura.
III. User Flow
Describe the functionality from a users point of view. What an user can do with your app. 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.
IV. Required components
The hardware components used. List them and take a screenshot of them.Compoentele hardware folosite sunt un micrcontroller AVR (ATMega328P), 4 tranzistori MOSFET pentru puntea H, si mufa DB-9 pentru comunicatia seriala.
V. Hardware Design
Add pictures and comments about the hardware implementation. Should include any schematic used in simulation (e.g. Proteus).
VI. Software Design
Describe the software functionality of your project, including code used on EV/Z3 board and the uC board. Discuss your algorithms, data flows and so on. Should post code samples of the most interesting bits.
Codul din main-ul de pe placa EVZ folosit pentru a controla turatia motorului este urmatorul:
kIo.DisplayString("abcdef");
kIo.SerialWrite(COM1, (unsigned char*)&tur, 1);//se da o turatie initiala pentru motor
kIo.Wait(200);//Se asteapta 200ms
kIo.DisplayString("DC motor");//ce se afiseaza pe display-ul placii EVZ
while(1){//bucla infinita in care se asteapta comenzile
key = kIo.ReadKey();//citirea unei taste de la tastatura placii EVZ
switch(key){
case 6://tasta "C" care scade turatia
if((int)tur>65){//se verifica daca comanda ce trebuie daca depaseste valorile admise
tur--;//se decrementeaza turatia
kIo.SerialWrite(COM1, (unsigned char*)&tur, 1);//se da comanda catre motor
kIo.Wait(200);
}
break;
case 16://tasta "D" care creste turatia
if((int)tur<90){
tur++;
kIo.SerialWrite(COM1, (unsigned char*)&tur, 1);
}
break;
case 4://tasta "8" care intra in primul program. Acest program opreste motorul, air apoi in duce
//treptat catre valoarea mazima a turatiei
tur='M';
for(;(int)tur<=90;tur++){
kIo.SerialWrite(COM1, (unsigned char*)&tur, 1);
kIo.Wait(1000);
}
break;
case 3://tasta "6" care intra in cel de-al doilea program
tur='M';
kIo.SerialWrite(COM1, (unsigned char*)&tur, 1);
kIo.Wait(1000);
tur='P';
kIo.SerialWrite(COM1, (unsigned char*)&tur, 1);
kIo.Wait(1000);
tur='J';
kIo.SerialWrite(COM1, (unsigned char*)&tur, 1);
kIo.Wait(1000);
tur='S';
kIo.SerialWrite(COM1, (unsigned char*)&tur, 1);
kIo.Wait(1000);
tur='G';
kIo.SerialWrite(COM1, (unsigned char*)&tur, 1);
kIo.Wait(1000);
tur='Z';
kIo.SerialWrite(COM1, (unsigned char*)&tur, 1);
break;
case 14://tasta "9" care intra in cel de-al treilea program
tur='M';
for(;(int)tur>=65;tur--){
kIo.SerialWrite(COM1, (unsigned char*)&tur, 1);
kIo.Wait(1000);
}
break;
case 2://tasta "4" care opreste motorul
tur='M';
kIo.SerialWrite(COM1, (unsigned char*)&tur, 1);
kIo.Wait(200);
break;
default:
tur='M';
kIo.SerialWrite(COM1, (unsigned char*)&tur, 1);
kIo.Wait(200);
}
}
VII. Results
Data about the final project implementation. Includes screenshots, movies, comments about your project in action.
VIII. Download
After you have presented your project at the laboratory (week 13-14) you will add all your sources here. Any hardware simulation used, code archive and so on.
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.