luni, 8 iunie 2020

Robotel cu automentinere pe verticala (Self Balancing Robot)

    Avand la dispozitie 2 motoreductoare cu roti, am zis sa testez si eu un asa-zis robotel cu automentinere pe verticala. Tentatia a fost sa fac unul ce se deplaseaza controlabil de pe un telefon cu ESP8266, dar am zis ca mai bine ma obisnuiesc cu controlul PID folosit si am testat un sistem cu Arduino, care doar isi mentine pozitia pe vericala (sau cel putin incearca).
    Dintre multele articole si materiale, m-am oprit la https://circuitdigest.com/microcontroller-projects/arduino-based-self-balancing-robot
si am testat programul, pentru a vedea macar ca se compileaza. Elementul de baza este senzorul MPU6050 care este un accelerometru cu giroscop.
   Trecand de pasul asta, am facut un montaj de test pe un breadboard dupa schema 
doar ca am pus doar leduri cu rezistente de 220Ω, pentru limitare curent.
incarcand programul, am constatat ca in functie de inclinare, s-ar comanda rotirea controlata a motoarelor, pentru compensarea pozitiei verticale:
    Am facut 2 filmulete:


    Am mai studiat diverse materiale si am realizat ca trebuie sa fac o "calibrare" a senzorului folosind programul MPU6050_calibration.ino si sa le introduc in programul robotelului:
   Deoarece echilibrul este cel mai important, am preferat sa aleg alt cadru, dupa proiectul de la https://www.thingiverse.com/thing:3369262
   Cadrul a fost printat de colegul meu, Catalin, deoarece imprimanta mea este indisponibila momentan, din cauza spatiului.
   Am facut mici modificari la suportii motoarelor, deoarece design-ul original nu e cel optim:
   Am dat gauri pentru a fixa modulul cu L298:
   Intre timp, am primit de la prietenul meu Tom, mai multe cablaje, dintre care si unul pentru robotel, pe care il proiectasem in Eagle PCB software:
   Am fixat si montajul cu Arduino si sistemul de alimentare cu 2 acumulatori 16850 cu BMS 2S:
   Am facut mici modificari ale programului original, pentru a schimba usor parametrii, de exemplu pozitia de echilibru si unghiurile maxime de mentinere:
   Initial, cei 3 parametrii PID (kp, kd, ki) trebuie sa fie pusi in zero, apoi se modifica pe rand pana robotul este stabil sau face miscari ce il fac sa stea pe verticala. Foarte util pentru alegerea acestor 3 parametrii este filmuletul How to Tune PID values for Self Balacing Bot din articolul original.
  De exemplu, in articol parametrii erau
iar eu am reusit sa il fac sa fie cat de cat ok cu parametrii:
   Am facut 3 filmulete in diverse stadii ale testelor:
- DIY Self Balancing Robot using Arduino
- DIY Self Balancing Robot using Arduino (2)
- DIY Self Balancing Robot using Arduino (3)

duminică, 7 iunie 2020

Sistem deschidere poarta culisanta

    In trecut am mai prezentat un sistem de deschidere porti, dar erau duble, vedeti https://nicuflorica.blogspot.com/search?q=poarta, acum o sa prezisnt un sistem de deschidere poarta culisanta cu motor de c.a.
   Un prieten a avut nevoie sa schimbe, cel putin pentru o perioada scurta, un sistem defect cu "ceva", asa ca am conceput impreuna schema si programul.
   In mare, sunt folosite:
- 2 butoane (de fapt iesirile de la un receptor)
- o placa Arduino Nano (originala sau clona)
- o placa cu 4 relee
dar si motorul original de c.a. si 2 limitatori mecanici.
    Modul de comanda al motorului este cum am prezentat in articolul Pornire motor monofazat in ambele sensuri (2)
doar ca mai e un limitator de cursa si pe circuitul din stanga.
    Pentru moment, s-a testat pe masa, montajul, pentru cele 3 stari:
- repaus:
- deschidere:
- inchidere:
   Programul folosit este opengate.ino, care permite ca la apasarea butonului de deschidere, timp de 20 secunde primul releu alimenteaza motorul, iar al doilea ramane necuplat si motorul este conectat prin contactul normal inchis (NI/NC). Daca se apasa oricare buton in timpul operatiunii, aceasta de intrerupe. La fel si pentru inchidere, timp de 20 secunde primul releu alimentarea motorul, iar al doilea este cuplat si motorul este conectat prin contactul normal deschis (ND/NO).
   Limitatorii opresc alimentarea la capete de cursa, timpul de 20 secunde fiind luat acoperitor.
   Am primit de la Catalin si un filmulet:

duminică, 31 mai 2020

Vu-metru cu jocuri dinamice pe banda de leduri adresabile

   Pornind de la un filmulet, care in descriere are toate informatiile necesare pentru a realiza un vu-metru cu leduri adresabile, am inceput intai sa compilez programul si apoi am facut un montaj de test.
   Articolul de la care am inceput se numeste Amazing Light Effects With VU Meter Using RGB LED
dar eu am mag gasit un vu-metru simplu in articolul Neo Pixel Arduino Vu Meter
  Eu am mai testat ledurile adresabile, acum ceva timp, si am postat asta in articolul Benzi de leduri multicolore cu control independent pentru fiecare led
   Folosind schema si sketch-ul din articolul Amazing Light Effects With VU Meter Using RGB LED se pot regla intensitatea si nivelul de zero al semnalului pentru partea de vumetru si pot alege mai multe jocuri de lumini sau de vu-metre:
   Am folosit aceasta schema si cu programul din articolul Neo Pixel Arduino Vu Meter pentru a vedea cum reactioneaza mai programul cel complex, din primul articol.
   Am facut un filmulet cu vumetrul simplu, in care am folosit sketch-ul vumeter_simple.ino (in care semnalul audio din preamplificator este la A2), iar pinul de comanda pentru banda d eleduri adresabile este la D6.

apoi am inceput sa fac filmulete cu cel complex, modifican intre timp programul pentru efecte cat mai frumoase. Programul este vumeter_complex.ino si in afara de conectarea la pinul A2 a preamplificatorului audio si iesirea catre leduri la D6, mai are un semireglabil (potentiometru) conectat la A0 pentru reglaj intensitate luminoasa si inca unul la A1 pentru reglarea nivelului de "liniste" pentru partea de vu-metru (stingere leduri cand nu e semnal).




   Partea cea mai grea a fost a preamplificatorului de microfon, deoarece in articole este specificat un modul de preaamplificare cu MAX4466, care arata asa
 
avand o schema tipica de preamplificator
iar eu aveam unele care sunt "tari de ureche", deoarece nu au amplificare, ci sunt doar pentru teste gen batut din palme sau fluierat
care are schema, ce contine doar 2 comparatoare de tensiune, utile pentru detectie depasire un prag predefinit (reglat)
   Deoarece trebuie sa fluier sau sa dau muzica extrem de tare, am construit un preamplificator, folosind schema din articolul LM358 microphone amplifier doar ca rezistenta din reactie are 470k in loc de 100k

    Deoarece LM-ul 358 era luat dintr-un alt montaj in teste (Multimetru de panou cu protectii)
am cautat niste operationale si primele intalnite au fost 3 Beta A741 fabricate in 1984 de "raposata" IPRS:
asa am pus pe hartie pinii capsulei sa o compar cu cea a lui LM358: