Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
O objetivo principal deste projeto era construir um robô móvel de segurança capaz de mover e coletar dados de vídeo em terrenos acidentados. Esse robô pode ser usado para patrulhar os arredores de sua casa ou locais de difícil acesso e perigosos. O robô pode ser usado para patrulhas noturnas e inspeções porque foi equipado com um poderoso refletor que ilumina a área ao seu redor. É equipado com 2 câmeras e controle remoto com alcance superior a 400 metros. Oferece grandes oportunidades de proteger sua propriedade enquanto se senta confortavelmente em casa.
Parâmetros do robô
- Dimensões externas (CxLxA): 266x260x235 mm
- Peso total 3,0 kg
- Distância ao solo: 40 mm
Etapa 1: A lista de peças e materiais
Decidi que usarei um chassi pronto, modificando-o ligeiramente, adicionando componentes adicionais. O chassi do robô é feito inteiramente de aço pintado de preto.
Componentes de um robô:
- SZDoit C3 Smart DIY Robot KIT ou 4WD Smart RC Robot Car Chassis
- 2x botão liga / desliga de metal
- Bateria Lipo 7,4V 5000mAh
- Arduino Mega 2560
- Sensor IR de prevenção de obstáculos x1
- Placa do sensor de pressão atmosférica BMP280 (opcional)
- Testador de voltagem de bateria lipo x2
- 2x Motor Driver BTS7960B
- Bateria Lipo 11.1V 5500mAh
- Xiaomi 1080P Panorâmica Smart WIFI Camera
- Câmera RunCam Split HD fpv
Ao controle:
RadioLink AT10 II 2.4G 10CH RC Transmissor ou FrSky Taranis X9D Plus
Visualização da câmera:
Óculos Eachine EV800D
Etapa 2: montagem do chassi do robô
A montagem do chassi do robô é bastante fácil. Todas as etapas são mostradas nas fotos acima. A ordem das operações principais é a seguinte:
- Aparafuse os motores DC aos perfis de aço laterais
- Aparafuse os perfis laterais de alumínio com motores DC à base
- Aparafuse o perfil dianteiro e traseiro à base
- Instale os interruptores de alimentação necessários e outros componentes eletrônicos (consulte a próxima seção)
Etapa 3: Conexão de peças eletrônicas
O controlador principal neste sistema eletrônico é o Arduino Mega 2560. Para poder controlar quatro motores, usei dois Drivers de Motor BTS7960B (H-Bridges). Dois motores de cada lado são conectados a um driver de motor. Cada um dos drivers do motor pode ser carregado pela corrente de até 43A, o que dá uma margem suficiente de potência, mesmo para o robô móvel se movendo em terrenos acidentados. O sistema eletrônico está equipado com duas fontes de alimentação. Um para fornecer os motores DC e servos (bateria LiPo 11,1V, 5200 mAh) e outro para fornecer Arduino, câmera fpv, refletor de led e sensores (bateria LiPo 7,4V, 5000 mAh). As baterias foram colocadas na parte superior do robô para que você possa substituí-las rapidamente a qualquer momento
As conexões dos módulos eletrônicos são as seguintes:
BTS7960 -> Arduino Mega 2560
- MotorRight_R_EN - 22
- MotorRight_L_EN - 23
- MotorLeft_R_EN - 26
- MotorLeft_L_EN - 27
- Rpwm1 - 2
- Lpwm1 - 3
- Rpwm2 - 4
- Lpwm2 - 5
- VCC - 5V
- GND - GND
Receptor R12DS 2,4 GHz -> Arduino Mega 2560
- ch2 - 7 // Aileron
- ch3 - 8 // Elevador
- VCC - 5V
- GND - GND
Antes de iniciar o controle do robô a partir do transmissor RadioLink AT10 de 2,4 GHz, você deve vincular previamente o transmissor ao receptor R12DS. O procedimento de vinculação é descrito em detalhes no meu vídeo.
Etapa 4: Mega Código Arduino
Preparei os seguintes programas de amostra do Arduino:
- Teste de receptor RC 2.4 GHz
- 4WD Robot RadioLinkAT10 (arquivo em anexo)
O primeiro programa "RC 2.4GHz Receiver Test" permitirá que você inicie e verifique facilmente o receptor 2.4 GHz conectado ao Arduino, o segundo "RadioLinkAT10" permite controlar o movimento do robô. Antes de compilar e enviar o programa de amostra, certifique-se de ter escolhido "Arduino Mega 2560" como a plataforma de destino, conforme mostrado acima (Arduino IDE -> Ferramentas -> Placa -> Arduino Mega ou Mega 2560). Os comandos do transmissor RadioLink AT10 2,4 GHz são enviados ao receptor. Os canais 2 e 3 do receptor são conectados aos pinos digitais 7 e 8 do Arduino, respectivamente. Na biblioteca padrão do Arduino, podemos encontrar a função "pulseIn ()" que retorna a duração do pulso em microssegundos. Vamos usá-la para ler o sinal PWM (Modulação por Largura de Pulso) do receptor, que é proporcional à inclinação do transmissor vara de controle. A função pulseIn () leva três argumentos (pin, value e timeout):
- pin (int) - o número do pino no qual você deseja ler o pulso
- valor (int) - tipo de pulso a ser lido: ALTO ou BAIXO
- tempo limite (int) - número opcional de microssegundos a aguardar até que o pulso seja concluído
O valor do comprimento do pulso lido é então mapeado para um valor entre -255 e 255 que representa a velocidade para frente / para trás ("moveValue") ou gire para a direita / esquerda ("turnValue"). Assim, por exemplo, se empurrarmos o stick de controle totalmente para a frente, devemos obter o "moveValue" = 255 e empurrando totalmente para trás obteremos "moveValue" = -255. Graças a este tipo de controle, podemos regular a velocidade do movimento do robô em toda a sua amplitude.
Etapa 5: Teste do Robô de Segurança
Esses vídeos mostram testes de robô móvel com base no programa da seção anterior (Arduino Mega Code). O primeiro vídeo mostra testes de robô 4WD na neve à noite. O robô é controlado pelo operador remotamente de uma distância segura com base na visualização do fpv google. Ele pode se mover muito rápido em terrenos difíceis, o que você pode ver no segundo vídeo. No início desta instrução, você também pode ver como ele lida bem em terrenos acidentados.