Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Robô FPV Rover controlado por Wi-fi (com Arduino e ESP8266)

Componentes e suprimentos

Arduino UNO
× 1
Arduino Proto Shield
× 1
Espressif ESP8266 ESP-01
× 1
Motor de passo 28BYJ
× 2
ULN2003 stepper driver
× 1
Dispositivo Android
× 1
Resistor 1k ohm
× 1
Resistor 100k ohm
× 2
Banco de potência
× 1
rodas de 42 x 19 mm com pneu de borracha
× 2
Roda omni de esfera de aço de 49x20x32 mm
× 1
parafusos M2 x 10 mm
× 12
M2 x 1,5 mm porcas
× 12
Parafusos M3 x 10 mm
× 8
M3 x 1,5 mm porcas
× 8
5/32 "x 1" parafusos
× 3
5/32 "nozes
× 6
Clipe de selfie portátil
× 1
Suporte de alumínio de 3 x 3 cm
× 2
Folha de acrílico de 2 mm
× 1

Ferramentas e máquinas necessárias

Máquina de perfuração
Serra manual

Aplicativos e serviços online

IP Webcam
Autodesk Fusion 360
Draftsight
Arduino IDE
Notepad ++

Sobre este projeto




Este tutorial mostra como projetar um rover robótico de duas rodas controlado remotamente em uma rede wi-fi, usando um Arduino Uno conectado a um módulo ESP8266 Wi-fi e dois motores de passo. O robô pode ser controlado a partir de um navegador comum da Internet, usando uma interface projetada em HTML. Um smartphone Android é usado para transmitir vídeo e áudio do robô para a interface de controle do operador.

Existem muitos kits robóticos disponíveis online com vários formatos, dimensões e preços. Mas, dependendo de sua aplicação, nenhum deles caberá e você pode descobrir que eles são muito caros para seus experimentos. Ou talvez você apenas queira fazer sua estrutura mecânica em vez de comprar uma completa. Este tutorial também mostra como projetar e construir uma estrutura de acrílico de baixo custo para seu próprio projeto robótico, usando apenas ferramentas comuns para quem não tem acesso a essas caras impressoras 3D ou cortadores a laser. Uma plataforma robótica simples é apresentada.

Este guia pode ser adaptado para ter sua forma ou interface de controle alterada. Foi adaptado para outro dos meus projetos robóticos ("Robô da Alegria"), que você confere nos links abaixo:

https://hackaday.io/project/12873-rob-da-alegria -...

https://github.com/ferauche/RoboAlegria

https://hackaday.io/project/12873-rob-da-alegria -...

[Aviso:algumas das fotos estão desatualizadas, pois o design foi aprimorado ainda mais. No entanto, a ideia apresentada aqui ainda é válida.]





Etapa 1:Ferramentas


As seguintes ferramentas são necessárias para a construção deste protótipo:
  • Serra manual (para realizar os cortes iniciais da folha de acrílico)
  • Chave de trava (para colocação de parafusos e porcas)
  • Régua (para medição de dimensões)
  • Faca utilitária (para cortar a folha de acrílico)
  • Máquina de perfuração (para criar orifícios para os parafusos)
  • Lixa (para suavizar arestas)





Etapa 2:estrutura e materiais mecânicos


Para construir um robô personalizado, primeiro você terá que projetar sua estrutura mecânica. Pode ser fácil, dependendo da sua aplicação, ou cheio de detalhes e restrições. Você pode precisar projetá-lo em um software CAD 3D ou apenas desenhá-lo em 2D, dependendo da complexidade do seu modelo.

Você também pode comprar a estrutura completa online se não quiser construir sua própria estrutura mecânica. Existem muitos kits robóticos disponíveis online. Nesse caso, você pode pular para a Etapa 6.

Para este tutorial, foi projetada uma moldura de acrílico de baixo custo para a fixação dos motores e demais componentes. A estrutura apresentada neste tutorial foi projetada em 3D usando o software CAD 123D Design. Cada parte foi posteriormente convertida em 2D usando o software Draftsight.

Os seguintes materiais foram usados:
  • Folha de acrílico de 2 mm
  • Rodas 42x19mm com pneu de borracha (x2)
  • Roda omni de esfera de aço de 49x20x32 mm (x1)
  • parafusos M2 x 10 mm (x12)
  • porcas M2 x 1,5 mm (x12)
  • Parafusos M3 x 10 mm (x8)
  • porcas M3 x 1,5 mm (x8)
  • parafusos 5/32 "x 1" (x3)
  • 5/32 "nozes (x6)
  • Clipe de selfie portátil
  • Suporte de alumínio 3 x 3 cm (x4)

A construção da estrutura da base divide-se nas seguintes etapas:
  • Corte a base de acrílico de acordo com as dimensões do desenho 2D;
  • Faça os furos nas posições mostradas no desenho 2D;
  • Monte os componentes com parafusos e porcas de acordo com o desenho 3D.

Infelizmente, o diâmetro do eixo do motor de passo é maior do que o orifício da roda. Portanto, você provavelmente precisará usar cola para acoplar esses componentes. Para este tutorial improvisei um acoplamento de madeira entre o eixo do motor e a roda.
FMAR9JBITKJE83H.123dx F21RD24ITKJE8AJ.dwg FPTGSODITKJE8AN.pdf





Etapa 3:corte da estrutura


Primeiro, você precisará transferir as dimensões do seu modelo para a folha de acrílico. Imprima seu desenho 2D usando uma impressora comum em um papel adesivo, depois corte o papel nas dimensões adequadas e aplique essa máscara na superfície do acrílico.

Você pode usar uma serra manual para cortar o acrílico de acordo com suas dimensões ou usar a técnica de corte descrita a seguir.

Com um canivete e com o auxílio de uma régua ou escala, corte o acrílico em linhas retas. Você não precisará cortar totalmente a folha, apenas pontue-a para criar algumas trilhas onde a peça será cortada posteriormente.

Coloque o acrílico sobre uma superfície plana, segure-o no lugar com alguns grampos e aplique um pouco de pressão até que a folha se parta em duas. Repita este processo até que todos os cortes sejam feitos. Depois disso, você pode usar uma lixa para alisar as arestas.





Etapa 4:Perfuração da base


Faça os furos nas posições mostradas no desenho 2D (indicado na máscara) com uma furadeira.

O acrílico é relativamente fácil de perfurar. Portanto, se você não descarta uma furadeira, pode fazer os furos manualmente com uma ferramenta afiada, como uma faca. Você também pode usá-lo para aumentar pequenos orifícios para ajustar os tamanhos dos parafusos.

Remova a máscara e sua base estará pronta.





Etapa 5:montagem da estrutura


Monte os componentes com parafusos e porcas de acordo com as imagens, e sua estrutura estará pronta para funcionar.

Os parafusos M3 são usados ​​para a instalação dos motores de passo, enquanto os 5/32 "são usados ​​para a instalação da roda dianteira e do clipe do smartphone.

Agora faça uma pausa e comece a montar o circuito na etapa seguinte ...





Etapa 6:Eletrônicos


Você precisará dos seguintes componentes eletrônicos:
  • Arduino Uno (comprar)
  • ESP8266 (comprar)
  • Protoshield (para uma versão mais compacta) ou um breadboard comum (comprar)
  • 1 resistor kohm (x2)
  • resistor de 10 kohm (x1)
  • Alguns fios de ligação
  • Motor de passo com driver ULN2003 (x2) (comprar / comprar)
  • Um computador (para compilar e enviar o código Arduino)
  • Banco de potência (comprar)
  • cabo USB

Você não precisará de ferramentas específicas para a montagem do circuito. Todos os componentes podem ser encontrados online em sua loja de comércio eletrônico favorita. O circuito é alimentado por um banco de energia conectado à porta USB do Arduino.

Conecte todos os componentes de acordo com o esquema. Você precisará de alguns fios de jumper para conectar o módulo ESP-8266 e os motores de passo. Você pode usar um proto-escudo (para um circuito mais compacto), uma placa de ensaio comum ou projetar seu próprio escudo Arduino. Conecte o cabo USB à placa Arduino Uno e prossiga para a próxima etapa.





Etapa 7:Código Arduino


Instale o IDE Arduino mais recente. Neste projeto, a biblioteca stepper.h foi usada para o controle dos motores de passo. Nenhuma biblioteca adicional foi necessária para comunicação com o módulo ESP-8266. Por favor, verifique a taxa de transmissão de seu ESP8266 e defina-a corretamente no código.

Baixe o código do Arduino (stepperRobot.ino) e substitua o XXXXX pelo SSID do roteador wi-fi e YYYYY pela senha do roteador. Conecte a placa Arduino à porta USB do seu computador e faça o upload do código.
FG1K5KJITKJFW2R.ino





Etapa 8:câmera IP Android


Um smartphone Android foi usado para transmitir o vídeo e o áudio do robô para a interface de controle. Você pode encontrar o aplicativo na Google Play Store (https://play.google.com/store/apps/details?id=com.pas.webcam).

Instale-o e vá para a próxima etapa.





Etapa 9:coloque os circuitos no robô


Instale os circuitos na parte superior do robô usando alguns parafusos M1, conforme mostrado nas imagens.

Em seguida, cole seu banco de potência na parte de trás do robô com fita dupla-face (pois é fácil de remover depois), e coloque seu smartphone no clipe.





Etapa 10:interface de controle baseada na web


Uma interface html foi projetada para o controle do robô.

Baixe interface.rar e extraia todos os arquivos para uma determinada pasta. Em seguida, abra-o no Firefox.

Uma forma de caixa de texto é usada nessa interface para inserir os endereços IP do módulo ESP e do servidor de vídeo / áudio (do aplicativo Android IP Webcam).

Existe um teste mas, que fará o robô girar até que um comando seja recebido. As teclas de seta do teclado são usadas para mover o robô para frente ou para trás e para girar para a esquerda ou direita.
FQTAWF5ITKJFW4O.rar





Etapa 11:uso


Quando o Arduino for reiniciado, ele tentará conectar sua rede wi-fi automaticamente. Use o Serial Monitor para verificar se a conexão foi bem-sucedida e para saber qual IP foi atribuído ao ESP-8266 pelo roteador. Abra o arquivo html em um navegador de internet (Firefox) e informe este endereço IP na caixa de texto.

Você também pode usar outros meios para descobrir qual endereço IP seu roteador atribuiu ao seu dispositivo.

Desconecte o Arduino Uno do computador e conecte-o ao banco de energia. Aguarde até que ele se conecte novamente.

Abra o aplicativo IP Webcam no smartphone conectado ao robô. Digite o IP de vídeo / áudio em sua interface de controle e conecte-se ao servidor e você estará pronto para prosseguir. Pode ser necessário reduzir a resolução do vídeo no aplicativo para reduzir o atraso durante a transmissão.

Clique e segure os botões de seta do teclado para girar o robô ou movê-lo para frente / para trás e se divertir explorando o ambiente.

Código

  • Arduino
  • interface de controle html
Arduino Arduino
Código Arduino.
 // inclui bibliotecas # include  #include  SoftwareSerial esp8266 (3, 2); // RX pin =3, TX pin =2 // definição de variáveis ​​# define DEBUG true // mostra mensagens entre ESP8266 e Arduino na porta serial int stepsPerRevolution =500; int state =5; Stepper rightStepper (stepsPerRevolution, 8,10, 9,11); Stepper leftStepper (stepsPerRevolution, 4,6,5,7); // ***** // CONFIGURAÇÃO // ***** void setup () {// iniciar a comunicação Serial.begin (9600 ); esp8266.begin (19200); sendData ("AT + RST \ r \ n", 2000, DEBUG); // redefine o módulo sendData ("AT + CWMODE =1 \ r \ n", 1000, DEBUG); // definir o modo da estação sendData ("AT + CWJAP =\" XXXXX \ ", \" YYYYY \ "\ r \ n", 2000, DEBUG); // conecte a rede wi-fi while (! esp8266.find ("OK")) {// aguarde a conexão} sendData ("AT + CIFSR \ r \ n", 1000, DEBUG); // mostra o endereço IP sendData ("AT + CIPMUX =1 \ r \ n", 1000, DEBUG); // permitir conexões múltiplas sendData ("AT + CIPSERVER =1,80 \ r \ n", 1000, DEBUG); // inicia o servidor web na porta 80 // Define a velocidade do motor rightStepper.setSpeed ​​(60); leftStepper.setSpeed ​​(60); } void loop () {if (esp8266.available ()) // verificar os dados de entrada {if (esp8266.find ("+ IPD,")) // se houver uma mensagem {String msg; esp8266.find ("?"); // procure a mensagem msg =esp8266.readStringUntil (''); // lê a mensagem inteira String command =msg.substring (0, 3); // primeiros 3 caracteres =comando String valueStr =msg.substring (4); // próximos 3 caracteres =valor int value =valueStr.toInt (); if (DEBUG) {Serial.println (comando); Serial.println (valor); } // avançar if (command =="cm1") {state =1; } // retrocede if (command =="cm2") {state =2; } // vire à direita if (command =="cm3") {state =3; } // vire à esquerda if (command =="cm4") {state =4; } // não faça nada if (command =="cm5") {state =5; }}} // avançar if (state ==1) {rightStepper.step (1); leftStepper.step (-1); } // retrocede if (state ==2) {rightStepper.step (-1); leftStepper.step (1); } // mover para a direita if (state ==3) {rightStepper.step (1); leftStepper.step (1); } // mover para a esquerda if (state ==4) {rightStepper.step (-1); leftStepper.step (-1); } // não fazer nada if (state ==5) {}} // ******************* // Funções auxiliares // ******** *********** String sendData (String command, const int timeout, boolean debug) {String response =""; esp8266.print (comando); tempo interno longo =milis (); while ((tempo + tempo limite)> millis ()) {while (esp8266.available ()) {char c =esp8266.read (); resposta + =c; }} se (depurar) {Serial.print (resposta); } resposta de retorno;} 
interface de controle html HTML
 Sem visualização (apenas download). 

Peças personalizadas e gabinetes

Arquivo de design 123D. projeto robot.123dx2D da base. base.dwg

Esquemas

Esquema de circuitoBreadboard conexão do arquivo circuitFritzing do circuito wistepper% 20-% 20rev1.fzz

Processo de manufatura

  1. Robô Raspberry Pi controlado por Bluetooth
  2. Construa seu robô de streaming de vídeo controlado pela Internet com Arduino e Raspberry Pi
  3. Desinfecção do robô com luz ultravioleta
  4. Obstáculos para evitar o robô com servo motor
  5. Sensor capacitivo de impressão digital com um Arduino ou ESP8266
  6. Controle de um robô Roomba com Arduino e dispositivo Android
  7. Braço robótico controlado por Nunchuk (com Arduino)
  8. Arduino Nano:Controle 2 motores de passo com joystick
  9. Robô controlado por fala
  10. Determinando a saúde das plantas com TinyML