This shows you the differences between two versions of the page.
pm:prj2021:apredescu:walking_robot [2021/04/25 23:24] gheorghe.cretan created |
pm:prj2021:apredescu:walking_robot [2021/06/04 15:41] (current) gheorghe.cretan |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Water dispenser ======= | + | ====== Walking robot ======= |
Student: Cretan Gheorghe-Cristian | Student: Cretan Gheorghe-Cristian | ||
Line 8: | Line 8: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
+ | Mișcarea robotului față/spate și schimbarea direcției stânga/dreapta este | ||
+ | executată prin intermediul driverului de motoare L928N, setând motoarele HIGH | ||
+ | sau LOW în functie de direcția de mers. | ||
+ | Control prin bluetooth a fost efectut folosind modului HM-10 și GamePad-ul | ||
+ | din aplicația Dabble. | ||
+ | Evitarea coliziunilor este îndeplinită folosind senzorul ultrasonic. Atunci | ||
+ | când acesta detectează un obiect la o distantă mai mică de 10cm, robotul va merge | ||
+ | cu spatele și va executa o rotație la 90 de grade în sens trigonometric. | ||
+ | Rezervorul este monitrizat folosind două leduri. Atunci când bateria are un | ||
+ | voltaj mai mic decât 50% din valoarea sa, un led roșu se va aprinde, în caz contrar | ||
+ | un led verde este aprins. | ||
+ | Corectarea traiectoriei este efectuată folosind magnetometrul de pe senzorul | ||
+ | MPU9250. Programul stochează într-o variabilă poziția inițială a robotului, urmând | ||
+ | ca în timpul mișcării frontale să fie calculată eroarea medie. Dacă eroare este mai | ||
+ | mare de o valoare de offset, programul va reduce viteza pe unul dintre motoare, | ||
+ | urmărindu-se evoluția erorii. În cazul în care valoarea absolută a acesteia crește, se | ||
+ | va micșora viteza celuilalt motor. | ||
+ | |||
+ | Accelerația este afișată pe portul serial, folosind accelerometrul de pe | ||
+ | senzorul MPU9250, acesta având o precizie de mm/s² (val. max < 10.000), afișarea | ||
+ | se va face în unități de măsură din SI (m/s²). Pentru calculul vitezei am introdus | ||
+ | accelerația (a) în legea vitezei: v = v0 + Δt. Intervalul de timp pe care se | ||
+ | calculează viteza este obținut prin intermediul unui timer: la fiecare execuție a | ||
+ | loop-ului se calculează folosind formula: Δt = t_{curent} - t_{anterior}. În momentul în | ||
+ | care ambele motoare sunt oprite viteza este resetată la 0, astfel obținându-se o | ||
+ | calibrare. | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Lista de piese: | Lista de piese: | ||
- | - Arduino UNO | + | 1. KIT șasiu & 2 motoare cu reductor |
- | - Motor 5V reductor | + | |
- | - Senzor ultra-sunete hc-sr04 | + | |
- | - Driver Motor L298N | + | |
- | - Modul Bluetooth HC-05 | + | |
- | - Afisaj Led | + | |
- | ===== Software Design ===== | + | {{:pm:prj2021:apredescu:331cc_cretan_cristian_kit_sasiu.png?200|}} |
- | ===== Rezultate Obţinute ===== | + | 2. Driver motoare: L298N |
+ | {{:pm:prj2021:apredescu:331cc_cretan_cristian_driver_motoare.png?200|}} | ||
+ | |||
+ | 3. Modul bluetooth HM10 4.0 | ||
+ | |||
+ | {{:pm:prj2021:apredescu:331cc_cretan_cristian_modul_bluetooth.png?200|}} | ||
+ | |||
+ | 4. Senzor cu magnetometru, accelerometru, giroscop MPU-9250 | ||
+ | |||
+ | {{:pm:prj2021:apredescu:331cc_cretan_cristian_senzor_magnenometru.png?200|}} | ||
+ | |||
+ | 5. Senzor ultrasonic HC-SR04 | ||
+ | |||
+ | {{:pm:prj2021:apredescu:331cc_cretan_cristian_senzor_ultrasonic.png?200|}} | ||
+ | |||
+ | 6. Placuta Arduino Uno | ||
+ | |||
+ | {{:pm:prj2021:apredescu:331cc_cretan_cristian_placuta_arduino.png?200|}} | ||
+ | |||
+ | ===== Software Design ===== | ||
+ | Schema electrica: | ||
+ | |||
+ | {{:pm:prj2021:apredescu:331cc_cretan_cristian_schema.png?200|}} | ||
+ | ===== Demo ===== | ||
+ | [[https://youtu.be/iVeWIP84nFM]] | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
===== Download ===== | ===== Download ===== | ||
+ | Save as PDF: [[https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/walking_robot?do=export_pdf]] | ||
+ | {{:pm:prj2021:apredescu:platforma_comandata_de_la_distanta.rar}} | ||
===== Bibliografie ===== | ===== Bibliografie ===== | ||