martes, 18 de febrero de 2014

Simulador de "Hombre Muerto".


De entre todos los sistemas de seguridad que componen la supervisión de la correcta marcha de circulación de una Locomotora, hasta hace bien poco el más conocido popularmente era el de "Hombre Muerto".

Básicamente, el objetivo del sistema es el de activar el "freno de emergencia" en caso de que el maquinista "desatienda" la conducción en un breve espacio de tiempo, por cualquier circunstancia.  

Por desgraciados motivos, términos como "Baliza", "ASFA", "ERTMS", etc. ya no son del todo desconocidos para los ciudadanos y saben que se utilizan para regular el tráfico ferroviario y su seguridad.

Con el montaje siguiente, pretendo modestamente ilustrar al lector sobre el funcionamiento del sistema "Hombre Muerto" y constatar que el desarrollo de la actual tecnología electrónica e informática, nos permite  diseñar mecanismos cada vez más sofisticados y complejos, con el fin de por ejemplo, entre otras muchas funciones la de mantener las más altas cotas de seguridad.

Jamás puede justificarse el no utilizar los máximos medios y recursos que las nuevas tecnologías nos brindan, y mucho menos si esta carencia puede poner en peligro la integridad de las personas.

El sencillo montaje nos demuestra que incluso de forma "casera" y a un coste económico muy bajo, podemos simular uno de los sistemas más tradicionales en la vigilancia de la seguridad ferroviaria.

Para su diseño emplearemos una placa del conocido Arduino cómo cerebro del sistema, una protoboard, un zumbador, tres Led's, un pulsador, resistencias  y cables de conexión.

Ahhhh!!! y por supuesto el pequeño "programita" que lo hará funcionar todo.



Esquema en fritzing


El principio de funcionamiento es el siguiente:

El dispositivo nos demandará cada 20 seg. que pulsemos el pulsador al efecto avisándonos mediante el encendido del Led azul y un sonido del zumbador.

Si hacemos caso omiso y trascurridos 5 seg. desde el aviso anterior, se producirá la inmediata activación del "freno de emergencia". La simulación del "frenazo" aquí la indicaremos con el encendido del Led rojo y un sonido estridente del zumbador.

El total de tiempo empleado en activar el "freno de emergencia" si no pulsamos nada es de 25 seg.. Ése es el tiempo máximo establecido que podría ir sin "conducción humana" esta simulación de Locomotora.

Si pulsamos dentro del tiempo esperado, el sistema de control se reinicia de nuevo, se apaga el Led azul y el contador vuelve a cero.

Para aquellos que piensen en la "picaresca" e imaginen formas de saltarse este control, hay que decir que también se activará el "freno de emergencia" en caso de detectar una pulsación continua de más de 20 seg.

La función del Led verde es simplemente la de ver pasar el tiempo segundo a segundo, es decir de contador. 

También en el caso de un montaje real, en lugar o junto al Led rojo deberíamos conectar un relé u otro tipo de actuador para el accionamiento del freno.



Montaje en protoboard

En el código de programación he evitado deliberadamente usar funciones, procedimientos y llamadas a interrupciones que habrían optimizado mejor el programa, en favor de un código más rudimentario pero quizás más fácil de seguir por aquellos lectores menos avanzados.


Aquí el código fuente del programa.

/*
 Simulador de Sistema de Seguriddad "Hombre Muerto"
 Lenguaje Wiring/Arduino

 Creado el 24 Marzo 2014
 por Javier Orós Falces
 
 This example code is in the public domain.
*/

// define los pins del Arduino.
int zumbador = 13;
int Led_azul = 7;
int Led_rojo = 6;
int Led_verd = 3;
int pulsador = 2;
// define constantes
int tiempo = 10;                  // en segundos.
int x = 0;

////////////
void setup()
{
  // inicializa como salidas pins 13, 7, 6, y 3.
  pinMode(zumbador, OUTPUT); 
  pinMode(Led_azul, OUTPUT);
  pinMode(Led_rojo, OUTPUT);
  pinMode(Led_verd, OUTPUT);
}
////////////
void loop() 
{

inicio:                           // etiqueta para el "goto" y 
                                  // para molestar a los ortodoxos.
                                  
  digitalWrite(Led_rojo, LOW);    // pone valor bajo a los pins.
  digitalWrite(Led_azul, LOW);  
  digitalWrite(Led_verd, LOW);  
  digitalWrite(zumbador, LOW);  
  noTone(zumbador);

  x = 0;
  do                             // Evita picaresca de siempre pulsado.
  {
    delay(50);                   // espera que se estabilice el sistema.
    x = x + 50;
    if (x == tiempo*1000) {      // si pulsa 20 seg. seguidos salta freno.
    goto freno;                  // x1000 en milisegundos.
    }
  } while (digitalRead(pulsador) ==  HIGH);

  for(int x=0; x<tiempo; x++)    //bucle para aviso al valor de tiempo en seg. 
  {  
    if (digitalRead(pulsador) ==  HIGH) {
    goto inicio;                  // reinicia el sistema si pulsa.
    }
    digitalWrite(Led_verd, HIGH); // enciende y apaga el led verde cada 1 seg. 
    delay(500);
    digitalWrite(Led_verd, LOW);  
    delay(500);
  }  
 
  digitalWrite(Led_azul, HIGH);  // Aviso de alerta H.M.
  digitalWrite(zumbador, HIGH); 

  for(int x=0; x<5; x++)         // bucle 5 seg. para activar freno.
  {  
    if (digitalRead(pulsador) ==  HIGH) {
    goto inicio;                 // reinicia el sistema si pulsa.
    }
  digitalWrite(Led_verd, HIGH);
  delay(500);
  digitalWrite(Led_verd, LOW);  
  delay(500);
  }
  
freno: 
  // activa el freno de emergencia.
  digitalWrite(Led_azul, LOW); 
  digitalWrite(Led_verd, LOW); 
  digitalWrite(zumbador, LOW); 
  digitalWrite(Led_rojo, HIGH);  // activa led rojo y/o freno de emergencia.
  do                             // bucle sin fin hasta pulsar rearme.
  {
    delay(50);                   // espera que se estabilice el sistema.
    tone(zumbador,500);          // sonido estridente
    tone(zumbador,1000);
  } while (true);

}

////////////////////////////////////////////////////////////// fin del sketch.


Aquí ver vídeo del funcionamiento del montaje.
Para hacerlo más corto he cambiado el valor de los 20 seg. a solo 10 seg.





...y ahora la realidad.

Imágenes varias del interior de un Tractor de maniobras:

Vista de la cabina de conducción.




Detalle de cuadro de indicadores con luminoso en color azul del H.M.



Detalle del freno de emergencia "seta".



Imagen del pedal de accionamiento del "Hombre Muerto" en un Tractor de maniobras.




(fotografías cortesía de J. P. G.).


Espero haber contribuido a dar a conocer un poco mejor este sistema de seguridad.




domingo, 29 de diciembre de 2013

Simulador Morse


Empezaremos con un sencillo montaje que simula un transmisor Morse.

Nos vamos a familiarizar con la ProtoBoard y los componentes más básicos que existen en el mundo de la electrónica, las resitencias y los condensadores.

Para subir un poco el listón, añadiremos un sencillo circuito integrado de los llamados "temporizadores", el NE555.

Existen dos potenciómetros que regulan el tono y el volumen del sonido emitido y naturalmente un altavoz.

Se trata de un circuito oscilador "típico", sin más secretos. La alimentación puede ser con una simple pila de 9v. a través del conector al efecto.

Aquí podemos ver el esquema eléctrico y la representación con Fritzing del montaje.
(Aquí página oficial de Fritzing).




Con el "pulsador" del montaje, emitiremos por el "altavoz" un sonido de duración proporcional al tiempo que lo mantengamos pulsado. De esta forma crearemos sonidos cortos (punto en Morse) o más largos (raya en Morse). (Aquí más detalles del código Morse...)

El Titanic envió el primer mensaje en Morse por radiotelegrafía, un S.O.S. (...---...).
(...y el último para él).


sábado, 12 de octubre de 2013

Procesadores y MicroControladores


Los procesadores y los microcontroladores son unos Circuitos Integrados o también llamados microchips de gran complejidad técnica, compuestos (al principio de los 60) por unos cientos de transistores en su interior y que ha evolucionado espectacularmente en los últimos años hasta alcanzar actualmente una integración de millones de transistores.

Existe un ejemplo muy gráfico que define la evolución tecnológica de los circuitos integrados:

Si en 1978 el Concorde volaba de Europa a EE.UU. en 6 horas, en caso de haber progresado la industria de la aviación al mismo nivel que la de los semiconductores, ahora mismo debería existir un avión que para el mismo vuelo tardaría 1 seg.

Para comprender esta maravilla de la tecnología hay que conocer la Ley de Moore, origen de la carrera por aumentar espectacularmente las prestaciones de estos circuitos y así contribuir al desarrollo del mercado electrónico e informático.


Podemos decir que existen 2 modelos de diseño de arquitectura de ordenadores o computadoras en referencia al manejo de la memoria:

  • arquitectura Von Neumann 
  • arquitectura Harvard 

El diseño Von Neumann se caracteriza porque utiliza la misma memoria para almacenar tanto los datos como las instrucciones del programa que los maneja. Es el diseño utilizado por los ordenadores personales que todos conocemos.




El diseño Harvard se basa en las separación física de la memoria para el uso de los datos y para el almacenamiento de las instrucciones o programa, es decir que son memorias independientes.



Esta última opción gana mucho en velocidad de proceso ya que no se producen "cuellos de botella" entre el tráfico de datos y de instrucciones pero por contra tiene el inconveniente del encarecimiento provocado por el precio de la memoria.

Es la arquitectura preferida de la industria para los Microcontroladores.




Así mismo, también podemos dividir en 2 arquitecturas de ordenadores al modo de ejecutar el conjunto de instrucciones:

  • arquitectura CISC 
  • arquitectura RISC 




continuará...

miércoles, 11 de septiembre de 2013

Electrónica e Informática abierta.

Declaración de Intenciones:


En Salamanca, mes de termidor año 221.
(verano 2013).



Empiezo este Blog con el único ánimo de intentar ordenar mis notas, apuntes e inquietudes tecnológicas y a la vez espero poder ayudar a otros lectores a alcanzar lo mismo.
Intentaré desgranar de forma sencilla, conceptos de tecnología actual tanto de electrónica como de informática en plataformas de hardware y software abiertas, tomándome la libertad de pasar también por algunas reflexiones propias.

Pero ¿qué quiere decir ésto de abierto?. Las plataformas de hardware libre o abierto junto al software libre, son aquellas partes de un sistema informático que son de dominio público y casi siempre gratuito. Al amparo de este concepto han nacido ideas como la del Arduino o la del Raspberry Pi u otras.

Realizaré algunos montajes electrónicos a modo de ejemplo, (principalmente con la plataforma Arduino) para desarrollar e ilustrar los conceptos expuestos. Me ayudaré de enlaces a la Wikipedia y a otras páginas para quién desee ampliar la información aquí expuesta. Recomiendo seguir dichos enlaces que irán apareciendo en color naranja.

Este Blog quiere ir dirigido a aquellos lectores que se inician en estas materias y desean tener unas nociones básicas de lo que se puede llegar a realizar con estas herramientas.
No vamos a descubrir "la rueda", en el universo de Internet existe abundante material para los que desean ser autodidactas, así que intentaré ser el facilitador de todo ello a través de mi particular visión.

Espero que disfrutemos todos de este apasionante mundo...



Los antecedentes:



De aquellos "maravillosos 80" me queda una afición (entre otras cosas) por mucho tiempo abandonada y que ahora gracias en parte a la "Ardumanía" he visto retornar.


Arduino Micro

Actualmente descubro con sorpresa que aquellos conceptos de Electrónica Analógica y Digital de principios de los años 80, que yo creía ya obsoletos debido a la actual "era dorada" de los Ordenadores junto a la informática y a los MicroControladores, pues están aún vigentes.

Los primeros, implantados en todos los ámbitos de nuestra sociedad y los segundos, principalmente en la industria (maquinaria, electrodomésticos, automoción, etc.).

Observo con agrado cómo siguen usándose muchos de aquellos "componentes" que hace 30 años, tantas gotas de estaño, prácticas de soldador, de "tester" y de "osciloscopio" me ocuparon!.


Transistores como los BD135, BC547, el viejo 2N3055, etc.





Diodos como el rectificador 1N4004, el rápido 1N4148, etc.



siguen siendo utilizados habitualmente, por no hablar de las clásicas resistencias, condensadores...




que no han cambiado en absoluto, si exceptuamos la aparición de los mismos componentes pero en formato de montaje superficial "SMD"


(de tamaño mucho más pequeño), al punto que uno y debido a la edad, ya necesita ayudarse de lentes de aumento o lupas para conocerlos o manipularlos.


...y también podríamos incluir en la lista a los Circuitos Operacionales como el LM741, Temporizadores como el NE555, Reguladores de tensión como el 7805, Potenciomentros, Trimmers, Fotocélulas LDR, Led's, Displays, Tiristores y Triacs, y un largo etc. 



pero...

La gran revolución tecnológica llegó de la mano de los MicroProcesadores y de los MicroControladores.

Ahí si que la Electrónica Digital ha evolucionado en pocos años de forma extraordinaria. Los Circuitos básicos siguen estando en el mercado (Series TTL 74XX, 74LSXX-X, etc.) pero con una utilización mucho menor en favor del uso masivo de los Procesadores y MicroControladores. Esta revolución nos ha dejado en casa por ejemplo, a los ordenadores  personales.

Válvula y Transistor
Microcontrolador

Aquí podemos observar la evolución desde las primeras válvulas de vacío (diodos, triodos, etc.) pasando por los primeros transistores hasta llegar a los microchips que sustituyen a millones de los anteriores componentes en unos escasos milímetros de espacio.

En las próximas entradas ampliaré un poco más en detalle el mundo estos diminutos "gigantes". De momento os presento lo que será nuestro pequeño laboratorio de electrónica digital...


Surtido de componentes

Casi todo comprado por eBay y a un precio muy económico...



El secreto de la libertad radica en educar a las personas, mientras que el secreto de la tiranía está en mantenerlos ignorantes.
                                                              M. R. 
                                                     el incorruptible.