projeto arduino+ps2+esc+brushless motor + servo motor// carro de controle remoto

Ola a todos, irei postar agora um pequeno projeto que fiz em casa, com requisito a apresentação e competição. na faculdade, o projeto basicamente e um carro,porem com motor brushless ( sem escova), e controle de ps2, apos algumas pesquisas realizada pela internet, optei por divulgar meu projeto pelo simples fato de nao ter encontrado trabalhos claros e prontos da maneira com que eu preparei. Enfim, caso esteja falando algo errado, peço desculpas, e peço que comentem,deem ideias ou critiquem se for preciso, também peço desculpas pela ma colocação de palavras e falta de acentos, pois estou usando windows 7 adaptado em um macbook, por conta disso meu teclado não fica configurado adequadamente, obrigado.

Estou apenas aguardando uma única peça ( bateria nimh), que comprei pela internet, assim que chegar irei fazer um vídeo, que colocarei no youtube e aqui também, com detalhes de como montei cada peça, o que usei, detalhes do programa e o teste dele funcionando, realizeis alguns testes, porem com uma bateria inadequada, o carro rodou, porem o esc rejeitou a bateria, e com um sistema de proteçãonão enviou potencia máxima ao motor. Uma dica que dou para quem ira montar algo com um escbrushless, compre uma bateria especifica, seja ela nimh ou lipo, no youtube tem varios videos explicando como se alimenta um esc motor, pesquisem bem antes de comprar, para não gastar dinheiro atoa, pois algumas peças não são tao baratas.

Bom, iniciando o projeto, optei por comprar um carro de controle remoto, encontrei em uma loja em minha cidade, o carro e bem conhecido para brinquedo de crianças, e tem 
vários estilos, o que usei e uma versão CAMARO RC BATTLE MACHINES, como mostra a imagem.

Para quem quiser comprar este mesmo modelo de brinquedo, tem vários estilos de carro, foi tirado tudo de eletronico que tinha dentro do brinquedo, ficando apenas as carcaças, chassi, rodas e sistema de reduçao traseiro.

Bom, dando inicio, motor 
brushless que comprei, comprei no mercado livre, o kit  acompanha o motor e o esc especifico para suporta-lo, este motor tem 7200kv (unidade de medida de automodelismo, a unidade kv e convertida em rpms), ele custou 180 reais, tem uns mais baratos e mais caros, e pra quem for comprar o motor separado do esc, aconselho pesquisar bastante no youtube como funciona cada modelo, me desculpe quem nao sabe ainda o que e um motor brushless, aconselho também pesquisar bastante sobre, deixando claro que e um motor bastante potente.




Seguindo, as fotos a seguir mostram o motor, 
escarduino e servo motor  colocados no carro, pra quem não conhece servos motores também aconselho pesquisar em outros topicos, porem não tem muito segredo. Para fixar as peças foram utilizado parafusos do próprio brinquedo, e cola quente, mostra também que retirei peças desnecessárias da carcaça para retirar peso. O eixo traseiro foi modificado, infelizmente tive que quebrar as rodas  originais traseira, mas isto e possível de realizar sem quebra-las, o eixo foi aumentado, utilizando pequeno tubo de alumínio, cola quente e cola epox para fixar e também um raio de bicicleta, passando de uma roda ate outra, esclareço também que utilizei na parte de traz uma roda de automodelo 1/10, também encontrada no mercado livre, as rodas dianteiras deixei as originais do brinquedo.

Esta e a parte de traz montada, como explicado.

Para controlar o carro, como  explicado, foi utilizado um controle sem fio de ps2, foi tirado uma entrada de ps1também pode ser a propria do playstation 2, tudo depende do que você tiver com mais facilidade, eu quebrei a entrada do game e soldei os fios nela, utilizando como um "adaptador" para o controle, como mostra a seguinte imagem.

Peço que busquem aqui no laboratório garagem, contem vários topicos onde explicam detalhes de como utilizar o ps2 no arduino e na programação.
Foram utilizados para conexão fios para, entradas ( 13,11,10,12, 
gnd5v) do arduino, conectados ao controle, ( lembrando que o 5v utilizado foi no meu caso, a maioria dos controles utilizam 3.3v).
Para o servo motor, foi utilizado o 
gnd( fio marrom), 5v (fio vermelho), e porta 7 do arduino para o sinal( fio laranja), alguns servos também variam as cores dos fios.
esc motor foi conectado, gnd( fio preto), porta 6 do arduino para o sinal ( fio branco), o fio vermelho que sai do esc, foi utilizado para atimentar o arduino quando ja programado, ele e conectado no 5v do arduinonao precisando de bateria separada para liga-lo, a propria bateria do esc alimenta todo o carro, nao deixando de lembrar que nem todos os escs tem esta função, ( funcao BEC), caso nao tenha, o fio vermelho nao precisa ser conectado.

A seguir mostra a 
programação do arduinotambém detalhada com comentarios, ( PEÇO DESCULPAS SE COLOQUEI PALAVRAS, COMANDO OU ALGO DE ERRADO, DEIXO CLARO QUE NÃO TENHO EXPERIENCIA COM PROGRAMAÇÃO, TODO O CONTEUDO FOI ELABORADO EM CIMA DE PESQUISAS E TESTES SEM NADA TÉCNICO).

// projeto elaborado para apresentação como trabalho acadêmico do curso de engenharia elétrica, e para competição do mesmo.

// informações complementares tiradas do site http://www.techmonkeybusiness.com/using-a-playstation-2-controller-...

 

// o projeto caseiro utiliza um motor brushless, sendo possível sua movimentação a partir de um esc.

// o esc e utilizado no programa como se fosse um servo..

 

  

#include <Servo.h> //biblioteca servo, utilizada para servo motor (esc), e para o servo motor (dirçao)...

#include <PS2X_lib.h> // biblioteca ps2, controle de playstation 2 wireless, no meu caso.

 

PS2X ps2x; //classe do controle declarada

Servo SteeringServo; //classe do servo direção

Servo ESCcontrol; //Classe do esc aceleração

 

 

 

 

int PlyStnRStickUpDn = 0; //valor lido do controle ps2, com indicações acelerar/frear...

int PlyStnRStickLtRt = 0; //valor lido do controle ps2, com indicações esquerda/direita...

 

 

int ESCSetting = 90; //configuração do esc, em graus.

int StrServoSetting = 90; //configuração do servo direção em graus.

 

 

void setup()

{

Serial.begin(57600);

ps2x.config_gamepad(13,11,10,12, false, false);   // pino de conexão da manete ps2 utilizada, e configurações de sensibilidade e vibração desativada.

 

 

SteeringServo.attach(7);// servo motor direção conectado a porta 7 do arduino.

ESCcontrol.attach(6,1000,2250);// conexao a porta 6 do arduino, valor mínimo e máximo do esc, / depende da configuração de cada esc...

 

ESCcontrol.write(90); // posição fixa de inicio para o esc (90 graus) motor brushless, isto evita que o esc se configure sozinho..

SteeringServo.write(90); posição de inicio do servo direção, 90 graus.

delay(3000); // tempo necessário para que o esc se inicie...

 

}

 

void loop()

{

ps2x.read_gamepad();

 

// configurações dos analógicos utilizando a função map //

 

 

PlyStnRStickUpDn = ps2x.Analog(PSS_RY); //valor do analógico do controle, acelerando ou freando o motor...

Serial.print(ps2x.Analog(PSS_RY), DEC); // mostra os valores no monitor serial

delay(15);

PlyStnRStickLtRt = ps2x.Analog(PSS_LX); //valor analógico do controle, alternando entre direita e esquerda.

 

 

ESCSetting = map(PlyStnRStickUpDn,-127,256,0,2250); // valor do analógico do ps2 mapeando com a aceleração do motor, sendo (mínimo, máximo, novo mínimo, novo máximo)

// este e o funcionamento da função map, porem utilizando valor com sinal (-), assim direcionando a aceleração e frenagem, posição 127 do analógico gera 0 aceleração, posição 0 do analógico gera máximo aceleração, posição 256 analógico gera máximo frenagem ou ré.

StrServoSetting = map(PlyStnRStickLtRt,131 , 255, 93 , 47); // mapeamento utilizado pelo servo direção, pode variar na colocação do servo motor em seu projeto.

 

 

 

ESCcontrol.write(ESCSetting);

SteeringServo.write(StrServoSetting);

 

delay(15);

}

 

 

Para concluir, a imagem a seguir mostra o carro montado, logo postarei nos comentarios o link do video.

AGRADEÇO MUITO A OPORTUNIDADE DE ESTAR POSTANDO ESTE PEQUENO TRABALHO, ESPERO QUE TENHAM GOSTADO E QUE POSSA SER DE BOA UTILIDADE A TODOS, DENOVO VENHO PEDIR DESCULPAS POR ALGO DE ERRADO OU ABSURDO APRESENTADO, E PELAS PALAVRAS MA COLOCADAS, POIS COMO JA EXPLIQUEI ANTERIORMENTE MEU TECLADO ESTA ADAPTADO PARA UM SISTEMA OPERACIONAL NAO PROPRIO. DEUS OS ABENÇOE.

Exibições: 2657

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de igor ian em 2 novembro 2018 às 0:23

legal, muito obrigado por acompanhar o projeto, nao esquece de mandar o seu tambem. abraço.

Comentário de Welington da silva drohson em 1 novembro 2018 às 20:54

ficou bacana seu carrinho, estou fazendo um com  base nesse russo

https://www.youtube.com/watch?v=Pd6uDISOC8Y&t=195s&index=13...

estou adicionando umas partes no codigo pretendo fazer uma sirene e giroflex.

Comentário de igor ian em 9 junho 2018 às 4:40

https://www.youtube.com/watch?v=kqp0mM4Gurs&t=17s

bom, como eu disse, ta ai o link do video, com detalhes e teste do carrinho, reparem na potencia que ele ficou kk

obrigado a todos, deus os abençoe.

Comentário de igor ian em 6 junho 2018 às 3:01

Boa noite Jose Gustavo, muito obrigado, feliz pela opinião.

.

Comentário de José Gustavo Abreu Murta em 2 junho 2018 às 10:49

Muito legal ! Parabéns ! 

Obrigado por compartilhar. 

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço