Sommario:
- Passaggio 1: elenchi dei componenti
- Passaggio 2: connessioni
- Passaggio 3: schizzo Arduino
- Passaggio 4: PCB
Video: Pwm2pwm: 4 passaggi
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-10 13:47
Modificare il segnale PWM in ingresso in un altro segnale PWM in uscita con un Encoder.
Questo progetto è nato quando ho acquistato il mio primo laser cutter. Non è facile impostare la potenza PWM, la prima volta, in base al materiale che si vuole tagliare. Quindi voglio creare un piccolo dispositivo per cambiare la potenza durante l'esecuzione.
Passaggio 1: elenchi dei componenti
Per questo progetto hai bisogno di:
- 1 x display Oled, nel mio caso I2C
- 1 x Arduino, nel mio caso arduino mini pro per le piccole dimensioni.
- 1 x Trimmer con un pulsante.
- Resistenze 3 x 10k, 2 per il pull-up del trimmer e una per il pull-down.
Nella foto di questo passaggio si vede un altro Arduino mini pro, chiamato laser, perché ho simulato le abilità del controller laser (pwm in signal) con questo Arduino.
Passaggio 2: connessioni
Ricordati di collegare i 3 resistori, pull-up e pull-down, in questo schema.
Per la prima volta, ti consiglio di collegare il secondo Arduino (chiamato laser nel passaggio precedente) per verificare se anche il codice e la connessione funzionano insieme.
Se hai più familiarità con la vista schematica, apri il pwmTOpwm.svg.
Passaggio 3: schizzo Arduino
Puoi facilmente copiare il mio codice dalla pagina GitHub:
La principale competenza di questo codice è l'integrazione del comando "pulseIn", maggiori info:
Quando provi a misurare un segnale PWM che entra nel microcontrollore, devi contare per quanto tempo il segnale rimane alto (o basso) nel periodo. Puoi usare il comando "pulseIn".
Se provi a tracciare il segnale pulseIn puoi vedere qualcosa di instabile.
Per risolvere questo problema dobbiamo utilizzare un filtro mediano, nel mio caso la media mobile esponenziale (EMA).
Puoi provare questo fantastico e facile filtro con questo esempio:
Niente paura, il filtro è già integrato nel codice:p.
Se stai usando il secondo Arduino (laser) puoi caricare in quell'arduino questo esempio:
Passaggio 4: PCB
Vorrei creare un PCB per questo progetto, con KiCad, e condividerlo.
Se apporto modifiche al PCB, le condividerò sulla pagina GitHub.