Robocontroller V2

La RoboController è una scheda progetta per svolgere la funzione di unità avanzata di controllo motori in tutte quelle applicazioni dove serve un controllo RealTime di due motori DC con feedback tramite encoder e la possibilità di comunicazione con una unità di controllo superiore quale può essere un personal computer.

RoboController_V2 vista complessiva

RoboController_V2 vista complessiva

Il cuore di questo prodotto è  il dsPic33FJ128MC804, un dsPIC molto evoluto facente parte della famiglia di microcontrollori per il “Motor Control”  ideato appositamente per questo tipo di applicazioni.

Il prodotto è stato ispirato in gran parte al lavoro di Guido Ottaviani presentato nel suo sito raggiungibile da questo link ed è possibile utilizzare il medesimo software sviluppato da lui avendo introdotto col suo aiuto un define apposito nel file dsPID33_common.h

Sfruttando appieno le  caratteristiche di questo microcontrollore è stata realizzata una scheda  molto avanzata pensata per essere affidabile e garantire il corretto funzionamento anche in condizioni di utilizzo professionali.

RoboController_V2 vista complessiva TOP

RoboController_V2 vista complessiva TOP

CARATTERISTICHE

Ecco una panoramica delle caratteristiche principali della scheda

CPU

  • Architettura a 16bit
  • CPU da 40 MIPS con quarzo da 10Mhz ( @ 3,0V -3,6V):
  • 128K di memoria flash e 16K di memoria RAM
  • 83 base instructions: mostly 1 word/1 cycle
  • 5-cycle latency 118 interrupt vectors

INGRESSI ENCODER

Ingresso Encoder RoboController V2

Motor Output RoboController V2

  • 2 ingressi per la gestione simultanea di due encoder incrementali
  • Phase A, Phase B, and index pulse input
  • 16-bit up/down position counter
  • Programmable digital noise filters on inputs
  • Gestione hardware della quadratura 2X o 4X
  • Jumper per la selezione della modalità PUSH-PULL o OPEN-DRAIN
  • Uscita per alimentare gli ENCODER a 5Vdc o alla tensione di alimentazione della scheda.
  • Protezione per sovratensioni fino a 48Vdc ( max 1Sec ) e scariche ESD

USCITE PER CONTROLLO MOTORI

Motor Output RoboController V2

Motor Output RoboController V2

  • Buffer in uscita 74ACT244DW per avere uscite 0-5Vdc ad alta corrente ( up to 20mA )
  • 2 connettori di uscita uscite per pilotare i principali tipi di driver di potenza per motori DC.
  • 2ch PWM, 1ch ENABLE e un canale ausiliario ( FAN o driver relè ) su ciascun connettore d’uscita
  • Segnale AUX configurabile come uscita bufferata o ingresso tramite jumper.
  • 16-bit Motor Control PWM
  • Programmable dead-time and output polarity

ALIMENTATORE

Alimentatore RoboController V2

Alimentatore RoboController V2

  • Ingresso alimentazione da 7 a 30Vdc ( ideale quindi sia per robo in 12 che in 24Vdc )
  • Alimentatore switching ad alta efficenza per ottenere i 5Vdc
  • Regolatore Low-Drop per ricavare i 3V3 a basso rumore.

COMUNICAZIONE

  • 2 porte UART TTL ( 3V logic )  su due connettori dedicati con segnale Rx, Tx e un segnale General Porpouse ( Direction )

    Connettore COM1 e COM2 TTL

    Connettore COM1 e COM2 TTL

  • Connettore dedicato per l’interfaccia I2C.

    I2C Connector

    I2C Connector

  • Predisposizione per il montaggio di un modulo Xbee della Maxstreamsovrapposto alla porta COM1

    XBee Output RoboController V2

    XBee Output RoboController V2

  • Porta RS485 sovrapposta alla COM2 con JUMPER per abilitare/disabilitare la RS485 e jumper per le polarizzazioni.

    COM2 RS485 Output

    COM2 RS485 Output

INGRESSI ANALOGICI

Analog Inpunt RoboController V2

Analog Inpunt RoboController V2

  • 4 ingressi analogici
  • Conversione a 10bit @ 1,1Msp o 12bit @ 500Ksps
  • Two and four simultaneous samples (10-bit ADC)
  • Conversion possible in Sleep mode
  • Conversion start can be manual or synchronized with one of four trigger sources

I/O GENERICO

  • Possibilità di rimappare le periferiche da software e di utilizzare gli I/O delle porte COM e I2C come I/O generici.
  • 2 LED general porpouse  da 3mm ( rispettivamente rosso e giallo )

    General Porpouse LED

    General Porpouse LED

  • 2 LED per i segnali RSSI e ASSOCIATE del modulo XBEE

REALIZZAZIONE

PCB

PCB RoboController V2

PCB RoboController V2

Il circuito stampato è stato realizzato  da service di altissima qualità.

SCHEMA ELETTRICO

Versione PDF: Schema eletrico RoboController V3.1

SOFTWARE

Come detto nell’introduzione la scheda è stata ideata prendendo ispirazione dal lavoro di Guido Ottaviani e per tutti i dettagli sul funzionamento del software e su come compilarlo vi rimando al suo sito già molto esaustivo.

Per compilare il software di Guido per la RoboController bisogna procurarsi i sorgenti tramite la pagina “Last Version” e seguire tutte le istruzioni del suo sito, l’unica nota da fare è come adattare il software a questo hardware ma grazie al lavoro svolto in collaborazione con Guido la cosa è molto semplice perchè nel codice è stata introdotta la possibilità di selezionare tramite define per che HW essere compilato.

Sarà quindi sufficiente aprire il file dsPID33_common.h e decommentare la riga “#define ROBOCONTROLLER 1” commentando le righe relative agli altri hardware supportati.

One comment to Robocontroller V2