Table of Contents

Dan-Cristian SPORICI (67058) - Pendulum POV

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

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:

Descriere generală

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:

Hardware Design

Componenta Magazin
<Placa de la PM> NULL
Bara de 8 LED-uri RGB WS2812 (5V) Optimus Digital
Driver ULN2003 (5V) (incompatibil cu noul stepper) Optimus Digital
Stepper 28BYJ-48 (5V) (prea slab / lent) 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:

Software Design

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.

Rezultate Obţinute

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

Concluzii

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…

Download

Schema: ds_pendulum_pov_sch_v2.sch

Sursa: pendulum_pov_src.zip

Jurnal

Bibliografie/Resurse