Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2024:alucaci:alexandru.carp3008 [2024/05/16 17:01]
alexandru.carp3008 [Hardware Design]
pm:prj2024:alucaci:alexandru.carp3008 [2024/05/27 00:39] (current)
alexandru.carp3008 [Rezultate Obţinute]
Line 9: Line 9:
 ===== Descriere generală ===== ===== Descriere generală =====
  
- +{{ :​pm:​prj2024:​alucaci:​diagrama_acarp.drawio.png?​nolink&​300 |}}
-{{:​pm:​prj2024:​alucaci:​schema_block_schimbator.png?​nolink&​300|}} +
- +
  
 ===== Hardware Design ===== ===== Hardware Design =====
Line 40: Line 37:
 {{ :​pm:​prj2024:​alucaci:​schema_componente_acarp.png?​nolink&​300 |}} {{ :​pm:​prj2024:​alucaci:​schema_componente_acarp.png?​nolink&​300 |}}
 {{ :​pm:​prj2024:​alucaci:​microbit_pins_acarp.png?​nolink&​300 |}} {{ :​pm:​prj2024:​alucaci:​microbit_pins_acarp.png?​nolink&​300 |}}
-{{ :​pm:​prj2024:​alucaci:​uc_acarp.png?​nolink&​300 |}}+{{ :​pm:​prj2024:​alucaci:​uc_acarp.png?​nolink&​500 |}}
  
 === Stadiu actual al implementarii hardware: === === Stadiu actual al implementarii hardware: ===
Line 56: Line 53:
 ===== Software Design ===== ===== Software Design =====
  
 + Am implementat software-ul folosind [[https://​python.microbit.org/​v/​3/​api|microbit:​bit Python Editor]]. Am incercat sa folosesc C/C++, dar am avut probleme in configurarea bibliotecilor necesare pentru micro:bit.
  
-<note tip> + Am implementat functii care verifica senzorii Hall (avand grija sa nu contorizez de mai multe ori aceeasi detectie), care schimba viteza in sus/jos - calibrand numarul de milisecunde pentru care motorul trebuie sa functioneze pentru o schimbare prin testeDe asemenea, am implementat o functie care salveaza persistent in memorie viteza curenta - astfel in cazul unui reset se pastreaza cunoscuta starea in care a ramas schimbatorulO alta functie importanta este cea de recalibrarecare actioneaza schimbatorul spre cea mai mica viteza pana cand este detectat faptul ca s-a ajuns in capat. Aceasta functie este utilizata daca nu se gaseste fisierul cu viteza curenta ​(in principiu dupa flash), dar si in caz ca viteza curenta nu este 1 dar se detecteaza capatul cablului. 
-Descrierea codului aplicaţiei (firmware):​ + Am implementat si o functie pentru citirea acceleratiei de pe senzorul MPU6050, prin i2cAm folosit datasheet-ul senzorului pentru a afla adresa i2c si adresele registrelor de interes. 
-  * mediu de dezvoltare ​(if any(e.gAVR StudioCodeVisionAVR) +  
-  * librării şi surse 3rd-party (e.gProcyon AVRlib+ In bucla principala, retin mereu timpii ultimelor 3 detectii ale senzorului Hall de pe pedala, si in functie de diferentele dintre ei (deci de timpii ultimelor 2 rotatii complete ale pedalelor), decid daca  
-  * algoritmi şi structuri ​pe care plănuiţi să le implementaţi +este nevoie de o schimbare a vitezei. Daca timpii sunt prea diferiti, inseamna ca nu se pedaleaza consistent deci datele se ignora. Daca sunt sub o anumita limita, se comanda schimbarea vitezei in sus, si daca sunt peste o alta limita se comanda schimbarea vitezei in jos. In plus, se seteaza un cooldown: un numar de detectii ale senzorului de pe pedala ​care nu vor comanda o noua schimbare - pentru a lasa cadenta sa se stabilizeze la un nou nivel dupa schimbarea anterioara. In plus, detectia unei decelerari puternice ​(franare- se traduce prin schimbarea vitezei in jos la urmatoarea rotatie a pedalelor detectata.
-  * (etapa 3surse şi funcţii implementate +
-</​note>​+
  
-===== Rezultate Obţinute ===== 
  
-<note tip> 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. 
-</​note>​ 
  
-===== Concluzii =====+Pentru calibrarea motorului am implementat mai intai un program care schimba succesiv vitezele in sus si apoi in jos, la fiecare 3 rotatii ale pedalelor.
  
-===== Download ​=====+===== Rezultate Obţinute ​=====
  
-<note warning>​ + Am obtinut ​un prototip functionalutilizabil, care chiar daca nu tine cont de la fel de multi parametri ​pe cat planuiam initial, isi face treaba destul de bine. Lucrul cu senzorul de giroscop/​accelerometru a fost dificil si din cauza faptului ca este mai dificil de testat. Atasez ​demonstratie,​ in care vitezele se schimba dupa cadenta (viteza cu care se invart pedalele). Mai intai am simulat o cadenta mare -> vitezele se schimba spre pinioanele mai mici, apoi una normala, apoi o cadenta mica, caz in care lantul revine pe pinioanele mai mari.
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului:​ surse, scheme, etc. Un fişier README, ​un ChangeLogun script ​de compilare şi copiere automată ​pe uC crează întotdeauna ​impresie bună ;-).+
  
-Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:​pm:​prj20??:​c?​** sau **:​pm:​prj20??:​c?:​nume_student** (dacă este cazul)**Exemplu:** Dumitru Alin, 331CC -> **:pm:​prj2009:​cc:​dumitru_alin**. +[[https://​ctipub-my.sharepoint.com/:v:/g/​personal/​alexandru_carp3008_stud_acs_upb_ro/​EeCGlFcx125JjiWX8B01o1IBYHiffwRrOAZf7sqH_ntCJQ?​nav=eyJyZWZlcnJhbEluZm8iOnsicmVmZXJyYWxBcHAiOiJPbmVEcml2ZUZvckJ1c2luZXNzIiwicmVmZXJyYWxBcHBQbGF0Zm9ybSI6IldlYiIsInJlZmVycmFsTW9kZSI6InZpZXciLCJyZWZlcnJhbFZpZXciOiJNeUZpbGVzTGlua0NvcHkifX0&​e=duQ3qy|Video demo]]
-</note>+
  
-===== Jurnal ​=====+Atasez si o demonstratie in conditii reale: 
 + 
 +[[https://​drive.google.com/​file/​d/​1bd52wimQbFpF-R0WBAKPzSb97mUcYgEO/​view?​usp=sharing|Vide demo 2]] 
 +===== Concluzii ​====
 + ​Experienta de a duce o idee pana la un prototip functional a fost una inedita si interesanta,​ din care am avut multe de invatat. 
 +===== Download ===== 
 +{{:​pm:​prj2024:​alucaci:​alexandru.carp332cc.zip|}}
  
-<note tip> 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. 
-</​note>​ 
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
pm/prj2024/alucaci/alexandru.carp3008.1715868060.txt.gz · Last modified: 2024/05/16 17:01 by alexandru.carp3008
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0