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

segunda-feira, 7 de outubro de 2019

Web Server no JMRI

Autor: Renato Petersen



Uma das caraterísticas do JMRI é a possibilidade de acesso ao sistema de várias formas, as mais conhecidas são a Interface do Próprio JMRI e o app para Celular (WiTrhottle e Engine Driver). 


Telas do JMRI com um conjunto de janelas sobrepostas que dão acesso a diversas funcionalidades
              


Telas do app Engine Drive para celulares Android (Controle de Locomotiva, Controle dos Desvios e Controle de Rotas)


              
Existe um terceira forma de utilização do JMRI que é o Web Server (Servidor Web), nesta alternativa o acesso é bastante semelhante a acessar uma página da internet. 

O sistema JMRI dispõem de um servidor de páginas web que permite o acesso aos comandos de controle da maquete através de um browser como o Internet Explorer ou o Chrome de qualquer dispositivo conectado a rede existente na maquete, seja ela cabeada ou wi-fi. 


Exemplo de tela de acesso ao servidor web.


A utilização do servidor web no JMRI apresenta uma vantagem em relação aos aplicativos de celular. Com a utilização do servidor web existe uma independência muito maior para o usuário que não precisa fazer a instalação de um App no celular.

Telas do WebServer abertas em celular.



Configurando o Web Server do JMRI
Para habilitar o Web Server deve-se acessar o menu “Edit” => “Preferences...” e selecionar a opção “Web Server” no quadro da esquerda (1) e na tela da direita que será apresentada clicar na aba “Web Server” (2).


As opções dessa tela são:

Port Number: É o número da porta do Web Servidor que precisará ser digitado no navegador para acessar as páginas do JMRI, o padrão é 12080 e não há necessidade em alterar esse número.
Disable power control in menus: Oculta das páginas do Servidor Web o botão Power, é recomendado marcar essa opção para evitar que algum usuário inadvertidamente desligue o DCC da maquete. 
Start automatically with application: Está opção deverá ser marcada para que quando for aberto o JMRI o Web Server seja iniciado automaticamente. 
Após configurar o WebServer clique em “Save” para salvar as configurações. O JMRI será reiniciado e com ele o Web Server estará disponível para acesso.



Acessando o Web Server
Para acessar as páginas do Web Server do JMRI, abra um navegador (Internet Explorer, Chrome, etc) e na barra de endereços digite o IP do servidor JMRI seguido por “:” (Dois Pontos) e a porta de acesso configurada na tela de preferencias (Padrão 12080):
Exemplo: “192.168.116.1:12080”


Se não souber o número do IP do servidor, você pode consultar a tela do Withrottle, embora o endereço apresentado mostre a porta 12090 ao invés de 12080 o número IP de acesso é o mesmo do Web Server:



A tela seguinte mostra a página inicial referente ao servidor web da maquete:

Na parte esquerda temos acesso ao webThrottle (1) que permite controlar as locomotivas e outras funcionalidades, na parte central temos os Painéis e Layouts (2) configurados no JMRI e na parte superior temos os Menus (3) que permite o acesso a outros recursos do JMRI.



1. webThrottle
Ao clicarmos no botão “Open Now” é aberta a tela com as locomotivas cadastradas em Roster. 


Na barra superior temos um botão que permite selecionar se queremos abrir o Throttle em modo Individual (Single) (1)  ou Multiplo (Multi) (2). Para alterar basta dar um clique no botão:
Botão Throttle Single ou Multi

         
1.1. Controlando Uma Locomotiva (Modo Single)
Com a opção “Single” na barra de título, ao clicarmos em uma locomotiva será aberta a tela do Throttle que nos dá acesso ao controle de aceleração (1), direção de rodagem (2), funções do decoder (3). A tela apresenta a imagem da locomotiva configurada no Roster (4) e a identificação da locomotiva (5) e a o botão para parada de emergência da locomotiva (6).


Uma outra funcionalidade não tão explícita do controle de velocidade é obtida quando se clica sobre a identificação da locomotiva que permite trocar a locomotiva selecionada no controle de velocidade.



Ao clicar sobre a identificação da locomotiva é exibido um menu com a relação das locomotivas do Roster sendo que a locomotiva atual aparece em negrito. Para controlar outra locomotiva basta clicar no seu nome na lista. 





1.2. Controlando Diversas Locomotivas (Modo Multi)
Com a opção “Multi” na barra de título, ao escolhermos uma locomotiva a tela será dividida incluindo o Throttle selecionado na metade da tela, sendo que na outra metade fica a seleção de outras locomotivas. 

Conforme adicionamos novos Throttles podemos ajustar o tamanho das letras para melhor visualização.

Botão de Ajuste do Tamanho da Fonte


Com o controle de tamanho de letras e a utilização de múltiplos controles de locomotivas podemos controlar uma única janela diversas locomotivas:

Controle Simultâneo de 5 locomotivas

Para fechar um Throttles é necessário clicar e manter por alguns instantes o mouse sobre o símbolo X no canto superior esquerdo da janela do controlador:



1.3. Outros Controles webThrottle
Além do acesso aos Throttles, a tela com as locomotivas do Roster apresentada um menu que permite abrir outras telas de controles: 


A opção R. Groups/Panels (1) permite acesso aos Painéis, a opção Turnouts (2) abre uma nova janela para controle dos Desvios e a opção Routes(3) abre uma nova janela de controle das Rotas.


1.3.1. Painéis e Layouts
Na janela de controle de Paineis são apresentados todos os que foram definidos no layout da maquete com seus respectivos estados. Estas janelas onde aparecem o conjunto de painéis permite controlar a posição de cada um deles.


1.3.2. Controle Turnouts 
Na janela de controle de Turnouts (desvios) são apresentados todos os desvios da maquete e seus estados. Uma letra C verde indica um desvio fechado (reto), enquanto que uma letra T vermelha indica um desvio aberto (curvo). As setas (1) e (2) apontam, respectivamente, desvios fechados e abertos. Para mudar o estado do desvio é necessário um click bem sobre a letra que representa o estado do desvio.


1.3.3. Controle Rotas
Na janela de controle de rotas é bem mais simples que as demais e apresenta apenas os nomes das rotas que podem ser clicados e a ação respectiva é executada, mudando todos os desvios que fazem parte da rota. Não existe nesta tela uma indicação de rotas ativadas ou algo semelhante.




2. Menu de Opções:
A tela inicial do WebServer apresenta as seguintes opções de Menu: 1. Paineis, 2. Roster (Locomotivas Cadastradas no JMRI), 3. Operations (Manifestos de Cargas) e 4. Tables (Tabelas do JMRI)


As opções Paineis e Roster tem funcionamento semelhante aos controles de webThrottle descritos acima.

Tela com os Painéis abertos no webServer


Tela com apenas um Painel Aberto no webServer



Tela Roster de acesso as locotivas cadastradas no JMRI


Tela webThrottle aberta ao clicar em uma das locotivas do Roster


segunda-feira, 9 de setembro de 2019

Rotas JMRI

Autor: Renato Petersen


As rotas nos levam a pensar em um caminho entre dois pontos. No JMRI não deixa de ter o mesmo conceito, porém tem uma abrangência maior. As rotas no JMR são mais abrangentes porque determinam e avaliam os componentes da linha existente.


Digamos que para sair do ponto A e ir para o ponto B seja necessário passar por 4 desvios, a função rota do JMRI permite estabelecer o posicionamento de todos os desvios da maneira adequada para estabelecer o circuito entre os dois pontos.

Rota entre os pontos A e B passa pelos desvios 1, 2, 3 e 4


Fazendo o que foi descrito, estamos usando o método mais elementar do trabalho com rotas. Basicamente se cria uma rota numa tabela de rotas do JMRI, dando-se um nome a ela e dizendo qual deve ser a posição de todos os desvios envolvidos. Para usar a rota basta abrir a tabela de rotas e selecionar a rota criada. Um após o outro todos os desvios serão posicionados da forma programada.


Exemplos de Rotas
A figura seguinte mostra uma rota criada e os desvios envolvidos na rota com suas posições definidas.


Nesta figura o quadro vermelho mostra o nome da rota e verde o os desvios envolvidos. O desvio AMV2001 irá ficar reto, os desvios AMV2003 e AMV2004 ficarão curvos e os desvios AMV2005 e AMV2006 ficarão retos. O desvio AMV2002 não participa desta rota. A lista de posicionamento de desvios continua mas não eles não aparecem na janela.
As rotas no JMRI permitem operações mais sofisticadas através do acionamento da rota não por um botão colocado em no CCO da maquete ou através dos menus do JMRI. Uma rota pode ser estabelecida ao acionar um desvio ou ao acionar uma sinalização de linha ou até mesmo ao identificar a ocupação de uma linha.

Um outro uso para rotas é estabelecer a posição padrão dos desvios para operação inicial da maquete. Este tipo de configuração de rota elimina a necessidade de posicionar cada desvio quando se faz o uso inicial do JMRI. É desta forma que se evita que os desvios fiquem com “?” ao inicializar a maquete.

A figura seguinte mostra todos os desvios do painel com a posição desconhecida:

A figura seguinte mostra todos os desvios do painel com a posição reta:


Outros usos interessantes podem ser configurados para gerenciamento de pátios de manobra, identificando uma determinada operação e selecionando a posição dos desvios envolvidos.
Na próxima figura está o posicionamento dos desvios para colocar um trem que está na linha 1 do pátio em rota para a linha principal da maquete. Note que o desvio 6 está reto, mas será necessário colocar ele na posição curvo para fechar o circuito da linha principal depois que toda a composição passar por ele. O ponto A bem a direita do desenho esquemático se liga ao ponto A da esquerda formando uma linha principal circular.

  
Os demais desvios ficaram com a posição não identificada porque não foram acionados na rota que foi criada.


Configuração de Rotas no JMRI
Para estabelecer uma rota é necessário ter configurado a tabela de desvios e opcionalmente a tabela de sensores. (A tabela de sensores, não tem apenas sensores como pode-se imaginar. A tabela de sensores também tem a sinalização das linhas). Para que um desvio seja utilizado em uma rota ele necessariamente tem que existir na tabela de desvios, se algum novo desvio for necessário em uma rota é possível fazer adições após a criação da rota.
A figura seguinte mostra a tabela de rotas que possui 4 colunas e 3 botões:


Nesta figura o quadro verde permite a inclusão de novas rotas. O quadro azul é o conjunto de rotas já configuradas. O quadro vermelho identifica os nomes das colunas.

A configuração de uma rota ocorre ao clicar sobre o botão Add e a tela seguinte permite estabelecer os valores necessários:


No quadro vermelho se define o nome da rota. No quadro verde se define que desvios vão participar da rota e quais as posições necessárias. No quadro azul podem ser selecionados 3 sensores que ao serem acionados na maquete irão fazer com que a rota seja executada. No quadro laranja é possível determinar um desvio e sua posição para que quando acionado também execute a rota configurada.

Além das opções destacadas ainda é possível associar um som a ser emitido ao executar a rota e um script também para ser executado.


Agradecimento

Este artigo foi gentilmente enviado pelo amigo Renato Petersen que é um grande incentivador e colaborador deste blog. 

No facebook do Petersen você encontra diversos vídeos com diversas dicas e experimentos que ele realiza e compartilha com os colegas ferromodelistas.