This is an old revision of the document!


POV - DAVIC picTronics

Introducere

Persistance of Vision
Persistence of vision este un efect optic in care ochiul uman inca percepe prezenta unui obiect pentru o perioada scurta de timp, chiar si dupa disparitia acestuia. Astefel, folosindu-ne de acest efect putem crea anumite iluzii optice.

DAVIC picTronics
DAVIC picTronics este un POV cilindric care reda imagini folsindu-se de o singura coloana de Standard LEDs RGB care este invartita de un motor de turatie mare. Ca efectul optic sa aibe loc, este nevoie de o frecventa de minim 5Hz. Frecventa optima variaza in functie de mediul extern, in functie de lumina ambientala, sau daca efectul este vazut in persoana sau filmat.

Inspiratia
Proiectul de la care am pornit este tot un POV cilindric realizat de unul dintre asistentii univeristari din echipa de electronica, proiect care este mereu prezent la prezentarile sau evenimentele facultatii.

Scopul proiectului
Scopul proiectului este acela de imbinare a unei varietati de aptitudini si principii, de la proiectarea componentelor mecanice/electrice la implementarea unei solutii software general valabila.

Descriere generală

Schema bloc a proiectului
schema_bloc.jpg

Interactiunea componentelor
Pentru alimentarea componentelor, am ales sa folosesc o sursa de tensiune in comutatie 12V 150W, datorita consumului mare de curent al LED-urilor. Din sursa este alimentat direct un controller PWM, realizat custom cu LM555 Timer pentru a oferi un control mai bun asupra turatiei motorului care invarte platforma cu uC si banda de LED-uri. Componentele in miscare sunt alimentate datorita unui mecanism cu perii plasat pe axul platformei. Pe platforma se afla uC, un STM32F401CCU6 84MHz 256KB Flash, ales datorita nevoii de putere de calcul si de memorie pentru stocarea imaginii care va fi redata. Pentru a schimba culoarea LED-urilor cat mai repede, am ales folosirea unor LED DRIVERS TLC5922 in cascada, transmiterea datelor fii realizata prin comunicatie SPI. Un senzor HALL este plasat sub platforma in miscare, fiind conectat la un pin de intrerupere al uC, care va detecta prezenta unui magnet plasat pe o platforma fixa. Prin acest senzor HALL putem determina cu acuratete turatia platformei, factor care va influenta aprinderea si schimbul de culoarea al LED-urilor.

Principiu de functionare
Platforma se afla in miscare datorita comenzii motorului ce invarte axul. uC are un timer activ care incrementeaza un counter. In momentul in care senzorul HALL detecteaza prezenta magnetului, uC intra in rutina de tratare a acestei intreruperi in care salveaza valoarea counter-ului, iar apoi il reseteaza. Datorita constructiei in forma cilindrica, daca impartim valoarea salvata la 360, vom obtine timpul necesar ca platforma sa se miste cu fix 1 grad, astfel vom sti exact in ce moment sa aprindem LED-urile. Pentru a schimba culoarea fiecarui pixel, vom stoca imaginea in 3 matrici, fiecare cu cate o componenta RGB. uC va transmite coloana cu coloana matricele prin SPI catre LED Drivers conectate in casca.

Hardware Design

Lista de piese:

  • STM32F401CCU6 - ARM Cortex-M4 84MHz, 256KB Flash
  • LM555 Timer - folosit pentru realizarea controllerului PWM
  • Motor DC 24W
  • Sursa de tensiune in comutatie Meanwell 12V 150W
  • Stabilizatoare de tensiune reglabile DC-DC LM2596
  • Senzor HALL
  • LED Drivers TLC5922
  • Standard LEDs RGB SMD
  • Perii pentru alimentarea componentelor in miscare
  • Sasiu de sustinere al axul si platforma pentru componentele in miscare realizate din placaj de fag
  • Axul de rotatie al platformei
  • Reductor 1:4 realizat din 2 roti dintate printate 3d, atasate platformei in miscare si de axul motorului
  • Componente electronice de baza(rezistente, condensatoare, etc.)


Schema electrica controller PWM cu LM555
pwm_controller_lm555.jpg

O parte din schema electrica a PCB-ului cu RGB LEDs si LED Drivers
fraction_schematic_led.jpg

Modelul 3D al PCB-ului
pcb_davic_pov.jpg

Modelul 3D al angrenajului
angrenaj_3d.jpg

Software Design

STM32CubeIDE
STM32CubeIDE este un mediu de dezvolatare bazat pe Eclipse, care ofera posibilitatea dezvoltarii software pentru uC de la ST. Unul dintre principalele avantaje pe care il ofera acest mediu de dezvoltare este configurarea pinilor, timerelor etc. direct prin interfata, urmand apoi sa genereze codul aferent.

STM32Programmer
Pentru programarea uC folosesc STM32Programmer care va incarca fisierul .elf in memoria program a uC prin interfata seriala.

Algoritmi si functii
Pe partea de algoritmi, am implementat determinarea timpul necesar de a efectua o miscare de 1 grad si redarea unei imagini in functie de viteza de rotatie.

Rezultate Obţinute

Redarea imaginii
result_2.jpg

Rezultatul final
h_.jpg

Concluzii

Bibliografie/Resurse

pm/prj2023/gpatru/376.1685001642.txt.gz · Last modified: 2023/05/25 11:00 by teodor.dicu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0