banner.jpg (7109 byte)

Scheda Motori DC

ultimo aggiornamento 4 aprile 2015


 

Per il comando dei motori in corrente continua, il robot Panettone è dotato di un apposito basetta denominata DeA DC Motor Board, questa viene montata sulla scheda di controllo DeA BASIC Stamp® Board utilizzando il connettore X7 dotato di 20 pin.

La basetta che misura 30x59 mm circa è allegata al fascicolo n° 9 ed completata con gli integrati L293DNE allegati ai fascicoli 7 e 8. la sua funzione è pilotare i motori a spazzola.

Morsettiera Collegamento
X1 Connettore per scheda madre
X2 Morsettiera motore 1
X3 Morsettiera motore 2

Pin

Funzione
1-2 GND
6-8 Comando motore 2
17-18 Comando motore 1
20 Vin

homotix

PCBA

Per il pilotaggio dei motori si utilizza la scheda DeA BASIC Stamp® Board, è però possibile utilizzare anche una scheda Arduino UNO

 

Vista frontale della basetta per il pilotaggio dei motori DC Vista lato rame della basetta pilotaggio motori DC

Copertina_fascicolo_n°-07.jpg Istruzioni per il montaggio fascicolo n° 7 Copertina_fascicolo_n°-08.jpg Istruzioni per il montaggio fascicolo n° 8 Copertina_fascicolo_n°-09.jpg Istruzioni per il montaggio fascicolo n° 9
Allegato_fascicolo_07.jpg Allegato_fascicolo_08.jpg Allegato_fascicolo_09.jpg
Fascicolo n°7 Fascicolo n°8 Fascicolo n°9
  • 1 integrato L293PNE
  • 1 integrato L293PNE
  • 1 scheda controllo motori

Descrizione del circuito

Nella figura B è mostrato lo schema circuitale della scheda di controllo motori, occorre collegare questa scheda tramite il suo bus di espansione X1 al bus X7 della scheda madre, in modo da comandare i due driver L293DNE, tramite quattro segnali inviati dal microcontrollore al rispettivi ingressi dei driver.

L293D Driver per ponte H
Piedinatura Datasheet Foto dell'integrato

In particolare, nello schema della scheda di controllo motori si nota che le porte P3 e P5 collegano il microcontrollore a due piedini dei driver (indicato nello schema con la sigla U2) che controlla il motore M2 di sinistra; le porte P14 e P15 sono invece collegate al driver (indicato con la sigla U1) che controlla il motore M1 di destra.
I due driver hanno ciascuno 16 piedini, di cui 4 per i segnali in ingresso (provenienti dal microcontrollore tramite le porte di cui sopra) e altrettanti per le uscite (verso i morsetti della scheda e, quindi, i motori); i rimanenti piedini sono invece collegati all'alimentazione.
Attraverso le porte P3, P5, P14 e P15, Il microcontrollore invia i segnali logici, cioè I valori 0 oppure 1, per comandare al driver la polarità da applicare ai rispettivi motori che, utilizzando la tensione di alimentazione, generano la corrispondente configurazione di tensione e polarità nei piedini di uscita, collegati al rispettivi motori tramite i morsetti della scheda.

COME FUNZIONANO I DRIVER L293DNE
Entriamo ora nel dettaglio della spiegazione del funzionamento dei driver L293DNE

Nella figura C (in alto) sono schematizzati i due possibili circuiti dì alimentazione di un motore a spazzola. Introduciamo ora in entrambi i circuiti un interruttore comandato da un valore logico (A e B), come mostrato nella figura D.

In base al valore logico che viene applicato in ingresso all'interruttore, quest'ultimo risulterà aperto o chiuso se l'ingresso è alto (1) l'interruttore chiude il circuito; viceversa, con un ingresso basso (0), l'interruttore è aperto e il circuito risulta interrotto.
Di fatto, il motore gira quando l'interruttore è chiuso mentre rimane fermo quando l'interruttore è aperto.
Proviamo ora a combinare insieme i due circuiti della figura D, per ottenerne uno solo grazie al quale sia anche possibile invertire il senso di rotazione di uno stesso motore.
Quello che si ottiene è il circuito riportato nella figura E, che ha ora quattro interruttori comandati disposti a formare una lettera H: per questo tale configurazione viene detta 'a ponte H'.

Il funzionamento dei motore dipende ora da quattro valori logici (A, B, C e D).
La tabella a destra dello schema riassume i possibili comportamenti dei motore, a seconda delle diverse configurazioni di ingressi.
Dalla tabella risulta che, se si attivano (ponendo il valore 1) coppie di ingressi incrociati (A e D oppure B e C, si realizza una delle due situazioni rappresentate dagli schemi della figura C, in cui Il motore gira in senso orario oppure antiorario.
Quando invece si attivano le coppie di ingressi allineati (A e B oppure C e D), il motore resta fermo poiché scollegato da  l'alimentazione (V) o dalla terra (Gnd).
Infine, le configurazioni che attivano le coppie di ingressi dello stesso lato (A e C oppure B e D) determinano, nello stesso punto dei circuito, valori di tensione diversi, che provocano un cortocircuito, molto dannoso per il circuito.
Per evitare tali configurazione pericolose, dette dì 'fuse test', il circuito deve essere modificato ulteriormente, riducendo i valori logici di comando del ponte H da quattro a due.
E' quello che si può osservare nel circuito schematizzato nella figura F

dove è stato inserito un nuovo componente () chiamato 'porta NOT'.
Si tratta di una porta logica con funzione di negazione, in grado di garantire che gli ingressi degli interruttori posti sullo stesso lato abbiano sempre e solo valori opposti: se per esempio A è 1 l'interruttore in alto a sinistra riceverà tale valore, mentre quello in basso a sinistra riceverà la negazione dei valore di A, cioè 0.
Proprio come avviene con il driver L293DNE, un tale motore è ora controllato da due soli valori logici (A e B).
Se torniamo alla figura B, si nota che, dei quattro ingressi corrispondenti al rispettivi piedini di ogni driver, solo due sono controllati in modo diretto dal microcontrollore; gli altri, protetti da una porta NOT, non possono che assumere il valore logico negato dai primi.

 

Schema  e circuito stampato
in formato EAGLE
  Disposizione componenti Rappresentazione 3d della scheda

Utilizzo della scheda motore con Basic Stamp 2

Per utilizzare la DeA DC Motor Board con la DeA BASIC Stamp® Board oppure come nell'esempio ad una Basic Stamp Super Carrier sarà sufficiente inserire la scheda DeA DC Motor Board nell'apposito connettore. Per alimentare la scheda assicurarsi che il valore di tensione sia nel range accettato dai vostri motori.  Per il test è disponibile un programma di esempio.


Test_DeA_DC_Motors.bs2

'*************************************************************************
' Legenda Motore
' M1= Motore Destro dal lato Seriale,su morsetto X2 (Scheda DC Motor)
' M2= Motore Sinistro dal lato Regolatore,su morsetto X3 (Scheda DC Motor)
'
' Tavola Movimenti
'
' Motore Destro M1, su X2 Scheda DC Motor
' porta P15 porta P14
'
' Low M1A Low M1B = Motore fermo
' High M1A High M1B = Motore fermo
' Low M1A high M1B = Motore orario
' High M1A Low M1B = Motore antiorario
'
' Motore Sinistro M2, su X3 Scheda DC Motor
'' porta P3 porta P5
'
' Low M2B Low M2A = Motore fermo
' High M2B High M2A = Motore fermo
' Low M2B high M2A = Motore orario
' High M2B Low M2A = Motore antiorario

'*************************************************************************
'--------------------- Definizione porte motori ------------------

M1A CON 14 ' Motore Destro
M1B CON 15 ' Motore Destro
M2B CON 5 ' Motore Sinistro
M2A CON 3 ' Motore Sinistro
'--------------------- Inizializzazione -------------------------
LOW M1A: LOW M1B
LOW M2A: LOW M2B
'--------------------- Programma Princiaple -----------------------
Start:

GOSUB avanti
PAUSE 1000
GOSUB arresto
PAUSE 500
GOSUB indietro
PAUSE 1000
GOSUB arresto
PAUSE 1000
GOTO start

'--------------------- Subroutine movimento motori ---------------------
avanti:
LOW M1A: HIGH M1B
PAUSE 20
LOW M2A: HIGH M2B:
PAUSE 20
RETURN

indietro:
HIGH M1A: LOW M1B
PAUSE 20
HIGH M2A: LOW M2B
PAUSE 20
RETURN

arresto:
LOW M1A: LOW M1B
PAUSE 50
LOW M2A: LOW M2B
PAUSE 50
RETURN

Utilizzo della scheda motore con Arduino UNO

Per utilizzare la DeA DC Motor Board con la scheda Arduino è sufficiente collegare la scheda con dei cavetti come nello schema sotto riportato, per quanto riguarda la tensione Vin, che è quella di alimentazione della scheda stessa,, assicurarsi che sia nel range accettato dai vostri motori.  Per il test è disponibile un programma di esempio.


Programma Prova_stepper_1

/*
 Test_DeA_DC_Motor_Board.ino
 Il programma ha il compito di verificare il funzionamento
 della scheda DeA DC Motor Board - Rev.D
 Su questa scheda sono presenti due integrati L293DNE
 ognuno comanda un motore.
 Il pilotaggio avviene tramite 4 pin presenti sul connettore X1.
 Pin 17-18 - Motore 1
 Pin 6-8   - Motore 2
 Pin 20    - Vin
 Pin, 1-2   - GND
 
 Su Arduino sono utilizzati i seguenti pin
 Pin GND         -> Pin 1-2
 Pin Vin         -> Pin 20
 Pin Digital 2   -> Pin 17
 Pin Digital 3   -> Pin 18
 Pin Digital 4   -> Pin 6
 Pin Digital 5   -> Pin 8
 
 Ultima modifica il 4/4/2015
 Applicazione realizzata da Adriano Gandolfo
 Sito https://www.adrirobot.it 
 Blog http://it.emcelettronica.com/author/adrirobot
 This example code is in the public domain.
 */

// Definizione pin
#define M1A 2
#define M2A 3
#define M1B 4
#define M2B 5

void setup() {
  //Impossta i pin come uscite
  pinMode(M1A, OUTPUT); 
  pinMode(M2A, OUTPUT);
  pinMode(M1B, OUTPUT); 
  pinMode(M2B, OUTPUT);
}

void loop() {
  drive_forward();
  delay(1000);
  motor_stop();
  delay(1000);
  drive_backward();
  delay(1000);
  motor_stop();
  delay (1000); 
}
// ————————————————————————— Drive

void motor_stop(){
  digitalWrite(M1A, LOW);
  digitalWrite(M2A, LOW);
  digitalWrite(M1B, LOW);
  digitalWrite(M2B, LOW);
  delay(25);
}

void drive_forward(){
  digitalWrite(M1B, LOW);
  digitalWrite(M2B, HIGH);
  digitalWrite(M1A, LOW);
  digitalWrite(M2A, HIGH);
}

void drive_backward(){
  digitalWrite(M1A, HIGH);
  digitalWrite(M2A, LOW);
  digitalWrite(M1B, HIGH);
  digitalWrite(M2B, LOW);
  delay (25);
}

 

Elenco revisioni:
04/04/2015 Aggiornato pagina con inserimento della possibilità di comando tramite scheda Arduino UNO, filmato dimostrativo, programmi dismostrativi.
02/03/2009 Inserito figure e rivisto testo.
16/11/2005 Inserito immagini allegati, e pdf istruzioni di montaggio
03/03/2004 Emissione preliminare
Private Policy Cookie Policy