PicBrush2 - Controllare due motori DC con i PIC

Una coppia di microprocessori PIC per controllare due motori in continua

Attenzione

Questa pagina l'ho scritta molto tempo fa e contiene materiale obsoleto

L'uso è sconsigliato e non posso più fornire alcun supporto

Questa scheda è una semplice piattaforma pensata per sperimentare soluzioni hardware e software di controllo della velocità per motori in corrente continua. I microcontrollori usati possono essere i Microchip PIC16 (il componente effettivamente utilizzato) oppure i più veloci PIC18, comunque nel contenitore DIP a venti piedini.

Questo circuito presenta le seguenti caratteristiche:

Pur essendo un circuito pensato per "fare esperimenti" è possibile un suo uso "in produzione", per esempio per controllare il movimento di un piccolo robot a due ruote.

A fondo pagina potete scaricare lo schema elettrico, il PCB ed il software di test e valutazione.

Descrizione del circuito

Osservando lo schema del circuito si nota immediatamente che si tratta di due circuiti praticamente identici, affiancati tra loro ma sostanzialmente indipendenti. Il motivo di questa scelta deriva dal fatto che spesso tali circuiti sono utilizzati per pilotare una coppia di motori. Occorre notare che l'unico componente effettivamente costoso è il ponte ad H che può controllare un solo motore; i PIC sono invece economici e la possibilità teorica di usarne uno solo per due motori è sembrata poco attraente per la maggiore difficoltà nello scrivere il codice. Il circuito permette comunque di sperimentare soluzioni con un solo PIC per i due motori, semplicemente non montando il secondo processore e sfruttando la possibilità di realizzare collegamenti "volanti". Analogamente, se non serve usare il secondo motore, è ovviamente inutile la presenza del secondo ponte.

Il circuito di potenza è costituito da un ponte ad H integrato LDM18200 di produzione National Semiconductor, capace di pilotare carichi fino a 50V, 3A (6 ampere di picco). I fogli tecnici sono disponibili nella pagina della documentazione tecnica. Il componente è acquistabile da molti fornitori on-line di componenti elettronici, purtroppo a prezzi non esattamente economici.

Il circuito integrato deve essere opportunamente raffreddato: è sufficiente un dissipatore anche non enorme, come quello visibile nella fotografia. E' comunque presente un circuito di spegnimento automatico nel caso di raggiungimento di temperature eccessive.

Il  ponte è pilotato da un segnale PWM di tipo locked anti-phase generato dal PIC; un solo segnale digitale codifica sia il verso di rotazione del motore sia la velocità:

La frequenza dell'onda quadra è praticamente irrilevante e deve essere compresa indicativamente tra 5 e 30 kHz. Se inferiore a 20kHz ha come effetto negativo un fischio piuttosto fastidioso emesso dal motore.

L'onda quadra è generata dal PIC che provvede a modificare il DC in funzione di parametri calcolati dal software e/o ricevuti attraverso un bus I2C presente sulla scheda.

Il collegamento tra PIC e LDM18200 è effettuata attraverso un optoisolatore ad alta velocità in modo da garantire (entro certi limiti...) l'isolamento elettrico tra le elevate tensioni di pilotaggio del motore ed i circuiti logici, precauzione quanto mai necessaria se intendete comandare i PIC con un PC. Il componente indicato può essere sostituito da altri, ne esistono diversi con la stessa piedinatura, purché sia garantita una velocità minima di funzionamento di almeno 10-15 MHz.

Questo circuito è stato pensato per lo sviluppo ed il collaudo del software del PIC: per questo sono previsti due connettori per collegare il programmatore PICkit2 direttamente al circuito stampato. Ovviamente se si dispone di un emulatore tali connessioni sono inutili. L'alimentazione del PIC è trasportata attraverso lo stesso connettore usato dal bus I2C oppure proviene dal PICkit2 ed è completamente indipendente da quella dei motori. Si consigliano 3,6V.

Il software

Nel file scaricabile a fondo pagina è presente:

I componenti

C1, C2, C4, C5 10N Condensatori plastici o ceramici non polarizzati
C3, C7 1U Condensatori plastici o ceramici non polarizzati
C6 220-470uF Condensatore elettrolitico, 50V o più (100 V se Vs > 35V). Vedi nota
C8 50U Condensatore elettrolitico, 16V o più
C9, C11, C12 100N Condensatori plastici o ceramici non polarizzati
C10 220U Condensatore elettrolitico, 50V o più (100 V se Vs > 35V)
D1 4V7 Diodo zener 1/2 W, 4,7 V
ISO1 HCPL2630 Optoisolatore doppio ad alta velocità ( > 10 Mbit/s)
J1, J2   Connettori per motori
J3   Connettore per l'alimentazione di potenza ( 12V < Vs < 50V)
J4   Connettore per il bus I2C (inclusa l'alimentazione dei PIC)
J5, J6 PICKIT2 Connettori per PICkit2
R1, R2 2K2 Resistore 1/4 W
R3, R4 390 Resistore 1/4 W
R5 1K Resistore 1/2 W (1 W se Vs > 15V)
R6, R7 1K Resistore 1/4 W
U1, U2 LMD18200 Ponte ad H integrati
U3, U4 PIC16F690 Sostituibile con un PIC18F14 o forse anche con altri PIC a 20 pin
Y1, Y2 20MHZ Quarzo (opzionali, può essere usato l'oscillatore interno al PIC)
C13, C14, C15, C16 22P Condensatori ceramici (opzionali, può essere usato l'oscillatore interno al PIC)

Note di montaggio

 

Per realizzare questo circuito è necessario disporre dei seguenti file o documenti:


Pagina principaleAccessibilitàNote legaliPosta elettronicaXHTML 1.0 StrictCSS 3

Vai in cima