duminică, 27 martie 2022

Sistem automat pentru control deplasare fata-spate a unei locomotive analogice (4)

english version


     Am mai lucrat la sistemul de control al deplasarii fata-spate pentru o locomotiva analogica. Am implementat encoderul si acum pot regla sau alege:

- limba de comunicare a informatiilor (romana sau engleza)

- sens deplasare (normal sau invers)

- ordine activare senzori proximitate (normal sau invers)

- pauza intre schimbare directie deplasare (1..30 secunde, tipic 4 secunde)

- viteza maxima (200..255 din 255)

- viteza minima (25..150, tipic 105 pentru motoare)

- pas modificare viteza (2..20, tipic 5)

    Schema utilizata este aceesi cu cea prezentata in articolul anterior

   Programul rescris este controlled_model_train_3a.ino si combina programul folosit anterior, la care se adauga partea de reglaj, care este inspirata din programul lui Andy Doz din articolul Arduino Astronomical Clock (or Arduino Pond Pump Controller!).
   In functie de limba de prezentare aleasa anterior, la pornire sunt informatii despre sistem, dupa care ledul rosu se aprinde scurt, repetitiv, iar pe ecran apare mesajul "STOP!"
   Daca se apasa scurt butonul de pe encoder, sistemul intra in modul de functionare normal, incepand cu o binemeritata pauza:
iar daca se apasa lung pana apare o steluta pe ecran
se va intra in modul de configurare parametrii. 
   Prima data se poate alegere limba de comunicare:
rotim de encoder si apoi se apasa pe butonul encoderului, pentru selectie, intrand in modul de deplasare:
se poate alege intre normal si invers, apoi se apasa butonul, pentru trecere la reglajul timpului de pauza intre schimbarile de sens:
Valorile permise sunt intre 2 si 30 secunde, uzual folosesc valoarea de 4, dar poza era cand alesesem 20 secunde. Dupa alegerea timpului de pauza, se apasa butonul pentru trecerea la alegerea vitezei maxime
Viteza maxima se poate regla intre 200 si 255 (255 reprezinta 100%), dupa ce se apasa pe buton, se ajunge la reglajul vitezei minime
intre 25 si 150, valoarea tipica pentru miscare locomotiva, din experienta e 105... 25 este utila mai mult pentru lumina ledurilor din prezentare.
   Dupa apasarea butonului de pe encoder, se ajunge la pasul de modificare al vitezei, valorile se pot alege intre 2 si 20, tipic ar fi 5.
   La apasarea butonului de pe encoder se ajunge la pasul de inceput, cand apare mesajul STOP!
   Daca se apasa scurt butonul, apare mesajul de pauza, perioada fiind cea aleasa in meniu
viteza incepe sa creasca pana la maximul ales (in cazul de fata 78%)
pana se activeaza senzorul corespunzator (ales din meniu astfel incat la deplasarea spre fata sa se activeze senzorul din fata, respectiv la deplasarea in spate sa fie activat senzorul din spate)
se intra in pauza
dupa care viteza creste la maxim ( valoare indicata de semnul dublu)
dupa care la activarea senzorului de capat se ajunge la franare, pauza, etc.
    Directia de deplasare se regleaza pentru a avea sensul de deplasare ca cel de pe afisaj, astfel, daca  deplasarea se face spre stanga si pe ecran e inspre dreapta (ledul este rosu, deci locomotiva se deplaseaza invers)
acelasi lucru este daca avem cazul asa
vom schimba directia din setari (daca e 1 acum punem 0 si daca e 0 punem 1) si vom avea
si, respectiv
    Va recomand sa vizionati filmuletele urmatoare, ce prezinta exact pasii descrisi mai sus:

Niciun comentariu:

Trimiteți un comentariu