594,245 miembros*
1,695 online*
Registrase aquí GRATIS
Login
594,245 miembros
IndustryArena Foro > Fabricación Avanzada > Controladores numéricos CNC > Diseno de la Tarjeta Controladora Micro-Step Unipolar "Mardus-Kreutz"
Página 12 de 27 2101112131422
Resultados 111 al 120 de 269
  1. #111
    Gold Member
    Fecha de Ingreso
    26 Aug, 06
    Ubicación
    USA
    Mensajes
    2758
    Cita Iniciado por edecalho Ver Mensaje
    Quisiera saber si alguien me puede ayudar con lo siguiente....
    Tengo una entrada analogica que va de 0 a 10 VDC.
    ¿se puede hacer un regulador de volosidad para motores serie con dicha salida? Se de muchos circuitos (dimmers) que se aplican para regular la velosidad pero no se como hacer para que el voltaje analógico controle el disparo del triac.

    Eduardo

    Quizas este circuito integrado te puede ayudar.
    Archivos Adjuntados Archivos Adjuntados

  2. #112
    Registered
    Fecha de Ingreso
    15 Feb, 07
    Ubicación
    Spain
    Mensajes
    11

    Cambio de velocidad

    Hola Kreutz, se que ya habeis comentado esto mismo en otro post pero no consigo entenderlo, tambien he leido todo el código y esto es lo que no entiendo:
    Estoy realizando una tarjeta basada en el A3986 (que tu conoces también....) y si pongo 1/16 micropaso y comienzo a enviar pulsos de forma individual necesito 16 pulsos para dar un paso completo ¿no es así?
    ¿Que pasa en vuestro diseño si pongo por ejemplo 1/8 paso y envio 8 pulsos a la entrada? Entiendo que debe dar un paso completo.
    ¿Que pasaria si envio 5 y giro al contrario?
    La única forma que entiendo que puede funcionar es que cuando envias un pulso a la entrada el motor da siempre un paso completo, lo que cambia es la forma en como lo da, es decir, el microcontrolador genera los micropasos necesarios segun como se haya configurado pero siempre que envio un pulso a la entrada doy un paso completo, ¿es así?. La verdad es que es dificil explicar esto con texto....

    Tengo un Gecko G203v y he probado con el Kcam (por que tiene esta función) a ir enviando pulsos a mano (con cada pulsación en el mouse envia un pulso) y para girar una revolución en un motor de 200 pasos he necesitado 500 pulsaciones. Esto tampoco me coincide con lo que marca el fabricante de 1/5 micropaso en baja velocidad,(200 pasos del motor X 5 micropasos=1000) ¿que estoy haciendo mal? Lo mismo que en tu caso, ¿como realizan el cambio de modo a alta velocidad sin perder pasos?
    Seguro que estoy perdiendo algún concepto básico......
    Gracias de antemano y un saludo

  3. #113
    Gold Member
    Fecha de Ingreso
    26 Aug, 06
    Ubicación
    USA
    Mensajes
    2758
    Cita Iniciado por MVS Ver Mensaje
    Hola Kreutz, se que ya habeis comentado esto mismo en otro post pero no consigo entenderlo, tambien he leido todo el código y esto es lo que no entiendo:
    Estoy realizando una tarjeta basada en el A3986 (que tu conoces también....) y si pongo 1/16 micropaso y comienzo a enviar pulsos de forma individual necesito 16 pulsos para dar un paso completo ¿no es así?
    ¿Que pasa en vuestro diseño si pongo por ejemplo 1/8 paso y envio 8 pulsos a la entrada? Entiendo que debe dar un paso completo.
    ¿Que pasaria si envio 5 y giro al contrario?
    La única forma que entiendo que puede funcionar es que cuando envias un pulso a la entrada el motor da siempre un paso completo, lo que cambia es la forma en como lo da, es decir, el microcontrolador genera los micropasos necesarios segun como se haya configurado pero siempre que envio un pulso a la entrada doy un paso completo, ¿es así?. La verdad es que es dificil explicar esto con texto....

    Tengo un Gecko G203v y he probado con el Kcam (por que tiene esta función) a ir enviando pulsos a mano (con cada pulsación en el mouse envia un pulso) y para girar una revolución en un motor de 200 pasos he necesitado 500 pulsaciones. Esto tampoco me coincide con lo que marca el fabricante de 1/5 micropaso en baja velocidad,(200 pasos del motor X 5 micropasos=1000) ¿que estoy haciendo mal? Lo mismo que en tu caso, ¿como realizan el cambio de modo a alta velocidad sin perder pasos?
    Seguro que estoy perdiendo algún concepto básico......
    Gracias de antemano y un saludo
    Un motor de 200 pasos por revolucion tiene 50 pares de polos, un "full step" te llevaria de un polo al otro, o sea, una revolucion electrica (360 grados), el motor tiene 200 pasos porque toma una secuencia de 4 pasos para ir de un polo al otro, es decir, un "full Step" necesita 4 pasos (90 grados por paso).

    Cuando tu aplicas "micro-step" lo unico que haces diferente es regular la corriente que circula por los enrollados de forma de obtener una forma sinusoidal en lugar de los pulsos cuadrados de corriente que generaria la secuencia normal. (en realidad no son completamente cuadrados porque la corriente en la inductancia del enrollado sube linealmente con el tiempo)

    Es decir, la secuencia de conmutacion de corriente por los enrollados es exactamente la misma que en "Full step" pero la corriente es limitada siguiendo una aproximacion sinusoidal. Cada microstep produce solo un cambio de la corriente y no una conmutacion de enrollados, la conmutacion se realiza solo en los cruces por cero de la sinusoide.

    Siguiendo este razonamiento: 1/5 microstep daria 5 microsteps por cada paso, o 20 microsteps por cada Full Step (=5 x 4) 50 full steps x 20 microsteps = 1000 micro-steps por revolucion del rotor.

    En mi caso, yo solo cambio la forma de onda de corriente pero la secuencia de pulsos sigue siendo la misma. El cambio se realiza en los cruces por cero de la fase A y el micro-controlador sigue contando la cantidad de microsteps necesarios antes de incrementar o decrementar la secuencia de conmutacion de los enrollados.

    Por ejemplo: yo parto de cero y voy a usar 1/10 microstep comienzo a contar hacia delante y el primer cambio de enrollado (conmutacion de los mosfets) se realiza en el decimo conteo. Ahora continuo contando pero en el quinceavo micro paso decido cambiar la direccion, entonces cuento hacia atras (14, 13, 12...) y cuando llego al decimo vuelvo a la secuencia que tenia anteriormente.

    Durante ese tiempo en cada paso yo regulo la corriente a un valor diferente siguiendo una tabla de valores sinusoidales (90 grados /10 microstep = 9 grados por microstep, entonces mi tabla consiste en los valores: Seno(0), Seno(9), Seno(18), etc. En la otra fase los valores para cada paso serian: Coseno(0), Coseno(9), Coseno(18), etc.

    Esos valores me producen un voltaje de referencia que cambia sinusoidalmente con cada paso. Al ir hacia atras solo cambio el valor de corriente por el valor anterior en lugar del siguiente en la secuencia, por lo que efectivamente no existe un cambio brusco de torque al invertir el giro (el torque es proporcional a la corriente)

    Hace un tiempo publique en este "thread" una tabla con los graficos correspondientes para todos los valores de microstep hasta 1/16 incluyendo 1/5 y 1/10. y los valores de referencia correspondientes.

    En cuanto al cambio de forma de onda solo es un cambio de tabla con diferentes valores de referencia para cada paso.

    Ahora bien, no se por que, en tu caso, tu motor dio una vuelta completa con 500 pulsos a 1/5 microstep. Solo debio haber dado media vuelta.

    Me parece un poco extensa la respuesta y no se si quedo claro el concepto sin la ayuda de los graficos.

  4. #114
    Registered
    Fecha de Ingreso
    15 Feb, 07
    Ubicación
    Spain
    Mensajes
    11

    Cambio velocidad

    Hola de nuevo y muchas gracias por la explicación (y todo el tiempo que nos dedicas....).
    Tengo las gráficas desde hace tiempo de como se generan las señales de seno-coseno, hasta ahi todo bien (ya he realizado un par de controladoras antes con PIC´s pero sin micropasos), lo que no entiendo es a la hora del cambio de modo automático que tu has programado en base a la velocidad del motor:
    Si por cada pulso desde el ordenador generas un micropaso en el motor (de acuerdo a la configuracion de los jumpers), a la hora de configurar el programa (Mach por ejemplo) tienes que indicarle estos valores, es decir los pulsos que necesita para mover el eje 1milimetro. Hasta aqui todo bien, yo envio 9 pulsos y el motor da 9 micropasos, invierto el sentido y lo mismo.
    Pero que pasa cuando aumento la velocidad por encima de 5rps:
    - El motor ya no funciona en micropasos y si envio un pulso desde el programa, el motor ya no avanza lo mismo que antes. Además, que pasaria si el motor se detiene en un punto intermedio.
    Por lo que yo entiendo la unica forma de resolver esto seria que a cada pulso en la entrada, el motor avance 90 grados (de los 360 del paso completo) independientemente de como lo haga (en micropasos o de forma instantánea) y que el microcontrolador genere la secuencia necesaria para dar esos 90 grados. De lo contrario, si yo tenia configurado modo 1/10 en el MACh y para mover 1mm enviaba 10 pulsos, a alta velocidad con los mismos 10 pulsos se moverá 10mm (no sé si me explico).
    Otra forma sería que hasta que recibe 10 pulsos a la entrada no hace nada y al recibir el décimo da el paso, pero esto no nos vale.....


    Todo esto te lo planteo porque estoy diseñando una controladora basada en el A3986 y quiero instalar un microcontrolador con funciones auxiliares (cambio de modo, baja potencia tras un tiempo, etc...).
    Tambien estoy planteando la posibilidad de "traducir" vuestro código a C y utilizarlo en un PIC (es una arquitectura que ya conozco) pensando en realizar una controladora de este tipo para motores bipolares.
    Gracias de antemano, maestro....

  5. #115
    Gold Member
    Fecha de Ingreso
    26 Aug, 06
    Ubicación
    USA
    Mensajes
    2758
    Pero que pasa cuando aumento la velocidad por encima de 5rps:
    - El motor ya no funciona en micropasos y si envio un pulso desde el programa, el motor ya no avanza lo mismo que antes. Además, que pasaria si el motor se detiene en un punto intermedio.
    El programa sigue contando los pulsos de entrada de modo identico, pero esta vez la tabla de referencia de corrientes cambia, por ejemplo a la de Full Step, las referencias de Full step son identicos niveles de DC iguales al valor r.m.s. de corriente especificados para el motor multiplicados por la resistencia Rsense. En este caso cada valor de la tabla es identico al anterior. El cambio de tablas se realiza durante el cruce por cero de la senal sinusoidal en el canal A.

    Cuando disminuye la velocidad el proceso es identico, pero esta vez se cambia a la tabla de valores, a la que llamamos de "maximo torque", antes de pasar a la tabla de microsteps sinusoidales a una velocidad menor.

    He de recalcar que la secuencia de conmutacion de los mosfets es siempre la misma de "Full Step" con dos enrollados energizados, no importa el modo de microstep en que se encuentre.

    Si movias a baja velocidad 1 mm cada 9 steps, a alta velocidad tambien moveras 1 mm cada 9 steps la diferencia es que a baja velocidad el movimiento es quasi-continuo (se divide en una secuencia de pequenos movimientos, de ahi el nombre micro-step) y a alta velociad el comando de movimiento se realiza en saltos de 90 grados electricos (como en "Full Step", pero ten en cuenta que un paso aun sigue contando como si fueran la cantidad de microsteps correspondientes a la entrada). Como esos 90 grados electricos estan determinados por los polos del motor, cada vez que el motor llega a un polo se resincroniza a si mismo con los comandos de la tarjeta, si lo mandas a retroceder en un punto intermedio, digamos 4 microsteps despues de haber conmutado, el motor no se movera en sentido inverso hasta que no cuente hacia atras esos 4 pasos. El motor en ese instante se encuentra en uno de los polos (o una posicion magneticamente y mecanicamente definidada por ellos) y no hay perdida de pasos.

    Hazte la idea de que el motor a alta velocidad de mueve por "paquetes" de microsteps, esta en una posicion determinada y comienza a acumular microsteps, cuando llega al valor correspondiente al modo de trabajo, da un salto a la nueva posicion (90 grados electricos).

    El motor no puede detenerse en un punto intermedio cuando va a alta velocidad, para detenerse necesita reducir gradualmente la velocidad y entonces entra de nuevo a jugar la tabla de microsteps sinusoidales que lo situan exactamente en la posicion comandada de detencion. Esta es la funcion del calculo de trajectorias aceleracion y deceleracion realizado en el programa del PC (ejemplo: MACH3), no permitir que el motor se tenga que detener o arrancar bruscamente con el peligro de perder pasos debido a la inercia del rotor y carga.

  6. #116
    Gold Member
    Fecha de Ingreso
    26 Aug, 06
    Ubicación
    USA
    Mensajes
    2758
    Instrucciones de Puesta en Marcha y Ajuste de las tarjetas Mardus-Kreutz

    Las instrucciones de ajuste y puesta en marcha de las tarjetas han sido publicadas en ingles. Tan pronto como hayan interesados en este forum en Espanol las traduzco.

    Saludos,

    Kreutz.

  7. #117
    Registered
    Fecha de Ingreso
    16 Jan, 06
    Ubicación
    BRAZIL
    Mensajes
    38
    Hola Kreutz,

    Cual es la direccion de las instruciones (site en ingles)?

  8. #118
    Gold Member
    Fecha de Ingreso
    26 Aug, 06
    Ubicación
    USA
    Mensajes
    2758
    Cita Iniciado por Cristal Ver Mensaje
    Hola Kreutz,

    Cual es la direccion de las instruciones (site en ingles)?
    Este es el thread en ingles: http://www.cnczone.com/forums/showthread.php?t=25361

    Gracias.

  9. #119
    Registered
    Fecha de Ingreso
    16 Jan, 06
    Ubicación
    BRAZIL
    Mensajes
    38
    Gracias Kreutz.

  10. #120
    Registered
    Fecha de Ingreso
    02 Nov, 06
    Ubicación
    españa
    Mensajes
    229
    buenos días necesito un motor pap como este o equivalentehttp://www.elmeqmotor.es/produits-md...%3FidGamme%3D4
    me piden 600 eurotes, un saludo

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •