Índice general Foros Digital, Electricidad e Informática Radar de tramo H0

Radar de tramo H0

Moderador: 241-2001


Nota 12 Feb 2017 17:41

Desconectado
Mensajes: 3121
Ubicación: Salamanca
Registrado: 07 Nov 2008 10:51
Buenas tardes, hoy hemos realizado las primeras pruebas de un medidor de tramo para poder comprobar la velocidad a la que circulan las locomotoras y automotores. Ha sido realizado por Norber basado en barreras infrarrojas y arduino, aunque los detalles técnicos ya los dará el más tarde en el hilo.
Cabe mencionar que es uno más de tantos montajes que de semana a semana le proponemos en plan "te reto en el ghetto" y el consigue, no sabemos más si por sapiencia, por cabezonería o por chulería torera, pero no hay nada que se le resista. Y las risas que nos echamos.
Un saludo.

Nota 13 Feb 2017 10:19

Desconectado
Mensajes: 751
Ubicación: Salamanca
Registrado: 12 Ene 2012 14:44
Risas es poco! Pasamos un buen rato, sin duda. Pero vamos al grano.


El circuito es bastante simple:

    Dos detectores por reflexión de infrarrojos activan su salida lógica cuando pasa algo por delante
    El microcontrolador detecta, mediante dos interrupciones, la activación de dichas salidas con precisión de millonésimas de segundo
    Calcula el resultado de dividir la distancia fija entre el tiempo transcurrido entre la señal de entrada y la señal de salida, y lo multiplica por el factor de escala H0 1:87
    Muestra el valor en la pantalla en km/h
    El pequeño zumbador incorporado se suena con cada detección y el encender y apagar la luz azul de la pantalla completan el efecto

Los componentes pueden encontrarse fácilmente en internet:

    1 x Arduino Mini Pro
    1 x Pantalla LCD tipo Nokia 5110
    1 x Mini zumbador 5V
    Resistencias, diodos, condensadores, terminales, etc.

La placa de circuito impreso es esta:
ASALAF_velocidad_PCB.png



El vídeo de arriba se grabó en la maqueta en construcción de la Asociación Salmantina de Amigos del Ferrocarril ASALAF:
ASALAF_velocidad_01.JPG


Aquí puede verse la locomotora a punto de activar uno de los sensores justo antes de entrar en el tramo controlado:
ASALAF_velocidad_02.JPG


Aquí acaba de entrar. Se puede apreciar que el módulo sensor de infrarrojos por reflexión señaliza la activación de su salida mediante un led rojo extra:
ASALAF_velocidad_03.JPG


El sistema informa enseguida de la detección: suena un pitido y la pantalla se enciende, mostrando la leyenda correspondiente.
ASALAF_velocidad_04.JPG


Si suponemos que la locomotora ha entrado por el sensor situado más próximo a la cámara, la medición de velocidad terminará cuando la locomotora active el sensor situado al final de los 795 mm que lo separan del primero:
ASALAF_velocidad_05.JPG


En ese momento suena otro pitido y la pantalla volverá a iluminarse en azul. Indicará la velocidad a la que iría el prototipo real correspondiente a nuestro modelo H0:
ASALAF_velocidad_06.JPG



El montaje es portátil, y va sobre una simple moldura para cables, de las que se adhieren a las paredes. El cableado es de hilo de portero electrónico (manguera de seis hilos). Se trata de un juguetito preparado en medio fin de semana reciclando lo que tenía por aquí y por allí.

Y lo he usado para calibrar el valor de la CV 5 de las locomotoras (velocidad máxima) y conseguir igualar la velocidad máxima de cada prototipo. El de la imagen es de 140 km/h. Las 333 de toda la vida las voy dejando a 146 km/h.

Y todo esto surgió, efectivamente, porque estimé muy por debajo (y me equivoqué) una velocidad de una composición de un compañero que enseguida me corrigió. Así que decidí aprender midiendo. Y el aparatito nos está enseñando a todos la escala de velocidades a la que debemos mover nuestros trenes. Como ya sabemos, no son un escaléxtic!! :lol:
Saludos

[Multimaus + GenLi-S88 + +z21f. + RocRail (MacOsX)]
H0 Renfe, sin catenaria

Nota 13 Feb 2017 10:51

Desconectado
Mensajes: 2202
Ubicación: Asturias
Registrado: 16 Jul 2008 12:51
Norber escribió:
Risas es poco! Pasamos un buen rato, sin duda. Pero vamos al grano.


El circuito es bastante simple:

    Dos detectores por reflexión de infrarrojos activan su salida lógica cuando pasa algo por delante
    El microcontrolador detecta, mediante dos interrupciones, la activación de dichas salidas con precisión de millonésimas de segundo
    Calcula el resultado de dividir la distancia fija entre el tiempo transcurrido entre la señal de entrada y la señal de salida, y lo multiplica por el factor de escala H0 1:87
    Muestra el valor en la pantalla en km/h
    El pequeño zumbador incorporado se suena con cada detección y el encender y apagar la luz azul de la pantalla completan el efecto

Los componentes pueden encontrarse fácilmente en internet:

    1 x Arduino Mini Pro
    1 x Pantalla LCD tipo Nokia 5110
    1 x Mini zumbador 5V




    Resistencias, diodos, condensadores, terminales, etc.

La placa de circuito impreso es esta:
ASALAF_velocidad_PCB.png



El vídeo de arriba se grabó en la maqueta en construcción de la Asociación Salmantina de Amigos del Ferrocarril ASALAF:
ASALAF_velocidad_01.JPG


Aquí puede verse la locomotora a punto de activar uno de los sensores justo antes de entrar en el tramo controlado:
ASALAF_velocidad_02.JPG


Aquí acaba de entrar. Se puede apreciar que el módulo sensor de infrarrojos por reflexión señaliza la activación de su salida mediante un led rojo extra:
ASALAF_velocidad_03.JPG


El sistema informa enseguida de la detección: suena un pitido y la pantalla se enciende, mostrando la leyenda correspondiente.
ASALAF_velocidad_04.JPG


Si suponemos que la locomotora ha entrado por el sensor situado más próximo a la cámara, la medición de velocidad terminará cuando la locomotora active el sensor situado al final de los 795 mm que lo separan del primero:
ASALAF_velocidad_05.JPG


En ese momento suena otro pitido y la pantalla volverá a iluminarse en azul. Indicará la velocidad a la que iría el prototipo real correspondiente a nuestro modelo H0:
ASALAF_velocidad_06.JPG



El montaje es portátil, y va sobre una simple moldura para cables, de las que se adhieren a las paredes. El cableado es de hilo de portero electrónico (manguera de seis hilos). Se trata de un juguetito preparado en medio fin de semana reciclando lo que tenía por aquí y por allí.

Y lo he usado para calibrar el valor de la CV 5 de las locomotoras (velocidad máxima) y conseguir igualar la velocidad máxima de cada prototipo. El de la imagen es de 140 km/h. Las 333 de toda la vida las voy dejando a 146 km/h.

Y todo esto surgió, efectivamente, porque estimé muy por debajo (y me equivoqué) una velocidad de una composición de un compañero que enseguida me corrigió. Así que decidí aprender midiendo. Y el aparatito nos está enseñando a todos la escala de velocidades a la que debemos mover nuestros trenes. Como ya sabemos, no son un escaléxtic!! :lol:



mmmm...me gusta...
y hacer algo para colocar en un vagon y que mida la velocidad instantanea???? te atreves???
De alguna menera y por ejemplo con un trozo de papel blanco, saber el numero de vueltas que da el eje.....diametro del eje....etc..etc... lo dejo en tus manos :roll: :roll: Al estilo de los medidores de velocidad de las bicicletas

Saludos.
Saludos
HO, Renfe epocas IV y V y del resto, lo que me guste (cada vez mas vapor)

Diseños 3D

https://www.facebook.com/3DTren

Nota 13 Feb 2017 11:01

Desconectado
Mensajes: 751
Ubicación: Salamanca
Registrado: 12 Ene 2012 14:44
La velocidad instantánea... Creo que te puede valer algo de lo que ha hecho el sr. Geoff Bunza, y que muestra en su blog:
SMA en Model Railroad Hobbyist

Como ves hay que usar material más moderno, como las pantallitas OLED de 0.96" y de esas no tengo... Pero la excusa principal es que no quiero distraerme de mi proyecto principal, que ya está en pruebas ;) . Apunto la idea pero no 'recojo el guante', al menos de momento. ¿Algún otro valiente se atreve? Ánimo!!
Saludos

[Multimaus + GenLi-S88 + +z21f. + RocRail (MacOsX)]
H0 Renfe, sin catenaria

Nota 14 Feb 2017 10:01

Conectado
Mensajes: 498
Registrado: 25 Dic 2009 20:14

Bon dia ,Norber de nuevo felicitaros por el trabajo realizado y agradecer el compartirlo, un par de preguntas,la distancia entre los IR es de un metro y el programa lo has echo para el prototipo.
Voy a intentar copiaros.
Josep Aleixandre Navarro ,en mi canal de You Tube podeis ver mis videos http://www.youtube.com/channel/UCYtyUd5EOJEHQZxAe-GHvfg

En mi flickr : http://www.flickr.com/photos/ali63ali63/sets/] mis fotos.

Nota 14 Feb 2017 15:07

Desconectado
Mensajes: 751
Ubicación: Salamanca
Registrado: 12 Ene 2012 14:44
La distancia entre sensores es de 795 mm y el programa la tiene en cuenta. Para otra distancia no valdrían los resultados mostrados, y habría que cambiar el código.

Mi intención es preparar el programa, comentarlo y ofrecerlo en la web junto con la lista de materiales y la placa diseñada, pero no he tenido tiempo. Si lo intentas por tu cuenta mejóralo: usa una pantalla con más contraste o créate un tipo de letra más grande que se vea mejor. Suerte!!
Saludos

[Multimaus + GenLi-S88 + +z21f. + RocRail (MacOsX)]
H0 Renfe, sin catenaria

Nota 14 Feb 2017 23:12

Desconectado
Mensajes: 258
Ubicación: Oeste
Registrado: 01 Sep 2008 19:42

Norber,
Muy bueno el invento. No estaría mal preparar un arduino y hacerlo en un vagón como el de fleischmann.
Saludos

Nota 15 Feb 2017 01:15

Desconectado
Mensajes: 3121
Ubicación: Salamanca
Registrado: 07 Nov 2008 10:51
surexpres escribió:
Norber,
Muy bueno el invento. No estaría mal preparar un arduino y hacerlo en un vagón como el de fleischmann.
Saludos

Sinceramente, me resulta mas útil así que en un vagón rodando. Otra cosa es que se pueda leer la velocidad en un lugar fijo, pero ir siguiendo el vagón con la mirada no me parece practico. Esto se puede integrar en la maqueta y contabilizará todo paso sin necesidad de añadir un vagón a la composición .

Un saludo.

Nota 15 Feb 2017 13:59

Desconectado
Mensajes: 751
Ubicación: Salamanca
Registrado: 12 Ene 2012 14:44
Lo más práctico sería colocar un transductor óptico de velocidad en un vagón que controlara un micro controlador con servidor web por wi-fi. Ese micro crearía una wi-fi particular a la que nos conectaríamos con el móvil y nos daría una indicación de la velocidad usando el navegador de internet habitual. Se puede hacer aunque hay un "pero" muy grande: el transductor. No tengo ni idea de cómo hacerlo ni dónde montarlo. Lo demás es mucho más fácil.
Saludos

[Multimaus + GenLi-S88 + +z21f. + RocRail (MacOsX)]
H0 Renfe, sin catenaria

Nota 16 Feb 2017 10:38

Desconectado
Mensajes: 3121
Ubicación: Salamanca
Registrado: 07 Nov 2008 10:51
Norber escribió:
Lo más práctico sería colocar un transductor óptico de velocidad en un vagón que controlara un micro controlador con servidor web por wi-fi. Ese micro crearía una wi-fi particular a la que nos conectaríamos con el móvil y nos daría una indicación de la velocidad usando el navegador de internet habitual. Se puede hacer aunque hay un "pero" muy grande: el transductor. No tengo ni idea de cómo hacerlo ni dónde montarlo. Lo demás es mucho más fácil.

Y un sensor Hall con un microiman en la rueda? Tengo ambas cosas, si lo necesitas no tienes más que pedirlo....
Un saludo.
Adjuntos
1487237800861-288073272.jpg

Nota 16 Feb 2017 22:12

Desconectado
Mensajes: 751
Ubicación: Salamanca
Registrado: 12 Ene 2012 14:44
"Dadme un punto de apoyo y moveré ..."
Dadme un vagón con el sensor y le pondré... ;)
Ah! Y con toma de corriente de los carriles, o le tendría que poner pilas!!
Saludos

[Multimaus + GenLi-S88 + +z21f. + RocRail (MacOsX)]
H0 Renfe, sin catenaria

Nota 16 Feb 2017 23:00

Desconectado
Mensajes: 3121
Ubicación: Salamanca
Registrado: 07 Nov 2008 10:51
Norber escribió:
"Dadme un punto de apoyo y moveré ..."
Dadme un vagón con el sensor y le pondré... ;)
Ah! Y con toma de corriente de los carriles, o le tendría que poner pilas!!

O condensadores... Tratándose de ti acabaría siendo un vagón cisterna.
Saludos.

Nota 03 Dic 2019 19:08

Desconectado
Mensajes: 751
Ubicación: Salamanca
Registrado: 12 Ene 2012 14:44
He editado el código un poco para que se entienda mejor y se pueda adaptar a la escala H y a otras distancias entre sensores. Simplemente hay que cambiar las líneas donde se definen las macros "LONGITUD" y "ESCALA":

/*
 Velocidad: medidor de velocidad de tramo
 - Pantalla Nokia 5110
 - Dos sensores de infrarrojos
 - Un zumbador
 By Norber ©Feb-2017
 */

#include <Clase911_PCD6544.h>

#define LONGITUD 795.0 // Separación entre sensores de infrarojos, en milímetros
#define ESCALA   87    // 87 = escala H0    160 = escala N
#define LUZ_DUR  5000  // Duración de la luz azul en miliSegundos
#define BUZ_DUR  50    // Duración del zumbador en miliSegundos

// Asignacion de pines al Arduino
#define PIN_LGHT A3    // Pantalla Nokia
#define PIN_CLK  4
#define PIN_DIN  5
#define PIN_DC   6
#define PIN_RST  7
#define PIN_IRD1 2     // Sensores infrarrojos
#define PIN_IRD2 3
#define PIN_BZZR A1    // Zumbador

#define INICIALIZ      0
#define ESP_ENTRADA    5
#define ESP_SALIDA     10
#define MOSTRAR_RES    20


volatile boolean chivato0, chivato1, chivato2;
volatile byte estado = INICIALIZ;
volatile unsigned long milisec1 = 0, milisec2 = 0;
boolean chivato3 = false;

String line = "";
char auxChar[13];
NokiaLCD NokiaLCD(PIN_CLK, PIN_DIN, PIN_DC, PIN_RST); // (CLK, MOSI, DC, RST)

void setup() {
  pinMode(PIN_IRD1, INPUT);
  pinMode(PIN_IRD2, INPUT);
  pinMode(PIN_BZZR, OUTPUT);
  digitalWrite(PIN_BZZR, LOW);
  pinMode(PIN_LGHT, OUTPUT);
  digitalWrite(PIN_LGHT, LOW);

  attachInterrupt(digitalPinToInterrupt(PIN_IRD1), infRed1, RISING);       // pin2 = infrared sensor 1      externalInterrupt 0
  attachInterrupt(digitalPinToInterrupt(PIN_IRD2), infRed2, RISING);       // pin3 = infrared sensor 2      externalInterrupt 1

  NokiaLCD.init(0xBA);  // Init pantalla con contraste 0xB1 a 0xBF
  delay(200);
  NokiaLCD.clear();
  delay(200);
}

void loop() {
  switch (estado) {
  case INICIALIZ:
    digitalWrite(PIN_LGHT, LOW);
    lineLCD(0, "   ASALAF   ");
    delay(500);
    digitalWrite(PIN_BZZR, HIGH);
    delay(BUZ_DUR);
    digitalWrite(PIN_BZZR, LOW);
    lineLCD(3, "     OK     ");
    delay(500);
    lineLCD(3, "  ESPERANDO ");
    lineLCD(4, "   ENTRADA  ");
    delay(500);
    digitalWrite(PIN_LGHT, HIGH);
    chivato0 = true;
    chivato1 = true;
    chivato2 = true;
    estado = ESP_ENTRADA;
    break;

  case ESP_ENTRADA:
    if (milisec1) {
      if ((millis() - milisec1) > BUZ_DUR) {
        digitalWrite(PIN_BZZR, LOW);
        lineLCD(3, "  ENTRADA   ");
        lineLCD(4, " DETECTADA  ");
        estado = ESP_SALIDA;
        chivato0 = true;
      }
    }
    break;
  case ESP_SALIDA:
    if (milisec2) {
      if ((millis() - milisec2) > BUZ_DUR) {
        digitalWrite(PIN_BZZR, LOW);
        digitalWrite(PIN_LGHT, LOW);
        estado = MOSTRAR_RES;
        chivato3 = true;
      }
    }
    else if ((millis() - milisec1) > LUZ_DUR) digitalWrite(PIN_LGHT, HIGH);
    break;
  case MOSTRAR_RES:
    if (chivato3) {
      long velocidad = LONGITUD / (milisec2 - milisec1) * 3.6 * ESCALA;
      lineLCD(3, " VELOCIDAD: ");
      lineLCD(4, "  ", velocidad, " KM/H");
      chivato3 = false;
    }
    if ((millis() - milisec2) > LUZ_DUR) {
      digitalWrite(PIN_LGHT, HIGH);
      milisec1 = 0;
      milisec2 = 0;
      chivato0 = true;
      chivato1 = true;
      chivato2 = true;
      estado = ESP_ENTRADA;
    }
    break;
  }
}

void infRed1() {
  if ((chivato0 == true) && (chivato1 == true)) {
    if (estado == ESP_ENTRADA)  milisec1 = millis();
    else milisec2 = millis();
    digitalWrite(PIN_BZZR, HIGH);
    digitalWrite(PIN_LGHT, LOW);
    chivato0 = false;
    chivato1 = false;
    chivato2 = true;
  }
}


void infRed2() {
  if ((chivato0 == true) && (chivato2 == true)) {
    if (estado == ESP_SALIDA)  milisec2 = millis();
    else milisec1 = millis();
    digitalWrite(PIN_BZZR, HIGH);
    digitalWrite(PIN_LGHT, LOW);
    chivato0 = false;
    chivato1 = true;
    chivato2 = false;
  }
}

void lineLCD (byte lin, String str1, float param, String str2) {
  line = "            ";
  line.toCharArray(auxChar, 13);
  NokiaLCD.setCursor(1, lin);
  NokiaLCD.print(auxChar);
  dtostrf(param, 1, 0, auxChar);  // Convertir float en charArray  1: long min texto    1: num decimales
  line = str1 + String(auxChar) + str2;
  line.toCharArray(auxChar, 13);
  NokiaLCD.setCursor(1, lin);
  NokiaLCD.print(auxChar);
}

void lineLCD (byte lin, String str1) {
  str1.toCharArray(auxChar, 13);
  NokiaLCD.setCursor(1, lin);
  NokiaLCD.print(auxChar);
}


También subo el fotolito para los que se hagan el circuito impreso con el método de la plancha o con placa fotosensible:

Norber_Velocidad.pdf
Fotolito
(68.92 KiB) 208 veces
Saludos

[Multimaus + GenLi-S88 + +z21f. + RocRail (MacOsX)]
H0 Renfe, sin catenaria

Nota 03 Dic 2019 23:49

Desconectado
Mensajes: 3327
Ubicación: Bilbao
Registrado: 09 Ene 2009 19:03
Primero de todo, ¡felicidades! Fantástico, como siempre.

En segundo lugar, si de verdad el verdadero interés del aparato es lo que cuenta Norber, es decir, ajustar la velocidad de los modelos a escala a los de sus modelos reales, creo que lo más cabal es dar cobijo a esa pantalla (OLED, LED o del tipo que sea) en el panel de control del óvalo de pruebas donde muchos modelistas ruedan sus locomotoras como mantenimiento. En cualquier caso, en algún lugar cercano, desde el punto de vista del ojo humano, a la pantalla de la central o del mando con los que modificaremos la CV correspondiente.

Para ahorrar energía cinética en nuestros cuellos y no acabar mareados, básicamente... :mrgreen: :mrgreen: :mrgreen:


Saludos
Carrington, aplaudiendo con unos y ceros
Al parecer, talibán de la explotación ferroviaria a escala. A pesar de eso, me gusta un buen plato de spaghetti. De los de verdad.

Nota 07 Dic 2019 17:50

Desconectado
Mensajes: 303
Ubicación: Tres Cantos (Madrid)
Registrado: 30 Abr 2009 22:42
Hola:

Para un novato como yo en Arduino, un montaje muy interesante. Norber no paras, me obligas a correr. :lol: :lol:

Saludos

Cèsar

Nota 14 Dic 2019 18:24

Desconectado
Mensajes: 394
Ubicación: Valencia
Registrado: 05 Nov 2011 18:37
Hola
Me ha gustado el medidor de velocidad.
No lo veo muy complicado de hacer, pero para alguien como yo que de electrónica está muy verde, más bien amarillo, necesitaría un croquis con los componentes que van en cada sitio.
He descargado el pdf, pero solo están los negativos, y no veo, o no he encontrado los componentes.
También he buscado en la web de Asalaf, pero no lo he visto.
Si alguien los tiene y los puede facilitar, sería de gran ayuda.
Muchísimas gracias a todos y a Norber en particular por compartir el medidor.
Saludos
Antarjcor

Nota 14 Dic 2019 22:27

Desconectado
Mensajes: 67
Registrado: 07 Feb 2011 13:11
Buenas noches

Yo lo he conseguido utilizando un vagón que me han dejado de piko, el cual una de las ruedas lleva marcados unos sectores blancos alternados con otros negros y mediante unas celulas fotoelectricas da la indicación de la velocidad en Km/h.

Nota 15 Dic 2019 09:44

Desconectado
Mensajes: 93
Registrado: 26 Ago 2011 12:44
hola,

yo he construido mi propio vagón de medición, el PacoWagon :D

http://usuaris.tinet.cat/fmco/esp8266_sp.html#pacowagon

Imagen

Es un vagón que funciona por WiFi y se puede ver la medida en el móvil. No necesita una app, tan solo el navegador web.

Opcionalmente se le puede instalar una pantalla OLED y un inclinómetro.

También se pueden ver las mediciones en una pantalla OLED externa, el PacoWagonDisplay :D

Imagen

Lo he construido en H0 y en N.



saludos,

Paco

Nota 21 Dic 2019 11:21

Desconectado
Mensajes: 48
Ubicación: Pedrera (Sevilla)
Registrado: 27 Mar 2014 19:11
Buenos días
HE estado mirando este circuito, me parece interesantísimo para poder ajustar las locomotoras, no es normal que tenga locomotoras de vapor que van mas deprisa que trenes mas modernos.
He intentado montarlo pero no localizo la librería que indica en el sketch, por mas que miro solo localizo la librería PCD8544 y no la PCD6544

Si alguien me puede ayudar.

Gracias

Nota 02 Ene 2020 22:30

Desconectado
Mensajes: 751
Ubicación: Salamanca
Registrado: 12 Ene 2012 14:44
Es la misma.

Se trata de una librería mínima, ínfima casi, que permite lo suficiente para manejar esa pantalla Nokia y no consumir memoria del Arduino. Supongo que por eso la usé.

Y no me había dado cuenta de que el autor se confundió con los nombres de los archivos a construirla, y en algún sitio se le coló el '6' en lugar del '8'. En mi ordenador la librería se llama <Clase911_PCD8544.h> pero si no se la llama desde el código mediante #include Clase911_PCD6544.h el compilador da error.

Un despiste de su autor que nadie habíamos advertido antes.

Librería_aDescargar.png
Así aparece en mi ordenador, pero luego hay que utilizarla con el otro nombre...
Librería_aDescargar.png (30.02 KiB) Visto 3409 veces
Saludos

[Multimaus + GenLi-S88 + +z21f. + RocRail (MacOsX)]
H0 Renfe, sin catenaria

Siguiente

Volver a Digital, Electricidad e Informática

Síguenos en Facebook Síguenos en Youtube Síguenos en Instagram Feed - Nuevos Temas
©2017   -   Información Legal