Este projeto pode ser utilizado pelos colegas Ferromodelistas para controlar AMVs de uma maquete com chaves ou pelo JMRI utilizando o Arduino UNO/Arduino Nano/Arduino Pro.
Você vai precisar para esse projeto: Arduino, Servos e as Chaves para acionamento.
O código pode ser baixado no link abaixo e transferido para o Arduino utilizando o IDE:
Os pinos para conexão do dos Servos e Controles são:
Pino Servo | Pino Controle | |
AMV 1 | 2 | 6 |
AMV 2 | 3 | 7 |
AMV 3 | 4 | 8 |
AMV 4 | 5 | 9 |
AMV 5 | A0 | 10 |
AMV 6 | A1 | 11 |
AMV 7 | A2 | 12 |
AMV 8 | A3 | A5 |
As chaves de controle precisam de apenas dois fios, um ligado ao GND e outro ao seu respectivo pino de controle:
Exemplo Ligação do Servo 1
Para alimentação dos servos é recomendada uma fonte separada e o uso do PowerOnDelay para evitar o “pulo” dos servos quando a fonte for ligada.
Ajustes nas Configurações:
Eventualmente será necessário algum ajuste nas configurações dos servos ou do tempo de movimento. Para fazer esses ajustes seguem algumas orientações:
1. Tempo de Movimento do AMV
Para ajustar o tempo de movimento do AMV altere da variável “TempoPulso”. Quanto maior, maior será o tempo do movimento:
//Milisegundos para avanço por grau
#define TempoPulso 100
2. Posição Inicial e Final do AMV
Para alterar a posição Inicial e Final do AMV você precisa alterar os valores das variáveis valIniServo e/ou valFimServo.
Os valores entre chaves nas linhas abaixo representam os valores para cada servo na sequencia (Servo 1 a 8):
Os valores entre chaves nas linhas abaixo representam os valores para cada servo na sequencia (Servo 1 a 8):
//Angulo Minimo dos Servos
byte valIniServo[8] {5, 5, 5, 5, 5, 5, 5, 5};
//Angulo Maximo dos Servos
byte valFimServo[8] {60, 60, 60, 60, 60, 60, 60, 60};
Exemplo: Para alterar os valores do Servo 5, configurado o valor Inicial para 10 e o valor final para 50:
//Angulo Minimo dos Servos
byte valIniServo[8] {5, 5, 5, 5, 10, 5, 5, 5};
//Angulo Maximo dos Servos
byte valFimServo[8] {60, 60, 60, 60, 50, 60, 60, 60};
Fixação do Servos sobre a Maquete:
Para fixação dos servos na maquete você pode confeccionar um suporte utilizando estireno de 3mm e de 1mm cortado nas medidas abaixo:
4. Faça os furos de fixação da base e de passagem do arame do AMV. Os furos de fixação maiores facilitam ajustes do AMV sobre a maquete e o furo de passagem do arame precisa ter um diametro bem superior ao arame para permitir a sua curvatura (Veja o item 8):
8. Faça um furo o menor possível na tira de estireno de 1mm o suficiente para passar o arame que ira acionar os AMV, isso evitara folgas e o funcionamento correto do mecanismo:
Tira "guia" do Arame
A tira de 1 mm ira definir o ponto de inclinação do arame. Se tiver muita folga o mecanismo não irá funcionar corretamente. Já o furo na base precisa permitir a inclinação total do arame.
9. Pronto, agora é só fixar sob a maquete e fazer os eventuais ajustes no ângulo inicial e final do servo;
Veja o vídeo de funcionamento desse controle e o suporte para servos:
Veja o vídeo de funcionamento desse controle e o suporte para servos:
Olá Clederson.
ResponderExcluirBoa tarde.
Antes de mais nada eu gostaria de agradecer muito os projetos publicados aqui no Expresso Arduíno. Segui o passo a passo e montei sem muita dificuldade tanto o controlador DCC++ quanto esse projeto de controle dos AMVs com os servo motores. Muito obrigado. Valeram demais as dicas.
Pergunto apenas no caso desse projeto dos AMVs se você dispõe do passo a passo para permitir que os desvios sejam controlados a partir dos sistemas de controle JMRI. O programa do Arduíno disponibilizado permite o acionamento dos AMVs por meio de chaves conectadas ao Arduíno, mas eu gostaria muito de implementar o controle por meio do PanelPro do JMRI. Agradeceria muito se você pudesse indicar onde posso conseguir o código do Arduino para o controle a partir do JMRI. Grato. Renato Guedes
O código controle servos está bloqueado e não se consegue acessar.
ResponderExcluirFavor liberar