4. Potencia bajo control
En este reto vamos a controlar motores de corriente contínua (CC). En cursos anteriores aprendimos a invertir motores con conmutadores dobles y o con relés. Nos interesa controlar los motores porque es la forma de mover elementos que necesiten movimiento contínuo como un vehículo, un ascensor, una puerta corredera...
Nos introduciremos también en el Aprenderemos también a usar el sensor detector infrarrojo (IR) que podremos usar para detectar obstáculos, saber si una puerta está abierta o cerrada o incluso seguir una línea negra pintada.
El motor de corriente continua (CC o DC)
Uno de los motores más comunes en electrónica es el motor de corriente continua. Estos motores se usan el herramientas como taladros, sierras de mesa y amoladoras. Son usados en aplicaciones caseras como ventiladores, lavadoras, secadoras, batidoras, microondas y aspiradores. El motor de corriente continua se usa normalmente para girar las ruedas en coches teledirigidos y muchos tipos de robots móviles.
Un motor de corriente continua tiene dos terminales – uno de alimentación y otro de tierra. Los cables están conectados a bobinas dentro de la caja del motor. Cuando la corriente fluye por las bobinas, el campo electromagnético hace que el motor gire. La velocidad del motor se puede modificar cambiando el voltaje de alimentación a las bobinas.
A parte del voltaje, la corriente es importante para crear el campo eléctrico que causa el giro del motor. Los motores necesitan una corriente en base a la carga que estén tratando de empujar o girar. La potencia eléctrica es el producto de la corriente y el voltajes (P = V • I). Si un motor se alimenta con menos potencia, no girará. De hecho, la mayoría de los motores de continua necesitan más potencia de la que pueden dar los pines digitales de la placa Arduino. Eso significa que no puedes conectar un motor de continua directamente a un pin de la placa Arduino y esperar que gire. A parte de necesitar más potencia, los motores de continua necesitan un dispositivo electrónico llamado controlador. Un controlador controla la potencia del motor y controla la dirección a la que gira el motor. La dirección del motor se basa en la dirección en la que está fluyendo la corriente a través del motor.
Fuente: Arduino.cc
EL PUENTE EN H
Un Puente en H es un circuito electrónico que generalmente se usa para permitir a un motor eléctrico DC girar en ambos sentidos, avance y retroceso. Son ampliamente usados en robótica y como convertidores de potencia. Los puentes H están disponibles como circuitos integrados, pero también pueden construirse a partir de componentes discretos.
El término "puente H" proviene de la típica representación gráfica del circuito. Un puente H se construye con 4 interruptores (mecánicos o mediante transistores). Cuando los interruptores S1 y S4 (ver primera figura) están cerrados (y S2 y S3 abiertos) se aplica una tensión positiva en el motor, haciéndolo girar en un sentido. Abriendo los interruptores S1 y S4 (y cerrando S2 y S3), el voltaje se invierte, permitiendo el giro en sentido inverso del motor.
Con la nomenclatura que estamos usando, los interruptores S1 y S2 nunca podrán estar cerrados al mismo tiempo, porque esto cortocircuitaría la fuente de tensión. Lo mismo sucede con S3 y S4.
Fuente: Wikipedia
Estructura de un puente H (marcado en rojo).
Puente en H con interruptores simulado en Crocodile
EL Mini Driver L298N
Evidentemente a estas alturas no vamos a usar interruptores para controlar motores porque no podríamos automatizar su funcionamiento, y aunque podríamos hacerlo con relés, estos son caros y lentos para gobernar pequeños motores. Usaremos el L298N, es un pequeño integrado que incluye dos puentes H-Bridge que podemos usar para gobernar simultáneamente dos motores CC.
Detector infrarrojo o siguelíneas
Un detector de obstáculos infrarrojo es un dispositivo que detecta la presencia de un objeto mediante la reflexión que produce en la luz. El uso de luz infrarroja (IR) es simplemente para que esta no sea visible para los humanos.
Constitutivamente son sensores sencillos. Se dispone de un LED emisor de luz infrarroja y de un fotodiodo que recibe la luz reflejada por un posible obstáculo.
Este tipo de sensores actúan a distancias cortas, típicamente de 5 a 20mm. Además la cantidad de luz infrarroja recibida depende del color, material, forma y posición del obstáculo, por lo que no disponen de una precisión suficiente para proporcionar una estimación de la distancia al obstáculo.
Pese a esta limitación son ampliamente utilizados para la detección de obstáculos en pequeños vehículos o robots. Su bajo coste hace que sea frecuente ubicarlos en el perímetro, de forma que detectemos obstáculos en varias direcciones.
También son útiles en otro tipo de aplicaciones como, por ejemplo, detectar la presencia de un objeto en una determinada zona, determinar una puerta está abierta o cerrada, o si una máquina ha alcanzado un cierto punto en su desplazamiento, es decir un final de carrera sin contacto físico.
Fuente: Luis Llamas
A. INVERSIÓN DE GIRO DE UN MOTOR
Esquema de montaje
Guía de programación
Vamos a comprobar el funcionamiento del puente en H para controlar el giro del motor en sentido horario, antihorario y parada.
En primer lugar pondremos a girar el motor poniendo en BAJO la entrada 1 y en ALTO la entrada 2, conectadas a los pines 7 y 6 respectivamente.
Esperamos 2 segundos e invertimos el giro poniendo en ALTO la entrada 1 y en BAJO la entrada 2. Esperamos otros 2 segundos.
Finalmente paramos el motor poniendo en BAJO la entrada 1 y la 2. Esperamos 2 segundos.
En el programa del ejemplo hemos usado el bloque comentario. Te puede resultar útil para anotar o explicar partes del programa.
ACTIVIDADES
A1
Realiza el montaje de la guía de programación. ¿Funciona todo bien?
Si algo no funciona revisa las conexiones y el programa.
A2
Ahora que has conseguido controlar giro del motor, vamos a controlarlo con el sensor IR. Programa el motor para que esté girando habitualmente y se detenga cuando el sensor IR detecte un obstáculo.
Carga el programa en la placa y comprueba su funcionamiento. Añade un captura de pantalla de la pestaña software de Bitbloq con tu programa en tu cuaderno.
A3
Ahora vamos a tratar de controlar el motor por medio del sensor IR. Programaremos una máquina estados.
Al empezar el programa, el motor estará parado. Al detectar un obstáculo, girará en sentido horario. Si vuelve a detectar un obstáculo, girará en sentido antihorario. Cada vez que detecte un obstáculo cambiará el sentido de giro.
Tendrás que usar una variable para almacenar el estado del motor (0 horario, 1 antihorario) según se detecte un obstáculo (recuerda el reto 3 cuando contabas presionando un pulsador). Añade un bloque de espera de 500 ms al final del primer condicional para dar tiempo a quitar el obstáculo del sensor IR.
Carga el programa en la placa y comprueba su funcionamiento. Añade un captura de pantalla de la pestaña software de Bitbloq con tu programa en tu cuaderno.
Para terminar, realiza un vídeo 🎥 del funcionamiento de la última actividad del reto que hayas conseguido realizar. Se recomienda pasarlo a GIF antes de insertarlo en el cuaderno.
B. CONTROLAMOS EL GIRO
Vamos a tratar ahora de controlar el giro del motor con pulsadores. Usaremos un pulsador para hacer que gire a la derecha, otro pulsador para hacer que gire a la izquierda y un tercer pulsador para hacer que el motor esté parado.
B1
Realiza el montaje de los pulsadores y programa el giro del motor. ¿Funciona todo bien?
Si algo no funciona revisa las conexiones y el programa.
B2
Añade ahora dos leds. Un led indicará que el motor gira en un sentido y otro led indicará que gira en el otro. Cuando esté parado, no se encenderá ningún led.
B3
Para terminar. añade el sensor IR a modo de fin de carrera. El motor se parará siempre que detecte un objeto delante del sensor y continuará la marcha que tuviera cuando no la detecte.
Para terminar, realiza un vídeo 🎥 del funcionamiento de la última actividad del reto que hayas conseguido realizar. Se recomienda pasarlo a GIF antes de insertarlo en el cuaderno.