Índice:

ESP8266 WIFI AP Robô Quadrúpede Controlado: 15 Passos (com Imagens)
ESP8266 WIFI AP Robô Quadrúpede Controlado: 15 Passos (com Imagens)

Vídeo: ESP8266 WIFI AP Robô Quadrúpede Controlado: 15 Passos (com Imagens)

Vídeo: ESP8266 WIFI AP Robô Quadrúpede Controlado: 15 Passos (com Imagens)
Vídeo: LotBot Quadrupod & Hexapod Robot Controller-a Raspberry PI, Arduino, ESP32, Node Red, MQTT project 2024, Setembro
Anonim
Image
Image

Este é um tutorial para fazer um robô de 12 DOF ou quatro pernas (quadrúpede) usando servo SG90 com servo driver e pode ser controlado usando servidor Web WIFI via navegador de smartphone

O custo total para este projeto é de cerca de US $ 55 (para a parte eletrônica e estrutura do robô de plástico)

Etapa 1: preparar a estrutura

Peças eletrônicas (Wemos D1 Mini)
Peças eletrônicas (Wemos D1 Mini)

Todo o objeto 3D pode ser baixado gratuitamente em www.myminifactory.com ou www.thingiverse.com

Imprima-o usando material de suporte para alguma parte como pés, quadris e coxas

Lista da parte impressa:

1x corpo de base

1x capa

1 porta bateria

4x quadris (tipo A e B)

4x Thight (tipo A e B)

4x pés (tipo A e B)

4x escudo

Bucha 12x + parafuso 12x 2mm

Etapa 2: montar a estrutura do robô

siga o vídeo passo a passo acima para montar a estrutura, o parafuso é para orifício de 2 mm

Etapa 3: peças eletrônicas (Wemos D1 Mini)

Image
Image

Existem muitas variantes NodeMCU no mercado e basicamente possuem a mesma funcionalidade, para este projeto escolhi o Wemos D1 Mini.

Esta parte servirá como um Servidor Web para nosso quadrúpede como um Ponto de Acesso.

O que você precisa é apenas se conectar ao AP Quadruped e controlar todo o movimento do seu robô, e talvez para o projeto futuro ele exibirá todos os sensores do painel de que você precisa …

Este mini D1 é uma placa mini WIFI baseada no ESP-8266EX. e tem 11 pinos de entrada / saída digital, todos os pinos têm interrupção / pwm / I2C / um fio suportado (exceto D0) 1 entrada analógica (entrada máxima de 3,3 V) uma conexão Micro USB

Como começar em:

  1. Instale o Arduino 1.6.7 a partir do site do Arduino.
  2. Inicie o Arduino e abra a janela Preferências.
  3. no campo URLs de gerenciador de placas adicionais. Você pode adicionar vários URLs, separando-os com vírgulas.
  4. Abra Ferramentas → Placa: xxx → Gerenciador de placas e instale o esp8266 da comunidade ESP8266 (e não se esqueça de selecionar sua placa ESP8266 no menu Ferramentas> Placa após a instalação).

Para mais detalhes, você pode verificar o vídeo acima

Clique aqui para pesquisar no Aliexpress

Para este projeto, tudo o que você precisa é conectar este pino:

  1. Pino NodeMCU RX conectado ao pino Arduino Nano TX
  2. Pino NodeMCU TX conectado ao pino Arduino Nano RX
  3. Pino NodeMCU G conectado ao pino de saída DC-DC mini 5v Stepdown (-)
  4. Pino NodeMCU5V conectado ao pino de saída DC-DC mini 5v Stepdown (+)

PS: Para programar esta placa, você deve desconectar todos os pinos conectados ao arduino e reduzir o DC-DC, caso contrário, você obterá um erro …

Etapa 4: peças eletrônicas (Arduino Nano)

Peças eletrônicas (Arduino Nano)
Peças eletrônicas (Arduino Nano)

Mesmo com o NodeMCU, para a placa arduino, você pode usar qualquer placa adequada para você, como Arduino Pro Mini, Arduino Nano ou outro.

Mas para este projeto escolhi o Arduino Nano, pois não precisa de muito pino que usei, é pequeno e não precisa de FTDI para programá-lo.

clique aqui para pesquisar no Aliexpress

Para este projeto, eu apenas uso:

  1. Pino Arduino nano RX conectado ao pino NodeMCU TX
  2. Pino Arduino nano TX conectado ao pino NodeMCU RX
  3. Pino Ardiono nano A4 conectado ao pino PCA9685 SDA
  4. O pino A5 do Arduino nano é conectado ao pino SCL PCA9685
  5. Pino GND do Arduino nano conectado ao pino de saída DC-DC mini 5v Stepdown (-)
  6. Pino de 5 V do Arduino nano conectado ao pino de saída DC-DC mini 5v Stepdown (+)

veja o esquema acima para mais detalhes

PS: Para programar esta placa, você deve desconectar todos os pinos conectados ao NodeMCU e reduzir o DC-DC, caso contrário, você obterá um erro …

Etapa 5: peças eletrônicas (Tower Pro 9g Micro Servo)

Peças eletrônicas (Tower Pro 9g Micro Servo)
Peças eletrônicas (Tower Pro 9g Micro Servo)

Este é o mini servo mais popular. Pesa apenas 9 gramas e oferece um torque de 1,5 kg / cm. Bastante forte em relação ao seu tamanho. Adequado para robôs do tipo feixe.

PS: Este servo só pode girar em um ângulo de 180 graus

Características principais:

• Corpo translúcido

• Leve

• Especificações de menos ruído:

• Dimensões: 22,6 x 21,8 x 11,4 mm

• Comprimento do fio do conector: 150 mm

• Velocidade de operação (4,8 V sem carga): 0,12 seg / 60 graus

• Torque de perda (4,8 V): 1,98 kg / cm

• Faixa de temperatura: 30 a 60 ° C (-22 a 140 ℉)

• Largura da banda morta: 4 usec

• Tensão de operação: 3,5 - 8,4 Volts

Clique aqui para pesquisar servo SG90 no Aliexpress

Etapa 6: peças eletrônicas (PWM / servo driver de 16 canais e 12 bits - Interface I2C - PCA9685 para Arduino)

Peças eletrônicas (PWM / Servo driver de 16 canais e 12 bits - Interface I2C - PCA9685 para Arduino)
Peças eletrônicas (PWM / Servo driver de 16 canais e 12 bits - Interface I2C - PCA9685 para Arduino)

Quer fazer um robô andador? mas usar apenas microcontrolador tem um número limitado de saídas PWM, e você acaba se esgotando! Não com o driver Adafruit PWM / Servo Driver de 16 canais e 12 bits - interface I2C. Com este breakout de pwm e servo driver, você pode controlar 16 saídas PWM de funcionamento livre com apenas dois pinos! Precisa executar mais de 16 saídas PWM? Sem problemas. Encadeie até 62 dessas belezas para produzir até 992 saídas PWM incríveis.

Esta placa / chip usa endereço I2C de 7 bits entre 0x60-0x80, selecionável com jumpers Bloco de terminais para entrada de energia (ou você pode usar interrupções de 0,1 "na lateral) Proteção de polaridade reversa na entrada do bloco de terminais LED verde de boa potência 3 conectores de pinos em grupos de 4 para que você possa conectar 16 servos de uma vez (os plugues dos servos são ligeiramente mais largos do que 0,1 ", então você só pode empilhar 4 próximos uns dos outros em 0,1" cabeçalho "design" Corrente "Um local para colocar um grande capacitor na linha V + (no caso de você precisar) resistores de série de 220 ohms em todas as linhas de saída para protegê-los e tornar os LEDs de acionamento triviais. Solder jumpers para os 6 pinos de seleção de endereço driver PWM controlado por i2c com um relógio embutido. Ao contrário da família TLC5940, você não precisa enviar continuamente sinal amarrando seu microcontrolador, seu funcionamento totalmente livre! É compatível com 5V, o que significa que você pode controlá-lo de um microcontrolador de 3,3 V e ainda conduzir com segurança até 6V saídas (este é bom para quando você deseja controlar L branco ou azul EDs com 3,4+ tensões diretas) 6 pinos de seleção de endereço para que você possa conectar até 62 deles em um único barramento i2c, um total de 992 saídas - isso é um monte de servos ou LEDs Frequência ajustável PWM até cerca de 1,6 KHz 12 bits resolução para cada saída - para servos, isso significa cerca de 4us de resolução com taxa de atualização de 60 Hz. Saída configurável push-pull ou open-drain Saída de habilitação para desabilitar rapidamente todas as saídas.

clique aqui para pesquisar no Aliexpress

Neste projeto, precisamos apenas de 12 CH para todas as pernas (3CH por perna), conecte este pino PCA9685 ao Arduino Nano:

  1. PCA9685 VCC para DC-DC mini 5v Stepdown (+) Saída do pino
  2. PCA9685 GND para o DC-DC mini 5v Stepdown (-) Saída do pino
  3. PCA9685 Servo (PWM) potência V + para UBEC (+) Saída do pino de saída
  4. PCA9685 Servo (PWM) GND de energia para UBEC (-) Saída de pino de saída
  5. PCA9685 SDA pinto the arduino nano pino A4
  6. Pino SCL PCA9685 para o pino A5 do arduino nano
  7. PCA9685 CH0 para a frente direita Thight, por favor, combine a cor do cabo com a cor do soquete PCA9685 (amarelo, vermelho, marrom / preto)
  8. PCA9685 CH1 para o pé direito dianteiro, combine a cor do cabo com a cor do soquete PCA9685 (amarelo, vermelho, marrom / preto)
  9. PCA9685 CH2 para o quadril frontal direito, combine a cor do cabo com a cor do soquete PCA9685 (amarelo, vermelho, marrom / preto)
  10. PCA9685 CH4 para a parte traseira direita Thight, por favor, combine a cor do cabo com a cor do soquete PCA9685 (amarelo, vermelho, marrom / preto)
  11. PCA9685 CH5 para o pé direito traseiro, combine a cor do cabo com a cor do soquete PCA9685 (amarelo, vermelho, marrom / preto)
  12. PCA9685 CH6 para o quadril traseiro direito, combine a cor do cabo com a cor do soquete PCA9685 (amarelo, vermelho, marrom / preto)
  13. PCA9685 CH8 para a frente esquerda Thight, por favor, combine a cor do cabo com a cor do soquete PCA9685 (amarelo, vermelho, marrom / preto)
  14. PCA9685 CH9 para o pé frontal esquerdo, combine a cor do cabo com a cor do soquete PCA9685 (amarelo, vermelho, marrom / preto)
  15. PCA9685 CH10 para o quadril frontal esquerdo, combine a cor do cabo com a cor do soquete PCA9685 (amarelo, vermelho, marrom / preto)
  16. PCA9685 CH12 para a traseira esquerda Thight, por favor, combine a cor do cabo com a cor do soquete PCA9685 (amarelo, vermelho, marrom / preto)
  17. PCA9685 CH13 para o pé esquerdo traseiro, combine a cor do cabo com a cor do soquete PCA9685 (amarelo, vermelho, marrom / preto)
  18. PCA9685 CH14 para o quadril traseiro esquerdo, por favor, combine a cor do cabo com a cor do soquete PCA9685 (amarelo, vermelho, marrom / preto)

PS: Alguns PCA9685 não têm soquete de código de cor, então certifique-se de que o cabo amarelo do servo SG90 vai para o pino de dados PWM, o cabo vermelho vai para o pino V + e preto / marrom vai para o pino GND

Etapa 7: Conexão PWM para Servo Pin

Conexão PWM para Servo Pin
Conexão PWM para Servo Pin
Conexão PWM para Servo Pin
Conexão PWM para Servo Pin

Clique e amplie a imagem acima para ver o alinhamento de pinos entre o PCA9685 e os servos

PS: U usando apenas 12CH de 16 CH para este projeto, então você ainda tem 4CH sobrando para expansão, como colocar servo de radar ou colocar alguma arma nerf blaster nele … Basta colocar um código adicional no arduino e no NodeMCU

Etapa 8: Peças eletrônicas (UBEC)

Peças Eletrônicas (UBEC)
Peças Eletrônicas (UBEC)

O 3A-UBEC é um regulador DC-DC comutado fornecido com uma bateria de lítio de 2-6 células (ou bateria NiMh / NiCd de 5-18 células) e produz uma voltagem consistente e segura para seu receptor, giroscópio e servos. É muito adequado para helicópteros RC. Comparado com o modo linear UBEC, a eficiência geral do modo de comutação UBEC é maior.

Neste projeto nós o usamos para alimentar todos os servos, ele possui filtragem para reduzir o ruído que pode afetar a falha do motor e possui Amp alto suficiente para levantar a carga do robô.

clique aqui para pesquisar no Aliexpress

Conexão de pino:

  1. Pino de saída UBEC (+) VERMELHO para alimentação do servo PCA9685 (PWM) V +
  2. UBEC (-) Pino de saída PRETO para o servo PCA9685 (PWM) GND de energia
  3. UBEC (+) Entrada VERMELHA para o pino da bateria (+)
  4. UBEC (-) entrada PRETA para o pino da chave

Etapa 9: Peças eletrônicas (DC-DC Mini Stepdown)

Peças eletrônicas (DC-DC Mini Stepdown)
Peças eletrônicas (DC-DC Mini Stepdown)
Peças eletrônicas (DC-DC Mini Stepdown)
Peças eletrônicas (DC-DC Mini Stepdown)

Quase tem a mesma função com UBEC, mas este é apenas um módulo redutor DC-DC simples. Possui potensio meter que podemos ajustar a saída V (+) de 1V a 17V e não possui filtragem.

clique aqui para pesquisar no Aliexpress

PS: então lembre-se, antes de usá-lo, ajuste a saída V (+) para 5V usando o medidor de voltagem DC

Conexão de pino:

  1. Mini stepdown (+) IN para a (+) bateria
  2. Mini stepdown (-) IN para o pino do interruptor
  3. Mini stepdown (+) OUT em paralelo ao pino NodeMCU (5V), Arduino nano (5V) e PCA9685 (VCC)
  4. Mini stepdown (-) OUT em paralelo ao pino NodeMCU (G), Arduino nano (GND) e PCA9685 (GND)

Etapa 10: outra parte eletrônica

Outra Parte Eletrônica
Outra Parte Eletrônica
Outra Parte Eletrônica
Outra Parte Eletrônica
Outra Parte Eletrônica
Outra Parte Eletrônica

O que você precisa é de cerca de (20 cabos ou menos) fio jumper fêmea para fêmea (busca de fio Jumper Aliexpress)

Interruptor de bloqueio automático ou você pode usar outro tipo de interruptor (pesquisa de interruptor de bloqueio automático Aliexpress)

e um par de conector JST da bateria para switch e UBEC / DC-DC stepdown (pesquisa de conector JST Aliexpress)

Etapa 11: Fonte de alimentação

Fonte de energia
Fonte de energia
Fonte de energia
Fonte de energia

Há muita fonte de energia que você pode usar, para mim eu prefiro usar a bateria recarregável 3S lipo. Tem 11,1 Volt de corrente e 500mAh ou mais de capacidade (não muito para que possa ser mais leve).

Mas usar 3S lipo precisa de um carregador e não é barato, então … você pode usar outra fonte de energia como bateria AAA, você pode bateria serial 6 AAA para que possa produzir cerca de 9V e acho que é energia suficiente para este robô.

Clique aqui para pesquisar bateria Lipo 3S no Aliexpress

Clique aqui para pesquisar Lipo Charger

Clique aqui para pesquisar Suporte de bateria 6xAAA no Aliexpress

Etapa 12: Diagrama de fio

Diagrama de Fio
Diagrama de Fio

Clique e amplie a imagem acima para ver todos os diagramas de fios deste projeto

PS: vc precisa de um pouco de solda em alguma parte e coloque um encolhimento de cabeça de borracha para vedá-lo para a conexão entre o interruptor de alimentação, UBEC e redutor DC-DC.

Etapa 13: codificação e pose inicial

Codificação e pose inicial
Codificação e pose inicial

Conecte o arduino nano usando o cabo mini USB para porta USB (mas não se esqueça de desconectar todos os pinos do wemos D1 mini e DC-DC stepdown) e abra "spider_driver_open_v3_ESP8266_Rev280918.ino" e envie-o para o Arduino nano, mas não Não se esqueça de selecionar a placa arduino para o Arduino nano e selecione a porta correta.

Em seguida, é conectar o Wemos D1 mini ao computador usando micro USB para USB (também não se esqueça de desconectar todos os pinos para DC-DC stepdown e Arduino nano). Em seguida, abra "QuadrupetV2_310319_fix_connection_issue.ino" e instale-o na placa, mas antes disso selecione a placa correta de preferência e selecione a porta correta (para mais detalhes, volte ao passo 3)

Depois de terminar, você pode reconectar todos os pinos entre arduino nano, wemos D1 mini e DC-DC stepdown e ligar o robô para ajustar a pose inicial correta.

POSIÇÃO INICIAL (Veja a imagem acima) reajuste toda a perna o mais próximo possível da imagem acima.

Depois de ligar o robô, se a posição da perna não for igual à da imagem acima, tudo o que você precisa é:

  1. desparafuse o chifre do servo e retire o chifre do servo do servo.
  2. vire a perna até perto o suficiente com a pose inicial
  3. reconecte o chifre do servo e tripule-o novamente
  4. faça isso por todos, perca a partida

PS:

  1. QuadrupetV2_310419_fix_connection_issue.ino já corrigiu alguns problemas como dificuldade de conexão (wi-fi) e falha de renderização de página da web, para quem atualiza o programa antigo antes de 31-3-2019 faça o download novamente acima
  2. há alguma biblioteca adicional necessária para instalar (copie-a para a pasta da biblioteca)

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

Etapa 14: controlando o robô

Controlando o Robô
Controlando o Robô

Como este robô se tornou um ponto de acesso WIFI, tudo o que você precisa é:

  1. Ligando o robô
  2. Abra a configuração de wi-fi em seu smartphone
  3. Conecte-se ao Ponto de Acesso SpiderRobo com a senha "12345678"
  4. Abra o navegador da web em seu smartphone e digite

Agora o seu robô está pronto para assumir o seu comando …

Etapa 15: Para quem tem problemas ao abrir a página da Web ou conectar-se ao AP

CORRIGI ESTE PROBLEMA, BAIXE-O NOVAMENTE DO PASSO 13 ACIMA (correção @ 31-4-2019)

alguns dos mini clones Wemos D1 têm um ESP ruim ou com defeito, e isso causa: - Difícil de conectar ao AP

- Falha ao abrir a página

- Carregamento não concluído

Para mais detalhes, verifique meu vídeo acima …

Recomendado: