Arduino + Java + Led + Motor Paso a Paso

723 views
Skip to first unread message

Jesús Guibert

unread,
Jan 16, 2014, 1:39:07 PM1/16/14
to comunida...@googlegroups.com
Buenas gente, aca va un video de un prototipo que estoy armando...
empeze viendo la teoria de un motor paso a paso(de esos que llevan las
impresoras dentro). Estos son motores de precision, donde podemos
decirle en vagas palabras cuantos grados moverse. Que mejor manera que
hacerlo con Arduino y para monitorear las cosas una interfaz en Java.
Java porque es lo primero que uso para pruebas rapidas.

Como a la Arduino no le da la potencia para manejar un motor, es
necesario implementar lo que se llama un "driver", el cual en definitiva
te permite manejar cosas potentes con poca potencia.
Lo que mas fue engorroso fue identificar en el motor que cables eran
que, ya que no encontre ninguna hoja de datos del mismo, lo saque de una
impresora matricial de las viejas. Pero con una lectura de como
funcionan y usando un tester se identifica rapidamente... tambien le
agrege un led que prende y apaga segun le indiquemos en la interfaz.

Para el "driver", tuve que usar un integrado el ULN2003, lo compre en
Casa Angelito ($70).
Lo bueno de este prototipo es la comunicacion entre PC-Arduino, ya que
la PC no solo le manda mensajes a la placa(al precionar los botones),
sino que nos retroalimenta con la informacion que nos manda la placa
Arduino y podemos mostrarla como queramos en el monitor. En este caso
cuando se prende el led, la placa nos avisa que se prendio ;)

En el video se puede ver como primero prendo/apago el led y despues voy
haciendo mover el motorsito, cambiandole la cantidad de pasos a moverse.
Le puse un broche en el motor para que se pueda ver bien en el video el
movimiento. No es tan elavorado, pero bue... es una prueba.

Aca van los link:
Teoria Motores paso a paso: http://es.wikipedia.org/wiki/Motor_paso_a_paso
Uln2003: http://en.wikipedia.org/wiki/ULN2003A
Video: http://www.youtube.com/watch?v=qm0Ki6l-SEs&feature=youtu.be

Saludos
Imagen.jpg

Edgardo Balbuena

unread,
Jan 16, 2014, 3:25:18 PM1/16/14
to comunida...@googlegroups.com
Muy bueno Jesús. Te vamos a "robar" el código respectivo. A seguir implementando proyectos. Sdos.




--
Has recibido este mensaje porque estás suscrito al grupo "Tecnicos" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a comunidadtecnica+unsubscribe@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

Nicolas Zuasti

unread,
Jan 16, 2014, 3:33:06 PM1/16/14
to comunida...@googlegroups.com
Asumo q todo lo que estas haciendo es al menos bajo creative commons no? :D

maestro este muchacho jesus

A.P. Nicolás Zuasti
@zonical.net/cv
Imaginatio


2014/1/16 Edgardo Balbuena <edgb...@gmail.com>
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a comunidadtecni...@googlegroups.com.

Andrés Pías

unread,
Jan 16, 2014, 4:48:08 PM1/16/14
to comunida...@googlegroups.com
Arriba groso!! A seguir laburando!!


El 16 de enero de 2014, 16:39, Jesús Guibert <njgu...@gmail.com> escribió:

Jesús Guibert

unread,
Jan 17, 2014, 1:03:55 PM1/17/14
to comunida...@googlegroups.com
cuando le comente el codigo lo subo a github para que queda a disposicion, la comunicacion Arduino + PC es muy facilito. Por lo menos en Java y C# que son los que uso para estas cosas...
saludos
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a comunidadtecni...@googlegroups.com.

Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
--
Has recibido este mensaje porque estás suscrito al grupo "Tecnicos" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a comunidadtecni...@googlegroups.com.

Jesús Guibert

unread,
Jan 25, 2014, 8:41:43 AM1/25/14
to comunida...@googlegroups.com
Gente va el codigo fuente por si alguno le interesa.
link: https://github.com/njguibert/ArduControl/
Saludos.



El 16/01/2014 18:25, Edgardo Balbuena escribió:
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a comunidadtecni...@googlegroups.com.

Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
--
Has recibido este mensaje porque estás suscrito al grupo "Tecnicos" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a comunidadtecni...@googlegroups.com.

Edgardo Balbuena

unread,
Jan 25, 2014, 9:08:37 AM1/25/14
to comunida...@googlegroups.com
Muchas gracias Jesús por tu aporte. Lo vamos a estudiar en detalle. 
Logré implementar un programita en Lazarus que permite leer la distancia usando un sensor ultrasónico HC-SR04 a través del puerto USB. 
Lazarus es un entorno de desarrollo multiplataforma que permite compilar código para diferentes plataformas, inclusive para Raspberry Pi. Es posible bajar un componente freeware que permite gestionar el puerto USB de manera muy fácil.
Saludos a la comunidad.

 

Jesús Guibert

unread,
Jan 27, 2014, 5:42:09 PM1/27/14
to comunida...@googlegroups.com
muy bueno!!! como se llama ese componente? pa pegarle una bichada. Y con el hc-sr04 hasta que distancia maxima detecta?

Saludos

Edgardo Balbuena

unread,
Jan 28, 2014, 9:57:36 AM1/28/14
to comunida...@googlegroups.com
El paquete se llama Sdpo-0.2.0 y está disponible en http://sourceforge.net/projects/sdpo-cl/

El paquete incluye varios componentes. Yo usé el componente SdpoSerial que sirve para leer o escribir un puerto serie (USB) y me permite interactuar con la placa Arduino a través del USB. La configuración de los parámetros de comunicación es muy fácil ya que viene con algunos ejemplos de aplicación. 

Sdpo está liberado bajo licencia LGPL modificada. Está bueno y permite encapsular todo el comportamiento de la comunicación USB en un solo componente. 

Respecto al sensor HC-SR04 adjunto datasheet del dispositivo que muestra cuales son sus principales características.

Quedo a la orden. Saludos a la comunidad. 

HC-SR04-datasheet-version-2.pdf

enrique ORTIZ

unread,
Aug 13, 2014, 12:05:38 AM8/13/14
to comunida...@googlegroups.com
buenas, perdone mi ignorancia pero es que no se como hacer, para implementarlo despues de haber copiado el codigo... pues que es lo primero que tengo que hacer despues de tener los programas de java y arduino instalados... 
gracias, espero pronta respuesta

El servicio de correo misena es soportado tecnológicamente por © Google y ofrecido por el Servicio Nacional de Aprendizaje – SENA de manera gratuita a todos los colombianos y en especial a los aprendices e instructores de Programas de Formación Titulada y Complementaria. Los contenidos, textos, imágenes, archivos y puntos de vista enviados en este mensaje son responsabilidad exclusiva del remitente y no reflejan ni comprometen oficialmente a la institución. No se autoriza el uso de esta herramienta para el intercambio de correos masivos, cadenas o spam, ni de mensajes ofensivos, de carácter político, sexual o religioso, con fines de lucro, con propósitos delictivos o cualquier otro mensaje que se considere indebido o que vaya en contra de la Ley.

Jesús Guibert

unread,
Aug 13, 2014, 8:46:12 AM8/13/14
to comunida...@googlegroups.com
Buenos dias! decime con que componentes quieres utilizar los programas? para decirte bien como hacer funcionar el proyectito con eso.
Creo que ya contaras con alguna Arduino?, hay que tener en cuenta que si cargas el sketch en la Arduino una manera muy facil de poder probar la comunicacion es desde el propio IDE de Arduino, utilizando el Monitor Serie. De esa forma podemos enviar un JSON como es el que envia la aplicacion JAVA al puerto serie que esta la Arduino conectada... por ejemplo
si mandamos LED:PRENDER a ese puerto serie el sketch parsea ese JSON sacando la accion y el valor....

Pero primero vamos a ver que es lo que tienes.

Saludos
--
Has recibido este mensaje porque estás suscrito al grupo "Tecnicos" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a comunidadtecni...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

enrique ORTIZ

unread,
Aug 13, 2014, 10:42:27 AM8/13/14
to comunida...@googlegroups.com
si amigo, mira la verdad yo tengo un proyectico y ya tengo la interfaz en processing y el código en arduino, pero es con un servo, mi proyecto trata de apuntamiento y tele control de una antena hacia un satélite, entonces en servo no tiene la suficiente fuerza para hacer subir la antena a los grados de elevación, así que me toca hacerlo con motor paso a paso.. yo tengo dos tarjetas arduino uno, dos shiel xbee, dos modulos xbee.. y motores paso a paso de alto torque... te voy adjuntar el código para que eches un vistaso y veas que es lo que quiero hacer...
quedo atento y gracias....


--
Has recibido este mensaje porque estás suscrito a un tema del grupo "Tecnicos" de Grupos de Google.
Para anular la suscripción a este tema, visita https://groups.google.com/d/topic/comunidadtecnica/KFqITzeMvcs/unsubscribe.
Para anular la suscripción a este grupo y a todos sus temas, envía un correo electrónico a comunidadtecni...@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.
sketch.properties
vlc_2_0_7_win32_exe.pde
servo_y_interfaz_terminada.ino

Jesús Guibert

unread,
Aug 13, 2014, 10:54:05 AM8/13/14
to comunida...@googlegroups.com
Impecable, en un ratito leo tu codigo, pero ya te voy diciendo que para manejar los motores paso a paso con la arduino precisas una shield para los mismos. A la arduino no le da la potencia para controlarte los motores. Por eso en el proyectito mio utilice el integrado ULN2003 para poder manejar la potencia hacia el motor.

Tenes el datasheet de tus motores paso a paso? yo para ir mirando cuales tienes y entrar a clasificar si son unipolar o bipolar.

Jesús Guibert

unread,
Aug 13, 2014, 11:08:06 AM8/13/14
to comunida...@googlegroups.com
Impecable, muy bueno el codigo y lo mejor de todo comentada cada linea.
espero la especificacion de los motores.

enrique ORTIZ

unread,
Aug 13, 2014, 11:36:50 AM8/13/14
to comunida...@googlegroups.com
si claro el motor es bipolar y la potencia si me toca manejarla como tu dices, una preguntica? yo podria hacer lo mismo con un motor reductor ?

enrique ORTIZ

unread,
Aug 13, 2014, 11:47:28 AM8/13/14
to comunida...@googlegroups.com
esto es lo otro que encontre de otro motor que tengo...

Especificaciones:

* Diámetro: 30 mm

* Motor Longitud: 42 mm

* Longitud total (excluya eje) 85mm

* Eje de salida de diámetro: 6 mm

* Longitud del eje de 35 mm

* Potencia: 17W

* Voltaje de funcionamiento: 12 V

* Torque 1.72Nm

* Velocidad a la descarga: 8100rpm / 120 rpm (después de reducción de engranajes)

* Corriente de descarga: 75 mA

* Corriente en puesto: 1400mA

* Relación de engranajes: 1/64

* Caja de cambios: Metal

* Encoder: OPTO

* Fase Encoder: AB Dual

* Resolución del encoder: 12CPR

IMG_20140724_091738.jpg

Jesús Guibert

unread,
Aug 13, 2014, 12:19:22 PM8/13/14
to comunida...@googlegroups.com
Este motor es uno de corriente continua.
tenes info del motor bipolar?
cuales queres controlar desde JAVA + ARDUINO.

tienes algun integrado para armar el driver del/los motor/es?

enrique ORTIZ

unread,
Aug 13, 2014, 12:42:52 PM8/13/14
to comunida...@googlegroups.com
bueno pues quiero controlar desde java + arduino cualquiera que me sirva para elevar la antena a los grados, del satelite en este caso son 73 grados... y pues el driver aun no lo tengo pues por que no c que motor es... el que voy a usar pero eso es lo de menos pienso yo. y lo que tengo del motor es esto:


Modelo57BYG250C
Longitud 7.6cm
Ángulo de paso 1.8° (5% de precisión)
Total pasos vuelta 57
Voltaje nominal24V
Corriente nominal 3A
Torque 18.35KgrCm
Resistencia de fase1.2?
Inductancia de fase 3.6mH
Temperatura de operación -20°C~+80°C
Cables de conexión4

Jesús Guibert

unread,
Aug 13, 2014, 3:08:48 PM8/13/14
to comunida...@googlegroups.com
Impecable ya tenes la arduino y el motor... consiguete en alguna tienda de electronica el integrado... ;) por el costo que tendra pode comprar los dos que se me vienen a la mente, el ULN2003 y un L298...
;)

enrique ORTIZ

unread,
Aug 13, 2014, 5:43:52 PM8/13/14
to comunida...@googlegroups.com
bueno amigo y ahora o mientras como hago el código y la interfaz para dicho motor o como monto el que tu tienes ya que se mismo proyectico me puede servir

Jesus Guibert

unread,
Aug 13, 2014, 5:52:45 PM8/13/14
to comunida...@googlegroups.com
Ya haz programado en java? Anda armándote la interfaz como mas te guste. Después capturamos los eventos de la misma y la enviamos al puerto que este conectada la arduino ;) como guia podes usar el mío. Ahi cree una clase de comunicación con la placa arduino. Para simplificar la cosa ;)

De: enrique ORTIZ
Enviado el: ‎13/‎08/‎2014 18:43
Para: comunida...@googlegroups.com
Asunto: Re: Arduino + Java + Led + Motor Paso a Paso

[No se incluye el mensaje original completo.]

enrique ORTIZ

unread,
Aug 13, 2014, 6:01:03 PM8/13/14
to comunida...@googlegroups.com
nee en java no.. descargue netbeans pero no tengo se muy bn como crear la interfaz que necesito


--
Has recibido este mensaje porque estás suscrito a un tema del grupo "Tecnicos" de Grupos de Google.
Para anular la suscripción a este tema, visita https://groups.google.com/d/topic/comunidadtecnica/KFqITzeMvcs/unsubscribe.
Para anular la suscripción a este grupo y a todos sus temas, envía un correo electrónico a comunidadtecni...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Jesus Guibert

unread,
Aug 13, 2014, 6:02:28 PM8/13/14
to comunida...@googlegroups.com
Decime algún lenguaje que manejes. Que esto se puede hacer casi con cualquiera...

De: enrique ORTIZ
Enviado el: ‎13/‎08/‎2014 19:01

enrique ORTIZ

unread,
Aug 13, 2014, 6:05:12 PM8/13/14
to comunida...@googlegroups.com
lenguaje c arduino.... mira lo que yo quiero hacer es algo igual a esto pero con arduino y solamente elevacion....


--
Has recibido este mensaje porque estás suscrito a un tema del grupo "Tecnicos" de Grupos de Google.
Para anular la suscripción a este tema, visita https://groups.google.com/d/topic/comunidadtecnica/KFqITzeMvcs/unsubscribe.
Para anular la suscripción a este grupo y a todos sus temas, envía un correo electrónico a comunidadtecni...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Jesus Guibert

unread,
Aug 13, 2014, 6:19:44 PM8/13/14
to comunida...@googlegroups.com
Perfectamente lo podes hacer. Pero lo primero que se me viene en mente es que realices un sketch para la arduino para enviarle  la cantidad de paso a dar un motor. Tratar de interactuar desde el propio monitor serial del ide.
Después de tener cocinado esto haces una interfaz con algún lenguaje de programacion

De: enrique ORTIZ
Enviado el: ‎13/‎08/‎2014 19:05

enrique ORTIZ

unread,
Aug 13, 2014, 6:43:07 PM8/13/14
to comunida...@googlegroups.com
listo ya lo tengo ahora como hago para hacerle interfaz a esto ?


--
Has recibido este mensaje porque estás suscrito a un tema del grupo "Tecnicos" de Grupos de Google.
Para anular la suscripción a este tema, visita https://groups.google.com/d/topic/comunidadtecnica/KFqITzeMvcs/unsubscribe.
Para anular la suscripción a este grupo y a todos sus temas, envía un correo electrónico a comunidadtecni...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Bipolar_arduino_control.ino
Reply all
Reply to author
Forward
0 new messages