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

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Neste tutorial, vamos aprender a construir um aerobarco RC baseado em Arduino. Mostrarei todo o processo de construção, começando pelo design e impressão 3D das peças do aerobarco, incluindo as hélices, até a conexão dos componentes eletrônicos e programação do Arduino.

Você pode assistir ao vídeo a seguir ou ler o tutorial escrito abaixo.

Visão Geral

Para controlar o aerobarco, usei meu transmissor RC baseado em Arduino DIY que fiz em um dos meus vídeos anteriores. Defini o joystick direito para controlar o motor servo para posicionar os lemes na parte traseira do motor de tração, defini um dos potenciômetros para controlar a hélice de sustentação que na verdade está acoplada a um motor brushless DC, e defini o joystick esquerdo para controlar a propulsão. Então, vamos dar uma olhada no que é preciso para construir este aerobarco RC.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Modelo 3D do Aerobarco

Para começar, projetei o aerobarco usando um software de modelagem 3D.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Você pode encontrar e baixar este modelo 3D, bem como explorá-lo no seu navegador no Thangs.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Baixe o modelo 3D de montagem no Thangs.

Arquivos STL para impressão 3D:

Princípio de Funcionamento do Aerobarco

O princípio básico de funcionamento de um aerobarco é que a embarcação é levantada por uma almofada de ar. A hélice central sopra ar para debaixo da embarcação, o que infla uma saia feita de material macio.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Quando a pressão do ar na saia é alta o suficiente, a embarcação é levantada. O ar constantemente fornecido escapa do meio da embarcação, entre a saia e o solo, o que cria sustentação adicional e também reduz o atrito entre o aerobarco e o solo.

Uma vez levantado, usando a segunda hélice, um empuxo é gerado que move o aerobarco para frente.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Na parte traseira da hélice de tração, há um simples conjunto de lemes que são utilizados para dirigir o aerobarco.

Impressão 3D

No entanto, uma vez finalizado o design, comecei com a impressão 3D das peças.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

O casco do aerobarco é a maior peça para imprimir e a projetei especificamente para caber na minha impressora 3D Creality CR-10, que tem uma mesa de impressão de 30x30cm.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Aqui está um link para esta impressora 3D caso você queira conferir.

Após a impressão terminar, é hora de fazer uma limpeza. O corpo principal do aerobarco ou a cabine foi a impressão mais longa, que levou cerca de 18 horas para imprimir. Por causa do design curvo, e porque eu queria que fosse uma única impressão, houve muito material de suporte usado para esta impressão.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

No entanto, foi muito fácil removê-lo e a peça final saiu perfeita. O casco do aerobarco foi impresso de cabeça para baixo e teve apenas uma pequena quantidade de material de suporte para ser removido. Na verdade, tive que fazer alguns ajustes nesta impressão e cortar algum material da carcaça central do soprador para que o suporte da saia pudesse encaixar corretamente.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Já atualizei o modelo 3D para que você não tenha este problema.

Algumas das áreas arredondadas das peças estavam um pouco ásperas, então usei uma lixa simples para suavizá-las.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

As hélices não precisaram de limpeza e funcionaram muito bem saindo direto da impressora 3D.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Pintura do Aerobarco

Ok, o próximo passo é pintar as peças impressas em 3D. Não usei nenhum primer antes, mas apliquei diretamente uma tinta acrílica em forma de spray.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Usei uma cor marrom chocolate para a primeira demão. Para algumas das peças menores, que são na verdade apenas peças decorativas, usei uma cor marrom mais clara.

Para fazer o aerobarco parecer um pouco mais legal, uma vez que a primeira demão secou, continuei adicionando mais duas cores às peças. Para esse propósito, fiz alguns padrões aleatórios em uma folha de papel simples, e os usei para fazer listras e manchas em cores diferentes. Usei marrom claro e preto para esse propósito.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Montagem do Aerobarco RC Arduino

Gostei muito de como as peças ficaram, então, uma vez que secaram, continuei montando-as.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Comecei instalando o motor servo que controla os lemes na carcaça do soprador de tração. Fixei o servo usando dois parafusos e porcas M2.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Em seguida, está o motor brushless. O modelo particular que tenho é o D2830, que tem diâmetro de 28mm e 30mm de comprimento, e, claro, a carcaça é especificamente projetada para se encaixar neste motor.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Aqui, ao inserir o motor, primeiro tive que passar os fios pelas aberturas. É um pouco apertado, mas ainda assim dá para passar. Então, no lado de trás, usando parafusos M3, fixei o motor à carcaça.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Em seguida, posso unir a carcaça de tração com o corpo principal do aerobarco. Esta peça tem uma abertura para que os fios do servo e do motor BLDC possam passar.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Usando quatro parafusos M3, os fixei firmemente juntos.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Uma vez terminado isso, continuei com a instalação do segundo motor brushless no casco do aerobarco. Aqui, novamente usei o mesmo método. Primeiro, passei os fios pelas aberturas e então, no lado de trás, fixei o motor usando quatro parafusos M3.

Diagrama de Circuito

Vem agora a eletrônica. Os componentes eletrônicos serão colocados entre o casco e o corpo principal do aerobarco. Mas antes de fazermos isso, vamos dar uma olhada no diagrama de circuito e ver como tudo precisa ser conectado.

Então, o cérebro deste aerobarco é uma placa Arduino. Com o Arduino, podemos facilmente controlar o servo, bem como os dois motores brushless usando os dois controladores eletrônicos de velocidade ou ESCs. Para alimentar os motores BLDC, usarei bateria Li-Po 3S que fornece cerca de 11V, e para alimentar o Arduino, podemos usar os 5V regulados que os ESCs fornecem através de seu recurso de Circuito Eliminador de Bateria (BEC).

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Para a comunicação sem fio, usarei o módulo transceptor NRF24L01, que se usado com uma antena amplificada pode ter um alcance estável de até 700 metros em espaço aberto. O transmissor RC que usarei para controlar o aerobarco é o que construí customizadamente em um dos meus tutoriais anteriores, então você pode conferir se precisar de mais detalhes sobre ele. Também há tutoriais detalhados sobre o módulo NRF24L01 e como usar motores brushless com Arduino. No entanto, o princípio básico de funcionamento é que o transmissor envia os dados dos joysticks ou potenciômetros para o receptor que controla a velocidade dos motores brushless e a posição do servo.

Há um pequeno detalhe a mais neste diagrama de circuito, e esse é o monitor de bateria. Adicionei um divisor de tensão simples feito de dois resistores, que é conectado diretamente à bateria, e sua saída vai para a entrada analógica do Arduino. O divisor de tensão reduz os 11 volts para cerca de 4 volts, que são então aceitáveis pelos pinos de 5V do Arduino. Com isso, podemos monitorar a tensão da bateria e acender um LED quando, por exemplo, a tensão da bateria cair abaixo de 11 volts.

Você pode obter os componentes necessários para este Tutorial Arduino nos links abaixo:

  • Módulo Transceptor NRF24L01….
  • NRF24L01 + PA + LNA ………….….
  • Motor Brushless ………………….……
  • ESC 30A ……………………………….…..
  • Bateria Li-Po ………………………………..
  • XT60 2 Fêmea para 1 Macho ………….
  • Conector XT60 …………………………
  • Motor Servo ………………………………..
  • Placa Arduino …………………………

Então, comecei conectando os componentes como explicado. Para conectar os dois ESCs a uma única bateria, usei um divisor de bateria paralelo, tipo XT60.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Para adicionar um interruptor de alimentação ao projeto, usei outro conector XT60, no qual cortei um fio e soldei uma chave seletora lá. Então, um lado vai para o cabo divisor Y e o outro lado para a bateria.

Em seguida, coloquei os ESCs dentro do corpo principal e os prendi entre ele e o casco do aerobarco. Então, usando quatro parafusos M3, apertei as duas partes juntas. Pela abertura superior do corpo, então inseri a bateria na área da cabine.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Em seguida, precisamos conectar os componentes ao Arduino e para esse propósito adicionei dois headers de pinos ao Arduino que servirão como pinos GND e 5V.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Então, uma vez que conectei tudo ao Arduino, passei a antena do NRF24L01, o LED indicador e o interruptor de alimentação, através da tampa superior da cabine.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Então, só precisei apertar tudo dentro da cabine. Foi um pouco apertado aqui porque usei Arduino UNO, e provavelmente deveria ter usado um Arduino Nano em vez disso.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

No entanto, consegui encaixar tudo, também fixei uma pequena peça decorativa na tampa e então apenas a prendi ao corpo da cabine.

Continuei com a instalação do sistema de direção. Primeiro, conectei um pequeno link à chaveta do servo usando um parafuso e porca M2. Então, inseri o primeiro leme no lugar e o fixei à carcaça de tração usando um fio de metal de 2mm que passa através do seu corpo e assim o leme pode girar em torno dele. Da mesma forma, fixei o segundo leme.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Este leme tem um slot adicional para que possamos conectá-lo ao link inserido anteriormente no servo. Novamente, usei parafuso e porca M2 para fixá-los. E finalmente, conectei os dois lemes um ao outro usando outro link e com isso o sistema de direção está completo.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Em seguida, fixarei esta pequena peça decorativa no lado do aerobarco. Usando uma furadeira, fiz um furo e então fixei a peça ao casco usando um único parafuso. Coloquei estas peças em ambos os lados e acho que elas se encaixam muito bem na aparência geral do aerobarco.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Ok, em seguida, continuei com a fabricação da saia para este aerobarco. Você pode notar aqui que o suporte da saia tem furos ao redor e isso é para fixá-lo ao casco.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Também há slots para porcas serem colocadas e, dessa forma, poderemos fixar facilmente o suporte da saia ao casco usando parafusos M3. Uma vez que fixei todas as porcas no lugar, continuei com a fabricação da saia, para a qual usei um simples saco plástico de lixo.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Então, primeiro apliquei cola cianoacrilato na área central do suporte e colei no saco plástico. Então, desloquei o perímetro do suporte em cerca de 6cm. Marquei em vários pontos e então os conectei.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Usando um estilete, cortei o saco plástico no tamanho adequado. Então, virei a saia, e adicionei algum suporte adicional ao saco onde colamos anteriormente usando a cola cianoacrilato.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Em seguida, a parte externa do saco precisa ser colada no topo do suporte. Novamente, usei cola cianoacrilato para esse propósito e fixei cuidadosamente o saco plástico a ele.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Uma vez terminado isso, aqui está como a saia deve ficar.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Em seguida, fiz furos através do saco plástico onde os parafusos devem passar. O suporte da saia é apenas 1mm menor que o casco do aerobarco, então em combinação com o saco plástico ele encaixa no casco perfeitamente. Para fixar a saia ao casco, simplesmente apertei os parafusos M3 ao redor de todo o perímetro.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Há mais uma coisa a ser feita na saia e é cortar a área central do saco plástico.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

Então, com isso, metade do ar inflará diretamente a saia e então sangrará através desta abertura, criando uma bolha de ar adicional no meio.

Finalmente, o que resta a ser feito é fixar as hélices aos motores brushless. Para esse propósito, estou usando o collet que vem com o motor brushless. É uma maneira realmente simples e eficaz de fixar a hélice ao eixo do motor.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

No entanto, perdi o collet para meu outro motor, então tive que imprimir uma versão diferente da hélice para encaixar diretamente no eixo do motor, que é de 3.15mm. A impressão saiu muito boa, encaixou e fixou perfeitamente no motor sem nem usar cola.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

E pronto, nosso aerobarco controlado por rádio está finalmente terminado.

Construa um Aerobarco RC com Arduino: Design 3D Impresso e Guia de Programação

No entanto, o que resta neste vídeo é dar uma olhada no código Arduino e como o programa funciona.

Código do Aerobarco RC Arduino

Aqui está o código para este projeto DIY Aerobarco RC baseado em Arduino:

/* Aerobarco RC baseado em Arduino == Código do Receptor - Controle de ESC e Servo = por Dejan, www.HowToMechatronics.com Biblioteca: TMRh20/RF24, https://github.com/tmrh20/RF24/ */ #include <SPI.h> #include <nRF24L01.h> #include <RF24.h> #include <Servo.h> #define led 10 RF24 radio(8, 9); // nRF24L01 (CE, CSN) const byte address[6] = "00001"; unsigned long lastReceiveTime = 0; unsigned long currentTime = 0; Servo esc1; // cria objeto servo para controlar o ESC Servo esc2; Servo servo1; int esc1Value, esc2Value, servo1Value; // Tamanho máximo desta struct é 32 bytes - limite do buffer NRF24L01 struct Data_Package { byte j1PotX; byte j1PotY; byte j1Button; byte j2PotX; byte j2PotY; byte j2Button; byte pot1; byte pot2; byte tSwitch1; byte tSwitch2; byte button1; byte button2; byte button3; byte button4; }; Data_Package data; // Cria uma variável com a estrutura acima void setup() { Serial.begin(9600); radio.begin(); radio.openReadingPipe(0, address); radio.setAutoAck(false); radio.setDataRate(RF24_250KBPS); radio.setPALevel(RF24_PA_LOW); radio.startListening(); // Define o módulo como receptor resetData(); esc1.attach(7); esc2.attach(6); servo1.attach(5); pinMode(led, OUTPUT); } void loop() { // Verifica se continuamos recebendo dados, ou se temos conexão entre os dois módulos currentTime = millis(); if ( currentTime - lastReceiveTime > 1000 ) { // Se o tempo atual for mais de 1 segundo desde que recebemos os últimos dados, significa que perdemos a conexão resetData(); // Se a conexão for perdida, reinicia os dados. Evita comportamento indesejado, por exemplo, se um drone tem throttle up, se perdermos a conexão, ele pode continuar voando se não reiniciarmos a função } // Verifica se há dados para serem recebidos if (radio.available()) { radio.read(&data, sizeof(Data_Package)); // Lê todos os dados e armazena na estrutura 'data' lastReceiveTime = millis(); // Neste momento recebemos os dados } // Controlando servos servo1Value = map(data.j2PotX, 0, 255, 0, 50); servo1.write(servo1Value); // Controlando motor brushless com ESC // Hélice de sustentação esc1Value = map(data.pot1, 0, 255, 1000, 2000); // Mapeia o valor recebido de 0 a 255 para 1000 a 2000, valores usados para controle de ESCs esc1.writeMicroseconds(esc1Value); // Envia o sinal de controle PWM para o ESC // Hélice de tração esc2Value = constrain(data.j1PotY, 130, 255); // Joystick fica no meio. Então só precisamos dos valores superiores de 130 a 255 esc2Value = map(esc2Value, 130, 255, 1000, 2000); esc2.writeMicroseconds(esc2Value); // Monitora tensão da bateria int sensorValue = analogRead(A0); float voltage = sensorValue * (5.00 / 1023.00) * 3; // Converte valores de leitura de 5v para 12V adequados Serial.println(voltage); // Se tensão abaixo de 11V liga o LED if (voltage < 11) { digitalWrite(led, HIGH); } else { digitalWrite(led, LOW); } } void resetData() { // Reinicia os valores quando não há conexão de rádio - Define valores padrão iniciais data.j1PotX = 127; data.j1PotY = 127; data.j2PotX = 127; data.j2PotY = 127; data.j1Button = 1; data.j2Button = 1; data.pot1 = 1; data.pot2 = 1; data.tSwitch1 = 1; data.tSwitch2 = 1; data.button1 = 1; data.button2 = 1; data.button3 = 1; data.button4 = 1; }

Descrição: Então, primeiro precisamos incluir a biblioteca RF24 para a comunicação de rádio, bem como a biblioteca servo para controlar tanto o servo quanto os motores brushless. Então, precisamos definir o radio e os objetos servo, algumas variáveis necessárias para o programa abaixo, bem como a estrutura de variáveis que são usadas para armazenar os dados recebidos do meu transmissor RC DIY. Para mais detalhes sobre como esta comunicação funciona, sugiro conferir meu tutorial particular para ele.

Na seção setup, precisamos inicializar a comunicação de rádio, bem como definir os pinos aos quais o servo e os ESCs estão conectados.

Na seção loop, lemos os dados recebidos do transmissor e usamos esses valores para controlar o servo e os motores brushless. Então, os dados do joystick que variam de 0 a 255 são convertidos em valores de 0 a 50 e usamos esses valores para controlar a posição do servo.

Com o mesmo método, controlamos os motores brushless usando os ESCs. Os dados recebidos que vão de 0 a 255 são convertidos em valores de 1000 a 2000 e, usando a função writeMicroseconds(), enviamos esses dados para o ESC como sinal de controle.

Para monitorar a tensão da bateria, lemos a entrada analógica vinda do divisor de tensão e com alguma matemática simples convertemos os valores de entrada em valor real da tensão da bateria. Se a tensão da bateria cair abaixo de 11V, simplesmente acendemos o LED indicador.

E pronto. Caso precise de mais alguns detalhes, você pode conferir os outros tutoriais sugeridos e assim poderá entender completamente como tudo funciona.

Espero que tenha gostado deste tutorial e aprendido algo novo. Sinta-se à vontade para fazer qualquer pergunta na seção de comentários abaixo e confira minha Coleção de Projetos Arduino.


Processo de manufatura

  1. Construa Seu Próprio LUMAZOID: Visualizador de Música DIY com Arduino
  2. Construa um Voltímetro Inteligente com Arduino e Smartphone – Projeto DIY Fácil
  3. Pixie: Relógio de Pulso NeoPixel Baseado em Arduino – Elegante Timepiece DIY LED
  4. Construa um Skate VR DIY com Arduino, Google Cardboard e Bluetooth
  5. Autômatos Celulares em Tempo Real no Arduino com Display OLED 128x64
  6. Dispositivo de Tratamento Radiônico EMR DIY com Arduino Nano
  7. Sistema de Presença em Tempo Real com RFID, Arduino e Google Sheets
  8. Simulador de Corrida 2D DIY com Arduino Nano e Servos SG90
  9. Monitor Inteligente de Energia Confiável com Arduino UNO – Guia Completo
  10. Sistema de Segurança Arduino: Detecção de Movimento Inteligente e Alerta