Índice general Foros Digital, Electricidad e Informática Controlar servos para desvios con pulsador y Arduino

Controlar servos para desvios con pulsador y Arduino

Moderador: 241-2001


plt

Desconectado
Mensajes: 115
Ubicación: Salamanca
Registrado: 24 Ene 2010 20:54
Hola, me estoy iniciando en esto del Arduino y quisiera saber si es posible controlar varios servos para accionar desvíos, con una placa Arduino y pulsadores.
¿Hay algún programa hecho?

Es decir, para cada servo habrá dos pulsadores para poder moverlo en los dos sentidos.

Gracias


Desconectado
Mensajes: 419
Ubicación: Valencia
Registrado: 05 Nov 2011 18:37
Hola
Con todos mis respetos, pero pienso que con un solo pulsador para que invierta la situación actual, podría ser suficiente, yo no los tengo con Arduino, pero el sistema utiliza solo un pulsador, que además es solo para pruebas o programación, el uso normal es desde el ordenador.
Un saludo,


Desconectado
Mensajes: 761
Ubicación: Salamanca
Registrado: 12 Ene 2012 14:44
Claro que no hay ningún programa hecho!! Pero si es facilísimo hacérselo uno mismo!!!!
Anímate y no lo veas como algo inalcanzable sino todo lo contrario: el mundo de la programación de microcontroladores es maravilloso y las facilidades del sXIX no deben desaprovecharse. Entre ellas, fundamental, el Arduino. Viene listo para darle tensión y programar por USB. ¿Qué puede haber más cómodo que eso?

Empieza por los ejemplos que se incluyen en la instalación del entorno de programación de Arduino:

Ejemplos_Servos_Arduino.png
Ejemplos_Servos_Arduino.png (207 KiB) Visto 13879 veces


Verás qué sencillo es. Y si te atascas, pregunta, pregunta.
Ánimo ;)
Saludos

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


Desconectado
Mensajes: 126
Registrado: 08 Feb 2011 23:27
Efectivamente se puede hacer con un solo pulsador y que por programación "recordemos" la posición actual del servo y al pulsar nos mueva el servo a la otra posición.

Pero hay que tener mucho cuidado con cómo lo hacemos, porque estamos moviendo desvíos y si por una casualidad nos equivocamos, el tren se va a ir por donde no queríamos, con resultados descontrolados.

Habría que poner en el panel de control una buena señalización que nos indique cuál es la posición del desvío.

jdd Avatar de Usuario

Desconectado
Mensajes: 87
Ubicación: Vigo
Registrado: 22 Oct 2009 13:49
Buenos días a todos

Yo tambien quiero poner servos en mis desvíos, y controlarlos Con Arduino. Tengo 9 desvíos, utilizo vía C de Marklin, y parto de cero, en material, y en conocimientos. ¿Que placa o placas de arduino debo comprar?.
Entiendo que con ellas, los servos, y un ordenador conectado por USB, debería tener suficiente para controlarlos, ¿estoy en lo cierto?

Muchísimas gracias, me parece algo apasionante, pero de principio parece un poco lioso. Ojalá no lo sea. :lol:
Saludos desde Vigo.


Desconectado
Mensajes: 761
Ubicación: Salamanca
Registrado: 12 Ene 2012 14:44
jdd escribió:
¿Que placa o placas de arduino debo comprar?.
Entiendo que con ellas, los servos, y un ordenador conectado por USB, debería tener suficiente para controlarlos, ¿estoy en lo cierto?


Me temo que no. Busca montajes habituales, como los insuperables de Paco Cañada que ofrece gratuitamente en su web (POWS) y acertarás seguro. El Arduino en DCC es recomendable solo para quien sabe programar en C y tiene cierta experiencia con micro controladores. Resulta apasionante, pero no es buena idea introducirse en Arduino con algo tan complejo como el USB y los servos.
Saludos

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


Desconectado
Mensajes: 126
Registrado: 08 Feb 2011 23:27
jdd ¿tú quieres usar Arduino junto con un control digital (dcc/motorola) ?.

Yo no lo había interpretado así.

Si quieres usar el Arduino necesitarías 18 pines para los pulsadores y yo usaría un controlador de servos IIC. Pero no es necesario que el ordenador esté continuamente conectado.

Confirmanos Qué es lo que quieres hacer.

jdd Avatar de Usuario

Desconectado
Mensajes: 87
Ubicación: Vigo
Registrado: 22 Oct 2009 13:49
Lo primero, muchas gracias a los dos por contestar. Esto del arduino es nuevo para mi, y lo poquito de lo que me voy enterando es por lo que os leo, y por lo que investigo por la red. Al referirme a la conexión del ordenador por USB con la placa arduino, era para la programación de esta, y luego, mover los desvíos individualmente con pulsadores.

Norber, supongo que a lo que te refieres sobre la dificultad, es si los quisiera comandar desde el ordenador, con algún programa de control de la maqueta, para eso entiendo que lo más cómodo es hacer los decoder de Paco Cañadas, y de esa manera controlarlos desde el ordenador. También supongo que el cableado sería más simple.

Modelismoferroviario, veo lo de los 18 pulsadores y supongo que será porque para controlar el movimiento de cada servo, se necesitan dos pulsadores, ¿es así?

Me llama la atención esto del arduino, y voy a hacer pruebas, a ver que sale :D

De nuevo gracias
Saludos desde Vigo.


Desconectado
Mensajes: 761
Ubicación: Salamanca
Registrado: 12 Ene 2012 14:44
En este mismo foro tienes ejemplos muy interesantes de lo que se puede hacer con estos chismes. En ello estamos algunos. Espero que en poco tiempo podamos dar a conocer algún resultado interesante.

Pero prueba, prueba, que engancha! Empieza con algo sencillo, como los ejemplos típicos con LEDs, que tiempo tienes de pasar al DCC. Y cuando lo hagas, usa el código de Rfe7477 que encontrarás relacionado con la iluminación de locomotoras y vagones en este foro. Es increíble lo bien que funciona!
Saludos

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

jdd Avatar de Usuario

Desconectado
Mensajes: 87
Ubicación: Vigo
Registrado: 22 Oct 2009 13:49
De momento ya tengo en camino una placa Arduino uno. Con ella haré experimentos, ya os contaré,
Saludos desde Vigo.


Desconectado
Mensajes: 126
Registrado: 08 Feb 2011 23:27
Sí, yo decía que hacían falta 18 pines para los 18 pulsadores.

Respecto a los servos:

La biblioteca Servo admite hasta 12 motores en la mayoría de las placas Arduino y 48 en el Arduino Mega.

En las placas que no sean la Mega, el uso de la librería deshabilita la funcionalidad analogWrite() (PWM) en las patillas 9 y 10, exista o no un servo conectado en esos pines.

En el Mega se pueden utilizar hasta 12 servos sin interferir con la funcionalidad de PWM, el uso de 12 a 23 servos desactivará PWM en las patillas 11 y 12.

Hay que tener en cuenta que los servos consumen bastante energía, por lo que si tenemos que manejar más de uno o dos, habrá que alimentarlos mediante una fuente independiente (es decir, no el pin +5 V en la placa Arduino), asegurándonos de conectar la tierra del Arduino y la fuente de la alimentación externa.

Si vamos a usar muchos servos (12 o más) conectados directamente a pines digitales del Arduino junto con otro código de nuestro programa, es posible que los servos "tiemblen" ligeramente debido a problemas de tiempos de ejecución. En éste caso es mejor utilizar un dispositivo controlador de servos, que normalmente es un microcontrolador dedicado conectado al Arduino mediante el puerto IIC.

En tu caso el Arduino uno tiene 14 pines digitales y 6 pines analógicos. De los 6 pines analógicos A4 y A5 pueden emplearse para I2C. Te quedarían los 14 digitales y 4 analógicos que puedes usar como digitales (preguntando si hay 5V en el pin). Es decir si usas un controlador de servos un Arduino Uno te da justo.

Puedes ver el manual de la librería de un controlador de servos en https://learn.adafruit.com/16-channel-pwm-servo-driver


Un saludo
Rafael

jdd Avatar de Usuario

Desconectado
Mensajes: 87
Ubicación: Vigo
Registrado: 22 Oct 2009 13:49
Rafael, muchas gracias por tus enseñanzas. No te voy a negar que, ahora, me parece muy complicado todo, pero por otro lado es apasionante e ilusionante pensar que puedo llegar a manejarlo y entenderlo. Estoy deseando recibir los componentes pedidos para empezar a manosear en ellos.
A ver si no tardan mucho, están pedidos a paises lejanos....... :D
Saludos desde Vigo.


Desconectado
Mensajes: 46
Registrado: 15 Jul 2013 00:41

Buenas a todos!! creo que es la primera vez que hablo en este foro así que es un placer poder compartir con esta web de la que tanto he aprendido.

Este post ya tiene unos meses, y no se si plt habrá hecho progresos, espero que si. De igual manera me gustaría compartir un trabajo con el que llevo también un tiempo.
Se trata de unos programas/circuitos para Arduino. Unos sobre servos, otros sobre DCC (los más recientes). Bueno deciros que aunque siempre me ha gustado la electrónica, Arduino, es una maravilla. Parece un poco difícil así de primeras, pero la verdad es que es bastante fácil de comprender aunque ,como todo, lleva su tiempo. Eso si, nada que ver con los (para mi) antiguos 16f628a o 16f876, que eran un poco engorrosos por tener que programarlos con el puerto COM. Aquí un USB y a cacharrear.
Arduino UNO esta muy bien, pero lo que esta genial es el Arduino NANO, sobre todo en el precio. Yo particularmente compro el NANO y un shield que es como un adaptador y entre los dos no me superan los 5€. Además ya viene preparado para conectar los servos sin tener que modificar nada. (joer parezcon un comercial jajajja).

Bueno este fue el resultado:
Imagen

Imagen


No soy un programador profesional, así que igual los programas se podrían mejorar, pero me quede muy satisfecho con el resultado, puedes modificar la velocidad para que vayan mas lentos tipo "Tortuga". Y una cosa que si que he añadido y no se por que en otro programas no lo hacen, es desconectar el servo después de que llegue a su punto. Creo que no es lo mismo tener 4 servos conectados y ejecutando una orden cada pocos miliseguntos, sobre todo por el consumo de energía.
Bueno este es el programa: http://www.infotronikblog.com/2015/10/moviendo-desvios-con-servos-y-arduino.html.
Y si alguien necesita una ayuda en arduino, hasta donde llegue, intentare ayudar.
Saludos!!!
Maqueta modular http://lamaquetade.infotronikblog.com/
Electrónica, digital y cacharreo http://www.infotronikblog.com/


Desconectado
Mensajes: 761
Ubicación: Salamanca
Registrado: 12 Ene 2012 14:44
Eres un valiente!!
Enhorabuena, reto número uno conseguido. Ya mueves servos con pulsadores.
Ahora toca el reto número dos: moverlos a través de la señal DCC. Además de <servo.h> probablemente necesites una librería como la <NMRADcc.h> aunque esto ya lo sabes porque hablas de otros logros "más recientes" en DCC, ¿no es así? Pero échale un vistazo al algoritmo de Rfe7747, que te lo resuelve muy fácilmente (el código de Rudy está bien, pero el de nuestro Germán es mucho mejor)!!
Ánimo.
Saludos

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


Desconectado
Mensajes: 10
Registrado: 25 Jul 2012 14:45
Hola, donde puedo encontrar esas librerias? Quiero manejar desvios fleischmann escala n.
Gracias


Enviado desde mi iPhone utilizando Tapatalk


Desconectado
Mensajes: 298
Ubicación: Madrid
Registrado: 05 Ene 2011 22:29
Perdona mi desconocimiento, pero para utilizar el programa que indicas en Arduino ¿Cómo se hace? ¿se abre la libreria de servos y se sustituye todo el contenido por este programa? Gracias, un saludo


Desconectado
Mensajes: 46
Registrado: 15 Jul 2013 00:41

Buenas! Si, Norber eso ya lo tengo solucionado jejeje actualmente tengo casi casi todos los desvíos me funcionan como accesorios en DCC. La que mejor me ha funcionado es la libreria DCC_Decoder.h pero también he probado la NmraDcc.h y funcionan muy bien. Aunque no me gustaba algunas cosillas de los ejemplos y les he hecho un par de retoques.
Pues no conozco el trabajo de Rfe7747 pero lo investigaré. También tengo el interface para conectar la señal DCC al Arduino, que es un optoaclopador y unas resistencias. Lo malo es que ahora mismo la señal solo va en un sentido pero funciona a la perfección:

Imagen

maab2413 las librerías las tienes aquí: http://lamaquetade.infotronikblog.com/descargas/ Están las librerías y los programas de ejemplo, además el DCC sniffer que al no necesitar librerías es más sencillo a la hora de ver si funciona y por supuesto para obtener la información DCC. En el caso del DCC_Sniffer lo traduje para que fuera más sencillo a la hora de leer los datos. Lo puedes usar tanto para desvíos en H0, N, y bueno yo creo que con cualquier escala siempre que sea DCC.

Mira en este vídeo, el decoder que uso para los servos también controla la puerta del almacen haciendo que se abran y cierren y las luces con un pequeño efecto de encendido:



Rokiski: El software es muy sencillo de utilizar, las librerías se copian en la carpeta "librerías" normalmente están por la carpeta misdocumentos/arduino/librerias, creo recordar en windows, ahora me pase a linux y la ruta es otra. Una vez que la tienes en su sitio, abres el archivo del programa que sera extensión .ino y si todo va bien es cargar el programa en la placa. Bueno esto seria a "groso modo".
Si no has usado nunca Arduino, puedes mirar aquí para familiarizarte: http://www.infotronikblog.com/2014/12/arduino-primeros-pasos.html
Y si necesitas más ayuda o información pregúntame, y la medida de mis conocimientos intentare ayudarte.

Un saludo a todos!!

Un saludo a todos!!
Maqueta modular http://lamaquetade.infotronikblog.com/
Electrónica, digital y cacharreo http://www.infotronikblog.com/


Desconectado
Mensajes: 10
Registrado: 25 Jul 2012 14:45
Muchas gracias peyu, mirare el enlace.


Enviado desde mi iPhone utilizando Tapatalk


Desconectado
Mensajes: 43
Registrado: 11 Feb 2014 09:47
Hola, quería aportar un poco de información sobre el tema de desvios con servos y arduino.
En este link teneis librerias para dcc y el arduino pro mini (1.25 € en china, aqui anda sobre los 3 o 4€). Convierte un arduino pro mini en un decoder de 17 funciones (luces/servo/2 motores etc) hace falta algo mas de electronica como es el optoacoplador 6n137 como habeis puesto varios mensajes antes y dependiendo de si quieres controlar motores o no un chip mas y dos condensadores.
http://model-railroad-hobbyist.com/node/24316
En las librerias hay varios ejemplos con varias configuraciones.

Yo voy a intentar realizar algunos desvios controlados por dcc, dispongo de multimouse y en breve una z21(blanca).

Nota:
Con el tema de los desvios por servo se me plantea una duda y es que pasa si un tren pasa en sentido contrario sin cambiar el desvio, descarrila? Con desvios accionados por bobinas integradas o bajo panel, no descarrila, ya que las agujas estan libres y las ruedas del propio vagón las mueven. Las agujas del desvio son retenidas por un pequeño muelle del propio desvio que es facil de mover por las ruedas de los vagones.
No se si alguno de vosotros ya lo tiene hecho y puede aclarar esta duda.
Quizás si la varilla que usamos para mover las agujas es lo suficientemente elástica, puede que las ruedas lo lleguen a mover. En principio pensaba usar un clip de los finos(aluminio de color) estirado, pero creo que no sera suficientemente elástico, después he pensado en usar pelillos de sierra de marquetería, los americanos usan cuerdas de piano creo.

Por otro lado respecto a todo esto, se me plantean dudas a la hora de comprar las piezas y electrónica necesarias, a ver si entre todos podemos encontrar lugares decentes y sobre todo que no tarden 20 dias en enviar.

Lo que mas me cuesta encontrar es el 6n137 y el condensador de 270pf (va entre los pines 2 y 3 del 6n137, para filtrar los ruidos de la vía)para transformar la señal DCC al arduino. Actualemente estoy usando un 4n35 pero me han dicho que es mas inestable.
opciones de compra en china tirados de precio pero larga espera. En españa tiendas como farnell, rs o mouser salen mas caras y encima los gastos de envío. La verdad de momento con tener uno para probar sería suficiente.
En ebay teneis alguna tienda española donde comprar el arduino pro mini. http://www.ebay.es/itm/PRO-MINI-ATMega328-16MHZ-5V-Compatible-100-ARDUINO-/201500735857?hash=item2eea613971:g:LYgAAOSwiwVWS2LY
http://www.ebay.es/itm/1x-Pro-Mini-ATMEGA328-ATMEGA-5V-16Mhz-ARDUINO-COMPATIBLE-NANO-/131341412832?hash=item1e948ee9e0:g:zGkAAOSwAHZUMvpW

Con los servos pasa lo mismo, en ebay españa sobre 4€, en china 2€ o menos, pero creo quehay una alternativa y es en hobbyking europa. quizas por algo mas de 2€ hay un montón de servos y lo mejor, complementos para ellos.
http://www.hobbyking.com/hobbyking/store/__16257__HobbyKing_8482_HK15178_Analog_Servo_1_4kg_0_09sec_10g.html


Desconectado
Mensajes: 761
Ubicación: Salamanca
Registrado: 12 Ene 2012 14:44
El montaje de Geoff Bunza que citas tiene una pequeña pega, y es que está dando señal constantemente a cada servo, de manera que no es raro oír como un pequeño crepitar cada pocos segundos, que se debe a que el software no deja quieto un servo que ya ha llegado a su posición, sino que constantemente lo obliga a ir a ella con poco éxito… El término inglés es jittering. Creo que así los servos envejecerán muy pronto.

Generalmente no es necesario el condensador de los 270 pF. El montaje funciona bien sin él, a no ser que la central proporcione una señal DCC con alguna deformación o 'moño' (visible solo con osciloscopio digital), que no es el caso de las comerciales. El Multimaus no lo hace. Y me parece que el optoacoplador 6N137 no es tan raro, aunque sí algo carrillo (ronda los 3€).
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