Strumenti Utente

Strumenti Sito


shield_motore

Questa è una vecchia versione del documento!


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 con L297
L293B su zoccolo, disponibile in lab, 1A niente chopper con L297, 8 diodi sul PCB
L293E su zoccolo, 1A, chopper con L297 da comprare 8 diodi sul PCB
L298 disponibile in lab, 2A, chopper con L297 niente zoccolo, 8 diodi sul PCB

NB Texas e ST possono avere una piedinatura diversa!

Scelta logica PWM:

  • sui 4 ingressi
  • sui 2 enable

La seconda soluzione è più semplice perché usa solo due segnali PWM per gli enable e la risposta è più rapida (vedi appication note ST)

Direzione:

  • quattro due ingressi per la direzione (usare delle porte NOT per comandare in maniera complementare il ponte)

Scelta scheda:

  • shield per Arduino
  • scheda motore collegabile a Arduino o generatore di funzione

Scelta controllo:

  • solo motore DC (facile)
  • motore DC e stepper usando Arduino (senza L297 ma via software)
  • solo stepper con driver motore + L297 (non ha molto senso farne uno shield Arduino)
  • motore DC e stepper con jumper per escludere L297 (complicato)

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 si fa uno 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; 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 (usando i template della National)
  • driver L293D (niente diodi, su zoccolo), in alternativa SN754410 che è identico ma da 1A
  • PWM su enable usando due pin digitali PWM (3, 5, 6, 9, 10, 11)
  • direzione con due pin digitali e una porta NOT o quattro pin digitali
  • niente L297 perché troppo complicato, non useremmo il chopper e il limite di 0,6A impedisce di usare i motori del lab

Probabilmente è 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)

Questo sito Web utilizza i cookie. Utilizzando il sito Web, l'utente accetta la memorizzazione dei cookie sul proprio computer. Inoltre riconosci di aver letto e compreso la nostra Informativa sulla privacy. Se non sei d'accordo, lascia il sito.Maggiori informazioni sui cookie
shield_motore.1490709167.txt.gz · Ultima modifica: 2020/07/03 15:59 (modifica esterna)