Índice:
- Etapa 1: O que você precisa
- Etapa 2: imprimir um chassi
- Etapa 3: prepare a ponte H
- Etapa 4: Fiação dos Módulos
- Etapa 5: Configurando o controlador
- Etapa 6: Código
- Etapa 7: aparafusando tudo alternadamente
- Etapa 8: Uma palavra sobre as regras de combate de robôs
- Etapa 9: Informações adicionais sobre motores
- Etapa 10: atualizações e melhorias
Vídeo: Controle de robô de combate barato do Arduino: 10 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
O ressurgimento dos Battlebots nos Estados Unidos e da Robot Wars no Reino Unido reacendeu meu amor pela robótica de combate. Então, encontrei um grupo local de criadores de bots e mergulhei de cabeça.
Nós lutamos na balança de formigas do Reino Unido (limite de peso de 150 gramas) e eu rapidamente percebi que a maneira tradicional de construir um robô envolvia equipamento RC: um transmissor RC caro, um receptor volumoso ou caro e ESCs (controladores eletrônicos de velocidade) que são caixas mágicas que pode lidar com muito mais corrente do que o necessário para um bot desse tamanho.
Tendo usado o Arduino no passado, eu queria tentar fazer as coisas de forma diferente e definir para mim mesmo uma meta de um sistema Arduino que pode receber um sinal legal de combate e controlar dois motores de acionamento por cerca de US $ 5 (metade do custo de um ESC barato)
Para ajudar a atingir esse objetivo, remixei este carro RC instrutível, reduzindo o peso / custo do receptor e gerando 4 sinais PWM para rodar um chip h-bridge barato
Este instrutível se concentrará no sistema de controle do Arduino, mas acrescentarei informações adicionais para ajudar novas pessoas a construir seu primeiro bot
Isenção de responsabilidade:
Mesmo em uma construção / combate de robôs de combate em pequena escala pode ser perigoso, empreenda por sua própria conta e risco
Etapa 1: O que você precisa
Materiais:
Para o sistema de controle:
- 1x Arduino pro mini 5v (US $ 1,70)
- Módulo 1x nRF24L01 ($ 1,14)
- 1 módulo regulador de 3,3 V ($ 0,32)
- 1 módulo de ponte H dupla * ($ 0,90)
Para o resto de um bot wedge básico:
- 2 micro motorredutores ** (versão barata, versão confiável)
- 1 bateria de polímero de lítio 2s
- 1 carregador de equilíbrio
- 1x saco de carga lipo
- 1x switch
- 1x conector de bateria
- fio misc (usei alguns fios de jumper do Arduino que tinha por aí)
- parafusos pequenos
- (opcional) epóxi
- (opcional) Alumínio (de lata de refrigerante)
- (opcional) LEDs extras
Para um controlador básico:
- 1x Arduino pro mini 5v
- Módulo 1x nRF24L01
- 1x módulo regulador de 3,3 V
- 1x Arduino-joystick
Ferramentas:
- Chave de fenda
- Ferro de solda
- Alicate
- Impressora 3D (opcional, mas torna a vida mais fácil)
* ao olhar para os módulos h-bridge, procure um módulo com todas as 4 entradas de sinal próximas umas das outras, isso tornará mais fácil anexar ao Arduino mais tarde
** confira a etapa final para obter algumas dicas sobre como escolher as velocidades do motor
Etapa 2: imprimir um chassi
Antes de começar a usar o sistema de controle, observe o design do bot a ser construído. É sempre melhor projetar um bot a partir da arma para fora. Para um iniciante, sugiro começar com uma cunha básica, eles são projetados para serem robustos e empurrar os oponentes para fora do caminho, o que significa que você tem menos probabilidade de ser destruído em sua primeira luta, além de ser mais fácil sentir como está dirigindo quando você não não precisa se preocupar com uma arma ativa.
Eu projetei um robô de cunha: "Slightly Crude", que foi testado em batalha com armadura e sem armadura. É um bom primeiro bot, fácil de imprimir e pode ser montado com 8 parafusos. Confira no Thingiverse para um design diferente de topo
Se você não possui uma impressora 3D, tente uma biblioteca local, hackerspace ou maker space
Adicionar armadura adicional é fácil de fazer recém-saído da impressora, lixe a cunha e a lata de refrigerante de alumínio com uma lixa, escove qualquer poeira de lixa, aplique epóxi tanto no plástico quanto no alumínio, prenda-se com grampos ou elásticos por 12-24 horas
No momento, não tenho um projeto de roda pública, pois tenho usado pneus de borracha de um kit educacional de robótica em cubos impressos em 3D. Nas próximas semanas, estarei projetando um cubo que usará anéis de vedação para aderência. Assim que as rodas estiverem prontas, irei atualizar esta página e a página Thingiverse
Etapa 3: prepare a ponte H
Diferentes drivers de motor h-bridge vêm em configurações diferentes, mas o módulo vinculado na lista inicial vem com 2 blocos de terminais como saída. Esses blocos de terminais são pesados e volumosos, portanto, é melhor removê-los.
A maneira mais fácil de fazer isso é aquecer as duas almofadas ao mesmo tempo com um ferro de solda e cuidadosamente mexer os blocos com um alicate
Antes de prosseguir, decida se deseja trocar os motores em sua configuração. Nesse caso, os cabos jumper do Arduino podem ser soldados na saída do módulo e, em seguida, o cabo oposto pode ser soldado ao motor, tornando-os removíveis conforme necessário.
Etapa 4: Fiação dos Módulos
A fiação dos módulos pode ser feita de 3 maneiras diferentes, por isso a etapa de design é crítica. A escolha da arma afetará a forma do bot e a escolha da fiação.
as 3 opções são:
- Fios soltos (leves, mas mais frágeis) (imagem 1)
- Perfboard (mais pesado do que 1, mas mais robusto com uma pegada maior) (imagem 2)
- Placa de circuito personalizada (mais pesada que 1, mas robusta com uma pequena pegada) com design de placa anexado (imagem 3)
independentemente da escolha feita, as conexões reais são as mesmas.
Faça as seguintes conexões duas vezes (uma para o controlador e uma vez para o receptor)
nRF24L01 (imagem 4 da numeração do pino **):
- Pino 1 -> GND
- Pino 2 -> fora do pino do módulo 3.3v
- Pino 3 -> Arduino pino 9
- Pino 4 -> Arduino pino 10
- Pino 5 -> Arduino pino 13
- Pino 6 -> Arduino pino 11
- Pino 7 -> Arduino pino 12
Módulo 3.3v:
- Pin Vin -> Vcc *
- Pino de saída -> pino 2 nRF (como acima)
- Pino GND -> GND
Arduino:
- Pinos 9-13 -> conecte ao nRF como acima
- Raw -> Vcc *
- GND -> GND
Faça as seguintes conexões uma vez para diferenciar entre controlador e receptor
Para o controlador:
Controle de video game:
- + 5v -> Arduino 5v
- vrx -> Arduino pino A2
- vry -> Arduino pino A3
- GND -> GND
Para o receptor:
Módulo h-bridge:
- Vcc -> Vcc *
- B-IB -> Arduino pino 2
- B-IA -> Arduino pino 3
- A-IB -> Arduino pino 4
- A-IA -> Arduino pino 5
- GND -> GND
Isso é feito mais facilmente substituindo os pinos do Vcc e GND por fio, virando a placa de cabeça para baixo e soldando os pinos diretamente no Arduino. Isso simplifica a soldagem e cria uma montagem segura para o driver do motor
* para que um robô de combate seja legal, um ponto de isolamento (interruptor ou link removível) deve ser adicionado entre a bateria e o circuito. Isso significa que o positivo da bateria deve ser conectado a um switch, então o switch conectado ao Vcc
** imagem de https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo que é um ótimo recurso para o módulo nRF24L01
Etapa 5: Configurando o controlador
Depois que tudo estiver conectado, é hora de algum código.
Começando com o controlador, alguns valores de potenciômetro são necessários para garantir que o joystick exato conectado funcionará com o código de transmissão.
Carregue o código "joystickTestVals2". Este código é usado para ler os valores do potenciômetro e exibi-los em série
Com o código em execução e uma janela serial aberta, comece observando o valor "PARA CIMA", empurre o joystick para a posição totalmente para frente, o valor "PARA CIMA" provavelmente irá pular entre alguns números grandes, escolha o menor dos valores que você vê, subtraia 10 dele (isso garantirá que empurrar o manche até o fim dará potência total) e anote como "Up Max" permite que o joystick pule de volta para o centro. Agora escolha o maior valor que você vê, adicione 20 a ele e anote como "UpRestMax". Repita o processo empurrando o stick para baixo e invertendo a adição / subtração registrando os valores como "UpMin" e "UpRestMin"
Repita todo o processo novamente para a esquerda e a direita, começando empurrando o manche para a direita, gravando "SideMax" e depois "SideRestMax" conforme ele salta para trás e empurrando para a esquerda para gravar "SideMin" e "SideRestMin"
Esses valores são super importantes, especialmente todos os valores que contenham a palavra "Rest". esses valores criam a "zona morta" no centro do stick de forma que o bot não se mova quando o stick estiver descansando no centro, certifique-se de que quando o stick está centrado os valores caem entre "restMin" e "restMax" para ambos os eixos
Etapa 6: Código
O código fornecido faz tudo para um wedge-bot básico com uma estrutura no local para permitir que um valor pwm de arma seja enviado também.
Bibliotecas necessárias:
- Biblioteca nRF24L01 daqui: GitHub
- Software PWM a partir daqui: Google Code
Configure seu controlador:
abra o código txMix e altere os valores limite do stick para os valores que você anotou na última etapa. Isso garantirá que o código reaja corretamente ao seu joystick (Imagem 1)
Personalize o tubo:
Para garantir que você não esteja interferindo com ninguém em seu evento, você precisará trocar o tubo do rádio. Na verdade, este é um identificador e o receptor só atuará nos sinais do tubo correto, portanto, certifique-se de alterar o tubo em ambos os códigos para a mesma coisa.
Na imagem, 2 dígitos hexadecimais do tubo foram destacados. Esses são os dois dígitos que precisam ser alterados para personalizar o tubo. Altere "E1" para qualquer outro valor hexadecimal de 2 dígitos e anote-o para que você possa facilmente compará-lo com os tubos oponentes em um evento
Envio:
- txMix para o controlador
- receba para o módulo receptor
Análise do código:
txMix:
O código é lido na posição do joystick como um valor "PARA CIMA" e um valor "lateral". esses valores são limitados com base no valor máximo fornecido para garantir que a potência total seja fornecida na posição máxima do manche.
Esses valores são então verificados para garantir que o stick saiu da posição neutra, se não houver zeros são enviados.
Os valores são então misturados individualmente em duas variáveis, uma para a velocidade do motor esquerdo e outra para a velocidade do motor direito. Nessas variáveis, um valor negativo é usado para indicar que o motor está girando para trás, pois simplifica a mistura.
Os valores de velocidade esquerdo e direito são então separados em quatro valores pwm, um para cada: motor à direita para a frente, motor à esquerda para a frente, motor à direita para trás, motor à esquerda para trás.
Os quatro valores pwm são então enviados ao receptor.
receber:
Simplesmente recebe sinais do controlador, verifica se o sinal não contém valores pwm para frente e para trás em um único motor e aplica o pwm.
O receptor também falha na proteção dos motores desligados quando um sinal não é recebido do controlador
Etapa 7: aparafusando tudo alternadamente
Solde os conectores nos motores ou solde os motores diretamente na ponte-h. (Eu prefiro conectores para que eu possa simplesmente trocar os plugues se eu tiver conectado os motores incorretamente)
Solde o fio positivo do conector da bateria ao pino do meio do switch e um dos pinos externos do switch ao Vcc dos módulos conectados.
Solde o cabo negativo do conector da bateria ao GND dos módulos conectados.
(Opcional) adicione LEDs adicionais entre Vcc e GND. Todos os robôs de combate requerem uma luz acesa enquanto o sistema está energizado, dependendo dos componentes que este sistema possui LEDs no Arduino, no módulo 3.3v e na ponte-h, desde que pelo menos um deles seja visível de fora do bot esta regra foi cumprida. LEDs adicionais podem ser usados para garantir que esta regra seja cumprida e para personalizar a aparência
Ligeiramente cru é simples de aparafusar, primeiro aparafuse os suportes do motor no lugar, adicione os componentes eletrônicos e, em seguida, aparafuse a tampa no lugar, uma pequena quantidade de velcro ajudará a segurar o interruptor na tampa
O controlador é seu para projetar e imprimir. Para teste, tenho usado o controlador anexado que foi modificado do controlador BB8 V3 de James Bruton
Etapa 8: Uma palavra sobre as regras de combate de robôs
Diferentes países, estados e grupos realizam eventos de combate de robôs com regras diferentes.
Eu criei este sistema e escrevi-o para ser o mais geral possível, ao mesmo tempo que obedeço às principais regras que pertencem aos sistemas RC (principalmente o sistema deve ser digital de 2,4 GHz e ter um ponto de isolamento de bateria). Para executar este sistema e / ou projetar seu primeiro bot, é melhor entrar em contato com seu grupo local e obter uma cópia de suas regras.
As regras que o seu grupo local administra são absolutas, não acredite na minha palavra neste ponto, instrutível sobre as regras do seu grupo.
Como este sistema Arduino é novo para a comunidade, você provavelmente será solicitado a testá-lo antes de usá-lo em um evento. Eu testei este sistema repetidamente contra equipamento RC padrão e contra ele mesmo sem quaisquer problemas de interferência, então ele deve passar em qualquer teste, entretanto, os organizadores do seu evento local têm a palavra final, respeite sua decisão. Se eles rejeitarem seu uso, pergunte se há um bot de empréstimo com o qual você possa lutar ou peça um esclarecimento sobre o motivo da rejeição e tente consertar o problema para o próximo evento
Etapa 9: Informações adicionais sobre motores
Os micro-motores de engrenagens usados na classe das formigas vêm em uma grande variedade de velocidades e são marcados usando RPM ou relação de engrenagem. Abaixo está uma conversão aproximada.
A maioria dos bots usa motores entre 75: 1 e 30: 1 (com algumas exceções usando 10: 1). Bots com grandes armas giratórias podem se beneficiar de motores 75: 1 mais lentos, pois a velocidade mais lenta permite mais controle. Cunhas ágeis, levantadores e nadadeiras são melhores em 30: 1 nas mãos de um motorista habilidoso. Eu recomendo motores 50: 1 em uma cunha para as primeiras lutas apenas para se acostumar com o sistema e direção
- 12 V 2000 RPM (ou 6 V 1000 RPM) -> 30: 1
- 6 V 300 RPM -> 50: 1
Etapa 10: atualizações e melhorias
Já se passaram alguns anos desde que publiquei este 'ible e aprendi muito sobre este sistema, então é hora de atualizá-los aqui. O mais importante é a escolha do componente, os componentes originais funcionavam relativamente bem, mas às vezes falhavam durante o combate. Os 2 grandes perpetradores são o H-Bridge e o módulo nrf24l01, porque eu escolhi as peças absolutamente mais baratas que consegui encontrar. Isso pode ser corrigido por:
- Atualizando a ponte H de 0,5 A para uma ponte H de 1,5 A, como esta: ponte H de 1,5 A
- Atualizando o módulo nrf24l01 para um design totalmente SMD: Abra o NRF24l01 inteligente
Junto com as novas atualizações de componentes, desenvolvi alguns novos PCBs que ajudam a compactar o RX e adicionar mais recursos ao TX
Também tenho algumas alterações de código chegando, portanto, fique atento a essas
Recomendado:
Robô autônomo de combate a incêndio com chamas autônomas: 3 etapas
Robô Autônomo de Combate a Incêndio com Chamas Autônomas: ROBÔ DE COMBATE A INCÊNDIO AUTÔNOMO MAIS PODEROSO GEN2.0HII … Este é nosso primeiro projeto. Então vamos começar. O conceito deste robô é muito simples. salvar vidas humanas automático de baixo custo rápido à prova de fogo t
Robô de combate caseiro versão 2: 6 etapas
Caseiro Robô de Combate Versão 2: Então … Esta é a minha segunda versão do meu robô de combate formigão! Gostaria de apresentá-lo ao " Sidewinder. &Quot; Para este projeto usei peças impressas em 3D (desenhadas por mim) e alguns bits e peças eletrônicas que comprei por menos de $ 100. Eu usei um CAD então
Faça um robô de combate a incêndio barato em casa: 6 etapas
Faça um robô de combate a incêndio barato em casa .: Quer fazer um projeto de segurança para sua inscrição na faculdade ou talvez para seu uso pessoal? Então Fire Fighting Robot é uma ótima opção! Eu fiz este protótipo como um projeto de final de ano em cerca de 50 USD (3500 INR). Veja o vídeo de demonstração acima. Este robô está operando
Como fazer um robô de combate (para qualquer nível de habilidade): 8 etapas
Como fazer um robô de combate (para QUALQUER nível de habilidade): Ao iniciar a robótica de combate, descobri que não havia nenhum " passo a passo " passo a passo de construção de robô de combate, então, depois de fazer toneladas de pesquisas na internet, decidi compilar algumas delas para criar um guia para fazer um robô de combate para que alguém
Robô de combate a incêndio usando Arduino: 4 etapas
Robô de combate a incêndio usando Arduino: Hoje vamos construir um robô de combate a incêndio usando Arduino, que detectará automaticamente o fogo e iniciará a bomba de água. Neste projeto, aprenderemos como construir um robô simples usando Arduino que poderia se mover em direção o fogo e bombeie para fora