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. Astfel, 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

LEDs PCB
h_3.jpeg

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

Rezultatul final
h_.jpeg

h_2.jpeg

Redarea imaginii
result_2.jpg

Concluzii

DAVIC picTronics este doar un prototip pentru un POV cu mai multe functionalitati si cu o mecanica mai buna. Consider ca parti din acest proiect pot reprezenta solutii valide pentru orice proiect de acest tip(ex: PCB-urile modulare, Controller-ul de PWM cu LM555 etc.).

Aspecte pe care le-as putea imbunatati:

  • Mecanica:
  1. Angrenajul: Inlocuirea angrenajului cu un motor cu un ax suficient de rezistent pentru a sustine greutatea obliectelor in miscare si fortele generate
  2. Palele: Din punct de vedere aerodinamic, palele in momentul de fata imping aerul, ceea ce duce la un consum de curent nejustificat, o solutie pentru a diminua acest efect este proiectarea unor pale care sa “taie” aerul in directia de rotatie.
  • Hardware + Software
  1. Microcontroller: uC folosit in acest moment este un STM32F401CCU6 dotat cu un ARM Cortex-M4 84MHz 256KB Flash/64KB RAM. Pentru a dezvolta acest proiect catre o redare video-audio, este nevoie de un uC mai potent, tot din familiar ARM Cortex-M, dar cu o frecventa mai mare la care sa se ataseze un card SD unde sa fie stocate datele ce vor fi redate.
  2. Giroscop: In momentul de fata, determinarea timpul de rotatie se face printr-un senzor cu efect Hall. Fiecare coloana este redata in functie de impulsurile unui timer setat la frecventa/360. Aceasta metoda mentine imaginea intr-o pozitie fixa, insa redarea nu este una cursiva si apare efectul de flickering. Pentru o redare mai cursa, se poate folosi metoda de scriere constant a imaginii, iar schimarile sa se faca in functie de timp. Aceasta metoda implementata doar cu un senzor cu efect Hall duce la un efect de shiftare a imaginii la schimbarea vitezei de rotatie. Pentru a avea o redare cursiva si o imagine mentinuta intr-o pozitie fixa, se poate folosi un giroscop de la care obtii rotatia in momentul exact de timp. Cu toate acestea, orice giroscop are un offset, iar pentru corectia acestui offset ne putem folosi de senzorul Hall.

Bibliografie/Resurse

pm/prj2023/gpatru/376.txt · Last modified: 2023/05/26 12:44 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