This shows you the differences between two versions of the page.
pm:prj2022:avaduva:andrei.ionescu3107 [2022/06/02 02:29] andrei.ionescu3107 [Software Design] |
pm:prj2022:avaduva:andrei.ionescu3107 [2022/06/02 03:07] (current) andrei.ionescu3107 [Jurnal] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Robot Pendul Invers ====== | ====== Robot Pendul Invers ====== | ||
Autor: Ionescu Andrei | Autor: Ionescu Andrei | ||
- | <note important>Pagina este in constructie!</note> | + | |
+ | Grupa: 333CA | ||
===== Introducere ===== | ===== Introducere ===== | ||
Proiectul consta intr-un robotel pe 2 roti, controlat din telecomanda, ce isi tine singur echilibrul. | Proiectul consta intr-un robotel pe 2 roti, controlat din telecomanda, ce isi tine singur echilibrul. | ||
Line 92: | Line 93: | ||
ne ofera schimbarea ce trebuie efectuata asupra puterii motoarelor pentru a mentine echilibrul robotului. | ne ofera schimbarea ce trebuie efectuata asupra puterii motoarelor pentru a mentine echilibrul robotului. | ||
+ | |||
+ | === Lock anti-phase drive: === | ||
+ | |||
+ | Trebuie mentionat ca driverele de motor sunt speciale, avand capacitatea de a fi controlate prin PWM in mod diferit: pinul de PWM poate fi tras la tensiunea de referinta in timp ce pinii de intrare (ce controleaza directia) pot accepta un semnal PWM. Astfel, un duty cycle de 50% reprezinta o franare rigida (motoarele se vor opune activ miscarii) in timp ce 0% si 100% reprezinta miscare la putere maxima inainte sau inapoi. Aceasta caracteristica este avantajoasa robotului intrucat ajuta la un control mai precis. | ||
+ | |||
+ | |||
+ | <note important> Pentru a se deplasa, robotul ar trebui pur si simplu sa isi mentina centrul de greutate in fata sau in spatele axului rotilor. Acest lucru se efectueaza din software prin schimbarea valorii $SP$ DAR mai intai ar trebui ca robotul sa plece brusc in directia opusa directiei dorite de mers, lasand inertia sa "traga" rotile de sub greutatea robotului. </note> | ||
+ | |||
+ | === Comunicare bluetooth: === | ||
+ | |||
+ | Intrucat Arduino are optiunea de a comunica prin bluetooth folosind module externe, am ales un microcontroller ESP32-S3, acesta avand integrat o antena si modulele necesare. Astfel, un controller Duallshock 4 ar putea fi conectata la robot pentru manevrarea wireless a acestuia, intr-un mod relativ simplu: adresa MAC a microcontroller-ului trebuie sa fie aceeasi cu cea stocata de controller. | ||
Line 99: | Line 111: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | In final, suportul mecanic hardware este terminat, componentele electronice sunt lipite dar lipsesc conexiunile, dat fiind dificultatea cositoririi firelor, iar partea de software este la stadiul de teorie intrucat este greu de implementat/testat fara robotul fizic. | + | In final, suportul mecanic hardware este terminat, componentele electronice sunt lipite dar lipsesc conexiunile, dat fiind dificultatea cositoririi firelor, iar partea de software este la stadiul de teorie intrucat este greu de implementat/testat fara suportul electronic. |
{{ :pm:prj2022:avaduva:robot1.jpg?nolink&300|}} | {{ :pm:prj2022:avaduva:robot1.jpg?nolink&300|}} | ||
Line 112: | Line 124: | ||
* Driverele de motor ar fi putut fi luate intr-o capsula mai usor de lipit de mana. | * Driverele de motor ar fi putut fi luate intr-o capsula mai usor de lipit de mana. | ||
* Firele ar fi fost mai usor de lipit sub forma de cupru solid, nu manunchi de fire mici. | * Firele ar fi fost mai usor de lipit sub forma de cupru solid, nu manunchi de fire mici. | ||
+ | * O greutate ar putea fi adaugata in varful robotului, pentru ca acesta s-ar putea sa fie prea usor ca sa se deplaseze atunci cand este inclinat in momentul de fata. | ||
<note> Sunt de parere ca proiectul a fost unul de o complexitate crescuta dar ar fi fost dus la bun sfarsit cu mai mult timp la dispozitie! </note> | <note> Sunt de parere ca proiectul a fost unul de o complexitate crescuta dar ar fi fost dus la bun sfarsit cu mai mult timp la dispozitie! </note> | ||
Line 122: | Line 135: | ||
</note> | </note> | ||
+ | {{:pm:prj2022:avaduva:eagleproiectpm.zip|Proiectul Eagle ce contine schematicul robotului.}} | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
Line 127: | Line 141: | ||
* Tema a fost aleasa [[https://docs.google.com/spreadsheets/d/1z4RhEBLrTK5E1BRwp6diB5XuOj8LOmoaigpwqgArTDQ/edit?usp=sharing|aici]]. | * Tema a fost aleasa [[https://docs.google.com/spreadsheets/d/1z4RhEBLrTK5E1BRwp6diB5XuOj8LOmoaigpwqgArTDQ/edit?usp=sharing|aici]]. | ||
* Resurse Hardware au fost adaugate. | * Resurse Hardware au fost adaugate. | ||
- | * (Niste) resurse Software au fost adaugate. | + | * Resurse Software au fost adaugate. |
* Schema electrica a fost adaugata. | * Schema electrica a fost adaugata. | ||
* Lucruri ce pot fi imbunatatite au fost mentionate. | * Lucruri ce pot fi imbunatatite au fost mentionate. | ||
* Functionarea generala a robotului a fost adaugata. | * Functionarea generala a robotului a fost adaugata. | ||
+ | * Design-ul software a fost adaugat. | ||
* Rezultatele obtinute au fost adaugate. | * Rezultatele obtinute au fost adaugate. | ||
* Concluzia a fost adaugata. | * Concluzia a fost adaugata. | ||
Line 144: | Line 159: | ||
=== Resurse Software: === | === Resurse Software: === | ||
- | + | * [[https://github.com/aed3/PS4-esp32|Interfatarea unui ESP32 cu un Dualshock 4]] | |
* I2C [[https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/peripherals/i2c.html|(1)]] [[https://www.espressif.com/sites/default/files/documentation/esp32-s3_technical_reference_manual_en.pdf#i2c|(2)]] pentru ESP32 | * I2C [[https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/peripherals/i2c.html|(1)]] [[https://www.espressif.com/sites/default/files/documentation/esp32-s3_technical_reference_manual_en.pdf#i2c|(2)]] pentru ESP32 | ||