- Motor DC Coreless para carros RC
- Materiais requisitados
- Joystick RF para carro RC usando Arduino
- Diagrama de circuito do carro Arduino RC
- Fabricação de PCB para carro Arduino RC
- Montagem do PCB
- Rodas de impressão 3D e suporte para motor
- Programando o Arduino
- Trabalho do carro Arduino RC
Carros RC são sempre divertidos de brincar, eu pessoalmente sou um grande fã desses carros com controle remoto e já joguei (ainda faço) com eles extensivamente. A maioria desses carros hoje fornecem um torque enorme para lidar com terrenos acidentados, mas há algo que sempre ficou para trás, sua velocidade !!.. Então, neste projeto, iremos construir um tipo totalmente diferente de carro RC usando o Arduino, o principal O objetivo deste carro é atingir a velocidade máxima, por isso decidi experimentar o motor DC sem núcleo para um carro RC. Esses motores são normalmente usados em drones e são classificados para 39.000 RPM que deve ser mais do que suficiente para matar nossa sede de velocidade. O carro será alimentado por uma pequena bateria de lítio e pode ser controlado remotamente usando o módulo RF nRF24L01. Alternativamente, se você estiver procurando por algo simples, você também pode verificar os projetos Simple RF Robot e Raspberry Pi Bluetooth Car.
Motor DC Coreless para carros RC
O motor DC sem núcleo que é usado neste projeto é mostrado na imagem abaixo. Você pode encontrá-los facilmente, pois eles são amplamente usados em mini drones. Basta procurar por 8520 Motor Micro Coreless Magnético e você os encontrará.
Agora, existem certas desvantagens de usar motores DC para um carro RC. A primeira coisa é que eles fornecem um torque inicial muito baixo, portanto, nosso carro RC deve ser o mais leve possível. É por isso que decidi construir o carro inteiro em cima de um PCB usando componentes SMD e reduzi o tamanho da placa o máximo possível. O segundo problema é sua alta velocidade, 39.000 RPM (RPM do eixo) é difícil de manusear, então precisamos de um circuito de controle de velocidade no lado do Arduino, que construímos usando um MOSFET. A terceira coisa é que esses motores serão alimentados por uma única bateria de polímero de lítio com uma tensão operacional entre 3,6 V a 4,2 V, então temos que projetar nosso circuito para operar em 3,3 V. É por isso que usamos um Arduino Pro mini de 3,3 Vcomo o cérebro do nosso carro RC. Com esses problemas resolvidos, vamos examinar os materiais necessários para construir este projeto.
Materiais requisitados
- 3,3 V Arduino Pro Mini
- Arduino Nano
- NRF24L01 - 2pcs
- Módulo Joystick
- SI2302 MOSFET
- Diodo 1N5819
- Motores BLDC Coreless
- AMS1117-3.3V
- Bateria de polímero de lítio
- Resistores, capacitores,
- Fios de conexão
Joystick RF para carro RC usando Arduino
Como mencionado anteriormente, o carro RC será controlado remotamente usando um Joystick RF. Este Joystick também será construído usando um Arduino junto com um módulo RF nRF24L01, também usamos o módulo Joystick para controlar nosso RC na direção necessária. Se você é completamente novo nesses dois módulos, pode considerar a leitura dos artigos Interfacing Arduino com nRF24L01 e Interface Joystick com Arduino para aprender como funcionam e como usá-los. Para construir seu joystick remoto RF Arduino, você pode seguir o diagrama de circuito abaixo.
O circuito do Joystick RF pode ser alimentado usando a porta USB da placa nano. O módulo nRF24L01 opera apenas em 3,3 V, portanto, usamos o pino de 3,3 V no Arduino. Eu construí o circuito em uma placa de ensaio e se parece com a figura abaixo, você também pode criar um PCB para isso, se necessário.
O código do Arduino para o circuito do Joystick RF é bastante simples, temos que ler o valor X e o valor Y do nosso Joystick e enviá-lo para o carro RC através do nRF24L01. O programa completo para este circuito pode ser encontrado no final desta página. Não entraremos na explicação disso, pois já o discutimos no link do projeto de interface compartilhado acima.
Diagrama de circuito do carro Arduino RC
O diagrama de circuito completo para nosso carro Arduino controlado remotamente é mostrado abaixo. O diagrama de circuito também inclui uma opção para adicionar dois módulos IR TCRT5000 ao nosso carro. Isso foi planejado para permitir que nosso carro RC funcione como um robô que segue em linha, de modo que possa funcionar por conta própria sem ser controlado externamente. No entanto, por causa deste projeto não iremos nos concentrar nele, fique atento para outro tutorial de projeto no qual tentaremos construir o “Robô Seguidor de Linha Mais Rápida”. Eu combinei os dois circuitos em uma única placa de circuito impresso para facilitar a construção. Você pode ignorar o sensor de infravermelho e a seção do amplificador operacional para este projeto.
O carro RC será alimentado pela bateria Lipo conectada ao terminal P1. O AMS117-3.3V é usado para regular 3,3V para nosso nRF24L01 e nosso pro-mini-board. Também podemos alimentar a placa Arduino diretamente no pino bruto, mas o regulador de tensão de 3,3 V integrado no pro mini não será capaz de fornecer corrente suficiente para nossos módulos de RF, portanto, usamos um regulador de tensão externo.
Para acionar nossos dois motores BLDC, usamos dois MOSFETs SI2302. É importante ter certeza de que esses MOSFETS podem ser acionados por 3,3V. Se você não conseguir encontrar exatamente o mesmo número de peça, pode procurar MOSFETs equivalentes com as características de transferência abaixo
Os motores podem consumir corrente de pico tão alta quanto 7A (contínuo foi testado para ser 3A com carga), portanto, a corrente de drenagem do MOSFET deve ser 7A ou mais e deve ligar completamente a 3,3V. Como você pode ver aqui, o MOSFET que selecionamos pode fornecer 10 A mesmo em 2,25 V, por isso é a escolha ideal.
Fabricação de PCB para carro Arduino RC
A parte divertida com a construção deste projeto foi o Desenvolvimento do PCB. O PCB aqui não apenas forma o circuito, mas também atua como um chassi para o nosso carro, então planejamos um carro com formato parecido com opções de montagem fácil de nossos motores. Você também pode tentar projetar seu próprio PCB usando o circuito acima ou você pode usar meu design de PCB que se parece com este abaixo, uma vez concluído.
Como você pode ver, projetei o PCB para montar facilmente a bateria, o motor e outros componentes. Você pode baixar o arquivo Gerber para este PCB no link. Quando estiver pronto com o arquivo Gerber, é hora de fabricá-lo. Para fazer seus PCBs facilmente pelo PCBGOGO, siga as etapas abaixo
Etapa 1: Acesse www.pcbgogo.com, inscreva-se se esta for sua primeira vez. Então, na guia Protótipo de PCB, insira as dimensões de seu PCB, o número de camadas e o número de PCB que você precisa. Meu PCB tem 80cm × 80cm, então a guia se parece com esta abaixo.
Etapa 2: Continue clicando no botão Citar Agora . Você será levado a uma página onde definir alguns parâmetros adicionais, se necessário, como o material usado, espaçamento entre pistas, etc. Mas, principalmente, os valores padrão funcionarão bem. A única coisa que devemos considerar aqui é o preço e o tempo. Como você pode ver, o Build Time é de apenas 2-3 dias e custa apenas US $ 5 para nosso PSB. Você pode então selecionar um método de envio preferido com base em seus requisitos.
Etapa 3: A última etapa é fazer o upload do arquivo Gerber e prosseguir com o pagamento. Para garantir que o processo está tranquilo, o PCBGOGO verifica se seu arquivo Gerber é válido antes de prosseguir com o pagamento. Dessa forma, você pode ter certeza de que seu PCB é amigável para a fabricação e chegará até você quando estiver comprometido.
Montagem do PCB
Depois que a placa foi encomendada, ela chegou até mim depois de alguns dias, embora fosse enviada em uma caixa bem embalada e bem etiquetada e, como sempre, a qualidade do PCB era incrível. Estou compartilhando algumas fotos dos painéis abaixo para você julgar.
Liguei minha haste de solda e comecei a montar a placa. Como os footprints, pads, vias e silkscreen são perfeitos no formato e tamanho corretos, não tive problemas para montar a placa. A prancha ficou pronta em apenas 10 minutos a partir do momento de desempacotar a caixa.
Algumas fotos da placa após a soldagem são mostradas abaixo.
Rodas de impressão 3D e suporte para motor
Como você deve ter notado na imagem acima, precisamos 3D nosso suporte de motor e rodas para o robô. Se você usou nosso arquivo Gerber PCB compartilhado acima, então você pode usar um modelo 3D baixando-o neste link thingiverse.
Usei Cura para fatiar meus modelos e imprimi-los em Tevo Terantuala sem suportes e preenchimento de 0% para redução de peso. Você pode alterar a configuração conforme adequado para a nossa impressora. Como os motores giram muito rápido, achei difícil projetar uma roda que se encaixe bem e firme no eixo do motor. Por isso decidi usar as lâminas do drone dentro da roda, como você pode ver abaixo
Achei isso mais confiável e robusto, no entanto, experimente diferentes designs de rodas e diga-me na seção de comentários o que funcionou para você.
Programando o Arduino
O programa completo (Arduino nano e pro mini) para este projeto pode ser encontrado no final desta página. A explicação do seu programa RC é a seguinte
Iniciamos o programa incluindo o arquivo de cabeçalho necessário. Observe que, o módulo nRF24l01 requer que uma biblioteca seja adicionada ao seu IDE Arduino, você pode baixar a Biblioteca RF24 do Github usando este link. Além disso, já definimos a velocidade mínima e a velocidade máxima do nosso robô. O intervalo mínimo e máximo é de 0 a 1024, respectivamente.
#define min_speed 200 #define max_speed 800 #include
Então, dentro da função de configuração, inicializamos nosso módulo nRF24L01. Usamos 115 bandas, pois não está congestionado e configuramos o módulo para operar com baixa potência, você também pode brincar com essas configurações.
void setup () {Serial.begin (9600); myRadio.begin (); myRadio.setChannel (115); // 115 bandas acima de sinais WIFI myRadio.setPALevel (RF24_PA_MIN); // Potência mínima de baixa raiva myRadio.setDataRate (RF24_250KBPS); // Velocidade mínima}
Em seguida, na função de loop principal, executaremos apenas a função ReadData com a qual estaremos lendo constantemente o valor enviado de nosso módulo de joystick do transmissor. Observe que o endereço do tubo mencionado no programa deve ser igual ao mencionado no programa do transmissor. Também imprimimos o valor que recebemos para fins de depuração. Assim que o valor for lido com sucesso, executaremos a função Control Car para controlar nosso carro RC com base no valor recebido do
módulo Rf.
void ReadData () {myRadio.openReadingPipe (1, 0xF0F0F0F0AA); // Qual tubo ler, endereço de 40 bits myRadio.startListening (); // Parar a transmissão e iniciar o Reveicing if (myRadio.available ()) {while (myRadio.available ()) {myRadio.read (& data, sizeof (data)); } Serial.print ("\ nRecebido:"); Serial.println (data.msg); recebido = dados.msg; Control_Car (); }}
Dentro da função Control Car, controlaremos os motores conectados aos pinos PWM usando a função de gravação analógica. Em nosso programa de transmissor, convertemos os valores analógicos do pino A0 e A1 do Nano para 1 a 10, 11 a 20, 21 a 30 e 31 a 40 para controlar o carro para frente, ré, esquerda e direita, respectivamente. O programa abaixo é usado para controlar o robô na direção para frente
if (recebido> = 1 && recebido <= 10) // Avançar {int PWM_Value = map (recebido, 1, 10, min_speed, max_speed); analogWrite (R_MR, PWM_Value); analogWrite (L_MR, PWM_Value); }
Da mesma forma, também podemos escrever mais três funções para controle reverso, esquerdo e direito, conforme mostrado abaixo.
if (recebido> = 11 && recebido <= 20) // Break {int PWM_Value = map (recebido, 11, 20, min_speed, max_speed); analogWrite (R_MR, 0); analogWrite (L_MR, 0); } if (recebido> = 21 && recebido <= 30) // Vire à esquerda {int PWM_Value = map (recebido, 21, 30, min_speed, max_speed); analogWrite (R_MR, PWM_Value); analogWrite (L_MR, 0); } if (recebido> = 31 && recebido <= 40) // Vire à direita {int PWM_Value = map (recebido, 31, 40, min_speed, max_speed); analogWrite (R_MR, 0); analogWrite (L_MR, PWM_Value); }
Trabalho do carro Arduino RC
Depois de terminar com o código, carregue-o no seu pro-mini-board. Remova a bateria e a placa por meio do módulo FTDI para teste. Lance seu código, abra a bateria serial e você deverá receber o valor do módulo Joystick do transmissor. Conecte sua bateria e seus motores também devem começar a girar.
O funcionamento completo do projeto pode ser encontrado no vídeo com link no final desta página. Se você tiver alguma dúvida, deixe-a na seção de comentários. Você também pode usar nossos fóruns para obter respostas rápidas para suas outras perguntas técnicas.