shield_motore
Questa è una vecchia versione del documento!
Indice
Shield motore 2017
Definizione delle specifiche
Scelta driver motore:
integrato | pro | contro |
---|---|---|
L293D | su zoccolo e con diodi integrati | da comprare, solo 0,6A, niente chopper se abbinato all'L297 |
L293B | su zoccolo, disponibile in lab | da comprare, 1A, niente chopper se abbinato all'L297, 8 diodi sul PCB |
L298 | 2A, disponibile in lab | niente zoccolo, 8 diodi sul PCB |
L293E | 2A, su zoccolo | da comprare 8 diodi sul PCB |
Scelta logica PWM:
- sui 4 ingressi
- sui 2 enable
La seconda soluzione è più semplice perché:
- 2 segnali PWM per gli enable
- quattro ingressi per la direzione (usare delle porte NOT per comandare la direzione con un solo segnale?)
NB Texas e ST hanno una piedinatura diversa!
Scelta scheda:
- shield per Arduino
- scheda motore collegabile a Arduino o generatore di funzione
Scelta controllo:
- solo motore DC
- motore DC e stepper usando Arduino (senza L297)
- solo stepper (driver motore + L297)
- motore DC e stepper con jumper per escludere L297
Scelta alimentazione:
- i driver vanno a 5V ma possono funzionare a tensioni più alte perché c'è un regolatore interno
- meglio separare l'alimentazione della logica e quella del motore
- se shield Arduino logica su 5V e morsettiera di alimentazione motore collegata alla Vin di Arduino (alimenta entrambi, max 12V)
- in alternativa alimentazioni separate per Arduino e logica e motore con morsettiera non collegata a Vin (o jumper che permette di scollegare Vin se si vuole mantenere la possibilità di alimentare Arduino)
- meglio una morsettiera sullo shield dello spinotto (più facile il collaudo)
La soluzione più semplice è:
- shield Arduino con L293D (niente diodi, su zoccolo, niente L297, fattibile su single layer)
Progetti di riferimento
Arduino Motor shield R3
Usa:
- L298P (SMD), con PWM sugli enable dei due ponti (più veloce, con ricircolo su diodi e alimentazione)
- 4077 (XNOR), per generare input complementari per i due ponti dell'L298 e impostare la direzione con un solo pin
- LMV358 (OP-AMP) per la misura delle correnti (come caduta su 0,15 Ohm amplificata 10 volte)
- jumper SMD (da tagliare) per:
- escludere i pin A0 e A1 che misurano la corrente
- Vin della scheda Arduino e separare l'alimentazione dei motori (su morsettiera shield)
- escludere i pin D8 e D9 per la frenatura
Il controllo del singolo motore avviene impostando:
- la direzione su un pin digitale non PWM che, grazie alla porta XNOR, comanda in maniera complementare i due semiponti (0 e 1 oppure 1 e 0)
- l'eventuale frenatura con un pin digitale che, grazie alla porta XNOR, comanda attiva il ponte solo nella parte alta (1 e 1) o bassa (0 e 0)
- la velocità con un segnale PWM applicato all'enable del ponte collegato ad un pin digitale PWM
Nella fase OFF del PWM il ponte è spento, il ricircolo avviene attraverso i diodi e l'alimentazione, e la risposta è rapida. Nella frenatura il ponte è attivo solo nella parte alta o bassa, il ricircolo avviene attraverso diodo e transistor, e la frenatura è meno rapida.
Shield motore Adafruit v1 (doppio L293D e registro)
Shield motore Sparkfun (L298 SMD)
Shield super semplice Adrirobot (L293D)
shield_motore.1490565872.txt.gz · Ultima modifica: 2020/07/03 15:59 (modifica esterna)