Differences

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

Link to this comparison view

pm:prj2024:amocanu:florin.motrun [2024/05/29 02:57]
florin.motrun [Software Design]
pm:prj2024:amocanu:florin.motrun [2024/05/29 19:32] (current)
florin.motrun [Concluzii]
Line 15: Line 15:
  
   * Masina va fi controlata cu o telecomanda.\\ \\   * Masina va fi controlata cu o telecomanda.\\ \\
-  * Pe un ecran oled al telecomenzii se va afisa temperatura,​ umiditatea si intensitatea luminii prin I2C la apasare buton print, timp de 3 secunde in care masina se va opri.\\ \\ +  * Pe un ecran oled al telecomenzii se va afisa temperatura,​ umiditatea si intensitatea luminii prin I2C la apasare buton print, timp de 3 secunde in care masina se va opri; se va afisa tot timpul functionarii modul de condus, cel default fiind "​Joystick mode".\\ \\ 
-  * In self-drive se va afisa automat temperatura,​ umiditatea, intensitatea luminii (la fiecare 3 secunde) sau distanta unui obstacol la intalnire (timp de 3 secunde); luminile se vor aprinde/​stinge automat in functie de lumina mediului.\\ \\+  * In self-drive se va afisa automat temperatura,​ umiditatea, intensitatea luminii (updatate ​la fiecare 3 secunde) sau distanta unui obstacol la intalnire (timp de 3 secunde;nu se mai afiseaza senzor data); luminile se vor aprinde/​stinge automat in functie de lumina mediului.\\ \\
   * Butoanele:   * Butoanele:
     * print: va afisa datele inregistrate;​     * print: va afisa datele inregistrate;​
Line 105: Line 105:
   * Algoritmi:   * Algoritmi:
        * **Deplasare:​**        * **Deplasare:​**
-       * Pentru controlarea motoarelor se schimba rapid starea pinilor driver-ului de motor pentru a realiza tranzitii line, influentand impulsul si puterea motoarelor:​ +         * Pentru controlarea motoarelor se schimba rapid starea pinilor driver-ului de motor (motoarele sunt pornite secvential, cand unul cand altul, insa insesizabil pentru miscarea masinii)  ​pentru a realiza tranzitii line, influentand impulsul si puterea motoarelor:​ 
-         ​* Schimabrea rapida creeaza un efect de PWM: motorul primeste impulsuri scurte de tensiune pentru controlul lin al vitezei, aceasta fiind constanta;​\\ \\ +           ​* Schimabrea rapida creeaza un efect de PWM: motorul primeste impulsuri scurte de tensiune pentru controlul lin al vitezei, aceasta fiind constanta;​\\ \\ 
-         ​* Aceasta crestere graduala a vitezei prin PWM reduce socurile initiale sau miscarile bruste, prevenind stresul mecanic si instabilitatea sistemului;​\\ \\ +           ​* Aceasta crestere graduala a vitezei prin PWM reduce socurile initiale sau miscarile bruste, prevenind stresul mecanic si instabilitatea sistemului;​\\ \\ 
-         ​* Cu semnalul PWM se moduleaza eficient tensiunea medie furnizata (tensiune maxima cand e activ; tensiune 0 cand e inactiv); aceasta comutare ajuta la controlul puterii efective livrate, fara a fi nevoie de sursa de putere variabila; astfel curentul de varf este gestionat in perioadele active fara a supraincalzi sau deteriora driverul motor.\\ \\ +           ​* Cu semnalul PWM se moduleaza eficient tensiunea medie furnizata (tensiune maxima cand e activ; tensiune 0 cand e inactiv); aceasta comutare ajuta la controlul puterii efective livrate, fara a fi nevoie de sursa de putere variabila; astfel curentul de varf este gestionat in perioadele active fara a supraincalzi sau deteriora driverul motor.\\ \\ 
-       * ** Lumina:**\\ \\ +       * ** Lumina:** 
-         * Se convertește valoarea analogică citită de la senzor într-o tensiune de ieșire;+         * Se convertește valoarea analogică citită de la senzor într-o tensiune de ieșire; se scaleaza valoarea analogică în intervalul adecvat pentru tensiunea de ieșire măsurată de senzor prin impartire la 204.6, obtinadu-se tensiunea corespunzătoare măsurată de senzor
          * Se calculează rezistența senzorului de lumină pe baza tensiunii de ieșire;          * Se calculează rezistența senzorului de lumină pe baza tensiunii de ieșire;
-         * Se utilizează rezistența calculată pentru a determina intensitatea luminii în unități de lux, folosind o formulă empirică specifică pentru senzor: **lux=(R ​-0.8616) ^ (1 / -0.8616) ​ x 10 ^ (5.118 / -0.8616) **, unde:+         * Se utilizează rezistența calculată pentru a determina intensitatea luminii în unități de lux, folosind o formulă empirică specifică pentru senzor: **lux=(R ​-0.8616) ^ (1 / -0.8616) ​ x 10 ^ (5.118 / -0.8616) **, unde:
            * R = rezistenta calculata a senzorului;            * R = rezistenta calculata a senzorului;
            * coeficienții -0.8616 și 5.118 sunt constante empirice derivate din calibrarea senzorului.\\ \\             * coeficienții -0.8616 și 5.118 sunt constante empirice derivate din calibrarea senzorului.\\ \\ 
- 
        * **Distanta:​**        * **Distanta:​**
           * Pentru a calcula distanta folosind HC-SR04 va fi utilizata formula: **Viteza = 331.4 + 0.6 x Temperatura + 0.0124 x Umiditate**; ​           * Pentru a calcula distanta folosind HC-SR04 va fi utilizata formula: **Viteza = 331.4 + 0.6 x Temperatura + 0.0124 x Umiditate**; ​
           * Se calculeaza viteza sunetului cu formula de mai sus, apoi aflam durata in care unda calatoreste in microsecunde (care apoi va fi transformata in secunde) si la final se calculeaza distanta de la obstacol la senzor in centimetri.\\ \\           * Se calculeaza viteza sunetului cu formula de mai sus, apoi aflam durata in care unda calatoreste in microsecunde (care apoi va fi transformata in secunde) si la final se calculeaza distanta de la obstacol la senzor in centimetri.\\ \\
        * **Evitare obstacole:​**        * **Evitare obstacole:​**
-       * Pentru evitarea obstacolelor in self drive atunci cand se intalneste un obstacol frontal, masina se opreste, da cu spatele apoi servo-ul pe care se afla senzorul de proximitate se invarte la 90 de grade spre stanga si spre dreapta, timp in care se calculeaza distantele spre eventualele obstacole din acele directii, si se alege directia de deplasare spre obstacolul cel mai indepartat (daca exista, daca nu, tot spre acea directie se deplaseaza). ​ \\ \\+         * Pentru evitarea obstacolelor in self drive atunci cand se intalneste un obstacol frontal, masina se opreste, da cu spatele apoi servo-ul pe care se afla senzorul de proximitate se invarte la 90 de grade spre stanga si spre dreapta, timp in care se calculeaza distantele spre eventualele obstacole din acele directii, si se alege directia de deplasare spre obstacolul cel mai indepartat (daca exista, daca nu, tot spre acea directie se deplaseaza). ​ \\ \\
        * MPU6050 si ecranul OLED vor comunica cu placuta Nano prin I2C. \\ \\        * MPU6050 si ecranul OLED vor comunica cu placuta Nano prin I2C. \\ \\
   * Funcţii implementate pentru modularizarea codului:   * Funcţii implementate pentru modularizarea codului:
Line 139: Line 138:
 <note tip> <note tip>
   * Am inteles mult mai bine domeniul hardware;   * Am inteles mult mai bine domeniul hardware;
-  * Am reusit sa realizez tot ce mi-am promis la inceputul proiectului,​ chiar daca nu facusem un research amanuntit;+  * Am reusit sa realizez tot ce mi-am promis la inceputul proiectului, functionarea fiind impecabila ("de necrezut"​ chiar pentru mine), chiar daca nu facusem un research amanuntit;
   * Mi-am creat o adevarata "​jucarie"​ pe care intentionez sa o upgradez pe viitor.   * Mi-am creat o adevarata "​jucarie"​ pe care intentionez sa o upgradez pe viitor.
 </​note>​ </​note>​
 ===== Concluzii ===== ===== Concluzii =====
 <note tip> <note tip>
-  * A fost unul din cele mai interesante proiecte realizate pana acum in facultate;+  * A fost unul din cele mai interesante proiecte realizate pana acum in facultate;\\ \\
   * Partea de creare hardware a fost destul de grea, insa in ciuda tuturor "​blestemelor"​ (invocarea sfintilor), pot spune ca overall a fost chiar fun experienta;​\\ \\   * Partea de creare hardware a fost destul de grea, insa in ciuda tuturor "​blestemelor"​ (invocarea sfintilor), pot spune ca overall a fost chiar fun experienta;​\\ \\
   * Partea de software a fost in medie usoara, cu toate ca as fi vrut sa o fac mai "​profi"​ (la nivel de registrii, programare serioasa, de la 0), insa timpul nu-mi ar fi permis; a fost mai mult o joaca cu functiile predefinite Arduino; mai am de lucrat la partea de software pentru a obtine un produs cu adevarat eficient;\\ \\   * Partea de software a fost in medie usoara, cu toate ca as fi vrut sa o fac mai "​profi"​ (la nivel de registrii, programare serioasa, de la 0), insa timpul nu-mi ar fi permis; a fost mai mult o joaca cu functiile predefinite Arduino; mai am de lucrat la partea de software pentru a obtine un produs cu adevarat eficient;\\ \\
pm/prj2024/amocanu/florin.motrun.1716940639.txt.gz · Last modified: 2024/05/29 02:57 by florin.motrun
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