Sommario:

Un display POV per domarli tutti!: 10 passaggi (con immagini)
Un display POV per domarli tutti!: 10 passaggi (con immagini)

Video: Un display POV per domarli tutti!: 10 passaggi (con immagini)

Video: Un display POV per domarli tutti!: 10 passaggi (con immagini)
Video: Una WEBCAM per DOMARLE TUTTE 2024, Dicembre
Anonim
Image
Image
Un display POV per domarli tutti!
Un display POV per domarli tutti!
Un display POV per domarli tutti!
Un display POV per domarli tutti!

Motivazione

Mi piacciono molto i display POV (persistenza della visione)! Non sono solo interessanti da guardare, ma anche una grande sfida per svilupparli. È un compito davvero interdisciplinare. Servono molte competenze: meccaniche, elettroniche, di programmazione e così via!

Ho sempre voluto costruirne uno mio e renderlo il più grande e capace possibile. Un anno fa l'ho fatto! È stato molto lavoro e molto complesso da fare. Mi piacciono questo tipo di sfide. Quindi è stato divertente;-)

Ora voglio anche che tu ne costruisca uno tu stesso. Puoi prendere questo come guida per sviluppare il tuo o semplicemente seguire le istruzioni per ottenere una copia del mio display POV. Cercherò di evidenziare tutte le sfide che ho dovuto superare per fare mie.

Ho ripetuto il mio progetto per renderlo il più semplice possibile da ricostruire. Non ci sono componenti SMT e tutto dovrebbe essere saldabile dai principianti. Non fraintendetemi, è ancora una grande sfida mettere tutto insieme. Ma dovrebbe essere fattibile!

ATTENZIONE: questo progetto contiene LED che vengono aggiornati ad alta velocità e potenzialmente scatenano convulsioni per le persone con epilessia fotosensibile

Come funziona?

Qui puoi leggere come funziona una visualizzazione POV in generale.

Per prima cosa abbiamo bisogno di una sorgente che trasmetta un segnale video. Nel design originale l'ho fatto tramite WIFI. Ho scritto un programma per catturare lo schermo di un computer e inviare questi dati a un ESP8266 tramite WIFI. Il problema di questo approccio è che ESP8266 era troppo lento e la larghezza di banda WIFI era appena sufficiente per 16 FPS. Quindi ora usiamo un ESP32. Stavo pensando che tutti i problemi sono stati risolti, ma si è scoperto che anche ESP32 non offre più larghezza di banda su WIFI rispetto a ESP8266. L'ESP32 ha comunque una potenza di calcolo sufficiente per decodificare un flusso video. Quindi ho finito per inviare immagini JPEG tramite WIFI a ESP32. Pertanto ESP32 ospita un sito Web. Su questo sito è possibile selezionare immagini o video e il sito Web trasmetterà quindi i JPEG in streaming a ESP32. La decodifica JPEG richiede molta memoria, quindi abbiamo un problema anche lì. Ma per il momento funziona. Forse in seguito troverò una soluzione migliore.

Quindi dobbiamo controllare i LED stessi. Perché questo funzioni abbiamo bisogno di conoscere l'esatta posizione dei LED in ogni momento. Pertanto ho aggiunto un sensore ad effetto Hall. Ad ogni rotazione passa un magnete e ne abilita così il rilevamento. Quindi misuriamo il tempo della rotazione. Supponiamo che la prossima rotazione impiegherà lo stesso tempo. Quindi possiamo calcolare la nostra posizione. Questo processo viene ripetuto più e più volte. Per controllare i LED utilizziamo un FPGA. Potremmo anche usare un microprocessore ma probabilmente sarà troppo lento. I LED più esterni devono essere aggiornati circa 10.000 volte al secondo. Un FPGA è facilmente all'altezza del compito e lo farà con meno jitter.

Se i LED devono essere aggiornati così spesso, abbiamo bisogno anche di LED veloci. Nel mio progetto originale usavo i LED APA102. Hanno una frequenza di aggiornamento di circa 20KHz. Ho provato a ottenere strisce LED con questi LED, ma il venditore online mi ha inviato SK9822 e mi ha detto che sono uguali (è successo due volte …) Quindi useremo SK9822. Hanno solo una frequenza di aggiornamento di 4.7kHz, ma si spera che questo sia sufficiente. Hanno anche un protocollo leggermente diverso. Basta essere consapevoli. Quindi ESP32 sta spingendo i frame dell'immagine all'FPGA. L'FPGA controlla quindi i LED.

Ora i LED devono solo ruotare. Pertanto utilizziamo un motore a corrente continua. Questo motore è controllato tramite un segnale PWM da un ESP8266. L'ESP8266 è anche collegato tramite WIFI all'ESP32. Pertanto abbiamo bisogno di un solo sensore per misurare la velocità di rotazione. Nel design originale ne ho usati due.

Ulteriori informazioni sul sistema possono essere trovate nel mio video sul design originale.

Utensili

Ho utilizzato i seguenti strumenti:

  • stampante 3d
  • Saldatore
  • Colla calda
  • super colla
  • Cavo micro USB
  • Forbici
  • Trapano + trapano per legno 3 4 8 e 12 mm
  • Cacciavite
  • pinze piatte
  • Taglierina laterale
  • Spelafili
  • Rifornimenti di vernice
  • carta vetrata

Ordine

Ho aperto un negozio TINDIE. Quindi puoi acquistare un kit se vuoi e aiutarmi a fare più progetti come questo;-)

OSH

Come sempre tutto quello che vedi qui è pubblicato come open source.

Aggiornamenti

Ci sono alcune cose che voglio migliorare in futuro:

  • Risoluzione del colore più alta da 12 bit a 24 bit => quindi abbiamo bisogno di un FPGA con più RAM =>

    Cmod A7, sono pin compatibili:-)

  • ESP32 con PSRAM per evitare problemi di memoria
  • Risolvi il problema del pennello…

Forniture

Parti su misura

Devi ordinarli o ordinare un kit da me!

1 * PCB principale (i file gerber si trovano nella cartella gerber main.zip)

1 * PCB Motor Driver (i file gerber si trovano nella cartella gerber motor.zip)

4 * Corners 3D 1 Print (il file stl si trova nella cartella 3D corner.stl)

1 * Main PCB Holder 3D 3 Print (i file stl si trovano nella cartella 3D holder1.stl, holder2.stl, holder3.stl)

1 * Portaspazzole 3D 2 Stampa (i file stl si trovano nella cartella 3D brush1.stl e brush2.stl)

Parti standard

Fai attenzione, alcuni dei collegamenti includono pacchetti da 10 o anche da 100 pezzi.

1m * Striscia LED SK9822 con 144 LED/m

1 * Cmod S6 FPGA

1 * Sviluppo Geekcreit 30 Pin ESP32

1 * Geekcreit D1 mini V2.2.0 ESP8266

4 * 74HCT04

5 * CC-CC 5V 4A

1 * Motore CC 775

44 * 100nf 50V

9 * 220uf 16V

10 * Magnete al neodimio 10 mm x 2 mm

1 * Sensore ad effetto Hall

2 * Carbon Bruches Dremel 4000

2 * Spazzole di carbone del motore

2 * Cuscinetti 6803ZZ

2 * Supporto motore 775

2 * Jack CC 5,5 x 2,1 mm

1 * Alimentatore

1 * Pulsante 8mm

2 * XT30PB Spina maschio e femmina PCB

2 * Spina XT30 Cavo maschio e femmina

Resistore da 2 * 130 Ohm 1/4 W

2 * MOSFET IRF3708PBF

2 * 1N5400

1 * Intestazione pin a riga singola

1 * Intestazione femminile

1 * Cavo 30AWG

1 * Cavo 22AWG

Negozio hardware

1 * MDF 500 mm x 500 mm x 10 mm

1 * MDF 100 mm x 500 mm x 10 mm

4 * MDF 200 mm x 510 mm x 10 mm

1 * vetro acrilico 500 mm x 500 mm x 2 mm

12 * Angolo di metallo 40 mm x 40 mm x 40 mm

40 * Vite per legno 3 mm x 10 mm

6 * M3 distanziale 12 mm

Viti M3 e M4

3 m * Cavo 2,5 mm2 a filo singolo/rigido

Vernice nera per il legno MDF

Tempo di costruzione: ~ 10 ore

Costo di costruzione: ~ 300€

Passaggio 1: scarica i file

Scaricare files
Scaricare files

Per iniziare dobbiamo prima scaricare tutto ciò che è necessario per questo progetto.

Vai alla pagina di rilascio del repository qui.

Quindi scarica Release.zip dall'ultima versione e decomprimilo sul tuo computer.

Ogni volta che faccio riferimento a un file in questo tutorial lo troverai lì;-)

Passaggio 2: firmware del programma

Passaggio 2.1: programma FPGA

Per programmare l'FPGA dobbiamo installare un software da xilinx:

Per Windows 10 è necessario installare: ISE Design Suite per Windows 10 (~7GB)

Per Windows 7 o XP è possibile installare: Lab Tools (~1GB)

Dopo l'installazione, aprire ISE iMPACT e fare clic su "No" se richiesto e anche su "Annulla" per un nuovo modulo di progetto. Collega la scheda FPGA Cmod S6 e attendi l'installazione dei driver. Fare doppio clic sulla scansione del confine. Quindi fare clic con il pulsante destro del mouse sulla nuova finestra e scegliere "Inizializza catena". Fare nuovamente clic su "No" e chiudere il nuovo modulo. Ora dovresti vedere un simbolo "SPI/BPI", fai doppio clic su di esso. Scegli il file "SPIFlash.mcs". Nel nuovo modulo scegli "SPI PROM" e "S25FL128S" e Larghezza dati "4". Fare clic su "OK". Quindi fare nuovamente clic una volta sul simbolo "FLASH". Dovrebbe essere verde ora. Quindi premere "Programma". Fare clic su "OK" sul nuovo modulo e attendere. Questo può richiedere alcuni minuti.

Ben fatto, l'FPGA è pronto;-) Puoi scollegarlo di nuovo!

Passaggio 2.2: programma ESP32

Installa il core esp32 sull'ID Arduino, puoi seguire questo tutorial. Si consiglia la versione 1.0.2.

Biblioteche necessarie:

  • AutoPID di Ryan Downing V1.0.3 (può essere installato tramite il gestore della libreria)
  • ArduinoWebsockets di Gil Maimon, modificato da me (scarica il file zip e installalo)

Apri il file povdisplay.ino nella cartella povdisplay.

Scegli nella scheda degli strumenti: "DOIT ESP32 DEVKIT V1". Lascia le altre impostazioni così come sono.

Collega la scheda esp32 tramite USB e scarica il programma.

Passaggio 2.3: programma ESP8266

Installa il core ESP8266 sull'ID Arduino, puoi seguire questo tutorial.

Non servono librerie!

Aprire il file motordrive.ino nella cartella motordrive.

Scegli nella scheda Strumenti: "Modulo generico ESP8266". Lascia le altre impostazioni così come sono.

Collega la scheda esp8266 tramite USB e scarica il programma.

Passaggio 3: saldare i PCB

Image
Image
PCB a saldare
PCB a saldare
PCB a saldare
PCB a saldare
PCB a saldare
PCB a saldare

PASSO 3.1 PCB driver del motore di saldatura

I seguenti componenti sono saldati:

  • WEMOS1 (Geekcreit D1 mini V2.2.0 ESP8266)

    • Saldare le intestazioni dei pin alla scheda WEMOS
    • Saldare i connettori femmina sul PCB
  • DCDC (DC-DC 5V 4A)

    • Utilizzare 4 pin dall'intestazione del pin e saldare il convertitore DC-DC direttamente alla scheda
    • Fai attenzione all'orientamento, dovrebbe corrispondere alla serigrafia
  • CN1 (presa CC 5,5 x 2,1 mm)
  • 1N5400

    Attenzione all'orientamento, la linea bianca sul diodo deve essere dalla stessa parte della linea sulla serigrafia

  • 220u (220uf 16V)

    Fai attenzione all'orientamento, la linea bianca deve essere sul lato opposto del più sulla serigrafia

  • R1 e R1 (resistenza da 130 Ohm 1/4 W)
  • Q1 e Q2 (MOSFET IRF3708PBF)

    Attenzione all'orientamento, il retro in metallo deve essere dalla parte con la linea spessa sulla serigrafia

  • MOTORE (scheda femmina spina XT30PB)

    Fare attenzione all'orientamento, l'estremità rotonda deve essere sul lato segnato sulla serigrafia

  • LED e TASTER (scheda maschio spina XT30PB)

    Fare attenzione all'orientamento, l'estremità rotonda deve essere sul lato segnato sulla serigrafia

PASSO 3.2 Saldare PCB principale

I seguenti componenti sono saldati:

  • CMODS6 (Cmod S6 FPGA)

    Dovrebbero essere incluse le intestazioni dei pin. Saldarli sul PCB

  • ESP (sviluppo Geekcreit 30 pin ESP32)

    Usa le intestazioni femminili e saldale sul PCB

  • DCDC1 - DCDC4 (DC-DC 5V 4A)

    • Utilizzare 4 pin dall'intestazione del pin e saldare il convertitore DC-DC direttamente alla scheda
    • Fai attenzione all'orientamento, dovrebbe corrispondere alla serigrafia
  • POWER_TEST (Jack CC 5,5 x 2,1 mm)
  • D1 (1N5400)

    Attenzione all'orientamento, la linea bianca sul diodo deve essere dalla stessa parte della linea sulla serigrafia

  • ALIMENTAZIONE (scheda femmina spina XT30PB)

    Fare attenzione all'orientamento, l'estremità rotonda deve essere sul lato segnato sulla serigrafia

  • C1, C3, C4, C6, C7, C9, C10, C11 (220uf 16V)

    Attenzione all'orientamento, la linea bianca sul condensatore deve essere dal lato opposto del più sulla serigrafia

  • C2, C5, C8, C12 (100nf 50V)
  • IC1 - IC4 (74HCT04)

    Fare attenzione ad allineare il ritaglio dell'IC con la marcatura sulla serigrafia

FASE 3.3 Colla a caldo

Il PCB principale ruoterà molto velocemente. Quindi dobbiamo incollare i condensatori (C1, C3, C4, C6, C7, C9, C10, C11) sul PCB per evitare problemi. Basta usare una colla a caldo per quello.

Passaggio 4: preparare le strisce

Image
Image
Preparare le strisce
Preparare le strisce
Preparare le strisce
Preparare le strisce
Preparare le strisce
Preparare le strisce

PASSO 4.1 Tagliare la striscia a pezzi

Rimuovere la protezione dall'acqua con le forbici.

Abbiamo bisogno di quattro ALI e ogni ala contiene quattro gruppi. Un'ALA è speciale, ha un LED in più degli altri.

ALA1:

  • G1: 5 LED (gruppo più esterno)
  • G2: 6 LED
  • G3: 8 LED
  • G4: 14 LED

ALA2 - ALA4:

  • G1: 5 LED (gruppo più esterno)
  • G2: 6 LED
  • G3: 8 LED
  • G4: 13 LED

Quindi abbiamo bisogno di 129 LED e la nostra striscia ne ha 144 quindi abbiamo una certa tolleranza per un taglio sbagliato;-) Nel peggiore dei casi puoi saldare il taglio.

Tagliare il più centrato possibile tra i LED.

FASE 4.2 Saldare i cavi alla striscia LED

Su ciascuno dei segmenti della striscia LED, saldare due fili 30AWG sull'orologio e sul pin dei dati. Questi sono i due perni nel mezzo. Fare attenzione a saldarli sull'ingresso della striscia LED. Normalmente, le frecce mostrano la direzione del flusso di dati. I cavi dovrebbero essere lunghi circa mezzo metro

Tagliare via tutto dall'altro lato della striscia per evitare un cortocircuito tra i pin di dati e di clock dei diversi gruppi quando uniamo le WING.

FASE 4.3 Condensatori a saldare

Su ogni gruppo saldare due condensatori (100nf 50V) sul retro dei segmenti della striscia LED a ciascuna estremità. Per G4 saldare anche uno nel mezzo. I cavi dovrebbero andare sotto i condensatori per lasciare un po' di spazio ma non troppo.

PASSO 4.4 Metti insieme le ALI

Per ogni ANTA portare i fili da G1 a G2 e poi questi fili a G3 e lo stesso con G4.

PASSO 4.4 Saldare i gruppi insieme

Ora abbiamo bisogno del cavo in rame (cavo 2,5 mm2 a filo singolo/rigido). Tagliatelo in otto pezzi di circa 30 cm di lunghezza. Spellare l'isolamento di tutti i fili. Raddrizzare i cavi il più possibile. Puoi fissare un'estremità in un morsetto a vite e tenere l'altra con una pinza piatta e poi colpire le pinze con un martello.

Fissare il cavo su un lato per facilitare il lavoro. Quindi saldare il primo gruppo ad esso. Allineare il segmento della striscia LED con il cavo e saldarlo su un lato ai due condensatori. Il cavo dovrebbe rimanere piatto sulla striscia LED. Continua con il gruppo successivo. Fare attenzione che anche la distanza tra due gruppi di LED sia di 7 mm. Alla fine tutti i LED dovrebbero avere lo stesso spazio tra loro. Continua con gli altri due gruppi. Sull'ultimo gruppo saldare tutti e tre i condensatori al filo.

Quindi tagliare il cavo alla fine. Continua con un altro cavo sull'altro lato della striscia.

Ora la prima ALA è finita! Fai lo stesso per le altre tre Ali.

FASE 4.5 Piegare i condensatori

Basta piegarli tutti per rendere sottili le strisce.

Passaggio 5: saldare le strisce sul PCB principale

Image
Image
Saldare le strisce sul PCB principale
Saldare le strisce sul PCB principale
Saldare le strisce sul PCB principale
Saldare le strisce sul PCB principale

FASE 5.1 Controllare la polarizzazione

Per prima cosa dobbiamo conoscere la polarizzazione della striscia LED. In altre parole: dove 5V e massa sono relativi al PCB. Questo dipende davvero dalla striscia LED che hai e può essere in qualsiasi modo.

Tieni un'ALA sul PCB principale. Le frecce sulla striscia LED devono puntare al centro del PCB. Ora guarda se 5V è sul lato DATI o OROLOGIO dei pin.

Se il 5V è sul lato DATI sei a posto e puoi usare il rame da 2,5 mm2 per saldare la striscia LED direttamente al PCB.

In caso contrario, è necessario utilizzare un cavo 22AWG per incrociare i due lati. Pertanto, saldare il cavo alla striscia LED e incrociare il lato sinistro e destro e saldarlo al PCB.

FASE 5.2 Saldare il cavo da 2,5 mm2

Usa il resto del cavo in rame da 2,5 mm2 e spela tutto. Saldarli sul lato superiore del PCB. Tagliare il filo saldato alla stessa altezza di circa 1 cm.

FASE 5.3 Saldare la prima WING

Utilizzare l'ALA più lunga e posizionarla sul PCB (LED1) come mostrato in serigrafia. Saldarlo ai fili da 2,5 mm2. Crea connessioni davvero forti, questo vedrà molta forza durante la rotazione! Quindi collegare i cavi per il Gruppo 1 a G1 Data e G1 Clock.

Non dimenticare di saldare la connessione di alimentazione come descritto sopra.

Collegare l'ESP32 e l'FPGA (48 e 1 è sul lato contrassegnato) e alimentare la scheda con l'alimentatore.

I LED più esterni dovrebbero ora lampeggiare in blu (l'operazione può richiedere fino a 40 secondi). In caso contrario, controlla se hai collegato CLOCK e DATA nel modo corretto.

FASE 5.4 Sensore ad effetto Hall

Saldare un'intestazione Pin femmina (con tre pin) alla Hall. Successivamente collegheremo il sensore ad esso.

Saldare il sensore (sensore ad effetto Hall) a un connettore maschio. I collegamenti con il sensore e l'intestazione del pin dovrebbero essere di circa 25 mm.

FASE 5.5 Continua con il resto delle ALI

Per LED2 - LED4 == WING2 - WING4 eseguire la stessa procedura di WING1.

Di tanto in tanto alimentare il PCB e controllare se tutto lampeggia. Il pattern inizia con il led più esterno, va verso l'interno e ricomincia.

PASSO 5.6 Saldo

Prova a bilanciare il PCB principale nel mezzo con un oggetto appuntito. Se un lato pesa di più, prova ad aggiungere saldatura all'altro lato. Non deve essere perfetto, ma un eccessivo squilibrio in seguito provocherà molte vibrazioni durante il funzionamento, che possono portare a problemi meccanici.

Passaggio 6: prima vernice

Passaggio 6.1: trapano

Dobbiamo praticare dei fori:

Sulla scheda MDF 500*500 abbiamo bisogno di due fori. Guarda il file drill_wood_500_500.pdf e fai i fori secondo lo schema.

Sul pannello MDF 500*100 abbiamo bisogno di molti fori. Stampa quindi il file drill_wood_500_100_A4.pdf e allinealo sulla lavagna. Basta forare dove sono segnati i fori sulla carta.

Passaggio 6.2: dipingere

Dipingi un lato di ogni legno. Per il pannello MDF 500 x 500 è il lato su cui hai forato.

Dipingi entrambi i lati del legno 100x500.

Puoi anche dipingere di nero gli angoli di metallo. Questo starà meglio;-)

Il resto lo dipingeremo quando avremo assemblato tutto (l'esterno della scatola).

Passaggio 7: assemblaggio meccanico

Image
Image

Passaggio 7.1 Montare il PCB del driver del motore

Il PCB è montato sulla scheda MDF 100 x 500. Utilizzare i distanziali (distanziale M3 12 mm) e alcune viti e dadi m3.

Passaggio 7.2 Staffe di montaggio

Montare le due staffe (Motor Mount 775) sulla scheda MDF 100 x500 con viti M4.

Passaggio 7.3 Preparare il supporto

Le due barre (Cuscinetti 6803ZZ) devono essere disabilitate. Abbiamo solo bisogno dei due anelli esterni da esso.

Saldare i fili 22AWG su ciascuno degli anelli. Uno nero e uno rosso.

Prendi le parti stampate in 3D del supporto e assemblale.

Inserire tutti e sette i dadi M3 nei rispettivi fori e far scorrere prima l'anello con il filo rosso sul supporto, poi il distanziale e poi l'anello con il filo nero. Aggiungi il terzo pezzo sopra e inserisci le viti.

Tagliare i due fili ad una distanza di 2 cm e saldare ad esso il jeck (XT30 Plug Male Cable). Il cavo nero va dal lato curvato.

Passaggio 7.4 Montare il motore

Avvitare il motore (DC Motor 775) al supporto del motore al centro della scheda MDF 100 x500.

Montare il supporto sul motore e avvitarlo saldamente.

Passaggio 7.5 Installa i pennelli

Pensavo di usare un pennello Dremel (Carbon Brushes Dremel 4000). Abbiamo bisogno dell'uso di un altro carbone (Spazzole di carbone per motori) perché il carbone per le spazzole Dremel ha una resistenza troppo alta. L'ho trascurato nel processo di sviluppo. Quindi usiamo le spazzole del motore e le carteggiamo fino alle dimensioni delle spazzole dremel.

Tagliare il filo dalla spazzola del motore a 5 mm di distanza dal carbone.

Quindi utilizziamo la carta vetrata per tagliare il carbone fino alle seguenti dimensioni: 8,4 x 6,3 x 4,8 mm

Un lato della spazzola del motore è di 6,1 mm, quindi abbiamo solo bisogno di levigare due lati.

Puoi provare se scorre facilmente nel portaspazzole, allora va bene.

Prova anche a carteggiare una curva sulla parte superiore per migliorare la connessione agli anelli metallici.

Saldare un filo 22AWG al carbone per entrambi i carboni. Usa un filo rosso e uno nero. Inserire la molla della spazzola Dremel.

Inserire le spazzole nel portaspazzole. La spazzola con il filo rosso va in alto. Il lato superiore del supporto è un po' più spesso. Fare attenzione che le due molle non si tocchino.

Montare il supporto alla base con dadi e viti m3.

Montare la base del portaspazzole sul supporto del secondo motore con staffa. Utilizzare viti e dadi M4 inclusi con la staffa.

Il motore dovrebbe poter girare liberamente.

Guidare i due fili tra le due staffe.

Tagliare i due fili a una lunghezza tale che possano raggiungere il PCB e saldare il jeck (cavo maschio con spina XT30) ad esso. Il cavo nero va dal lato curvo.

Saldare due fili 22AWG ai motori e tagliarli a una distanza per raggiungere facilmente il PCB e saldare il jeck (cavo femmina con spina XT30) ad esso. Il cavo nero va dal lato curvo.

Passaggio 8: fine

Consigliato: