|
|
SERVOS | MOTORES CC | MOTORES AC | MOTORES PaP |
Para que nuestro robot pueda moverse necesitamos poder controlar motores o servos con precisión para así hacer que nuestro robot pueda moverse con total libertad y seguir un camino marcado o cualquier otra cosa...
TEORIA |
Para controlar un servo tendremos que aplicar un pulso de duración y frecuencia específicos. todos los servos disponen de tres cables dos para alimentación Vcc y Gnd y otro cable para aplicar el tren de pulsos de control que harán que el circuito de control diferencial interno ponga el servo en la posición indicada por la anchura del pulso. En la siguiente tabla están indicados los valores de control y disposición de cables de varias marcas que comercializan servos.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PRACTICA |
Para hacer funcionar un servo por primera vez y ver su recorrido me tuve que idear una simple rutina con la que pude experimentar sin problemas con distintas duraciones de pulsos y así poder comprobar el recorrido del servo standard FutabaS3003 que compré por un precio de 3900 Pts. Mediante un interruptor introduciremos dos ordenes básicas al pic que serán pon el servo en posición de 0º y pon el servo en posición de 180º con estas dos posiciones tendremos un circuito practico de comprobación del recorrido de cualquier servo. El esquema de conexionado es el siguiente.: La rutina se basa en un bucle continuo de comprobación de la línea RA0 a la que le he conectado un interruptor de palanca, si el interruptor esta abierto entonces llega un 0 lógico a RA0 y el servo gira hasta la posición 0º y si el interruptor esta cerrado por tanto llega un 1 a RA0 y el servo gira a la posición máxima de 180º. El tren de impulsos saldrá por la patita RB0 del PIC y conectará directamente con la entrada de pulsos del servo. La anchura del pulso viene definida por el retardo creado por software y que mantendrá a nivel lógico 1 la salida durante la duración de este. Una vez pase a nivel lógico 0 entrará en funcionamiento otra rutina de retardo con el tiempo suficiente para completar los 20 ms para obtener la frecuencia de 50 Hz necesaria, y se repetirá el proceso indefinidamente. Los retardos han sido calculados con el programa CalDelay |
TEORIA |
Para cambiar la dirección de giro en un motor de Corriente Continua tan solo tenemos que invertir la polaridad de la alimentación del motor. Para modificar su velocidad podemos variar su tensión de alimentación con lo que el motor perderá velocidad, pero también perderá par de giro (fuerza) o para no perder par en el eje de salida podemos hacer un circuito modulador de anchura de pulsos (pwm) con una salida a transistor de mas o menos potencia según el motor utilizado. |
|||||||||||||||
PRACTICA |
Control de dirección por medio del Circuito Integrado L293B
H=Nivel Alto "1" -- L=Nivel Bajo "0" -- Z = Alta Impedancia Así pues, vemos que poniendo a nivel alto la entrada de habilitación "EN" del driver, la salida de este "OUT" pasa de alta impedancia al mismo nivel que se encuentre la entrada del driver "IN" pero amplificado en tensión y en corriente, siendo esta de 1A máximo. La tensión de alimentación del circuito integrado no es la misma que se aplica a las carga conectada a las salidas de los drivers, y para estas salidas se a de alimentar el driver por su patita número 8 (Vs), la tensión máxima aplicable a estas patitas es de 36V Como este integrado no dispone de disipador, se recomienda hacer pasar una pista ancha de circuito impreso por las patitas de masa que junten todas estas y al mismo tiempo haga de pequeño disipador térmico, aunque para grandes cargas lo mejor es usar un disipador como el mostrado en la pagina 9 del datasheet.
Control Unidireccional: En la siguiente figura vemos las dos formas de conectar un motor para control unidireccional, M1 se activa al poner la entrada del driver conectado a este, a nivel bajo "0", mientras que M2 se activa al poner la entrada del driver a nivel alto "1" y se para al ponerla a nivel bajo "0".
La entrada enable es como un interruptor general y deberá ponerse a nivel alto "1" para poder operar con los drivers que controla, o a nivel bajo "0" si se quiere desconectar el control de estos. "Vs" será la tensión de alimentación necesaria para los motores. Los diodos modelo 1N4007 son para proteger el circuito de los picos de arranque y parada de los motores debido a la corriente inversa inducida por estos. Control Bidireccional: En el siguiente circuito vemos el modo de conectar un motor para permitir controlarlo tanto hacia delante como hacia atrás.
Para tener el control de dos direcciones o bidireccional se usan dos de drivers del l293b conectando sus salidas a los polos del motor, entonces podremos cambiar la polaridad de alimentación del motor con tan solo cambiar de estado las entradas de los drivers. Por ejemplo, para que el motor gire hacia la derecha pondremos la entrada "A" a nivel alto "1" y "B" a nivel bajo "0" y para hacer girar el motor a la izquierda tendremos que invertir las señales de entrada de tal menera, la entrada "A" a nivel bajo "0" y "B" a nivel alto "1". Los diodos son como en el caso anterior para proteger el integrado de corrientes inversas.
|
MOTORES PaP | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TEORIA |
Bipolar: Este tipo de motor lleva dos bobinados independientes el uno del otro, para controlar este motor se necesita invertir la polaridad de cada una de las bobinas en la secuencia adecuada, para esto necesitaremos usar un puente en "H" o driver tipo L293b para cada bobina y de este modo tendremos una tabla de secuencias como la siguiente:
Cada inversión en la polaridad provoca el movimiento del eje, avanzando este un paso, la dirección de giro se corresponde con la dirección de la secuencia de pasos, por ejemplo para avanzar el sentido horario la secencia seria 1-2-3-4,1-2-3-4.... y para sentido anti-horario seria; 4-3-2-1,-4-3-2-1...
Unipolar: El motor unipolar normalmente dispone de 5 o 6 cables dependiendo si el común esta unido internamente o no, para controlar este tipo de motores existen tres métodos con sus correspondientes secuencias de encendido de bobinas, el común irá conectado a +Vcc o masa según el circuito de control usado y luego tan solo tendremos que alimentar la bobina correcta para que avance o retroceda el motor según avancemos o retrocedamos en la secuencia.
Las secuencias son las siguientes:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PRACTICA |
Para hacer esto podemos usar transistores montados en configuración Darlington o usar un circuito integrado como el ULN2003 que ya los lleva integrados en su interior aunque la corriente que aguanta este integrado es baja y si queremos controlar motores mas potentes deberemos montar nosotros mismos el circuito de control a base de transistores de potencia. El esquema de uso del ULN2003 para un motor unipolar es el siguiente: Las entradas son TTL y se activan a nivel alto, también disponen de resistencias de polarización internas con lo que no deberemos de preocuparnos de esto y podremos dejar "al aire" las entradas no utilizadas. Las salidas son en colector abierto.
El esquema será similar al siguiente:
|
Robotica & µControladores Pic
ionitron · 2001-2003