duminică, 13 februarie 2022

4 macazuri comandate cu servomotoare pentru diorama

     Deoarece placa Arduino (Uno, Nano) are mai multi pini, putem extinde proiectul cu macazul actionat de servo 

la 4 macazuri, fiecare macaz cu servomotorasul lui, cate 2 butoane de comanda (in stanga /  in dreapta, drepta inainte / in stanga, etc) si cate o iesire pentru indicare directie.

   Schema este urmatoarea, fiecare servomotor e conectat la cate un pin PWM (am ales D6, D9, D10 si D11)

   In articolul PWM in Arduino este o imagine sugestiva:
   Definirea pinilor folositi, la schema mea, este facuta in programul albasete_macaz_2b.ino
15.02.2022
   Am simulat functionarea programului cu ajutorul programului SimulIDE:
incarcand hex-ul programului meu si am observat ca functionarea este cea corecta, pentru fiecare din cele 4 servomotorase, dupa cum se vede si in cele 2 filmulete:
16.02.2022
   Dragos (albasete) a inceput sa faca teste cu un macaz real conectat la servomotor). A montat pentru teste pe o placa de forex macazul și servo. In capetele macazului a pus pluta de 2 mm sa nu frece tija de placa și sa culiseze lejer.
Dragos mi-a trimis si un filmulet
   Dupa niste discutii cu Dragos, am implementat si memorarea ultimelor pozitii, pentru a evita socurile mecanice la macaze. Programul ce memoreaza pozitiile in EEPROM-ul microcontrolerului de pe placa Arduino este albasete_macaz_3.ino si memoreaza valori doar daca sunt diferite de cele din memorie si la la 5 secunde de la ultima actionare. 

17.02.2022
    Intre timp, am facut 2 filmulete cu doar 2 servo (astea le-am avut la indemana):
   Intarzieree scrierii valorilor fiecarui servo, se recomanda a fi mai mare, in caz ca se tot misca macazele, pentru a uza memoria EEPROM, in ultimul program este dupa 5 secunde dupa ultipa apasare a oricarui buton de comanda (asta si pentru a fi usor de yurmarit la tesste)
dar se poate mari la 30 secunde, valoare variabilei devenind 30000 (reprezentand ms)

Niciun comentariu:

Trimiteți un comentariu