Micropasos en motor PAP

Que tal, tengo algun tiempo con los motores a pasos y casi siempre los he manejado con el circuito L298, puente H dual.

Ahora he estado leyendo un poco mas sobre los micropasos, aun no queda completamente claro, alguien tiene información detallada sobreesto?

y una duda el circuito L298 se puede utilizar con los micropasos??

Gracias por su atención
 
El L298 solo aplica corriente al motor, no genera los pasos.

¿ Como lo empleaste para controlar un PaP ?
 
Tengo la misma pregunta, ademas de ¿es un motor bipolar o unipolar?

Pero pasando a lo demas, hay direntes formas de control para estos motores, te dejo la info por aca:

www.todorobot.com.ar/informacion/tutorial stepper/stepper-tutorial.htm

Esta muy bien explicado ahi, leela y pon mas detalles, como que motor es, que circuito lo controla y que quieres cambiar.

Pd: con lo del l298 supongo que es bipolar, y si se puede hacer lo que planteas solo basta con cambiar la secuencia.

Saludos,
 
Última edición:
los pulsos los mando con un ArduinoUNO, es un motor pap bipolar, mi duda es sobre si puedo utilizar el mismo driver (L298) si uso micropasos, no existe algun problema?, aun no estoy tan empapado con la informacion de los micropasos
 
Última edición:
Gugugo, sabes controlar un pap bipolar con el driver L298 mediante Arduino?

Tengo que hacer un proyecto similar, mi pap es de 18V y 1'6A por lo que no habría problema de aporte energético.

Lo que no se es cómo hacer la conexión de Arduino-L298, se que se controlan mediante las entradas TTL; En1, L1,L2 || En2,L3,L4. Pero cómo diferencia el driver que las señales son para el pap o para los DC? simplemente al detectar la carga direcciona hacia un motor u otro?

Podrías hacerme el grandísimo favor de explicarme cómo lo has hecho? y si colgases algún fragmento del código de Arduino o un esquema de conexión Arduino-L298 me convertirías en tu exclavo.

Estoy fundido ya de buscar info y no veo nada que me aclare de una vez por todas.

Por otra parte, es necesario controlar la corriente suministrada al pap mediante las Rsense? o sólo son para los DC?

Muchas gracias a ti o a cualquiera que me eche una mano.

Saludos!
 
Bienvenido/a

Lo que no se es cómo hacer la conexión de Arduino-L298, se que se controlan mediante las entradas TTL; En1, L1,L2 || En2,L3,L4. Pero cómo diferencia el driver que las señales son para el pap o para los DC? simplemente al detectar la carga direcciona hacia un motor u otro?
Para todas esas preguntas, con cualquier salida del Arduino, la cual previamente habrás configurado en tu código fuente.

Saludos.
 
que tal camarsa, que bueno que te interese el tema, y pronto te interesará mas cuando empieces a hacer pruebas.

Mira el L298 es un puente H DUAL, si ves su hoja de datos puedes encontrar que tiene dos puentes. El puente H nos sirve para controlar un motor de corriente directa en ambas direcciones, si quieres ver su funcionamiento dale una chekada en google.

Los motores a pasos generalmente están compuestos de dos bobinados independientes, los motores DC solo de uno, por ello si quieres controlar un motor a pasos necesitas dos puentes H, el circuito L298 te sirve para un motor PAP de máximo 2 amperes por fase. Si deseas controlar solo un motor DC con un L298 lo puedes hacer, usando solo uno de los dos puentes.

De los pines que mencionas EN1, EN2, L1, L2 L3 Y L4, los dos primeros habilitan o encienden cada puente H, puedes conectarlos a +5 Volts para que se activen ambos puentes. Los demas son las entradas TTL con las cuales controlas los puentes H. Vienen en pares L1 con L2, L3 con L4, el primer par controla un puente H y el segundo el otro.

Estas señales son de control, quiere decir que no les puedes exigir corriente, y provienen de algun dispositivo, como un Arduino. Para que estas señales activen al motor se necesita mayor voltaje y mayor corriente, sobre todos en los motores PAP, aqui es donde entra el puente H.

Si deseas controlaar un motor a pasos con un arduino, te recomiendo que veas en la pagina de arduino.cc la libreria stepper para motor a pasos. Me gustaria poder explicarlo todo pero creo q es mejor que tu lo vayas descubriendo, saludos.

Gugugo, sabes controlar un pap bipolar con el driver L298 mediante Arduino?

Tengo que hacer un proyecto similar, mi pap es de 18V y 1'6A por lo que no habría problema de aporte energético.

Lo que no se es cómo hacer la conexión de Arduino-L298, se que se controlan mediante las entradas TTL; En1, L1,L2 || En2,L3,L4. Pero cómo diferencia el driver que las señales son para el pap o para los DC? simplemente al detectar la carga direcciona hacia un motor u otro?

Podrías hacerme el grandísimo favor de explicarme cómo lo has hecho? y si colgases algún fragmento del código de Arduino o un esquema de conexión Arduino-L298 me convertirías en tu exclavo.

Estoy fundido ya de buscar info y no veo nada que me aclare de una vez por todas.

Por otra parte, es necesario controlar la corriente suministrada al pap mediante las Rsense? o sólo son para los DC?

Muchas gracias a ti o a cualquiera que me eche una mano.

Saludos!

Suerte con tus proyectos
 
Muy amable por la respuesta Gugugo, la verdad es que todo lo que mencionas ya lo tenía más que entendido (como te comenté me he pateado google) el problema es que estaba un poco reticente a la hora de conectar el sistema porque vengo de cargarme un A4988 >.< Así que no quería arriesgar de nuevo con el L298 sin estar "avalado" por alguien que ya lo hubiera hecho antes.

Pues nada, voy a tirar pa'lante a ver que ocurre, y de nuevo gracias.

Un saludo.
 
Hola Gugugo y compañía, he conectado el pap al L298 y se mueve, pero no logro dar con la secuencia para rotar. He probado con varias que he visto pero avanza y retrocede...no nos entendemos.

Alguna ayudita?
 
Mira de la secuencia es simple, bueno no tanto por que hay que invertir polaridad, suponiendo las entradas que dice gugugo me imagino seria
Código:
[U]L1  L2  L3  L4[/U]
[COLOR="Red"]H   L   L   L[/COLOR]
H   L   H   L
[COLOR="Red"]L   L   H   L[/COLOR]
L   H   H   L
[COLOR="red"]L   H   L   L[/COLOR]
L   H   L   H
[COLOR="red"]L   L   L   H[/COLOR]
H   L   L   H
Esa me parece seria la secuencia para pasos medios, pero puedes hacer la secuencia de paso completo, la marcada de rojo es para una bobina y la negra para dos bobinas (mayor torque).
Respecto a los micro pasos, para eso necesitas medir la corriente e interrumpirla en cierto umbral controlando la como si fuese PWM pero no se si el ADC del Arduino soporte el trabajo, yo recomendaría usar un comparador adicional y que el Arduino por PWM generara la señal de referencia. Si las señales EN1 y EN2 habilitan cada puente H, la señal para interrumpir la corriente podría ir ahí.
La corriente sí es necesario limitarla y controlarla mediante el Rsense, los motores PaP no son como los de DC que giran e invierten polos solos, aquí tu motor puede detenerse, el inductor durante el cambio absorberá gran parte de la corriente y la volverá campo magnético, pero cuando este se sature comenzará a actuar como un resistor y la resistencia puede ser muy baja, si el motor trabaja a 1,6A puede terminar dejando pasar 5A o más si comienza a actuar como resistor, Rsense permite medir por la ley de Ohm la corriente en cada bobina y cuando se supera el umbral necesario debe cortarse, con esto la corriente cae, luego la reanudas y vuelve a aparecer el mismo efecto, tiene que hacerse así para que el torque se mantenga alto y sea eficiente, si el voltaje no es elevado la corriente tardará en conducir y el motor reaccionará lento, la otra opción era usar simples resistencias sin controlar la corriente por corte, pero este tiene el defecto de calentarse mucho.
 
Última edición:
Hola Gugugo y compañía, he conectado el pap al L298 y se mueve, pero no logro dar con la secuencia para rotar. He probado con varias que he visto pero avanza y retrocede...no nos entendemos.

Alguna ayudita?

Invierte la polaridad de una (Sola) de las bobinas del motor
 
Hola de nuevo!
Primero agradecer a Nuyel el aporte. Más o menos te he entendido, pero una pregunta, cuando entra el motor en saturación?

En cuanto a controlar la corriente mediante una PWM de momento no creo que me haga falta, ya que no necesito microstepping. En mi aplicación al rotor le añado una manivela, al girar el motor media vuelta y poner la manivela en la posición más elevada, se abrirán unas tolvas para seguidamente volver a la posición inivial (ABAJO) y que la tolva quede cerrada. Así que lo único que necesito controlar es media vuelta, tiempo de apertura, y vuelta a la posición de origen.

Para ello le aplico la secuencia de Nuyel y el rotor gira perfectamente, pero muy despacio. Y si le bajo mucho el parámetro "time" se vuelve loco. Pero sólo a veces...otras veces va bien.

delay(time);
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
digitalWrite(in3,LOW);
digitalWrite(in4,LOW);

delay(time);
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
digitalWrite(in3,HIGH);
digitalWrite(in4,LOW);

delay(time);
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
digitalWrite(in3,HIGH);
digitalWrite(in4,LOW);


delay(time);
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
digitalWrite(in3,HIGH);
digitalWrite(in4,LOW);


delay(time);
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
digitalWrite(in3,LOW);
digitalWrite(in4,LOW);


delay(time);
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
digitalWrite(in3,LOW);
digitalWrite(in4,HIGH);

delay(time);
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
digitalWrite(in3,LOW);
digitalWrite(in4,HIGH);

delay(time);
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
digitalWrite(in3,LOW);
digitalWrite(in4,HIGH);

Lo que hace que me hierva el craneo es que el motor no reacciona de la misma manera. De ahí que se vuelva loco "a veces" y otras veces gire finísimo.
A que se puede deber?
 
¿Qué circuito usas?
Tengo un PaP en el cual uso un driver unipolar que yo hice, me servirá probarlo con el bipolar, el Arduino UNO aún no me llega pero podría implementar el mismo programa en la LaunchPad. Te daría otra sugerencia que es solo reducir el numero de lineas de código
Primero inicia
Código:
digitalWrite(in1,HIGH); //Activar 1 y desactivar todas las demás
digitalWrite(in2,LOW);
digitalWrite(in3,LOW);
digitalWrite(in4,LOW);
Luego cuando estés rotando el código en bucle para controlar el motor hazlo así
Código:
delay(time);
digitalWrite(in3,HIGH); //Activar 3
delay(time);
digitalWrite(in1,LOW); //Desactivar 1
delay(time);
digitalWrite(in2,HIGH); //Activar 2
delay(time);
digitalWrite(in3,LOW); //Desactivar 3
delay(time);
digitalWrite(in4,HIGH); //Activar 4
delay(time);
digitalWrite(in2,LOW); //Desactivar 2
delay(time);
digitalWrite(in1,HIGH); //Activar 1
delay(time);
digitalWrite(in4,LOW); //Desactivar 4
Con eso evitas agregar ordenes innecesarias al MCU, seria de utilidad ver el código completo.
 
Uso el driver L298N como etapa de potencia, y el Arduino UNO como control. Las salidas digitales del Arduino conectadas a las entradas del driver. La alimentación lógica de la placa mediante la salida de 5V de Arduino, y la alimentación del motor mediante una fuente externa de 19~24V DC. Comparto tierra con Arduino y la fuente de tensión y ambos con un condensador de 100nF conectado a tierra como aconseja el datasheet.
El código completo no va más allá que la declaración de las variables como salidas digitales.
Entiendo lo de abreviar el código, así que lo modificaré y probaré.
Una pregunta, he estado leyendo sobre la necesidad de diodos de rápida conmutación, y los 1N4007 que trae el Driver creo que no lo son. Podría ser un problema, o no estoy en lo cierto?

Gracias, un saludo!
 
Tengo una duda sobre la corriente que circulará por las bobinas del motor. Mi motor es de 1'6A, si tengo las Rsense a tierra estaré proporcionándole la máxima corriente que el driver L298 pueda otorgar, es decir 2 A, por lo tanto por el bobinado del motor circularán 2 A o sólo pasarían 1'6A ya que es lo que el motor consume?

Y otra pregunta, si el driver pudiera suministrar mucha más corriente, y si alimento el motor con 24V y este tiene una resistencia en el bobinado de 4 Ohm, según la ley de Ohm el motor consumiría 6 A?
 
Depende del valor de Rsense, generalmente es extremadamente bajo, solo para poder medir la corriente no para limitarla, por que aplicando la ley de Ohm cuando tu motor se paré la corriente sube, estaba en exámenes así que no pude atender nada, más tarde o mañana tendría un circuito diseñado para probar.
Lo que no he preguntado es si aquí me manejan ese integrado.
 
Nuyel que hay, gracias por dedicarme tiempo y más aún de exámenes. Que tengas suerte con ellos.

Una pregunta sobre colocar la PWM a los terminales Enable del driver. Si activo y desactivo los puentes (con la PWM) es cierto que corto la corriente que pasa al motor, pudiendo así regularla pero, mientras están cerrados, los cambios que se hagan en las entradas no tendrán efecto sobre el motor y cuando vuelvan a abrirse los puentes se habrán perdido pasos no?

EDITO: Crees que si pusiera In1, In3 = HIGH e In2, In4 = LOW permanentemente, y fuese alternando la activación de los puentes ENA,ENB ON/OFF el motor avanzaría a la velocidad determinada por la activación de los puentes? es decir por la PWM?
 
Última edición:
Atrás
Arriba