Autorul poate fi contactat la adresa: Login pentru adresa
Proiectul consta in dezvoltarea unui dispozitiv de afisare (nu neaparat numai text), bazat de fenomenul de Persistence of Vision, folosind o bara de leduri RGB - insa fara a face rotatii complete ale acesteia. Scopul este unul pur educational, avand utilitate redusa.
Am pornit de la structura originala (cookie-cutter) si am ajuns la aceasta versiune in incercarea de a elimina o parte din problemele tehnice precum:
In loc sa se execute o intreaga rotatie, bara de leduri se poate deplasa stanga-dreapta doar intr-o zona restransa unde este necesara afisarea (90° sau 180°), permitand astfel utilizarea unei singure surse de tensiune si a unui simplu stepper.
Toate componentele sunt coordonate de uC, fiind legate la pinii de iesire ai acestuia.
In vederea afisarii, uC va trebui sa sincronizeze urmatoarele actiuni:
Componenta | Magazin |
---|---|
<Placa de la PM> | NULL |
Bara de 8 LED-uri RGB WS2812 (5V) | Optimus Digital |
| Optimus Digital |
| Optimus Digital |
Driver Pololu A4988 | Optimus Digital |
Stepper Nema-17 42BYGHW609 | Optimus Digital |
Condensator Electrolitic 1000uF | Optimus Digital |
Condensator Electrolitic 100uF | Optimus Digital |
A 2-a varianta a schemei:
Partea de soft a fost scrisa in Programmers's Notepad si compilata cu avr-g++. In mare, se bazeaza pe un timer care genereaza intreruperi la un anumit interval de timp - iar rutina de tratare implica trimiterea semnalului de step catre driver, ajustarea valorii din OCR1A si un apel catre functia ce se ocupa de configurarea ledurilor corespunzatoare pasului curent (in cazul de fata, aceeasi linie este afisata pt 2 pasi consecutivi).
Modificarea valorii de top din OCR1A e facuta cu scopul de a accelera/incetini stepperul la inceput, respectiv final de cursa (in ideea de a trimite mai des sau mai rar semnalul de step).
Asta se face dupa o functie ce depinde de patratul numarului de pasi efectuati pana la momentul curent.
Functioneaza, insa n-am reusit sa obtin intocmai viteza dorita de la stepper (cel mai probabil mai trebuie modificati parametrii din functia dupa care se fac accelerarea si incetinirea) - prin urmare, afiseaza binisor text dar imaginile cu culori mai complexe sau animatii nu sunt la fel de clare.
Small demo: https://www.youtube.com/watch?v=oiu_-_DVWuw
Proiect destul de interesant, m-a ajutat sa inteleg mai bine cum functioneaza un POV si cum sa comand un stepper; totodata m-a lamurit de ce nu foloseste lumea astfel de motoare la proiectele astea…
Schema: ds_pendulum_pov_sch_v2.sch
Sursa: pendulum_pov_src.zip