? En esta clase… Veremos qué es un motor eléctrico y sus características Sabremos qué es y cómo hacer funcionar un servomotor Y veremos otros tipos de motores empleados en robótica Aprenderemos a controlar motores con Arduino
? ¿Qué es un motor? Son máquinas capaces de transformar diversos tipos de energía en energía mecánica con la que realizar trabajo Los motores eléctricos se basan en interacciones electromagnéticas para transformar energía eléctrica en mecánica
? Motores de corriente continua con escobillas Requieren de conmutadores rotativos para generar el campo magnético adecuado La velocidad depende generalmente de la tensión aplicada
? Arranque del motor ¡¡Hay que prestar atención a esos picos de corriente!! Al arrancar no existe fcem, por tanto la corriente queda limitada por la resistencia del bobinado
? Control de motores de corriente continua: PWM SEÑAL PWM Podemos ver como la anchura del pulso modifica el valor medio de la tensión de la señal
? Inversión del sentido de giro y frenado Para invertir sentido el giro hay que invertir la polaridad El motor puede tener frenado pasivo, reostático o regenerativo Al desconectar un motor, colapsa el campo magnético de las bobinas y se produce un pico de tensión de polaridad opuesta No debe cambiarse bruscamente el sentido de giro de un motor cargado, es mejor frenarlo primero
? El puente en H Consiste en 4 interruptores conectados en parejas Permite controlar la velocidad, invertir el giro y frenar el motor
? Puente en H de nuestro robot: el L293D > Consta de dos puentes en H completos (4 medios puentes) > Incluye diodos para absorber la fcem al desconectar > Hasta 600mA continuos, 1.2A de pico > Transistores bipolares Existen varios chips que pueden suministrar más o menos potencia, a la vez de tener otras características similares
? Uso del L293D Consta de 4 entradas y 4 salidas + 2 ENABLE Las entradas controlan las salidas según la siguiente tabla: Cada ENABLE activa uno de los puentes
? Esquema de conexión
? Ejemplo con Arduino
Ejemplo con Arduino: código La función AnalogWrite de arduino no da valores puramente analógicos, sino PWM. Vamos a aprovecharlo para controlar nuestro L293D. Lo primero será activar el ENABLE del puente que vamos a utilizar Después, pondremos una entrada a HIGH o a LOW y haremos PWM en la otra. Conmutaremos las funciones para cambiar de sentido de giro.
? Ejemplo en Arduino de CNY 70
? Otros tipos de motores Un tipo de motor muy empleado en radiocontrol es el BLDC Son muy eficientes y pueden suministrar grandes potencias en tamaños reducidos Requieren corrientes sinusoidales
? Otros tipos de motores Los motores paso a paso pueden hacer desplazamientos discretos (pasos) de una serie de grados Conmutando secuencialmente las bobinas pueden hacerse girar Pueden quedarse fijos en una posición
? Servomotor Es un motor eléctrico de cualquier tipo con realimentación de posición Mediante un sistema de control específico, pueden quedarse fijos en cualquier posición angular y mantenerla Suelen consistir en un motor, una caja reductora acoplada a un potenciómetro, y un circuito de control Normalmente se les aplica pulsos cuya duración es proporcional a la posición deseada
? Servomotor Colores habituales de los cables
? Ejemplo con Arduino: giros con servomotor Vamos a utilizar la clase Servo de Arduino para el control de servomotores Tiene métodos para decirle al servo la posición angular a la que quieres que se mantenga directamente en grados Simplifica mucho el control y es compatible con la gran mayoría de los servos, ya que las anchuras de pulso en función de la posición deseada están prácticamente estandarizadas
? Ejemplo con Arduino: giros con servomotor Conectaremos el positivo del servo a 5V, el negativo a tierra, y el cable de señal al pin 12
? Ejemplo con Arduino: giros con servomotor Enviaremos por serie la posición deseada, entre 0 y 180 grados. El servo se moverá hasta esa posición.