This shows you the differences between two versions of the page.
pm:prj2021:abasoc:api_arc_board [2021/05/03 21:54] robert_mihai.lica [Software Design] |
pm:prj2021:abasoc:api_arc_board [2021/06/03 02:45] (current) robert_mihai.lica [Bibliografie/Resurse] |
||
---|---|---|---|
Line 69: | Line 69: | ||
===<motor_driver.hpp>=== | ===<motor_driver.hpp>=== | ||
==Notes:== | ==Notes:== | ||
- | Biblioteca foloseste timmer-ul FTM1.\\ | + | Biblioteca foloseste timmer-ul FTM0 si canalele 0, 1, 2, 3.\\ |
==Metode:== | ==Metode:== | ||
static Motors& get_instance(void) \\ | static Motors& get_instance(void) \\ | ||
Line 112: | Line 112: | ||
\\ | \\ | ||
void disable_pid_control(void) \\ | void disable_pid_control(void) \\ | ||
- | Daca bucla PID era activata, este dezactivat controlul prin PID, rps_targhet-ul este setat la 0, comanda la motoare este setata la 0. | + | Daca bucla PID era activata, este dezactivat controlul prin PID, rps_targhet-ul este setat la 0, comanda la motoare este setata la 0. |
- | instance.enable_pid_control(); | + | instance.disable_pid_control(); |
\\ | \\ | ||
static void pid_update(void) \\ | static void pid_update(void) \\ | ||
Line 130: | Line 130: | ||
Pentru "state = true", opreste de urgenta puntile-H la declansarea unei intreruperi pe pinul de Signal Kill. Altfel activeaza la loc puntile-H daca acestea erau activate inaintea semnalului de kill. | Pentru "state = true", opreste de urgenta puntile-H la declansarea unei intreruperi pe pinul de Signal Kill. Altfel activeaza la loc puntile-H daca acestea erau activate inaintea semnalului de kill. | ||
instance.stop_interrupt(true); | instance.stop_interrupt(true); | ||
+ | \\ | ||
+ | |||
+ | \\ | ||
+ | ===<speed_sensor.hpp>=== | ||
+ | ==Notes:== | ||
+ | Acronimul rps inseamna "rotatii pe secunda" \\ | ||
+ | Biblioteca ofera suport pentru pana la 2 senzori de viteza a cate 2 canale fiecare. \\ | ||
+ | \\ | ||
+ | ==Metode:== | ||
+ | static SpS& get_instance() \\ | ||
+ | Returneaza o referinta catre obiect si la prima apelare este initializat obiectul. | ||
+ | SpS& instance = SpS::get_instance(); | ||
+ | \\ | ||
+ | float get_rps_a(void) \\ | ||
+ | Returneaza nr. de rps a senzorului de viteza A daca acesta exista. Daca nu, intoarce viteza senzorului B sau 0 daca nici acesta nu exista. Functia este folosita la interarea buclei PID. | ||
+ | auto speed_a = instance.get_rps_a(); | ||
+ | \\ | ||
+ | float get_rps_b(void) \\ | ||
+ | Returneaza nr. de rps a senzorului de viteza B daca acesta exista. Daca nu, intoarce viteza senzorului A sau 0 daca nici acesta nu exista. Functia este folosita la interarea buclei PID. | ||
+ | auto speed_b = instance.get_rps_b(); | ||
+ | \\ | ||
+ | void sensor_interrupt(void) \\ | ||
+ | Functia este apelata de rutina de tratare a intreruperii pentru a verifica daca aceasta a venit pe pinii senzorilor de viteza. Este calculat noul nr. de rps per motor si se afla directia de rotatie prin cuadratura. | ||
+ | sensor_interrupt(); | ||
\\ | \\ | ||
Line 152: | Line 176: | ||
===<servo.hpp>=== | ===<servo.hpp>=== | ||
==Notes:== | ==Notes:== | ||
- | Biblioteca foloseste timmer-ul FTM2.\\ | + | Biblioteca foloseste timmer-ul FTM2 si canalele 0, 1.\\ |
\\ | \\ | ||
==Metode:== | ==Metode:== | ||
Line 193: | Line 217: | ||
SPI::recv(buffer, n); | SPI::recv(buffer, n); | ||
====== Rezultate Obținute ====== | ====== Rezultate Obținute ====== | ||
- | TODO | + | Functioneaza, gata sa fie folosit de cineva care stie niste teorie de auto-reglare pentru a o face sa mearga pe pista.\\ |
+ | Demo pe [[https://youtu.be/A627lpIsANQ | youtube]] | ||
====== Concluzii ====== | ====== Concluzii ====== | ||
- | TODO | + | Pregatit sa fie programat mai departe pentru competitia NXP CUP 2022. |
====== Download ====== | ====== Download ====== | ||
- | TODO | + | [[https://github.com/Robert-ML/API_NXP-CUP_release | GitHub]] |
- | + | ||
- | ====== Jurnal ====== | + | |
- | TODO | + | |
====== Bibliografie/Resurse ====== | ====== Bibliografie/Resurse ====== | ||
- | TODO | + | {{ :pm:prj2021:abasoc:robert_mihai.lica-pagina_ocw.pdf | Pagina OCW }}\\ |
+ | {{ :pm:prj2021:abasoc:robert_mihai.lica-pagina_ocw_finala.pdf | Pagina OCW Finala}}\\ | ||
+ | [[https://stackoverflow.com | stackoverflow]] [[https://google.github.io/styleguide/cppguide.html | Google Coding Style]] [[https://en.cppreference.com/w/ | cppreference]] [[https://docs.pixycam.com/wiki/doku.php?id=wiki:v2:start | Pixy2 Docs]] [[https://developer.arm.com/support | developer.arm]] [[https://www.geeksforgeeks.org | geeksforgeeks]] |