Sommario:

Robot quadruplo controllato da ESP8266 WIFI AP: 15 passaggi (con immagini)
Robot quadruplo controllato da ESP8266 WIFI AP: 15 passaggi (con immagini)

Video: Robot quadruplo controllato da ESP8266 WIFI AP: 15 passaggi (con immagini)

Video: Robot quadruplo controllato da ESP8266 WIFI AP: 15 passaggi (con immagini)
Video: Mini Datacenter Hardware and Crypto - Q&A Weekly 2024, Dicembre
Anonim
Image
Image

Questo è un tutorial per realizzare un robot a 12 DOF o a quattro gambe (quadrupede) utilizzando il servo SG90 con servoazionamento e può essere controllato utilizzando il server Web WIFI tramite il browser dello smartphone

Il costo totale per questo progetto è di circa US $ 55 (per la parte elettronica e il telaio del robot in plastica)

Passaggio 1: preparare la cornice

Parti elettroniche (Wemos D1 Mini)
Parti elettroniche (Wemos D1 Mini)

Tutto l'oggetto 3D è scaricabile gratuitamente @ www.myminifactory.com o www.thingiverse.com

Stampalo utilizzando il supporto materiale per alcune parti come piedi, fianchi e cosce

Elenco delle parti stampate:

1x corpo base

1x copertura

1x portabatteria

4x Fianchi (tipo A e B)

4x Stretto (tipo A e B)

4 piedini (tipo A e B)

4x Scudo

12x boccola + 12x vite da 2 mm

Passaggio 2: assemblare il telaio del robot

seguire passo passo il video sopra per assemblare il telaio, la vite è per fori da 2 mm

Passaggio 3: parti elettroniche (Wemos D1 Mini)

Image
Image

Ci sono molte varianti di NodeMCU sul mercato e sostanzialmente hanno le stesse funzionalità, per questo progetto scelgo Wemos D1 Mini.

Questa parte servirà da Web Server per il nostro quadrupede come Access Point.

Quello di cui hai bisogno è semplicemente connetterti all'AP Quadruped e controllare tutti i movimenti del tuo robot, e forse per il progetto futuro ti mostrerà tutti i dashboard dei sensori di cui hai bisogno…

Questo mini D1 è una mini scheda WIFI basata su ESP-8266EX. e ha 11 pin di input/output digitali, tutti i pin hanno interrupt/pwm/I2C/one-wire supportati (tranne D0) 1 ingresso analogico (ingresso max 3,3 V) una connessione Micro USB

Come iniziare a:

  1. Installa per Arduino 1.6.7 dal sito Web di Arduino.
  2. Avvia per Arduino e apri la finestra Preferenze.
  3. nel campo URL di Gestione schede aggiuntive. Puoi aggiungere più URL, separandoli con virgole.
  4. Apri Strumenti → Scheda: xxx → Gestione schede e installa esp8266 dalla comunità ESP8266 (e non dimenticare di selezionare la scheda ESP8266 dal menu Strumenti> Scheda dopo l'installazione).

Per maggiori dettagli puoi controllare il video qui sopra

Clicca qui per cercare in Aliexpress

Per questo progetto tutto ciò di cui hai bisogno è collegare questo Pin:

  1. Il pin NodeMCU RX si collega al pin Arduino Nano TX
  2. Il pin NodeMCU TX si collega al pin Arduino Nano RX
  3. Il pin NodeMCU G si collega al pin di uscita DC-DC mini 5v Stepdown (-)
  4. Il pin NodeMCU5V si collega all'uscita DC-DC mini 5v Stepdown (+) Uscita pin

PS: Per programmare questa scheda devi scollegare tutti i pin collegati all'arduino e DC-DC step down, altrimenti otterrai un errore …

Passaggio 4: parti elettroniche (Arduino Nano)

Parti elettroniche (Arduino Nano)
Parti elettroniche (Arduino Nano)

Lo stesso con NodeMCU, per la scheda arduino puoi usare qualsiasi scheda adatta a te come Arduino Pro Mini, Arduino Nano o altro.

Ma per questo progetto scelgo Arduino Nano, perché non ho bisogno di molti pin che ho usato, è piccolo e non ho bisogno di FTDI per programmarlo.

clicca qui per cercare in Aliexpress

Per questo progetto uso solo:

  1. Il pin Arduino nano RX si collega al pin TX di NodeMCU
  2. Il pin TX di Arduino nano si collega al pin RX di NodeMCU
  3. Il pin Ardiono nano A4 si collega al pin SDA PCA9685
  4. Il pin Arduino nano A5 si collega al pin SCL PCA9685
  5. Il pin GND di Arduino nano si collega al pin di uscita DC-DC mini 5v Stepdown (-)
  6. Il pin Arduino nano 5V si collega al pin di uscita DC-DC mini 5v Stepdown (+)

vedere lo schema sopra per maggiori dettagli

PS: Per programmare questa scheda devi scollegare tutti i pin collegati al NodeMCU e DC-DC step down, altrimenti otterrai un errore …

Passaggio 5: parti elettroniche (Micro Servo Tower Pro 9g)

Parti elettroniche (Micro Servo Tower Pro 9g)
Parti elettroniche (Micro Servo Tower Pro 9g)

Questo è il mini servo più popolare. Pesa solo 9 grammi e ti dà una coppia di 1,5 kg/cm. Abbastanza forte per quanto riguarda le sue dimensioni. Adatto per robot di tipo a trave.

PS: solo questo servo può ruotare un angolo di 180 gradi

Caratteristiche principali:

• Corpo traslucido

• Leggero

• Specifiche meno rumorose:

• Dimensioni: 22,6 x 21,8 x 11,4 mm

• Lunghezza cavo connettore: 150 mm

• Velocità di funzionamento (4,8 V senza carico): 0,12 sec / 60 gradi

• Coppia di stallo (4,8 V): 1,98 kg/cm

• Intervallo di temperatura: da 30 a 60°C (da -22 a 140℉)

• Larghezza banda morta: 4 usec

• Tensione di funzionamento: 3,5 - 8,4 Volt

Clicca qui per cercare il servo SG90 in Aliexpress

Passaggio 6: parti elettroniche (driver PWM/servo a 12 canali a 12 bit - interfaccia I2C - PCA9685 per Arduino)

Parti elettroniche (driver PWM/servo a 12 canali a 12 bit - Interfaccia I2C - PCA9685 per Arduino)
Parti elettroniche (driver PWM/servo a 12 canali a 12 bit - Interfaccia I2C - PCA9685 per Arduino)

Vuoi creare un robot walker? ma usare solo il microcontrollore ha un numero limitato di uscite PWM e ti ritrovi a esaurire! Non con l'Adafruit 16-Channel 12-bit PWM/Servo Driver - Interfaccia I2C. Con questo breakout pwm e servo driver, puoi controllare 16 uscite PWM a funzionamento libero con solo due pin! Hai bisogno di eseguire più di 16 uscite PWM? Nessun problema. Concatena insieme fino a 62 di queste bellezze per un massimo di 992 uscite PWM eccezionali.

Questa scheda/chip utilizza l'indirizzo I2C a 7 bit compreso tra 0x60-0x80, selezionabile con jumper Morsettiera per ingresso alimentazione (oppure si possono utilizzare i breakout da 0.1" a lato) Protezione contro l'inversione di polarità sull'ingresso in morsettiera LED verde power-good 3 connettori pin in gruppi di 4 in modo da poter collegare 16 servi contemporaneamente (i connettori servo sono leggermente più larghi di 0,1" in modo da poterne impilare solo 4 uno accanto all'altro su un'intestazione da 0,1" Design "concatenabile" Un punto per posizionare un grande condensatore sulla linea V+ (nel caso ne avessi bisogno) resistori in serie da 220 ohm su tutte le linee di uscita per proteggerle e per rendere banale il pilotaggio dei LED Ponticelli a saldare per i 6 pin di selezione degli indirizzi Driver PWM controllato da i2c con un clock integrato. A differenza della famiglia TLC5940, non è necessario inviare continuamente il segnale per vincolare il microcontrollore, è completamente gratuito!È conforme a 5 V, il che significa che puoi controllarlo da un microcontrollore da 3,3 V e continuare a pilotare in sicurezza fino a 6 V di uscite (questo va bene quando vuoi controllare il bianco o il blu L ED con 3.4+ tensioni dirette) 6 pin di selezione dell'indirizzo in modo da poter collegare fino a 62 di questi su un singolo bus i2c, per un totale di 992 uscite - questo è un sacco di servi o LED Frequenza regolabile PWM fino a circa 1,6 KHz a 12 bit risoluzione per ogni uscita - per i servi, ciò significa una risoluzione di circa 4us con una frequenza di aggiornamento di 60Hz Uscita push-pull o open-drain configurabile Pin di abilitazione uscita per disabilitare rapidamente tutte le uscite.

clicca qui per cercare in Aliexpress

In questo progetto abbiamo solo bisogno di 12 CH per tutte le gambe (3CH per gamba), collega questo pin PCA9685 ad Arduino Nano:

  1. PCA9685 VCC a DC-DC mini 5v Stepdown (+) Uscita pin out
  2. PCA9685 GND a DC-DC mini 5v Stepdown (-) Uscita pin out
  3. PCA9685 Alimentazione servo (PWM) da V+ a UBEC (+) Uscita pin out
  4. PCA9685 Servo (PWM) alimentazione GND a UBEC (-) Uscita pin out
  5. PCA9685 SDA pinto il pin arduino nano A4
  6. Pin PCA9685 SCL al pin arduino nano A5
  7. PCA9685 CH0 alla coscia anteriore destra, abbinare il colore del cavo al colore della presa PCA9685 (giallo, rosso, marrone/nero)
  8. PCA9685 CH1 al piedino anteriore destro, abbinare il colore del cavo al colore della presa PCA9685 (giallo, rosso, marrone/nero)
  9. PCA9685 CH2 all'anca anteriore destra, abbinare il colore del cavo al colore della presa PCA9685 (giallo, rosso, marrone/nero)
  10. PCA9685 CH4 alla parte posteriore destra, abbinare il colore del cavo al colore della presa PCA9685 (giallo, rosso, marrone/nero)
  11. PCA9685 CH5 al piedino posteriore destro, abbinare il colore del cavo al colore della presa PCA9685 (giallo, rosso, marrone/nero)
  12. PCA9685 CH6 all'anca posteriore destra, abbinare il colore del cavo al colore della presa PCA9685 (giallo, rosso, marrone/nero)
  13. PCA9685 CH8 alla coscia anteriore sinistra, abbinare il colore del cavo al colore della presa PCA9685 (giallo, rosso, marrone/nero)
  14. PCA9685 CH9 al piedino anteriore sinistro, abbinare il colore del cavo al colore della presa PCA9685 (giallo, rosso, marrone/nero)
  15. PCA9685 CH10 all'anca anteriore sinistra, abbinare il colore del cavo al colore della presa PCA9685 (giallo, rosso, marrone/nero)
  16. PCA9685 CH12 alla parte posteriore sinistra, abbinare il colore del cavo al colore della presa PCA9685 (giallo, rosso, marrone/nero)
  17. PCA9685 CH13 al piedino posteriore sinistro, abbinare il colore del cavo al colore della presa PCA9685 (giallo, rosso, marrone/nero)
  18. PCA9685 CH14 all'anca posteriore sinistra, abbinare il colore del cavo al colore della presa PCA9685 (giallo, rosso, marrone/nero)

PS: alcuni PCA9685 non hanno una presa con codice colore, quindi assicurati che il cavo giallo dal servo SG90 vada al pin dati PWM, il cavo rosso al pin V+ e il nero/marrone al pin GND

Passaggio 7: connessione da PWM a servo pin

Collegamento da PWM a servo pin
Collegamento da PWM a servo pin
Collegamento da PWM a servo pin
Collegamento da PWM a servo pin

Fare clic e ingrandire l'immagine sopra per vedere la mappatura dei pin tra PCA9685 e i servi

PS: Usi solo 12CH da 16 CH per questo progetto, quindi hai ancora 4CH rimasti per l'espansione come mettere il servo del radar o metterci sopra un'arma nerf blaster … Basta inserire un codice aggiuntivo nell'arduino e nel NodeMCU

Passaggio 8: parti elettroniche (UBEC)

Parti elettroniche (UBEC)
Parti elettroniche (UBEC)

Il 3A-UBEC è un regolatore DC-DC a commutazione fornito con un pacco batteria al litio da 2-6 celle (o una batteria NiMh/NiCd da 5-18 celle) e fornisce una tensione di sicurezza costante per il ricevitore, il giroscopio e i servi. È molto adatto per l'elicottero RC. Rispetto alla modalità lineare UBEC, l'efficienza complessiva della modalità switch UBEC è maggiore.

In questo progetto lo usiamo per alimentare tutti i servi, ha un filtro in modo da ridurre il rumore che può influenzare il problema del motore e ha un amplificatore alto sufficiente per sollevare il carico del robot.

clicca qui per cercare in Aliexpress

Connessione pin:

  1. UBEC (+) RED Uscita pin out per PCA9685 Servo (PWM) alimentazione V+
  2. UBEC (-) BLACK Pin di uscita verso l'alimentazione PCA9685 Servo (PWM) GND
  3. UBEC (+) ROSSO Ingresso al pin della batteria (+)
  4. Ingresso UBEC (-) BLACK al pin dell'interruttore

Passaggio 9: parti elettroniche (mini stepdown DC-DC)

Parti elettroniche (mini stepdown DC-DC)
Parti elettroniche (mini stepdown DC-DC)
Parti elettroniche (mini stepdown DC-DC)
Parti elettroniche (mini stepdown DC-DC)

Ha quasi la stessa funzione con UBEC, ma questo è solo un semplice modulo step-down DC-DC. Ha un misuratore di potenza che possiamo regolare l'uscita V (+) da 1V a 17V e non ha filtri.

clicca qui per cercarlo su Aliexpress

PS: quindi ricorda, prima di utilizzarlo, regola l'uscita V (+) su 5 V utilizzando il voltmetro CC

Connessione pin:

  1. Mini stepdown (+) IN alla batteria (+)
  2. Mini stepdown (-) IN al pin dell'interruttore
  3. Mini stepdown (+) OUT in parallelo al pin NodeMCU (5V), Arduino nano (5V) e PCA9685 (VCC)
  4. Mini stepdown (-) OUT in parallelo al pin NodeMCU (G), Arduino nano (GND) e PCA9685 (GND)

Passaggio 10: altra parte elettronica

Altra parte elettronica
Altra parte elettronica
Altra parte elettronica
Altra parte elettronica
Altra parte elettronica
Altra parte elettronica

Quello di cui hai bisogno è in giro (20 cavi o meno) cavo jumper femmina-femmina (ricerca cavo jumper aliexpress)

Interruttore a pulsante autobloccante oppure è possibile utilizzare un altro tipo di interruttore (ricerca interruttore autobloccante aliexpress)

e una coppia di connettori JST dalla batteria all'interruttore e stepdown UBEC/DC-DC (ricerca connettore JST aliexpress)

Passaggio 11: fonte di alimentazione

Fonte di potere
Fonte di potere
Fonte di potere
Fonte di potere

C'è molta fonte di energia che puoi usare, per me preferisco usare la batteria ricaricabile lipo 3S. Ha 11, 1 Volt di corrente e 500 mAh o più di capacità (non troppo, quindi può essere più leggero).

Ma usare 3S lipo ha bisogno di un caricabatterie e non è economico, quindi … puoi usare un'altra fonte di alimentazione come la batteria AAA, puoi una batteria seriale 6 AAA in modo che possa produrre una fonte di alimentazione di circa 9 V e penso che sia abbastanza energia per questo robot.

Clicca qui per cercare la batteria Lipo 3S in Aliexpress

Clicca qui per cercare Caricabatterie Lipo

Fare clic qui per cercare il supporto per batterie 6xAAA in Aliexpress

Passaggio 12: schema elettrico

Schema elettrico
Schema elettrico

Fare clic e ingrandire l'immagine sopra per vedere tutto lo schema elettrico per questo progetto

PS: hai bisogno di un po 'di saldatura in qualche parte e metti una testina di gomma termoretraibile per sigillarla per il collegamento tra interruttore di alimentazione, UBEC e step down DC-DC.

Passaggio 13: codifica e posa iniziale

Codifica e posa iniziale
Codifica e posa iniziale

Collega l'arduino nano utilizzando il cavo da mini USB a porta USB (ma non dimenticare di scollegare tutti i pin da wemos D1 mini e DC-DC stepdown) e apri "spider_driver_open_v3_ESP8266_Rev280918.ino" e esegui il flashing su Arduino nano, ma non farlo t dimenticare di selezionare la scheda arduino su Arduino nano e selezionare la porta corretta.

Il prossimo è collegare il Wemos D1 mini al computer utilizzando micro USB a USB (inoltre non dimenticare di scollegare tutti i pin su DC-DC stepdown e Arduino nano). Quindi apri " QuadrupetV2_310319_fix_connection_issue.ino " e esegui il flashing sulla scheda, ma prima seleziona la scheda corretta in preferenza e seleziona la porta corretta (maggiori dettagli torna al passaggio 3)

Dopo tutto, puoi ricollegare tutti i pin tra arduino nano, wemos D1 mini e DC-DC stepdown e accendere il robot per regolare la corretta posa iniziale.

POSA INIZIALE (Vedi l'immagine sopra) riaggiusta tutta la gamba il più vicino possibile all'immagine sopra.

Dopo aver acceso il robot, se la posizione della gamba non è la stessa con l'immagine sopra, tutto ciò di cui hai bisogno è:

  1. svitare la squadretta del servo e staccare la squadretta del servo dal servo.
  2. girare la gamba fino a quando non è abbastanza vicino con la posa iniziale
  3. rimontare la squadretta del servo e manovrarla di nuovo
  4. fallo per tutte le partite di miss match

PS:

  1. QuadrupetV2_310419_fix_connection_issue.ino è già stato risolto alcuni problemi come difficoltà di connessione (wifi) e il rendering della pagina Web non riesce, per chi esegue il flashing del programma precedente prima del 31-3-2019, scaricalo di nuovo sopra
  2. è necessario installare qualche libreria aggiuntiva (copiala nella cartella della libreria)

    • github.com/wimleers/flexitimer2
    • github.com/adafruit/Adafruit-PWM-Servo-Dri…
    • github.com/kroimon/Arduino-SerialCommand

Passaggio 14: controllo del robot

Controllare il Robot
Controllare il Robot

Perché questo robot è diventato un punto di accesso WIFI, quindi tutto ciò di cui hai bisogno è:

  1. Accensione del robot
  2. Apri le impostazioni Wi-Fi sul tuo smartphone
  3. Connettiti all'Access Point SpiderRobo con la password "12345678"
  4. Apri il browser web sul tuo smartphone e digita

Ora il tuo Robot è pronto a prendere il tuo comando…

Passaggio 15: per chi ha problemi con l'apertura della pagina Web o la connessione all'AP

HO CORRETTO QUESTO PROBLEMA PER FAVORE SCARICALO DI NUOVO DAL PASSO 13 SOPRA (correzione @ 31-4-2019)

alcuni dei mini clone di Wemos D1 hanno un ESP difettoso o difettoso e questo causa: - Difficoltà a connettersi all'AP

- Impossibile aprire la pagina

- Caricamento non terminato

Per maggiori dettagli controlla il mio video sopra …

Consigliato: