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ção, nã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.
Esta e a parte de traz montada, como explicado.
Para controlar o carro, como já explicado, foi utilizado um controle sem fio de ps2, foi tirado uma entrada de ps1, també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, gnd, 5v) 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.
O 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 arduino, nao 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 arduino, també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.
Comentar
legal, muito obrigado por acompanhar o projeto, nao esquece de mandar o seu tambem. abraço.
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.
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.
Boa noite Jose Gustavo, muito obrigado, feliz pela opinião.
.
Muito legal ! Parabéns !
Obrigado por compartilhar.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
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)