Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Para as pessoas que não sabem o que é um "VEX". É uma empresa que vende peças e kits de robótica. Eles vendem um transmissor e receptor "VEX" em seu site por US $ 129,99, mas você pode obter um transmissor e receptor "VEX" por cerca de US $ 20 no "Ebay" e em muitos outros lugares.
O transmissor "VEX" é um transmissor FM de 6 canais com 2 joysticks que podem subir e descer de um lado para o outro. Na parte traseira do transmissor existem 4 botões que controlam o canal 5 e o canal 6. Os controles do transmissor podem ser configurados para estilo tanque ou estilo arcade. O transmissor possui uma série de outros recursos. Isso o torna uma forma muito barata de controlar servos remotamente. O único problema é que você só pode controlar servos motores e precisa comprar um caro microcontrolador "VEX" de $ 149,99 apenas para fazer isso. Isso é até agora!
Etapa 1: Como tudo funciona
Este "chip de interface do motor" de baixo custo ($ 14,95) pode ser comprado em: https://robotics.scienceontheweb.net O chip pode decodificar os sinais do receptor "VEX" para controlar até 8 pontes H do motor e 1 driver. Ele também pode receber comandos de outro chip microcontrolador para controlar os motores. Este chip de interface usa 3 pinos de saída para controlar a ponte H de um motor. Dois pinos para controlar a direção do motor e um pino para controlar a velocidade do motor usando P. W. M. O chip usa a entrada dos dois botões no canal 5 para controlar a entrada do joystick esquerdo do transmissor "VEX" para que possa controlar 6 motores. O chip usa a entrada dos outros 2 botões no canal 6 para travar a saída alta ou baixa no pino 14 do chip de interface do motor. O chip de interface do motor tem os seguintes recursos. Esses recursos podem não funcionar, pois um receptor pode captar um sinal de qualquer lugar. Não assumimos qualquer responsabilidade direta ou indiretamente pelo uso dessas peças. AVISO! NUNCA USE O REMOTO EM UM ROBÔ QUE PODE CAUSAR DANOS SE ESTIVER FORA DE CONTROLE. Se o seu robô ficar fora do alcance do transmissor; o chip de interface do motor pode desligar os motores e dar controle a um microcontrolador se o seu robô estiver usando um. Isso também pode ser verdade se você desligar o transmissor. O chip de interface do motor não usa uma porta serial para se comunicar com outros microcontroladores. Isso significa que você pode usar um chip microcontrolador muito barato para ser o cérebro do seu robô. Colocar um pino 2 baixo fará com que todos os motores operem com metade do nível de potência ao usar o transmissor.
Etapa 2: como conectar o receptor VEX ao chip de interface
Motores, relés e fontes de alimentação causarão interferência de rádio; então escolha um local em seu robô onde o receptor "VEX" esteja longe dessas coisas. Montei o meu em um mastro de 43 pol. De comprimento que foi anexado à base do robô.
O receptor "VEX" vem com um cabo amarelo. Conecte o cabo ao receptor "VEX", a outra extremidade do cabo conecta-se a uma tomada de fone de telefone. Você deve comprar o macaco. Pois não saberei as cores dos fios que saem do seu conector; Vou referir os fios do cabo amarelo. Se você olhar para o cabo amarelo, verá 4 fios que são amarelos, verdes, vermelhos e brancos. O fio amarelo é conectado a + 5 volts. O fio verde é o sinal e é conectado ao pino 6 do chip de interface. O fio vermelho é conectado ao aterramento. O fio branco não é usado. Você precisa conectar um resistor pull up de 4,7 K do pino 6 no chip de interface ao + 5 volts. Você também vai querer conectar um capacitor de 2200 uf nos fios de alimentação próximos ao receptor "VEX". O pino 2 é um pino de entrada. Deve ser conectado e NÃO deixado flutuando. Ele pode ser conectado a + 5 volts ou aterrado por meio de um resistor de 47 ohms. Ele também pode ser conectado ao pino 14. Opção 1: pino 2 alto dará toda a gama de potência aos motores. Opção 2: pino 2 baixo dará metade da faixa de potência aos motores. Opção 3: pino 2 conectado ao pino 14. Quando o botão superior do canal 6 é pressionado, ele fornece toda a faixa de potência aos motores. Quando o botão inferior do canal 6 é pressionado, dá metade da faixa de potência aos motores.
Etapa 3: como conectar um microcontrolador ao chip de interface
Seu microcontrolador, se você estiver usando um, pode se comunicar
com o chip de interface em 3 fios. O pino 7 no chip de interface é a entrada para o bit de dados. Quando o pino está baixo, é um bit de dados zero. Quando o pino está alto, é um bit de dados. Seu microcontrolador deve gerar o bit de dados antes do pulso do clock. O bit de dados deve ter pelo menos 40 us de comprimento. O pino 16 no chip de interface é a entrada para o bit de clock. Seu microcontrolador deve produzir um pulso alto para pelo menos 0,5 us. O pino 5 no chip de interface é um pino de saída. Quando este pino fica alto, é para avisar o microcontrolador que está pronto para receber o próximo comando. Este pino ficará baixo se o Chip de Interface estiver recebendo um sinal do transmissor "VEX". Este pino também ficará baixo e permanecerá baixo se houver um erro de comunicação entre o microcontrolador e o chip de interface. O pino 4 é um pino de saída. Se houver um erro de comunicação entre o chip de interface e o microcontrolador, este pino ficará alto e permanecerá alto. Uma reinicialização deve ser feita para eliminar este erro.
Etapa 4: Lista dos comandos
Existem 32 comandos que o chip de interface entende. Todos os comandos têm 3 bytes ou 24 bits de comprimento. O formato dos comandos é o seguinte.
O primeiro byte enviado é sempre o byte de comando que é o número mais à esquerda na lista abaixo. O segundo byte enviado pode ser um byte PWM. É um número entre 0 e 50. Quando um 0 é enviado, o P. W. M. o pulso está baixo, o que significa que o motor estará desligado. Quando o número 50 é enviado, o P. W. M. o pulso está alto, o que significa que o motor estará ligado na potência máxima. Quando o número 25 é enviado, o motor funcionará com cerca de metade da potência. Conforme visto na lista, às vezes o segundo byte é apenas 0, que está sendo usado apenas para um marcador de posição. Não tem efeito no motor. O terceiro byte enviado pode ser um byte PWM ou um número de verificação de erro. Exemplo: Para ordenar que o motor 1 vá em velocidade total e o motor 2 vá a meia velocidade para frente, o comando seria. 1 50 25 Para ordenar que o motor 7 volte a 10% da potência, o comando seria. 16 5 16 1 Motor 1 e 2 para frente, PWM #, PWM # (sem verificação de erro) 2 Motor 1 e 2 para trás, PWM #, PWM # (sem verificação de erro) 3 Motor 1 para frente, PWM #, 3 4 Motor 1 para trás, PWM #, 4 5 Motor 2 para frente, PWM #, 5 6 Motor 2 para trás, PWM #, 6 7 Motor 3 para frente, PWM #, 7 8 Motor 3 para trás, PWM #, 8 9 Motor 4 para frente, PWM #, 9 10 Motor 4 para trás, PWM #, 10 11 Motor 5 para frente, PWM #, 11 12 Motor 5 para trás, PWM #, 12 13 Motor 6 para frente, PWM #, 13 14 Motor 6 para trás, PWM #, 14 15 Motor 7 para frente, PWM #, 15 16 Motor 7 para trás, PWM #, 16 17 Motor 8 para frente, PWM #, 17 18 Motor 8 para trás, PWM #, 18 19 Velocidade de todos os motores, PWM #, 19 20 Velocidade do Motor 1 e 2, PWM #, PWM # (sem verificação de erro) 21 Motor 1 e 2 parada, X, 21 (pinos baixos) 22 Motor 1 parada, 0, 22 (pinos baixos) 23 Motor 2 parada, 0, 23 (pinos baixos) 24 Motor 3 parada, 0, 24 (pinos baixos) 25 Motor 4 parada, 0, 25 (pinos baixos) 26 Motor 5 parada, 0, 26 (pinos baixos) 27 Motor 6 parada, 0, 27 (pinos baixos) 28 Motor 7 parada, 0, 28 (pinos baixos) 29 Motor 8 paradas, 0, 29 (pinos baixos) 30 Todos os meses parada de torção, 0, 30 (pinos baixos) 31 Pino 14 alto, 0, 31 32 Pino 14 baixo, 0, 32
Etapa 5: Resumo do PIN
Pinos de entrada
Pino 1 Se for baixo, ele descansa (MCLR) Pino 2 Se for baixo, ele dá apenas metade da saída para os motores Pino 6 receptor "VEX" Pino 7 comandos e dados de outro microcontrolador Pino 33 interrupção de dados Pino 11 + 5 volts Pino 32 + 5 volts Pino 12 terra Pino 31 terra Pinos de saída Pino 34 PWM para motor 1 Pino 35 alto quando o joystick 1 é esquerdo Pino 36 alto quando o joystick 1 está direito Pino 37 P. W. M. para motor 2 Pino 38 alto quando o joystick 2 está para cima Pino 15 alto quando o joystick 2 está para baixo Pino 16 P. W. M. para motor 3 Pino 17 alto quando o joystick 3 está para cima Pino 18 alto quando o joystick 3 está para baixo Pino 23 P. W. M. para motor 4 Pino 24 alto quando o joystick 4 é esquerdo Pino 25 alto quando o joystick 4 está direito Pino 26 P. W. M. para motor 5 Pino 19 alto quando o joystick 3 está para cima e o botão superior 5 é pressionado o pino 20 alto quando o joystick 3 está para baixo e o botão superior 5 é pressionado o pino 21 P. W. M. para motor 6 Pino 22 alto quando o joystick 4 é esquerdo e o botão superior 5 é pressionado Pino 27 alto quando o joystick 4 é direito e o botão superior 5 é pressionado o pino 28 P. W. M. para motor 7 Pino 29 alto quando o joystick 3 está para cima e o botão inferior 5 é pressionado Pino 30 alto quando o joystick 3 está para baixo e o botão inferior 5 é pressionado o pino 8 P. W. M. para motor 8 Pino 9 alto quando o joystick 4 é esquerdo e o botão inferior 5 é pressionado Pino 10 alto quando o joystick 4 é direito e o botão inferior 5 é pressionado Pino 14 Permanece alto quando o botão superior 6 é pressionado; vai para baixo quando o botão inferior 6 é pressionado. Pino 5 Diz ao outro microcontrolador que pode enviar o próximo comando. Pino 4 Vai para alto se um erro de comando foi detectado. Todos os outros pinos não estão sendo usados. Não há necessidade de colocar pull-ups nesses pinos.