Sommario:

Controllo del braccio robotico con TLV493D, joystick e Arduino: 3 passaggi
Controllo del braccio robotico con TLV493D, joystick e Arduino: 3 passaggi

Video: Controllo del braccio robotico con TLV493D, joystick e Arduino: 3 passaggi

Video: Controllo del braccio robotico con TLV493D, joystick e Arduino: 3 passaggi
Video: Multiple Servo Motor Control with Joystick and Arduino 2024, Luglio
Anonim
Controllo del braccio robotico con TLV493D, joystick e Arduino
Controllo del braccio robotico con TLV493D, joystick e Arduino
Controllo del braccio robotico con TLV493D, joystick e Arduino
Controllo del braccio robotico con TLV493D, joystick e Arduino
Controllo del braccio robotico con TLV493D, joystick e Arduino
Controllo del braccio robotico con TLV493D, joystick e Arduino

Un controller alternativo per il tuo robot con un sensore TLV493D, un sensore magnetico con 3 gradi di libertà (x, y, z) con questi puoi controllare i tuoi nuovi progetti con comunicazione I2C sui tuoi microcontrollori e scheda elettronica che Bast Pro Mini M0 con un Microcontrollore SAMD21 su Arduino IDE.

L'obiettivo è avere un joystick alternativo per controllare i tuoi progetti, in questo caso un braccio robotico con 3 gradi di libertà. Ho usato un braccio robotico MeArm, questo è un progetto open source e puoi renderlo facile e puoi trovarlo qui. Puoi creare il tuo braccio del controller o un'altra applicazione con questa conoscenza che sono felice di condividere con te.

Tutti i componenti elettronici hanno collegamenti da acquisire sullo store, file per stampante 3D e codice per Arduino IDE.

TLV493D può essere un joystick Il sensore magnetico 3D TLV493D-A1B6 offre un rilevamento tridimensionale accurato con un consumo energetico estremamente basso in un piccolo contenitore a 6 pin. Grazie al rilevamento del campo magnetico nelle direzioni x, y e z, il sensore misura in modo affidabile i movimenti tridimensionali, lineari e di rotazione.

Le applicazioni includono joystick, elementi di controllo (elettrodomestici, manopole multifunzione) o contatori elettrici (antimanomissione) e qualsiasi altra applicazione che richieda misurazioni angolari accurate o bassi consumi. Il sensore di temperatura integrato può inoltre essere utilizzato per i controlli di plausibilità. Le caratteristiche principali sono il rilevamento magnetico 3D con un consumo energetico molto basso durante le operazioni.

Il sensore ha un'uscita digitale tramite un'interfaccia I2C standard basata su 2 fili fino a 1 MBit/sec e risoluzione dati a 12 bit per ciascuna direzione di misurazione (misurazione del campo lineare Bx, By e Bz fino a +-130mT). TLV493D-A1B6 3DMagnetic è un fuoribordo indipendente.

Puoi collegarlo facilmente a qualsiasi microcontrollore di tua scelta che sia compatibile con Arduino IDE e abbia un livello logico di 3,3 V. In questo progetto, utilizziamo il breakout Electronic Cats e una scheda di sviluppo che spiegherò più avanti.

electroniccats.com/store/tlv493d-croquette…

Il vantaggio di utilizzare un sensore TLV493D è che vengono utilizzati solo due cavi con I2C per ricevere le informazioni, quindi è un'ottima opzione quando abbiamo pochi pin disponibili sulla scheda, anche grazie ai vantaggi di I2C possiamo connettere di più sensori. Puoi trovare il repository per questo progetto qui. Per questo progetto, utilizzeremo un joystick che puoi stampare su una stampante 3D o farlo stampare nel negozio di stampa 3D più vicino.

I file. STL sono allegati alla fine del progetto. Il suo assemblaggio è molto semplice, puoi vederlo in video

Costruisci il tuo robot In questo caso, costruisco il robot Mearm v1 che puoi trovare questo progetto nella pagina dell'autore qui

Questo è un robot facile da realizzare e controllare perché ha servomotori a 5 volt. Puoi costruire o utilizzare qualsiasi robot a tua scelta, questo progetto si concentrerà sul controllo con il sensore TLV493D.

Forniture:

  • x1 Bast Pro Mini M0 Acquista
  • x1 Crocchetta TLV493D Acquista
  • x1 Kit MeArm v1
  • x20 cavi Dupont
  • x1 scheda prototipi
  • x2 Pulsante
  • x1 Magnete 5 mm di diametro x 1 mm di spessore

Passaggio 1: collegamento del sensore con Bast Pro Mini M0

Collegamento del sensore con Bast Pro Mini M0
Collegamento del sensore con Bast Pro Mini M0

Per controllare il braccio del robot viene utilizzata una scheda di sviluppo Electronic Cats, una Bast Pro Mini M0 con un microcontrollore SAMD21E ARM Cortex-M0.

Questo chip funziona a 48 MHz, con 256 KB di memoria di programmazione, 32 KB di SRAM e funziona a una tensione da 1,6 V a 3,6 V. Grazie alle sue specifiche possiamo usarlo per bassi consumi con buone prestazioni e anche programmarlo con CircuitPython o qualche altro linguaggio che permetta i microcontrollori.

electroniccats.com/store/bast-pro-mini-m0/

Se sei interessato a saperne di più su questa scheda, ti lascio il link del suo repository.

github.com/ElectronicCats/Bast-Pro-Mini-M0…

Per controllare il movimento dei servomotori viene utilizzato il sensore magnetico TLV493D che invierà il segnale per posizionare il servomotore ai gradi corrispondenti.

Con un solo sensore possiamo muovere due servomotori, in questo esempio utilizzeremo un solo sensore e un pulsante per comandare la pinza.

Un'altra proposta che puoi fare è aggiungere un altro sensore TLV493D e spostare il terzo servomotore e la pinza. Se lo fai, lascia la tua esperienza nei commenti e ti invito a condividere il progetto.

L'immagine mostra il circuito armato su una scheda prototipi.

  • Il primo servomotore è per la pinza e si collega al pin 2
  • Il secondo servomotore è per la base del robot e si collega al pin 3
  • Il terzo servomotore è per la spalla del robot e si collega al pin 4
  • Il quarto servomotore è per il gomito del robot e si collega al pin 5
  • Il primo pulsante serve a fermare qualsiasi movimento del robot e si collega al pin 8 in pull-down con una resistenza di 2.2Kohm.
  • Il secondo pulsante è per il movimento di apertura e chiusura della pinza ed è collegato al pin 9 in pull-down con una resistenza di 2,2Kohm.

Nell'immagine del circuito, il sensore TLV493D non appare perché non è stato aggiunto al fritzing ma è stato aggiunto un connettore a 4 pin per simulare i suoi connettori VCC, GND, SCL, SDA. Nell'immagine, sono posizionati nello stesso ordine.

  • Il primo pin si collega a 3,3 volt sulla scheda
  • Il secondo pin si collega a GND
  • Il terzo pin SCL si collega al pin A5 sulla scheda
  • Il quarto pin SDA si collega al pin A4 della scheda

Grazie al vantaggio del chip SAMD21 possiamo utilizzare uno qualsiasi dei suoi pin digitali come uscite PWM, che ci serviranno per inviare la corretta larghezza di impulso per spostare il servomotore.

Un'altra informazione importante da tenere in considerazione è l'alimentazione esterna per i servomotori, nel circuito si vede un connettore a spina che si collega ad una sorgente 5volt a 2Amp, per evitare di sovraccaricare la scheda e danneggiarla.

Inoltre non dimenticare di unire il segnale comune GND della scheda e la sorgente esterna, altrimenti avresti problemi a controllare i servomotori in quanto non avrebbero lo stesso riferimento.

Passaggio 2: codifica dell'IDE Arduino su Bast Pro Mini M0

Codifica dell'IDE Arduino su Bast Pro Mini M0
Codifica dell'IDE Arduino su Bast Pro Mini M0
Codifica dell'IDE Arduino su Bast Pro Mini M0
Codifica dell'IDE Arduino su Bast Pro Mini M0
Codifica dell'IDE Arduino su Bast Pro Mini M0
Codifica dell'IDE Arduino su Bast Pro Mini M0

La prima cosa sarà installare la scheda Bast Pro Mini M0 nell'IDE di Arduino, i passaggi si trovano nel repository Electronic Cats e sono importanti per il suo funzionamento.

github.com/ElectronicCats/Arduino_Boards_I…

Quando hai pronto l'IDE Arduino è necessario installare la libreria ufficiale del sensore TLV493D, entrare in https://github.com/Infineon/TLV493D-A1B6-3DMagnet… e andare su Releases.

Nella prima parte del codice vengono dichiarate le librerie utilizzate, in questo caso Servo.h per i servomotori e TLV493D.h per il sensore.

Quando si utilizza la libreria Servo.h è importante dichiarare il numero di servomotori, sebbene il robot ne abbia 4 in questo momento ne vengono utilizzati solo 3.

I perni sono dichiarati per i pulsanti che arresteranno qualsiasi movimento del robot e l'apertura e la chiusura della pinza. Vengono dichiarate alcune variabili globali che serviranno a conoscere lo stato della pinza e se c'è movimento.

Nella seconda parte del codice mostreremo nel monitor seriale il valore del grado in cui si trovano i motori. Un altro punto importante è stabilire il limite dei gradi nei vostri servomotori, per questo viene utilizzata la funzione map() che converte il valore dei movimenti del sensore TLV493D nell'intervallo da 0 a 180 gradi del servomotore.

Per l'ultima parte del codice si creano le condizioni per attivare il movimento dei servomotori con il pulsante e per sapere in che stato si trova la pinza per il suo prossimo movimento alla pressione del secondo pulsante. Come puoi vedere nelle immagini precedenti il codice non è difficile da implementare e capire, alla fine del progetto puoi trovare il codice.

Stai imparando a usare Circuit Python?

Se sei interessato a imparare come utilizzare questo IDE, puoi trovare la scheda Bast Pro Mini M0 nel seguente link per scaricare il bootloader e iniziare a programmarlo con Python.

Passaggio 3: pezzi 3D

Se sei interessato a realizzare il progetto, puoi scaricare i pezzi in.stl e stamparli. Troverai i file per la base e la levetta rotante.

Consigliato: