martes, 1 de noviembre de 2011

Controlando un Motor de corriente continua con Basic Stamp 2

Siguiendo con las infinitas aplicaciones de los microcontroladores en la electrónica, concretamente el BasicStamp2 de Parallax, esta vez quiero compartir esta aplicación que es muy sencilla, pero a la vez muy útil.

Con mi padre (que es igual de giro sin tornillo) poco a poco estamos empezando a manipular motores paso a paso y de corriente continua, ademas de algunos elementos mecánicos como son las poleas, correas, engranajes , reductores, etc ... con la esperanza de adquirir algo de experiencia algún día poder realizar un proyecto complejo como una fresadora CNC o algún robot domestico.

Esta vez quisimos controlar un motor de corriente continua de 12v , 60RPM (tiene integrado un reductor) para mover algún adorno para el halloween recién pasado.

La idea era colocar 2 poleas a lo largo del antepatio, cruzado por alguna correa (que en este caso es nylon de pescar) y colgar 4 fantasmas que llevan en su interior un Led RGB (multicolor) "automático", es decir, que cambia de color de manera autónoma, se alimenta como cualquier led

Para ello construí este sencillo circuito:


Realmente no requiere mucha explicación, básicamente es el BS2 controlando 2 reles, uno para prender/apagar el motor (este rele podría ser reemplazado por un transistor) y el otro para controlar su dirección de giro, invirtiendo la polaridad de alimentación. Se utilizan transistores 2N2222 para controlar las bobinas de los reles.

El código utilizado es el siguiente:


' {$STAMP BS2}
' {$PBASIC 2.5}


LOW 0        ' rele ON/OFF
LOW 5        ' rele DIRECCION


freno VAR Word     ' variable tiempo motor apagado, permite que el motor "frene"
encendido VAR Word ' variable tiempo motor encendido


freno =       1000 ' tiempo motor apagado, permite que el motor "frene"
encendido =   15000 ' tiempo motor encendido


DO                 ' INICIO CICLO


OUT0 = 1           ' enciende motor
PAUSE encendido    ' tiempo motor encendido
OUT0 = 0           ' para motor
PAUSE freno        ' tiempo motor apagado
OUT5 = 1           ' cambio direccion


                   ' WELTAAAA


OUT0 = 1           ' enciende motor
PAUSE encendido    ' tiempo motor encendido
OUT0 = 0           ' para motor
PAUSE freno        ' tiempo motor apagado
OUT5 = 0           ' cambio direccion




LOOP               ' VUELVE A EMPEZAR EL CICLO

El resumen, el microcontrolador:

- Empieza el ciclo
- Hace girar el motor durante 15 segundos ( para que los objetos avancen)
- Detiene el motor 1 segundo (para que pare solo, ya que tiene inercia)
- Cambia el sentido de giro activando el segundo relé y lo hace girar 15segundos
- Detiene el motor 1 segundo (para que pare solo, ya que tiene inercia)
- Vuelve a empezar el ciclo

Aprovechando de que Proteus puede simular el circuito de manera muy sencilla, procedí a grabar este video para que puedan ver su principio de funcionamiento:


Ahora los elementos mecánicos:

Polea adosada directamente al reductor del motor de CC, se alcanza a ver la correa, osea, el nylon de pescar:


En el otro extremo, una polea que gira libre, atornillada a la reja del final del patio y camuflada entre las plantas:


Elementos electrónicos; Fuente de poder variable (ajustada a 12V) + BS2 Homework Board + Relés


Y bueno, los objetos a mover, 4 fantasmas hechos con una pelota de ping-pong y genero blanco, iluminados por Leds RGB


Vídeo del invento funcionando (falto aceitar la polea que gira libre jajaja) :


Espero esta información les sea de utilidad :)

Alejandro CE3VRT