Extras din proiect
Introducere - Obiective
Obiectivul acestui proiect este de a construi o maşină de gaurit automata controlata de un controler bazat pe FPGA, care va primi comenzi de la un computer. Poziţionarea de capului de gaurit fata de piesa de gaurit va fi stabilita de către două motoare pas care vor muta suportul pe care se gaseste prinsa piesa de gaurit pe cele două direcţii perpendiculare , x şi y. Acest suport ce sustine piesa de gaurit se va misca de asemenea in sus si in jos pentru a fi efectuata gaura, miscare ce va fi realizata folosind un motor DC. Un alt motor DC va fi folosit pentru rotirea capului de gaurit.
Controlerul pe baza de FPGA este descris în limbajul Verilog, si consta din mai multe module, care vor controla motoare pas cu pas, de poziţionare. Initial am dorit sa putem comanda si motoarele DC tot cu ajutorul placii FPGA , insa din anumite motive ( pe care le voi specifica mai jos ) nu am reusit.
Acest proiect permite executarea de găuri precis poziţionate si poate avea aplicatii in diferite domenii, cum ar fi: executarea de PCB-uri, artistice, gravura, etc.
Cerinţele proiectului nostru
- Partea mecanica nu trebuie să împiedice ( prin fortele de frecare , forta de greutate etc ) circulaţia suportului piesei de gaurit pe axele X si Y ; partea mecanică este compusă din mai multe motoare pas cu pas, şi echipamentul care permite transmiterea miscarii de rotatie de la motoare la suportul piesei de gaurit
- Sistemul va genera comenzi folosind o placa Nexys 2. Semnalele de iesire vor fi amplificate cu ajutorul unui circuit electronic, pe baza de tranzistori; placa Nexys trebuie să fie protejata de supratensiuni, lucru la care va folosi de asemenea placa electronica pe baza de tranzistori
- În procesul de gaurit se va folosi un program care trebuie să fie într-o formă simplă şi cuprinzătoare
Caracteristici
- Efectuarea de găuri într-o zona specificata
- Mişcări separate si concomitente pe direcţiile X şi Y
- Posibilitatea de a schimba dupa dorinta pozitiile in care masina sa dea gauri , obtinand aceasta prin intermediul modificarii datelor din programul in Verilog.
Necesităţi Hardware
- Placa Nexys-2 FPGA
- 2 motoare pas
- 2 motoare de curent continuu
- switch-uri de limitare a miscarii suportului piesei de gaurit
- suport pentru piesa de gaurit în mişcare insotit cu sistem mecanic de poziţionare
Cerinte Software
- Digilent Software Xilinx ISE WebPack 10.1
Starea proiectului
Design-ul este complet şi îndeplineşte obiectivele sale. Desigur , acest proiect putea sa fie mult mai extins, adica se putea realiza in cadrul lui mult mai multe functii cum ar fi :
- afisarea pozitiilor in care se dau gaurile prin intermediul afisorului LCD incorporat in placa FPGA
- realizarea comenzii motoarelor DC tot cu ajutorul placii FPGA ; aceasta sarcina nu am reusit inca sa o realizam din cauza ca noi am fost obligati sa folosim niste motoare destul de puternice la sarcinile la care au fost folosite. Aceasta ar fi dus la folosirea unor punti Darlington pentru amplificarea semnalui de la 3,5 volti si 300 de mA cat scoate placa FPGA si pana la o putere de cel putin 60 de watti cat ar fi necesitat ; aceste punti ar fi fost necesar sa fie folosite in cascada pentru a amplifica semnalul treptat , folosind tranzistori diferiti pentru fiecare treapta de amplificare : mai intai BD-uri sau ULN2033 , apoi BC-uri , si apoi 2N3055 sau alt tip de tranzistor puternic care sa permita amplificarea semnalului pana la cativa amperi si cateva zeci de volti. Apoi ar mai fi trebuit sa folosim si punti H pentru a se putea inversa semnalul care trece prin motoarele DC , cu scopul de a obtine inversarea sensului turatiei acestor motoare.
- Folosirea unor butoane plasate deasupra si dedesuptul suportului piesei de gaurit; aceste butoane ar fi avut rol de a indica momentul in care suportul a fost ridicat suficient pentru a se fi efectuata gaura , sau ca acest suport a fost coborat suficient pentru a se fi scos burghiul din gaura. Aceaste butoane ar fi transmis un semnal placii FPGA ; in momentul in care placa ar fi primit un semnal de la butonul de deasupra suportului piesei ( ceea ce inseamna ca suportul a atins pozitia superioara si ca deci gaura a fost efectuata cu succes ) placa ar fi decis invesarea sensului de invartire al motoului DC folosit la ridicarea/coborarea suportului , si deci ar fi provocat coborarea suportului; in momentul in care suportul ar fi ajuns in pozitia cea mai de jos , atunci ar fi fost emis un semnal de la butonul de jos , si astfel placa ar fi stiut exact momentul cand sa comande pozitionarea suportului piesei la urmatoarele coordonate ( la coordodatele urmatoarei gauri de efectuat )
- O alta optimizare a proiectului ar fi fost folosirea unui fisier separat de memorie , unde sa fie scrise toate informatiile despre coordonatele gaurilor , despre directiile pe care trebuie sa le aiba motoarele pas cu pas , dar si cele de curent continuu in fiecare moment al oparatiei de gaurire ; de asemenea se putea scrie in acest fisier si o intructiune de sfarsit de program , astfel incat operatia de gaurire sa inceteze intr-un moment dorit de utilizator , chiar daca in mod normal ar mai fi fost inregistrate in memorie si efectuarea de alte gauri La fel , se putea scrie in memorie si o intructiune care sa indice si adresa de start a citirii de informatii , astfel ca , la dorinta utilizatorului sa nu fie necesar ca efectuarea gaurilor sa inceapa cu prima gaura inregistrata in memorie , si sa se poata incepe operatie de gaurire de la o anumita gaura specificata
Preview document
Conținut arhivă zip
- Masina de Gaurit Automata.doc