⚙️

Controllo Motore DC con Arduino

Jan 13, 2025

Lezione sul Motore DC e Arduino

Introduzione

  • Tema: Comando del motore DC con Arduino.
  • Utilizzo di un transistor per gestire carichi elevati.
  • Importanza della protezione da correnti inverse.

Motore a Corrente Continua

  • Non può essere controllato direttamente da Arduino.
  • Richiede corrente e tensione superiori a quelle offerte da Arduino.
  • Utilizzo di transistor per pilotare correnti e tensioni elevate.

Tipi di Transistor

  • Transistor a giunzione bipolare: NPN e PNP.
  • Transistor ad effetto di campo (MOSFET): canale P e N.
  • Funzionamento generale: controllo del flusso di corrente.
    • Transistor bipolari: corrente controllata tramite il pin base.
    • MOSFET: corrente controllata tramite il pin gate.

Funzionamento del Motore DC

  • Genera campo magnetico per far girare l'albero centrale.
  • Inversione dei poli = direzione opposta del motore.
  • Possibilità di funzionare anche come generatore.
    • Esempio: collegare un LED alla fine del motore per accenderlo manualmente.

Costruzione del Circuito

  1. Collegamenti iniziali:
    • Pin 5V e GND sulla breadboard.
    • Alimentazione esterna necessaria per il motore.
    • Separare tensione 5V di Arduino e alimentazione esterna.
    • Unire i poli negativi.
  2. Collegamento del motore e transistor:
    • Utilizzo di un transistor di tipo NPN.
    • Un connettore del motore al positivo dell'alimentazione, l'altro al collettore del transistor.
    • Amortizzatore a massa e base al pin PWM di Arduino tramite resistore da 330 ohm.
  3. Diodo di protezione:
    • Inserire un diodo in parallelo al motore per evitare picchi di corrente inversa.
  4. Elementi aggiuntivi:
    • Pulsante di accensione e spegnimento.
    • Potenziometro per regolare la velocità.

Codice Arduino

  • Creazione di costanti per pin e variabili per gestire il motore.
  • Fase di accensione: impostare velocità massima per 400 ms.
  • Monitoraggio dello stato del pulsante.
  • Lettura del potenziometro per regolare la velocità (valore da 0 a 1023 convertito a PWM).
    • Impostare valore minimo (es. 70).
  • Funzione analogWrite per controllare la velocità:
    • 255 durante l'accensione.
    • 0 se il motore è spento.
  • Ritardo di 50 ms per evitare rimbalzi del pulsante.

Risultati e Comportamento

  • Utilizzo di un disco colorato per testare il motore.
  • Il motore continua a girare per inerzia dopo lo spegnimento.
  • Un solo transistor non basta per controllare il motore in entrambe le direzioni.
    • Necessità di un ponte H o motor driver per ulteriore controllo.

Conclusione e Risorse

  • Link per scaricare schema circuitale e sketch.
  • Invito a iscriversi al canale e condividere il video.