Índice general Foros Digital, Electricidad e Informática 7702 con DH21A-4 y auxiliar para matrículas y cabinas

7702 con DH21A-4 y auxiliar para matrículas y cabinas

Moderador: 241-2001



Desconectado
Mensajes: 621
Ubicación: Asturias
Registrado: 15 Nov 2012 19:16
Hola,

Ya se ha comentado en otros hilos la cuestión del mapeo de funciones y la dependencia de programadores comerciales específicos de cada fabricante, para poder realizarla sin volverse loco. Hace tiempo que vengo dándole vueltas a la posibilidad de emplear decodificadores estándar en locomotoras como la 7200 y 7700 de Electrotrén para obtener prestaciones similares a las que incorporan de fábrica. Sin sonido.

Y a esta locomotora quería iluminarle además las matrículas y las cabinas.

Como el tema del mapeo no lo controlo, pedí ayuda a mi amigo Antonio que tiene varios trabajos muy ingeniosos sobre el control separado de las luces de locomotoras en el foro escalaN (Ktna-2100), que probablemente ya conoceréis los que trabajáis esa escala. Se puso a ello y en poco tiempo me dictó los valores a programar en las cvs apropiadas para conseguir un funcionamiento similar.

Lo primero fue seleccionar un decoder barato con seis salidas de función y conector de 21 pines, NEM660, como el Doehler&Haass DH21A-4.

A continuación desciframos el circuito de luces de la locomotora que es sencillo, en una placa amplia. De forma genérica:

Esquema placa 7702.png
Esquema placa 7702.png (102.96 KiB) Visto 3315 veces

Como las seis salidas del DH21A-4 están amplificadas, hubo que anular los transistores que están en la placa, para lo cual en principio hice cortes en la pista que sale del colector para puentearla hacia el terminal correspondiente del conector de 21 pines… Al final opté por desoldar los transistores, cosa que, de haberla hecho desde un principio, me habría evitado el hacer los cortes en las pistas.

Placa - cortes y puentes.png

Las prestaciones deseadas se resumen en el siguiente cuadro:

Cuadro funciones.png
Cuadro funciones.png (419.14 KiB) Visto 3315 veces

Tirando de manual, y supliendo la escasez de explicaciones en el mismo con la experiencia de Antonio en estas lides, obtuvo los valores a programar en las cvs indicadas en los cuadros siguientes (las CV33 y CV34 vienen asignadas por defecto a los pilotos blancos y esas no se tocaron)

Function mapping.png
Function mapping.png (85.31 KiB) Visto 3315 veces

Switch-off.png
Switch-off.png (44.05 KiB) Visto 3315 veces

Curiosamente, la prestación switch-off no está prevista para las salidas AUX3 y AUX4 (¿?) por eso no se pueden activar simultáneamente los pilotos blancos y rojos.

Por mi parte sigo encontrando caprichosa y arbitraria la asignación de estas operaciones, que creo podría ser más sencilla (quizás esto me lo inspira la ignorancia y la pereza de leer los manuales).

En el pdf adjunto, que hay que agradecer a Antonio, su autor, se comentan un poco más las prestaciones principales de este decoder.

Saludos,

Germán

...continúa...


Desconectado
Mensajes: 621
Ubicación: Asturias
Registrado: 15 Nov 2012 19:16
...
Matrículas

Es una desconsideración por parte del fabricante el no haber dotado de iluminación a las matrículas de este modelo, al contrario que con las 1600/1800, 2100…, ya que durante la mitad de su vida activa estuvieron iluminadas, especialmente en esta “original” de época III.

Mi primera intención era reducir el espesor cuanto fuera necesario hasta que la luz traspasase desde el interior, pero en las pruebas que hice no lo vi factible y desistí. Intenté levantar la pegatina, pero también me fue imposible sin romperla. Opté por fotografiarlas para reproducirlas posteriormente como comentaré.

Perforé el hueco con una broca de 1 mm, a mano y esta vez no rompí nada (solo algunos rayajos leves).

Mecanizado.png

Al presentar las matrículas por el interior comprobé que quedaban excesivamente hundidas, lo que, además de irreal, las hacía casi invisibles. No quedó más remedio que rebajar el espesor de la carcasa con la Dremel y diversas fresas y piedras hasta dejar un espesor del orden de 1 mm. Mejor sería llegar hasta el borde, pero de eso no soy capaz sin provocar un desastre.

Rebajar espesor.png
Rebajar espesor.png (524.86 KiB) Visto 3311 veces

De esa manera el aspecto ya es un poco más aceptable. Repasé en negro la pintura imitando el burlete (como se puede notar).

Una vez pegadas las matrículas por el interior quise imitar los cristales con “mikro Kristal klear” pero lo que hizo fue pegarse al papel y echar a perder el trabajo. Vuelta a empezar…

Matricula instalada.png
Matricula instalada.png (326.37 KiB) Visto 3311 veces

Los números los obtuve fotografiando la máquina al principio, y retocando con simple “paintshop” para luego imprimirlos al tamaño apropiado desde el Word.

Para simular el cristal pegué cinta transparente por la parte visible, a continuación los recorté y volví a pegar, esta vez por la cara posterior sobre la cinta adhesiva para luego pegarlas en su sitio, como esquematizo en el montaje siguiente

Proceso pegado - 2.png

La pinza como “auxiliar” en el pegado fue imprescindible porque con las pinzas no conseguía que quedara depositada en su sitio (no se despegaba de ellas…, hábil que es uno) y para conseguir depositarla en el extremo de la pinza tuve que recurrir a salivilla… Seguro que hay procedimientos mejores.

El siguiente paso fue montar los LEDs. Su ubicación la marqué a través del hueco de las matrículas y los instalé sobre unas tiras de pcb; su tamaño 0603, sunny light. Van montados en serie y con una resistencia limitadora de 6K8, y aún así encuentro un poco alta su luminosidad (las matrículas no eran iluminadas con reflectores precisamente). Se alimentarán desde el positivo rectificado de la vía.

Pletinas LEDs.png

Cuando hice la prueba de iluminación, encontré que el mecanizado de la carcasa alrededor de los huecos dejaba pasar la luz; tuve que pintar de negro el interior.

...continúa...


Desconectado
Mensajes: 621
Ubicación: Asturias
Registrado: 15 Nov 2012 19:16
...
Decoder auxiliar para matrículas y cabinas

Las matrículas podrían iluminarse a partir de la función F0, por ejemplo, en cualquiera de los dos sentidos, pero como también pensaba iluminar las cabinas de forma similar a como hice con las otras dos 7700, aprovecho otra salida disponible en el ATtiny85 y le asigno esta función, con un transistor como amplificador y adaptador al voltaje de la vía rectificado.

El siguiente paso era, por tanto, preparar el decodificador auxiliar. Dado que en el conector NEM660 está disponible el voltaje de 5V (pin 12) y masa (GND pin 20) el circuito se limita al microcontrolador, las resistencias limitadoras y el transistor amplificador.

Esquema aux.png
Esquema aux.png (7.75 KiB) Visto 3307 veces

Va montado en una placa con pistas de cobre separadas 1’27 mm de ledbaron, por lo que resulta muy sencillo de preparar

Placa auxiliar.png
Placa auxiliar.png (163.75 KiB) Visto 3307 veces

Las cabinas se iluminan con LEDs 0401 blancos de ledbaron que tienen cables esmaltados soldados a sus terminales.

El programa es similar al de las cabinas anteriores, aunque aquí la operatividad de las funciones es:
F5 enciende la cabina delantera en el sentido de la marcha; si la locomotora está en marcha se atenúa progresivamente su luminosidad a un mínimo.
F6 enciende la cabina trasera en el sentido de la marcha.
F7 enciende las matrículas.

Todas las funciones, de F0 a F8 son independientes entre sí, en la medida en que el DH21A-4 lo permite. En el vídeo que se adjunta se muestran una variedad de las posibilidades.



El fichero adjunto al final contiene el código en lenguaje c del programa y el código hexadecimal.

Y esto es todo por ahora. Saludos,

Germán

85_7702.zip
(5.26 KiB) 164 veces


Desconectado
Mensajes: 378
Ubicación: Ibarra
Registrado: 20 Abr 2009 06:02
Bonito trabajo alucinado me quedo, estoy trasteando con los Attiny85 para otros montajes y aprovecho para preguntarte si estos se pueden llegar a alimentar a 6V y me tiene extrañado que el código sea en hex para un Attiny, y como programarlo, de Arduino estoy flojo todavía.
A ver si me puedes aclarar un poco el lio saludos Luis.


Desconectado
Mensajes: 751
Ubicación: Salamanca
Registrado: 12 Ene 2012 14:44
Genial Maestro!
Otra vez lo has conseguido!!
Enhorabuena!!

Muchas gracias por compartir el código. Veo que es sustancialmente el mismo de otras veces, y es que me lo sé casi de memoria, ja, ja, ja.

De todo lo que cuentas tan solo me plantea dudas una cosa, y después del trabajazo que has desarrollado la pregunta te va a parecer una tontería, pero es que me intriga de verdad:

Al final opté por desoldar los transistores, cosa que, de haberla hecho desde un principio, me habría evitado el hacer los cortes en las pistas.


Yo no he sido nunca capaz de hacer eso! Cuando un SMD me ha molestado, al final he optado por ponerle el soldador directamente encima, derretirlo literalmente, y luego retirar los restos con una pinza. Es decir, romperlo. No me imagino cómo has conseguido sacar un transistor, que encima tiene tres patas!!

Maestro, que eres un Maestro!!! :D
Saludos

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


Desconectado
Mensajes: 621
Ubicación: Asturias
Registrado: 15 Nov 2012 19:16
Hola,

¡qué rapidez! aún no me he desconectado y ya comentamos... Bien.

Luis, los ATtiny admiten 6V como máximo absoluto; es decir podrían destruirse si se pasa un poco de ese valor; mi consejo es que le conectes un diodo en serie con esos 6V y así tendrías una garantía de funcionamiento sin problemas.

Los programo en lenguaje c en el entorno AtmelStudio porque en entorno arduino no he sido capaz de que de decodifiquen la señal DCC dado que son pequeños y les incluyen otras prestaciones que limitan su rapidez de respuesta. Creo haber leído que arduino puede programar a partir de ficheros .hex, pero no te puedo decir más porque no conozco más detalles (cuando me encontré las limitaciones me pasé directamente a c fuera de arduino, que sí utilizo para otras cosas).

Si en algo te puedo ayudar, cuenta conmigo.

Norber, con un soldador de punta fina de unos 14W aplicando la punta sobre la patilla (y metiendo un cutter fino o algo similar por debajo para levantarla suavemente) se puede desoldar sin destruirlo; eso sí, uso una lupa de sobremesa con luz para suplir lo que ya mi vista no alcanza, jeje. Al desoldar la patilla individual, ya se puede levantar con pinzas mientras se aplica calor sucesivamente a las demás patillas.

El código es el mismo de las cabinas anteriores, modificado para que las funciones actúen de la manera que se les asigna aquí (algo diferente, para variar). Realmente empecé modificándolo para que la interrupción se limitara a decodificar simplemente y el main interpretara lo recibido, como te comenté para tu placa 'universal' pero me falló varias veces y opté por tirar por la calle de enmedio aprovechando lo que teníamos; en cualquier momento lo retomaré para modificarlo, porque si la interrupción se limita a leer la vía solamente, sería muy rápida y el micro quizás podría hacer muchas otras cosas, como pretendes... Todo se andará.

Saludos,

Germán


Desconectado
Mensajes: 2202
Ubicación: Asturias
Registrado: 16 Jul 2008 12:51
Madre mia German.....para mucho te da la cabeza!!!!

Menudo trabajillo.
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


Desconectado
Mensajes: 378
Ubicación: Ibarra
Registrado: 20 Abr 2009 06:02
Gracias por la rápida respuesta, lo del diodo lo tenía previsto lo de Arduino sigo estudiando.
Lo que no entiendo es como programar el Attiny a no ser que sea como un pic, espero que me vayáis iluminando.
Saludos y gracias Luis.


Desconectado
Mensajes: 621
Ubicación: Asturias
Registrado: 15 Nov 2012 19:16
Hola Luis,

no te puedo decir de memoria porque hace tiempo que no ando con arduino. Si consultas en Google sobre "programar ATtiny con arduino" verás bastante información. No entiendo qué quieres decir con "a no ser que sea como un pic".

Saludos,

Germán


Desconectado
Mensajes: 378
Ubicación: Ibarra
Registrado: 20 Abr 2009 06:02
Pues intentar programarlo con el programador de pic,s y winpic o equivalente es que programar en C y como volcarlo al chip ando perdido.
Saludos y gracias Luis.


Desconectado
Mensajes: 6651
Ubicación: ESPAÑA
Registrado: 14 Oct 2008 15:44
Todavía estoy alucinando con este trabajo tan ambicioso y de tanta calidad. Desde luego que la 7700 ha quedado de categoría; las matrículas retroiluminadas le dan un aspecto sensacional. Felicidades por tan magnifico trabajo.

Saludos


Desconectado
Mensajes: 751
Ubicación: Salamanca
Registrado: 12 Ene 2012 14:44
Te estoy copiando el código Germán!
Es muy bueno, muy bueno!
Ya tengo mi decóder de la señal de la vía con tu idea y un Arduino, y puedo leer lo que "dice" el Multimaus!!
Ahora sólo tengo que aprender el "idioma", ja, ja, ja.

Gracias por compartirlo con tanta generosidad
Muchas gracias
Saludos

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


Desconectado
Mensajes: 621
Ubicación: Asturias
Registrado: 15 Nov 2012 19:16
DIC40 escribió:
Pues intentar programarlo con el programador de pic,s y winpic o equivalente es que programar en C y como volcarlo al chip ando perdido.
Saludos y gracias Luis.

Hola Luis,

cada fabricante tiene su forma de programación de sus chips. Las señales, temporizaciones, etc. no tienen por qué coincidir entre ellos (de hecho creo que no coinciden nunca), por eso tu programador de pic no te servirá para estos micros. Pueden programarse desde arduino, y el propio arduino puede actuar como programador. Existen muchas páginas donde te describen el paso a paso para poder hacerlo. Consistiría en escribir el programa en el entorno de arduino y luego volcarlo al chip, de la familia, que desees.

No obstante el código que presento no creo que lo compilara el arduino. Te animo a que pruebes primero programas sencillos.

Saludos,

Germán


Desconectado
Mensajes: 378
Ubicación: Ibarra
Registrado: 20 Abr 2009 06:02
Gracias por la respuesta Germán ya he leído por internet y me he empapado un poco y voy comprendiendo como va, de todas formas no tengas dudas de que te daré la tabarra si tengo algún problema.
Saludos y gracias Luis.


Desconectado
Mensajes: 2
Registrado: 04 Jul 2018 22:10
Hola buenas noches,

gracias a Germán por toda la información detallada. Tengo un problema con precisamente ese decoder DH21A-4 y me gustaría saber si vosotros lo tenéis también y si se os ocurre alguna solución.
Yo tengo el sistema Märklin y hace un tiempo pensé en digitalizar una locomotora de la marca poniéndole un DH21A-4 nuevo a estrenar sobre una pletina sin transistores de refuerzo. f1 y f3 los conecté a un generador de sonidos (2 bocinas), f2 a una iluminación de sala de máquinas y f4 la reservé para marcha de maniobras y que los faros blancos se iluminasen a ambos lados.

Cuando terminé de soldar todo, puse el decoder y lo probé con mi centralita Märklin 6021. Todo iba como tenía que ir. Al ser un decoder nuevo, la máquina arrancaba y aceleraba bruscamente, así que quise a continuación modificarle la dirección digital, ajustar la aceleración y el frenado y ponerle en el CV38 el valor 131 para las luces de maniobra. Seguí los pasos que indica DH, pero algo falla, porque: al probar la máquina de nuevo (ya fuera del modo de programación), la máquina funciona en un primer momento como yo la he programado, pero al invertir la marcha o activar f4, se olvida de todos los ajustes que le he hecho y vuelve a acelerar/frenar bruscamente. Sólo conserva la dirección nueva que le he metido, f1, f2 y f3 funcionan, pero f4 no. Y por mucho que ande en un sentido u otro, o reinicie yo la centralita, no conserva ningún ajuste que le hecho. Tengo que programarle todo de nuevo y todo sucede otra vez.

Alguien sabe por qué ocurre esto? Gracias de antemano!


Desconectado
Mensajes: 2
Registrado: 04 Jul 2018 22:10
Solucionado. Según me ha comentado el propio fabricante, los decoders D&H con la versión de firmware 3.05.015 tienen ese problema y hay que actualizar el firmware a la versión actual 3.10.048.


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