Punching Machine

Introducere

Se doreste implementarea unui aparat de masurat forta loviturii cu pumnul la o scara mai mica, pentru a usura portabilitatea. Aparatul va indica un anumit scor obtinut in urma loviturii unei mingi/sac de box.

Descriere generală

Schema bloc

Hardware Design

Piese

ESP32:

  • Placuța programabila este un ESP32. Am ales aceasta placuta pentru a putea beneficia atat de memoria crescuta cat si de capabilitatile WiFi de care dispune;

Ecran LCD 1602:

  • Tensiune de alimentare: 3.3V/5V;
  • Tensiune alimentare backlight: 4.2V;
  • Curent: 2mA;
  • Modulul comunică prin intermediul unui convertor I2C;

Receptor laser OKY3301-1:

  • Tensiune de alimentare: 2.7V - 5.5V (recomandat 5V);
  • Curent: 3mA;
  • Output normal pe LOW, cand primeste laser trece pe HIGH;

Dioda laser KY-008:

  • Tensiune de alimentare: 5V;
  • Lungime unda laser: 650nm;

Electromagnet 34/18:

  • Tensiunse de alimentare: 12V;
  • Curent: 0.5A;
  • Forta de atractie: 18kg/180N;

Modul cu Tranzistor de Putere IRF520:

  • Tensiune maximă: 24V;
  • Curent maxim: 5A
  • Tensiune poartă: 3.3V, 5V;
  • Timpi de comutație mici;
  • RDS:0.27 ohmi;
  • Sarcină poartă: 16nC
Schema hardware

Software Design

Voi utiliza ESP-IDF ca development framework. Pentru masurarea puterii cu care se loveste, se va masura timpul in care un circuit format dintr-un laser si un receptor este intrerupt de trecerea bratului aparatului prin fata laserului. Aparatul creaza un acces point pentru a putea fi controlat intr-un browser. Pentru o masurarea cat mai buna, se va calcula diferenta in microsecunde dintre inceperea intreruperii laserului, pana la terminarea acesteia. De asemenea detectarea bratului se realizeaza prin intreruperi in cod, generandu-se un eveniment si procesarea evenimentului intr-un task separat, posibil chiar si pe alt procesor, ESP32-WROOM avand 2 core-uri.

  • /connect - aparatul asteapta ca un controller sa se conecteze. Conectarea se realizeaza prin intermediul unei aplicatii pe telefon sau dintr-un browser.
  • /try - dupa ce un controller a fost conectat la aparat, acesta va astepta o cerere POST ce va contine un nume (“name=…”) pentru a putea stabili numele jucatorului.
  • /scores - returneaza un raspuns la o cerere GET ce contine un textul in format CSV cu primele N cele mai mari scoruri. Numarul de scoruri retinute poate fi configurat din sursa aparatului.
  • /reset - reseteaza aparatul in cazul unei probleme.
  • /player - intoarce o pagina pentru a putea introduce numele jucatorlui. Folosit in special pentru controllere din browser.

Aplicatia pentru telefon a fost realizata folosind MIT App Inventor si este disponibila pentru descarcare in sectiunea Download. Aceasta are nevoie de adresa IP afisata pe ecranul LCD al aparatului pentru a-l putea controla.

Rezultate Obţinute

Am reusit sa implementez un aparat destul de complex, mai ales din punct de vedere software, care poate fi montat ca un fidget putin mai mare pentru birou, ignorand zgomotul creat :-).

Concluzii

Download

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 ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o 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.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2024/vstoica/mihai.tecliceanu.txt · Last modified: 2024/05/27 00:30 by mihai.tecliceanu
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