MACS, MECANICĂ PATRU PICIOARE

Recomandați documente

macs

Colegiul de Tehnologie din Budapesta János Neumann Facultatea de Informatică Institutul de Tehnologie Software

TEZĂ ȘTIINȚIFICĂ A ELEVULUI

MACS, MECANICĂ PATRU PICIOARE

Dániel Kancsár inginer, informatică, III. anul Péter Sípos inginer, informatică, anul I

Zoltán Vámossy profesor asociat

Cuprins CUPRINS. 2 INTRODUCERE. 3 REZUMAT. 3 ROBOT. 3 ROBOT, AUTOMAT, ANIMAT. 3 COMPONENTE. 4 SISTEME SIMILARE. 4 PREZENTARE GENERALĂ. 4 Funcția obiect. 4 Algoritmi de luare a deciziilor. 5 Interfață utilizator. 5 Cadrul. 5 REZULTATE. 6 SOFTWARE. 6 Controler motor. 6 3Drobot. 7 Comunicare externă prin port LPT. 8 HARDWARE. 8 Comunicare externă prin port LPT. 8 motoare pas cu pas. 9 Electronică. 9 Izolarea galvanică. 10 Demultiplexor. 10 Etapa de conducere. 11 ALTE DEZVOLTĂRI. 12 SOFTWARE. 12 3Dmatrix. 12 jocuri. 12 HARDWARE. 12 Comunicare în serie. 12 Transmisie de date radio. 12 Viziunea. 12 REFERINȚE. 13 ANEXĂ. 14

Pagina 2 din 19

Introducere Rezumat Subiectul disertației este dezvoltarea hardware-ului pas cu pas care poate continua prin executarea comenzilor emise de pe un computer. Scopul secundar este de a dezvolta un cadru și un program de control prin care instrucțiunile pot fi emise unității.

Robot Termenul a apărut în 1921 de către Karel Capek scriitorul ceh R.U.R. - Roboții universali ai lui Rossum -. Altfel, cuvântul poate fi urmărit înapoi la cuvântul „robot, rábotá” (lucru) găsit în limbile slave. În viziunea lui Capek, robotul este deja o structură autonomă, capabilă de memorie, capabilă să învețe, într-un sens un înlocuitor uman. [1]

Robot, automat, animat Deoarece nu există o definiție uniform acceptată a unui robot, vorbim despre un robot dacă sunt îndeplinite următoarele aspecte: - programabilitate - senzori - memorie de citire/scriere - adaptabilitate - capacitate de învățare sau automat: - programabilitate - senzori termenul animat este animalul englez (animal) și poate fi considerat o ramură specială a roboticii. Aceasta implică construirea unui model de mașină de animale. Există, de asemenea, animații cu opt, șase, patru, trei, două și chiar cu un singur picior. Cea mai dificilă sarcină este să dezvolți o strategie de mers, adică câte picioare rămân pe sol în timpul pasului și unde îți cade centrul de greutate. De exemplu, conform stabilității statice, un robot cu patru picioare are trei picioare pe sol în același timp, iar centrul său de greutate se află în triunghiul închis de cele trei picioare.

Pagina 3 din 19

Prezentare generală Conceptul nostru de bază pentru proiect este implementarea unei entități fizice care poate fi controlată printr-un cadru printr-o interfață cu utilizatorul. Acest tip de implementare este important deoarece, ca urmare a dezvoltărilor ulterioare, dorim să realizăm că un obiect fizic, ca să spunem așa, este controlat de un program prin specificarea anumitor funcții obiective. Toate acestea, astfel încât acest controler să nu știe că controlează în prezent o entitate fizică sau joacă un joc virtual, iar separarea cadrului și a interfeței cu utilizatorul poate ajuta la acest principiu. [Figura 1]

Funcția obiectiv Funcția obiectiv este utilă pentru controlul automat. Ne permite să spunem algoritmului dacă rezultatul actual poate fi considerat mai bun sau mai rău decât starea anterioară.

Pagina 4 din 19

Algoritmi de luare a deciziilor Cele două intrări în algoritmul de luare a deciziilor sunt dacă acesta a fost într-o stare mai bună de la rezultatul anterior, pasul. La fel ca și un mediu din care trebuie să faceți următorul pas. Pe baza acestor două date, trebuie să decideți ce direcție să mergeți. Pentru simplitate, cele patru direcții de bază sunt, de asemenea, perfecte.

Interfața cu utilizatorul Interfața cu utilizatorul planificată poate include numai lucruri care permit un nivel ridicat de control asupra entității. De exemplu: înainte, înapoi, întoarcere, urmărirea obiectelor.

Cadrul Cadrul trebuie să aibă o interfață atât pentru controlul automat, cât și pentru controlul utilizatorului, dacă aceste două sunt îndeplinite, trebuie doar să compileze și să transmită comenzile primite entității.

Pagina 5 din 19

Figura 13, http://www.bmfnik.hu/macs [7]

Controler motor Controlul curent este implementat de acest program. A fost inventat pentru trimiterea de date prin portul paralel. Folosește cei 4 biți superiori ai portului paralel pentru a se adresa motoarelor și cei 4 biți inferiori pentru a trimite datele. Acest lucru se realizează în lumea fizică cu un demultiplexor. Există două moduri de a opera programul. Primul este să controlezi un motor. În acest caz, trebuie selectat un motor, care va fi scris în cei 4 biți superiori ai semnalului transmis, iar apoi trebuie selectată secvența sau pasul pe jumătate complet asociat motorului. Esența etapelor jumătate și complete este următoarea. Motoarele electrice pe care le folosim au 4 bobine. Așa cum este descris în secvență, de ex. 1,2,4,8 devin active. Pe rand. (o secvență completă = un impuls) Motoarele noastre pot fi operate mai precis decât pasul complet, acest lucru se face în jumătatea pasului. Secvența rămâne, doar așa-numitul. de asemenea, ne aducem bobinele în stări intermediare, de ex. Între starea 1.2, starea dintre cele două va fi suma celor două, adică 1,3,2. Dacă socotim acest lucru, pagina 6, total: 19

3Drobot Programul este utilizat pentru afișarea vizuală și modelare. Deoarece entitatea noastră este realizată prin oglindire și motoarele au o locație fixă, centrul de greutate poate fi determinat doar din calcule geometrice, acest lucru este realizat și de program. Poate fi utilizat independent de programul de control al motorului, dar și cu acesta. Fiecare motor este conectat la punctul corespunzător din modelul 3D, astfel încât controlul care iese din computer va apărea și în programul de modelare. Astfel, nu este necesar ca hardware-ul să fie conectat la PC, ca urmare a simulării, fișierele care descriu fiecare mișcare pot fi testate practic pentru stabilitate. [5. Figura]

Pagina 7 din 19

Comunicarea externă prin portul LPT pe sistemele pre-WindowsNT, acest lucru a fost posibil și cu adresarea directă a porturilor, de ex. Port [378 USD]: = 255;. Cu toate acestea, adresarea directă a magistralei este deja dezactivată pe WindowsNT și sistemele bazate pe aceasta (2000, XP). Prin urmare, intenționăm să folosim portul paralel folosind un IO.DLL corespunzător unei pagini web [6]. Aceasta este o bibliotecă complet gratuită. Cu acest DLL, portul paralel poate fi utilizat cu o simplitate similară, de ex. PortOut (378.255 dolari); Ambele linii de program transmit semnalul maxim. 8 biți de date (25510 = 111111112, 256 de stări) pot fi expediați și 5 biți de date (32 de stări) pot fi primiți simultan pe portul paralel.

Pagina 8 din 19

Electronică Electronica de comandă formează puntea dintre motoare și computer. Drept urmare, sarcina sa este foarte diversă. Procesează datele primite și apoi le transmite către un motor adecvat. În plus, monitorizează semnalele care revin de la motoare și le transmit computerului.

Pagina 9 din 19

Demultiplexor Odată ce intrările și ieșirile izolate galvanic sunt disponibile, puteți începe procesarea semnalului. Primim 8 biți de la portul paralel din registrul de date. Aceasta a fost împărțită prin asigurarea controlului motorului până la D0-D3 și adresarea până la D4-D7. Deci adresarea noastră este un număr binar pe 4 biți care poate lua valori de la 0 la 15. Prin urmare, fiecare valoare este mapată la un motor. Numărul de patru biți este descompus de demultiplexor. [11. Figura] În acest scop, se utilizează demultiplexorul cu 4 intrări și 16 ieșiri 74C154N (24 = 16). Are 4 intrări puse, 2 picioare de activare negative și conectate și 16 ieșiri negative și puncte de alimentare și împământare (nu sunt prezentate). Ieșirile demultiplexorului controlează un tranzistor, care pornește și oprește tensiunea de alimentare a motoarelor pas cu pas. Astfel, toate motoarele primesc controlul în același timp, dar numai cele care primesc activarea și, în consecință, tensiunea de alimentare, îl vor executa.

Pagina 10 din 19

Etapa de acționare Aceasta constă în esență în nimic mai mult decât un câmp tranzistor. Deoarece motoarele sunt conectate unipolar, avem nevoie de 4 + 1 tranzistori per motor. Baza celor 4 tranzistoare NPN primește controlul de la D0-D3 și permite curentului să curgă pe bobina corespunzătoare. Tranzistorul PNP primește semnalul de activare de la demultiplexer, care controlează alimentarea cu energie a întregului motor. [12. Figura]

Pagina 11 din 19

Dezvoltări ulterioare Software 3Dmatrix Acest program stă la baza dezvoltărilor ulterioare, susține implementarea algoritmilor de căutare a obiectelor adecvate pentru modelarea informațiilor extrase cu un telemetru laser. Folosit pentru a afișa 60 * 40 de puncte utilizate pentru viziune. Salvați cu opțiuni de încărcare. (XML, fișier text) Programul este folosit pentru a ilustra astfel încât să putem vedea (ce) vedem și ce ar trebui să vedem.

Joc O implementare specifică a unui joc numit „șarpe” cunoscut de pe telefoanele mobile. A fost dezvoltat pentru testarea ulterioară a algoritmilor de luare a deciziilor.

Hardware Comunicare serial Avantajul comunicării seriale în paralel este că transmite date, pachete, nu informații de control. În cazul în care cantitatea de date de comunicare dintre software și hardware crește, aceasta oferă o alternativă bună. Unitatea de procesare și memoria situate pe hardware oferă o oportunitate de a reduce și mai mult traficul de date.

Transmisia de date radio O alternativă la transmisia de date prin cablu este transmisia radio. Oferă mai multă libertate decât o soluție cu infraroșu sau cablu și există un CI prefabricat care să o ușureze mult. Cu toate acestea, condiția de bază este ca o unitate de procesare a semnalului (PIC) să fie conectată în serie.

Viziune Esența principiului de funcționare se bazează pe telemetrul laser destul de obișnuit. Esența acestui fapt este că emite un fascicul laser modulat și apoi calculează distanța față de diferența de fază a razelor laser reflectate și de ieșire. Ei bine, localizatorul laser face la fel, numai în timp ce distanța determină distanța de 1 punct, determină punctul n * m. Aceasta oferă o matrice ale cărei valori includ distanțele diferitelor coordonate, din care putem crea o imagine cu ajutorul unui program.

Pagina 12 din 19

Referințe [1] [2] [3] [4] [5] [6] [7]

http://www.rezandras.hu/mozi_geplelek.htm http://www.leggedrobots.com http://www.iguana-robotics.com/researchtc.htm http://www.radiometrix.com/html/products /apnt1.html http://www.vcomsoft.com/infopage/PARALLELPORTDATA.html http://www.geekhideout.com http://www.bmfnik.hu/macs

Pagina 13 din 19

Anexa 1. Tabel, comparație cu datele leggedrobots.com.

Tip Lungime Lățime Înălțime Greutate Viteză Alimentare

R0 28 [cm] 20 [cm] 24 [cm] 1,1 [kg] 5 cm/s 12V DC, extern

R1 28 [cm] 20 [cm] 24 [cm] 1,0 [kg] 15 cm/s 12V DC, extern

Picioare Distanța picioarelor Lățimea picioarelor Motor Motoare rotative Motoare de acționare Feedback picioare Control motor Microprocesor Senzori Comunicare internă Comunicare externă Cod program

două părți 165: 80 mm 20 [cm] N/A Aluminiu N/A Micromotoare B138F.12.1470 Potențiometru 5k 6x ST L293D PIC16F77 20MHz Senzor de gravitate ADXL202 N/A RS232 prin cablu PIC16 Ansamblu, MPLAB IDE

două părți 165: 80 mm 20 [cm] N/A Aluminiu N/A Micro Motoare L149.12.392 Potențiometru 4.7k 6x ST L293D PIC16F77 16MHz Senzor de gravitate ADXL202 N/A RS232 prin cablu PIC16 Ansamblu, MPLAB

Tip dezvoltator Lungime Lățime Înălțime Greutate Viteză Alimentare picioare Distanță picior Lățime picior Material Motoare rotative Motoare de acționare Picioare Feedback Control motor Microprocesor Senzori Comunicare internă Comunicare externă Cod program

R2 40 [cm] 24 [cm] 27 [cm] 1,3 [kg]? cm/s 12V DC, extern sau intern 4x3V Lit. Baterie două părți 22:10 cm 26 [cm] 12,5 [cm] Micromotoare din aluminiu B138F.12.1470 Micromotoare L149.12.392 Potențiometru 4.7k 8x ST L293D PIC16F876, PIC16F77 16MHz N/A I2C RS232 prin cablu PIC16 Ansamblu, MPLAB

propriu M0 26 [cm] 16 [cm] 13 [cm] 2,4 [kg]? cm/s 12V DC, două părți externe, 14:14 cm 33 [cm] N/A LEGO (plastic) Motoare pas cu pas EM34-93 N/A Microswitch-uri externe proprii, PC N/A N/A LPT prin cablu extern, Delphi

Pagina 14 din 19

Figura 1, prezentare generală.

Figura 2, controlerul motorului, controlul unui motor.

Pagina 15 din 19

Figura 3, controler motor, control motor multiplu.

Figura 4. Tester port port.

Pagina 16 din 19

Figura 6, D0-D7 - Date, S3-S7 - Stare, C0-C3 - Control. [4]

Tabelul 2, Numele pinilor indică faptul că acestea sunt destinate comunicării între imprimantă și computer. [5] Numărul de picioare 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18-25

Nume (SPP) Strobe Data 0 Date 1 Date 2 Date 3 Date 4 Date 5 Date 6 Date 7 Ack. Hârtie ocupată Selectați Auto-Linefeed Error/Fault Initialize Select Ground

Direcție (intrare-ieșire) intrare/ieșire out out out out out out out out out in in in in in/out in/out in/out Gnd

Înregistrează date de control date date date date date date date date stare stare stare control stare stare control control -

Negativ Da Da Da Da

Pagina 17 din 19

Figura 7. Controlul bipolar.

Figura 8. Control unipolar.

Figura 9, Cablarea optocuploarelor cu carcasă DIL6.