ARDUINO
Infineon motor Shield
Ultimo aggiornamento 3 settembre 2015


PCB economico ma spese di spedizione costose?
Solo 1,99 $ per 5 pezzi
Spedizione gratuita in tutto il mondo per tutti i nuovi clienti!
Il rimborso è garantito in caso di ritardo (vedi sito)
ALLPCB - Il produttore on-line di PCB e PCBA più veloce al mondo

JLCPCB - 2$ per prototipi di PCB, di qualsiasi colore. Produzione in 24 ore!
L'Azienda di prototipi PCB più popolare, con oltre 700.000 clienti in tutto il mondo!

JLCPCB - 2 $ for PCB prototypes. Free SMT Assembly (28 Nov. - 29 Dec.)


Il DC Motor Control Shield di Infineon è uno dei primi per uscita ad alta corrente ed è compatibile sia con Arduino nonché la scheda XMC1100 di Infineon
La scheda è in grado di pilotare due motori DC in modo unidirezionale (configurazione a mezzo ponte) o un motore DC bidirezionale (configurazione H-Bridge)Il ponte H è realizzato utilizzando due integrati BTN8982TA NovalithIC che possono essere controllati da un segnale PWM tramite il Pin IN.
Interfacciamento ad un microcontrollore è reso facile dalla integrato che dispone di ingressi a livello logico, diagnosi con senso corrente, la regolazione del slew rate, la generazione di tempi morti e la protezione contro la sovratemperatura, sottotensione, sovracorrente e cortocircuito.

Le caratteristiche del DC Motor Control Shield con BTN8982TA per Arduino sono:

  • compatibilità totale con Arduino UNO R3 e con l’XMC1100 Boot Kit;

  • funzioni PWM, e.g. 30 kHz;

  • Slew Rate modificabile per EMI ottimizzato tramite resistori esterni;

  • diagnosi con current sense;

  • protezione da sovraccarichi o temperature eccessive.

Tra le applicazioni ci sono i motori brushed DC motor control fino a 250W con tensione di alimentazione nominale pari a 8–18V (con un massimo di 6–40V), e corrente media pari a 30 A (BTN8982 ha una limitazione in corrente @55 A).

Modello Case Driver

 TO-263

Tipo di Motore

 Half Bridge

No. di Pin

 7

No. di Uscite

 1

Temperatura di Esercizio Max

 150°C

Temperatura di Esercizio Min

 -40°C

Tensione di Alimentazione Max

 18V

Tensione di Alimentazione Min

 8V

La scheda può essere acquistata sul sito Farnel  DCMOTORCONTRBTN8982TOBO1 al costo di 25,79 + IVA e Trasporto, sulle stesso sito si trova anche  l'integrato BTN8982TA al costo di 5,75 + IVA e Trasporto.

Citazione:
Per utilizzi della scheda potete leggere i seguenti articoli pubblicati su Elettronica Open Source:

 

Link utili:

OurPCB, your most reliable PCB and PCBA supplier.

Focusing on PCB Prototype and PCB Assembly Turnkey Services.

One-Stop Wire Harness & Cable Assemblies Solution

 

 

Lo shield presentato in questa pagina mi è stato inviato in quanto il progetto da me proposto si è classificato tra i 20 vincitori del Contest proposto da Elettronica Open Source,

 

Circuito per la protezione contro l’inversione di polarità

Il circuito di protezione contro l’inversione della polarità è formato dal mosfet Q1 tipo IPD90P04P4L, prodotto dalla stessa Infineon, questi è un mosfet di potenza canale P, la qui polarizzazione è realizzata dalla resistenza R8 e dallo zener D1, mentre la tensione di alimentazione è limitata nel suo valore massimo tramite lo zener D2 da 39 V, il condensatore elettrolitico C4 da 1000uF è necessario per mantenere basso il ripple della tensione VS durante la commutazione.

 

 

Il cuore della scheda è rappresentato da due integrati tipo BTN8982TA: si tratta di un integrato semiponte H, il circuito interno è formato da un MOSFET canale P e un MOSFET a canale N più il relativo circuito driver.
Il circuito è facile da controllare, poiché è sufficiente applicare segnali di livello logico al pin IN e INH.

 

 

Quando si applica un segnale PWM al pin IN, la corrente fornita al motore, può essere controllata tramite il duty cycle del PWM.
Con un resistore collegato esternamente tra il pin SR e GND è possibile regolare la velocità di risposta, o slew rate.

 

 

Le principali caratteristiche dell’integrato sono:
• Tensione d’ingresso nominale 8-18 V (max. 6 - 40 V);
• Possibilità di controllo motori Brushed DC fino a 250 W con carico continuo
• Unità per il controllo sia di un motore DC bidirezionale con spazzole o di due motori a corrente continua unidirezionali;
• Corrente media pari a 30 A (BTN8982 ha una limitazione in corrente @55 A), il limite è dato dalla dissipazione del PCB;
• Alta frequenza PWM, per esempio 30 kHz;
• Slew Rate modificabile per EMI ottimizzato tramite resistori esterni;
• Circuito del driver con ingressi a livello logico;
• Protezione da sovraccarichi o temperature eccessive;
• Diagnosi con current sense, protezione da sovratemperatura e sovracorrente;
• Lo shield presenta già i collegamenti con i pin di controllo.

 

Vista dello shield modificato montato su una scheda Arduino UNO

Altra vista dello shield modificato, notare l'inserimento delle morsettiere e la modifica del condensatore

Vista laterale della shield montato

Dettaglio dei connettori di collegamento con la scheda Arduino

 

Modifica shield per inserimento morsettiere

 

ll DC Motor Control Shield di Infineon presenta sullo stampato delle grosse piazzole per il collegamento della fonte d'alimentazione denominate VBAT e GND e per il collegamento del motore denominate OUT1, OUT2 e GND.

Per utilizzare queste occorrerebbe utilizzare delle boccole da pannello e relative banane, per ridurre l'ingombro è possibile utilizzare delle morsettiere, ma per fare questo occorre procedere alla modifica dello shield come è mostrato nelle foto sottostanti

 

 

Realizzazione dei 4 fori (diametro 1.2mm) necessari per il fissaggio delle due morsettiere collegamento motori.

Asportazione della vernice protettiva per il la saldatura della morsettiera

Dettaglio della saldatura della morsettiera.

Dettaglio della morsettiera per il collegamento dei motori.

Realizzazione dei 2 fori (diametro 1.2mm) necessari per il fissaggio della morsettiere alimentazione. Occorre effettuare una "svasatura" del foro per evitare che la morsettiera venga a contatto con la pista nel lato superiore.

Asportazione della vernice protettiva per il la saldatura della morsettiera

Dettaglio della saldatura della morsettiera.

Dettaglio della morsettiera per l'alimentazione dei motori.

 

Alcuni dettagli dello shield

 

Confezione contenente lo shield

Contenuto della confezione: motor sheld, Quick Start Guide

Shield dopo la modifica per l'inserimento delle morsettiere, e sostituzione del condensatore C4, con montaggio orizzontale

Shield con i 4 connettori per il montaggio impilato

Shield montato

Vista inferiore dello shield

Dettaglio norsettiera alimentazione

Dettaglio morsettiera alimentazione motori

Dettaglio montaggio condensatore C4

Vista dello shield montato sulla scheda Arduino

 

 

 

 

Schema della scheda

 

Utilizzo dello shield con Arduino

Controllo singolo motore bidirezionale

Per utilizzare un unico motore bidirezionale con lo shield, effettuare le seguenti operazioni:

Controllo due motori unidirezionali

Per utilizzare un due motori unidirezionali con lo shield, effettuare le seguenti operazioni:
 

Esempio di programma gestione Arduino

/*Sketch to ddrive Brushed DC-Motor in two directions*/

#define  IS_1  0
#define  IS_2  1
#define  IN_1  3
#define  IN_2  11
#define  INH_1 12
#define  INH_2 13

#define TCONST 100      //Delay Time between Steps

int Motor_DC     = 0;    // actual DC
int Motor_DC_MAX = 60;   // 50% Dutycycle

int i = 0;

void setup() {

  // put your setup code here, to run once:
  pinMode(IN_1,OUTPUT);
  pinMode(IN_2,OUTPUT);
  pinMode(INH_1,OUTPUT);
  pinMode(INH_2,OUTPUT);
  
  reset_ports();
  
  digitalWrite(INH_1,1);
  digitalWrite(INH_2,1);
}

void fade_Motor(int port)
{
   for(i = 0; i< Motor_DC_MAX; i++)
  {
  Motor_DC = map( i , 0 , 100 , 0 , 255 );
  analogWrite( port , Motor_DC );

  delay(TCONST);
  }
  
  //Slow down Motor
  for(i = Motor_DC_MAX; i>= 0; i--)
  {
  Motor_DC = map( i , 0 , 100 , 0 , 255 );
  analogWrite( port , Motor_DC );

  delay(TCONST);
  }
}

//Alle IOs zurücksetzen
void reset_ports()
{
  digitalWrite(IN_1,0);
  digitalWrite(IN_2,0);
}

void loop() {

 
  //Fade Motor in forward direction
  fade_Motor(IN_2);
  
  //Wait and Stop
  reset_ports();
  delay(1000);  //Wait for 1s
  
  //Fade Motor in backward direction
  fade_Motor(IN_1);
  
  //Wait and Stop
  reset_ports();
  delay(1000);  //Wait for 1s
  
}

 

Elenco revisioni
03/09/2015 Inserito citazioni della scheda su articoli pubblicati su Elettronica Open Source:

07/06/2015

Inserito foto modifica shield

23/05/2015

Emissione preliminare