terça-feira, 4 de fevereiro de 2020

Diário de Bordo da Implementação de Sinaleiro e Sensor de Ocupação

Autor: Renato Petersen

O objetivo deste diário de bordo é mostrar a configuração necessária para instalação básica de controle de ocupação de vias e sua respectiva sinalização. Meu objetivo final é fazer a instalação tanto na minha maquete de casa (Maquete do Petersen) quanto em uma maquete modular que usamos para divulgar o hobby.


Nossa implementação de testes consiste em apenas um pequeno circuito com um desvio e alguns blocos.


Para iniciar o trabalho, o primeiro passo é conectar o hardware necessário, que consiste em ligar nas interfaces USB o cabo do DCC++ e o cabo USB do barramento RS485.




Cada uma destas interfaces tem sua função. O DCC++ será utilizado para alimentar os blocos da linha de testes.

A interface RS485 gera um barramento onde é possível conectar diversos dispositivos de controle de blocos de ocupação e também vários sinais, servos para movimentação de AMVs e iluminação em geral da maquete. De fato, com a utilização de relés é possível controlar qualquer dispositivo.


Todos estes controles são realizados nas janelas da interface gráfica do JMRI.

Configurar no JMRI os endereços dos hardwares nos respectivos endereços de USB. O processo é escolher DCC++ e C/MRI na primeira combo (System manufacturer) após clicar no sinal +, em seguida é necessário informar na combo seguinte (System Connection) a opção por Serial Port, e na opção seguinte (Settings) a porta serial correta.

 

Uma dica a respeito deste processo é fazer a inserção do DCC++ antes e o C/MRI em seguida, inclusive conectando na USB primeiro um deles e fazendo toda a respectiva configuração, depois fazer o mesmo para a com a outra USB. Assim se evita escolher as portas invertidas ou erradas.

Após fazer a inclusão das configurações do C/MRI é necessário criar um nó de comunicação entre o JMRI e o arduino que controla os hardwares necessários para servos, luzes e sensores. O nó é criado e a ele se atribui um endereço, este endereço irá determinar toda a codificação associada aos servos, luzes e sensores.

Demos ao nó o endereço 0. Esta opção determina que todos os próximos elementos serão definidos na faixa de 01 a 48. Caso o endereço fosse 1, os próximos elementos seriam definidos na faixa 1001 a 1048, e assim por diante a medida em que o número do nó vai crescendo.

Todas as saídas do C/MRI, ou seja tudo que será definido no JMRI e irá gerar uma ação sobre algum elemento da maquete é um turnout. Sobre o nó C/MRI criar os controles de saídas, que o JMRI chama genericamente de turnouts. Turnout além de ser usado como desvio na ferrovia, também pode ser traduzido para saída, o que faz todo o sentido.


Embora o layout de teste tenha apenas um desvio nossa interface permite a criação de controles para 16 desvios. Para experiência iremos criar 4 desvios.

Como pode ser visto os desvios criados assumiram as iniciais CT, onde C foi uma letra atribuída ao C/MRI na tela inicial de criação da interface, no mesmo local onde foi dito qual era a porta USB usada. O T é a identificação interna de Turnout.

Os nomes no sistema são definidos são então definidos pela junção da letra escolhida ao criar a conexão do C/MRI + a letra T de turnout e um número sequencial definido pelo número do nó + um sequencial que são os endereços na interface.

Temos assim a nossa disposição as saídas CT01, CT02, CT03 e CT04. Escolhi nomes mais amigáveis para estas saídas e denominei elas de AMV0001, AMV0002, AMV0003 e AMV0004.
 

Desta forma, estão criados os acionamentos dos desvios que irão obedecer individualmente o ângulo inicial e o ângulo final que foram definidos e armazenados no arduíno. A coluna State (atualmente como Unknow), pode ser trocado para close ou thrown já fazendo a alteração do desvio no layout.

Criados 4 AMVs o passo seguinte é criar as luzes.

O objetivo da configuração das luzes é criar três conjuntos de luzes que serão utilizadas para anões de linha com duas cores, sinaleiros de três cores e uma indicação de posição de desvio.

Foram criadas duas saídas para quatro pares de luzes do endereço 17 ao 24 que serão usadas nos anões de linha e mais duas saídas extras para sinalização do desvio. Estas saídas funcionam aos pares uma para ativar o led vermelho e outra para ativar o led verde, no caso dos anões. Para os desvios é necessário criar também duas saídas que teriam cores definidas, mas foi implementada no hardware apenas um LED, assim a sinalização é Led aceso ou LED apagado.

Também foram criadas três saídas extras para os três leds do sinaleiro triplo, uma para vermelho, outra para amarelo e outra para verde.

Os endereços vão do CT0017 ao CT0024  para os anões de linha que serão 4 e CT25 e CT26 para a luz indicadora da posição do desvio. Os endereços CT0033, CT0034 e CT0035, são os endereços para o sinaleiro de três cores.

Escolhi nomes mais significativos como LSG, indicando Light de Signal e a numeração padrão das portas da interface.


Estes endereços tem correspondência com as plaquinhas MCP2317 e na fotografia é possível ver um flat com várias cores numa das plaquinhas que são ligadas a cada um dos LEDs, na perna positiva deles e um conjunto de três fios (Branco, cinza e roxo) na outra plaquinha que estão ligados ao positivo dos LEDs do sinaleiro triplo.

A placa central possui 16 portas de saída numeradas de 17 a 32 sendo que metade delas estão ocupadas com os 9 saídas para LEDs, são os endereços de 17 até 25. Embora tenha sido configurado um endereço CT26  ele não foi implementado fisicamente.

Na placa da esquerda existem mais três conectores ocupados, dos 16 disponíveis. Estes três são os endereços CT33, CT34 e CT35 que foram conectados aos leds do sinaleiro triplo.

Qualquer um destes LEDs pode ser ligado ou desligado diretamente na tabela onde foram criados. Funcionam diretamente independente de outras lógicas que ainda serão criadas. Assim, seria possível manualmente acender e apagar LEDs de sinalização. Esta operação além de bastante está sujeita a erros do operador.

O passo seguinte é criar unidades de sinalização que vão definir cada um dos sinais propriamente ditos, estes sinais são a conjunção de duas saídas de LEDs, com cores diferentes. É necessário dizer para o JMRI que os endereços CT17 e CT18 formam um par de sinalização, cada um deles com uma cor diferente que mais adiante serão controlados de forma excludente, ou seja se está vermelho não está verde e vice-versa.



As associações de endereços podem ser duplas ou triplas e isso permite criar sinais de duas ou de três cores. A figura anterior mostra a criação de um sinal de duas cores.

Quando os fios dos LEDs foram soldados a interface MCP2317, foi feito alternando um LED vermelho e um verde em cada um dos pinos da interface desde o pino 17 até o pino 24, ao pino 25 foi soldado um LED azul para o desvio.

A associação das saídas LSG0018 e LSG0017 em um sinal SH0001 determina que as duas saídas formam um par que será gerenciado pelo JMRI pelo nome SH0001.



O nome no sistema é determinado pelo JMRI, o User name poderia ser alterado para qualquer sequência mais amigável. Poderiam ser Anão0001 … Anão0004, AMV0001, por exemplo. Aqui neste caso foi deixado o nome sugerido pelo sistema.

Para sinais com três LEDs a configuração diverge da criação anterior apenas por apresentar mais uma definição de endereço para a cor amarelo.

 Após a criação dos sinais é necessário criar os sensores. Os sensores são implementados para dar ao sistema de sinalização a automação de troca de sinais, assim como os AMVs também são usados nas trocas de sinais.

Nesta implementação os sensores estão associados às portas 1, 2, 3 e 4 da placa MCP2317 de entrada. Os fios preto, branco e dois vermelhos estão ligados a estas portas na placa identificada como E1. É uma placa de entrada com capacidade de ler informações de 16 dispositivos. Neste caso, os dispositivos de entrada se restringem a bobinas que avaliam se existe consumo de corrente nos trilhos que elas monitoram.

 É possível ver que estes fios vão em direção ao hardware criado para avaliar as bobinas.



Olhando no detalhe é possível ver que que os mesmos fios preto, branco e dois vermelhos estão ligados a placa de gerenciamento das bobinas.

Um dos polos que alimenta cada bloco de trilho passa por dentro de cada uma destas bobinas. Estes blocos são identificados no layout como Bloco 1, Bloco 2, Bloco 3 e Bloco 4.


Os blocos são duplamente isolados 


Na imagem seguinte é possível ver melhor a configuração de blocos do layout de testes. O layout é composto por quatro trilhos e um desvio sem talas de junção para garantir o isolamento total de cada bloco.


 Para configuração dos blocos, basta criar cada um dos 4 blocos e associar o mesmo a um endereço de entrada da plaquinha MCP2317 de entrada. Isso é feito na tela de criação de Sensores. 

Ao criar os sensores já podemos dar a eles o nomes que identificam cada um dos blocos. Identificamos os blocos com nomes mais amigáveis. 


Pelas características de construção é recomendável para esta interface fazer a inversão dos sensores e isso é feito na sexta coluna da tela de criação de sensores. Na tela anterior isso não aparece, mas foi feita esta alteração na configuração.

O passo seguinte é associar a lógica de funcionamento dos sinais em relação os blocos de ocupação.

A lógica é associada para que se tenha a automação do sistema de sinalização. Basicamente blocos ocupados devem gerar uma sinalização vermelha e blocos vazios devem gerar uma sinalização verde. A garantia de que apenas uma das cores seja acionada é dada pela criação de sinais como unidades. A lógica de sinalização é criada sobre esta unicidade dos sinais, porém nada impede que o usuário manipule os LEDs individualmente, o que não é recomendado como uma boa prática após se criar uma lógica de sinalização.

Os sinais de 1 a 4 irão utilizar o mesmo processo de configuração lógica que consiste apenas em associar um bloco a um sinal. 




A sinalização de blocos que mostra um sinal vermelho ou verde para os anões de sinalização é muito básica e trata-se apenas de escolher o sinal e o bloco marcando a opção “On Single Block”. Isso foi repetido para SH0002, SH0003 e SH0004.

Para a configuração do SH0005 que está associado ao AMV0001 a configuração difere um pouco das anteriores 


E se indica o AMV001 para determinar do acionamento do sinal e a opção escolhida é “Main Leg of Turnout”

A configuração do sinal triplo traz uma maior sofisticação ao sistema de sinalização pois permite estabelecer uma luz de alerta na sinalização indicando que o bloco seguinte ao próximo bloco está ocupado e isso determina que a locomotiva deve entrar no bloco seguinte com a velocidade reduzida.

Aqui cabe uma informação de operação dos trens. Um sinal de sinalização vermelha indica que a locomotiva deve parar totalmente antes de ultrapassar o sinal. Um sinal verde indica que a locomotiva pode  seguir em velocidade máxima para o trecho seguinte. Um sinal amarelo indica que a locomotiva deve seguir na velocidade mínima indicada para o trecho. Cada trecho terá uma sinalização de velocidade máxima e de velocidade minima, neste caso de sinalização.

Frente ao exposto anteriormente para o sinal 6 a associação é diferente pois a luz amarela é dependente do próximo bloco após o seguinte bloco e tem como objetivo dizer que este outro bloco está ocupado. Se usa isso para sinalizar blocos ocupados na proximidade.



Para completar o serviço é necessária a criação de um painel de controle e gerenciamento


Sobre o autor:

Renato Petersen é um figura conhecida no mundo do ferreomodelismo que faz questão em compartilhar seu conhecimento e descobertas.
No facebook e no youtube do Petersen você encontra diversos vídeos com dicas e experimentos que ele compartilha com os colegas ferromodelistas. 



quinta-feira, 23 de janeiro de 2020

Booster DCC 3A

Este Booster DCC tem capacidade de corrente de 3A e pode ser utilizando com qualquer central DCC.



O coração do projeto é o LMD18200, um CI driver de motor com 3 pinos de controle: Direção (Pin 3), PWM (Pin 5)  e Break (Pin 4), ele conta também com uma saída com indicação da Corrente Consumida (Pin 8).

Foram utilizados apenas os pinos Direção e PWM para o controle do LMD18200, sendo que o pino Direção responsável por replicar os pulsos DCC recebidos e o PWM por ligar/desligar a saída do Booster.


Circuito do Booster:



Componentes:

Arduino Pro-Mini*
R1 - Resistor 3K3 1/8W;
R2 - Resistor 10K 1/8W;
R3 - Resistor 2K2 1/8W;
R4, R5, R6 e R7 - Resistor 470R 1/8W;
C1 - Capacitor Eletrolítico 47uF x 36V;
C2 - Capacitor Eletrolítico 10uF x 16V;
C3 e C4 - Capacitor Cerâmica 10nF;
IC1 - L7805 - Regulador de Tensao 5V com Dissipador de Calor;
IC2 - LMD18200 - Circuito Integrado Drive de Motor;
OP1 - 6N137 - Acomplador Optico
Led1 e Led 3 - Led Verde 3mm
Led 2 - Led Amarelo 3mm
Led 4 - Led Vermelho 3mm
S1 - Interruptor de Pressão NA;
Fonte 15V x 4A;

* Pode ser utilizado qualquer Arduino (Nano, Pro Mini, Uno).

O código do Booster DCC 3A pode ser baixado no seguinte link: Booster DCC 3A

Painel do Booster:

Led 1: ON - Indica que o Booster está ligado;
Led 2: DCC- Indica que o Booster está recebendo o sinal DCC;
Led 3: Saida- Indica que a saída do Booster está ativa;
Led 4: Sobrecorrente-Indica que ocorreu uma sobrecorrente na saída do Booster (>3A);
S1: Chave Reset para reiniciar o Booster no caso de Sobrecorrente;



Nas fotos o Booster está montado em uma placa própria para ele, mas ele pode ser facilmente montado em uma placa ilhada genéria de 10x5. 


Funcionamento:
1. Quando é ligada a fonte 15V ao Booster o L7805 reduz a tensão para 5V compatível com o Arduino.
2. O Arduino ao inicializar, liga o Led1 (Pino 3) indicando que está ativo e desliga o LMD18200 (Pino 13 Arduino - Pino 5 LMD18200). 
Em seguida o Arduino passa a monitorar o pino A0 (Sensor DCC);
3. O sinal DCC é recebido pelo OP1 - 6N137 que isola eletricamente o Booster da fonte do sinal. Os pulsos DCC são enviados pelo 6N137 (pino 6) para o LMD182000 (Pino 3 Direção) e para o Arduino (Pino A0 SensorDCC);
4. Quando o Arduino valida que a frequência dos pulsos do pino A0 é compatível com o DCC, aciona a saída do LMD18200 (Pino 13 Arduino - Pino 5 LMD18200), liga o Led2 (Pino 4) e o Led3 (Pino 5);
5. Com a saída do Booster ativa, o Arduino passa a monitorar (Pino A1) a corrente de saída do LMD18200 (pino 8). Caso ela exceda 3A (Limite do LMD18200) o Arduino desliga a saída do LMD18200 (Pino 13 Arduino - Pino 5 LMD18200), desliga o Led3 (Pino 5) e liga o Led4 (Pino 6).
Para reiniciar o Booster na situação de Sobrecorrente basta pressionar o botão S1 (Reset Arduino);
6. Caso o sinal DCC seja desligado, o Arduino irá desligar a saída do LMD18200 (Pino 13 Arduino - Pino 5 LMD18200), desligar o Led2 (Pino 4) e o Led3 (Pino 5).



Cuidados para instalação:


1. ISOLAMENTO DO SEGMENTO: Os dois trilhos do segmento onde será instalado o Booster devem ser totalmente isolado dos trilhos do restante da maquete.

2. FASE DCC: Com o Booster instalado e conectado aos trilhos do segmento verifique com um multímetro se a Fase do DCC está igual ao segmento de entrada e ao segmento de saída.  Caso a Fase esteja invertida inverta os fio da Saída do Booster para corrigir a Fase.

domingo, 20 de outubro de 2019

Passagem em Nível com Cancela

Uma coisa que não pode faltar em uma maquete ferroviária é uma Passagem em Nível com a devida sinalização! 



Demonstração da Sinalização em Funcionamento


“Chama-se passagem de nível (português europeu) ou passagem em nível (português brasileiro) a um cruzamento ao mesmo nível entre uma ferrovia e um caminho ou estrada. Ao modo ferroviário é dada quase sempre prioridade de passagem nestes cruzamentos, dada a sua muito maior inércia, por motivos de economia e segurança.” Fonte: wikipedia

Passagem em Nível com Cancela

Dimensões Cruz Santo Andre


Sinalização Passagem em Nível - DNIT



Este projeto traz uma sinalização de cruzamento completa, com as luzes, som do sino, movimento da cancela e parada para veículos do tipo CarSystem.


São utilizados 4 feixes de infravermelho para detectar a posição da composição verificando um possível retorno da composição antes cruzar todos sensores.
Servo 9G que aciona a Cancela

O acionamento das Cancelas é feito com Servo Motores 9G que fazem o movimento lento para baixar/levantar e o ajuste da posição pode ser ajustado por Trimpot's sem necessidade de alterar o sketch do Arduino.

Servo 9G com Imã

Para a parada de veículos do tipo CarSystem são utilizados Servo Motores 9G com um imã na ponta do braço que aciona o Reed Switch do veículo.


Diagrama:


Componentes:

Modulo Controle:

1x Arduino Pro-Mini (Ver Texto);
4x Emissores Infra Vermelho 3mm (TIL32);
4x Receptores Infra Vermelho 3mm (TIL78);
4x Resistores 100R 1/8W;
4x Resistores 10K 1/8W;
2x Trimpot 10K;
- Barra de Pinos Macho 2.54mm (Ver Texto);
- Barra Fêmea Macho 2.54mm (Ver Texto);



Sinal Cruz de Santo Andre (Para cada Sinal):

2x Led Vermelho SMD ou 3mm;
1x Resistor 470R 1/8W;


Modulo Som:

1x Resistor 1K;
1x Modulo MP3 DfPlayer;
1x Cartão MicroSD;
1x Autofalante 8Ohms;


Cancela (Para Cada Cancela):

1x Servo Motor 9G;


Parada CarSystem (Para Cada Cancela):

1x Servo Motor 9G;
1x Ima Neodímio


Montagem:
Utilizei um Arduino Pro-Mini, mas pode ser utilizado outro como o Arduino Nano ou Arduino Uno sem problema. A montagem foi feita em uma placa ilhada 10x5.



Instalei barras de pinos 2.54mm para conexão dos servos, leds IR, sensores e postes de sinalização. Para encaixe do modulo de som MP3 DfPlayer utilizei terminais fêmea 2.54mm. 

Você pode montar este projeto conforme a sua necessidade, incluído ou não o módulo MP3 DfPlayer ou alguns dos Servos Motores, o código do Arduino vai rodar sem problemas.


Sketch Arduino:
Você pode baixar o Sketch nesse link e transferir para o Arduino utilizando a IDE: https://github.com/cledersontp/SinalPassagemNivel

Você ira precisar também da biblioteca  DFPlayer Mini Fast que pode ser baixada no seguinte link:


Funcionamento:
O sketch do Arduino monitora se os feixes IR foram interrompidos acionando o som, as luzes e os Servo Motores. Depois de identificar que a composição já cruzou os sensores o sketch reposiciona os Servo Motores, desliga as luzes e o som.

1. Quando o primeiro feixe é interrompido, o sketch entende que a composição está na posição 1. Serão acionadas as luzes, o som, o Servo Motor da Cancela e do Car System. 
Quando este feixe não estiver mais interrompido é disparado um timer que aguarda a chegada da composição ao segundo sensor. Caso o segundo sensor não seja acionado ao final desse tempo o sketch entende que a composição retornou e libera a cancela.

2. Quando o segundo feixe é interrompido o sketch entende que a composição chegou na posição 2 mantendo a cancela fechada.

3. Quando o terceiro feixe é interrompido o sketch entende que a composição chegou na posição 3 mantendo a cancela fechada.

4. Quando o quarto feixe é interrompido, o sketch entende que a composição está na posição 4. Quando este feixe não estiver mais interrompido (final da composição) é disparado um timer que ao final do tempo libera a cancela: Primeiro abre a cancela e apenas quando esta estiver aberta são desligados o som e as luzes e liberado o Servo Motor do Car System.


Instalação dos Sensores:
É preciso instalar os sensores respeitando a sequencia para o devido funcionamento, recomento montar os cabinhos dos sensores com cores diferentes para facilitar essa identificação. Utilizei a seguinte sequência na montagem:


Instalação dos Sensores na mesma sequencia das portas de entrada
Laranja, Verde, Cinza e Azul.


Instalação das Cancelas:
A instalação das cancelas deve ser feita depois de testar o funcionamento dos sensores e das luzes da Cruz de Santo Andre, assim você não haver dúvida se o Servo Motor está na posição Aberta ou Fechada.

Com o servo na posição Aberta (Luzes do Sinal de Passagem Desligadas) coloque a haste no Servo Motor. Observe que nesta posição o servo estará “puxando” a cancela para baixo.


Depois de conectar a cancela no servo na posição aberta, ligue o Modulo e teste o movimento da cancela. Você pode ajustar a posição das cancelas fechadas pelos trimpot's:


ATENÇÃO: O valor dos trimpot's é lido quando o Arduino é ligado, portando você precisa dar um RESET ou Ligar/Desligar o modulo para que a posição das cancelas seja alterada.

Parada Car System:
Antes de conectar o braço aos servos da Ima do CarSystem tenha certeza que estejam na posição correta, conecte o servo motor sem a haste ao Modulo e ligue o circuito. Faça o teste acionando a passagem para confirmar que o servo se move e depois volta para a posição inicial.

Com o servo na posição Fechado (Luzes do Sinal de Passagem Ligados) coloque a haste no servo e ajuste o melhor lugar para sua instalação. Lembre-se do imã estar próximo o suficiente da pista para acionar o Reed Switch do veículo.

Conclusão:
Espero ver muitas passagem de nível animadas nas maquetes por ai! Se tiverem dúvidas fiquem a vontade para mandar!!!


LOJA EXPRESSO DUINO
SINALIZAÇÃO PASSAGEM EM NÍVEL R$ 250,00 + Envio
Conjunto completo para sinalização de passagem de nível com Luzes, Som e Movimento das Cancela: Placa Principal com Módulo de Som, Par de Sinais Cruz de Santo Andre com Leds, Par de Cancelas e Servo Motores com Suportes para Instalação, Mini Auto-falante, Dois conjunto de Sensores Infra-Vermelhos (Emissor+Receptor) com 30cm de cabo, Dois conjunto de Sensores Infra-Vermelhos (Emissor+Receptor) com 20cm de cabo, Manual de Instalação.
- Alimentação 5V (Não Incluída);
- Conexão parada CarSystem (Servo+Ima Não Incluido);
Para adquirir entre em contato: clederson_p@yahoo.com.br