Autor Tema: ¿Qué es un indexer/indexador? tarjeta electrónica de potencia DRV8825 para MPP  (Leído 1390 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado CompSystems

  • PIC18
  • ****
  • Mensajes: 484
    • Home Page
Hola, el siguiente párrafo es mi definición de la tarjeta DRV8825

El driver DRV8825/DRV4988 es una tarjeta electrónica de potencia que cuenta con un IC, referencia Texas Instruments TI-DRV8825, hoja de datos en http://www.ti.com/lit/ds/slvsa73f/slvsa73f.pdf además incorpora otros componentes que se muestran en el diagrama de bloques de la Figura siguiente. Información más detallada de esta tarjeta de control en www.pololu.com/product/2133 el IC contiene dos puentes-H y un circuito indexador (registro de datos) que finalmente permite dividir los pasos en micropasos (microstepping) con una resolución del paso hasta de 1/32. El bloque de salida consta de N-channel power MOSFET’s configurado como full puente-H para impulsar o activar en una secuencia de pulsos las fases de un motor bipolar PaP, fases que son conectadas a los pines Aout1/2 y Bout1/2. Cada salida puede entregar un máximo de 45 V DC, 1A (sin disipador, ni ventilación forzada) por fase de forma continua, y un máximo de 2.5 A por fase con disipador de calor (heat sinking) y ventilación forzada (ventilador).
El tren de pulsos de salida, depende de las señales enviadas por un sistema de control a las entradas del driver DRV8825, pines: paso, dirección, habilitar, micropaso (M2, M1, M0), reset

Otras características:

Posibilidad de ajustar o limitar la corriente que va al motor por medio de un potenciómetro.

Protección de apagado por exceso de temperatura/Thermal Shutdown (TSD) y sobre corriente/Overcurrent Protection (OCP)

Bloqueo de mínima tensión/ Undervoltage Lockout (UVLO), Si en cualquier momento el voltaje en el pine VM cae por debajo del voltaje de umbral UVLO, todos los circuitos del driver serán deshabilitados y la lógica interna se restablecerá. La Operación se reanudará cuando V (VMX) se eleva por encima del umbral UVLO.

Voltaje de operación (motor) entre 8.2 a 45 V DC
 
Voltaje de trabajo (driver) entre 2. a 5.25 V DC

Control de corriente de las fases de un motor bipolar por PWM




como pueden ver el diagrama de bloques muestra INDEXER, ¿Que es un indexer/indexador?

« Última modificación: 16 de Agosto de 2016, 00:40:16 por CompSystems »
Desde Colombia

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7851
Re:¿Qué es un indexer/indexador? tarjeta electrónica de potencia DRV8825
« Respuesta #1 en: 15 de Agosto de 2016, 14:38:54 »
Eso esta dentro del integrado. Y es el que recibe el modo y segun los pulsos dados es quien maneja la corriente dada a la bobinas mediante los puentes H.

"logica de control" es el encargado de controlar el puente H, ademas tambien vigilar otras cosas y dar señales como las de FAULT y HOME, hacer que sume o reste el indice segun el DIR, Hacer que el modo que entra de forma binaria se pase a decimal por ejemplo, etc

Como va avanzando poco a poco, tiene que tener un seguimiento de donde esta ubicado y cual es el proximo paso a seguir, y por eso mismo se le llama indexer, o para que se entienda mejor con un ejemplo, si tuvieras un array de 32 valores (array[32]), y cada ves que le das al step pasas al siguiente valor, suponete que estas usando el valor 7 (array[6]) que te dice que la bobina A recibe X corriente y la bobina B recibe Y corriente. Si pasas al 8 esos valores cambian y por lo tanto cambiaria el angulo del paso a paso, lo que estas haciendo es moviendo el indice de esos datos. Es una explicacion "basica" de un indexer. Segun el modo que tengas 1/8 , 1/16 , 1/32, etc es la cantidad de "indices" que vas a tener. Por ejemplo en 1/2 tedrias 8 indices que son los que le darian a la bobina la vuelta a los 360 grados electricos. con 1/4 serian 16 y asi aumentan.

Yo en realidad lo dividi pero esta todo junto como ves.

¿Esa era tu pregunta ?

Desconectado CompSystems

  • PIC18
  • ****
  • Mensajes: 484
    • Home Page
Re:¿Qué es un indexer/indexador? tarjeta electrónica de potencia DRV8825
« Respuesta #2 en: 15 de Agosto de 2016, 19:46:19 »
Gracias, ahora ya me queda más claro el funcionamiento de este driver, estoy construyendo mi máquina de posicionamiento cartesiano con motores nema17, Continuo con el análisis del driver CUALQUIER IDEA PARA MEJORAR ESTA PUBLICACIÓN COMO APORTE, COMPLEMENTO, CORRECCIÓN, SUGERENCIA  e incluso REDACCIÓN es bienvenida

Tengo ahora una duda sobre la utilidad del pin de entrada RESET
...

El accionador o tarjeta de potencia DVR8825 posee 8 pines de control:

1: ENABLE: 1 pin para habilitar o colocar en funcionamiento el bloque o circuito indexador del DVR8825. El driver se habilita con un nivel bajo en este pin, en esta situación se reconocen los flancos de subida en el STEP PIN. Con un nivel ALTO se deshabilita el driver, los puentes-H están desactivados permanente hasta que cambie de estado, las salidas Aout1/2 y Bout1/2 están en un estado de alta impedancia, y la entrada de paso es ignorada.

2: DIRECTION: 1 pin para cambiar el giro, dependiendo del sistema de transmisión acoplado al eje del motor, el sentido de giro es relativo a cada eje cartesiano (SUBIR, BAJAR, ir a la IZQUIERDA, DERECHA), se fija un nivel alto para un sentido y un bajo para el otro, según el estado de este pin, suma o resta el índice del circuito indexador

3: STEP: 1 pin para recibir el tren de pulsos o pasos de control, en cada flanco ascendente la posición del registro se desplaza ascendentemente o lo contrario dependiendo del estado del pin DIRECTION

4,5,6: MODE2, MODE1, MODE0: permiten fijar la división de los pasos por vuelta del motor (microstepping), se configuran con 3 pines asociados a 3 bits de combinaciones (M2, M1, M0). Para la división del paso (ver tabla siguiente).

formula:
[SPN]
pasos_por_vuelta_del_motor = pasos_completos / división_micropasos

[ENG]
step_per_turn = fullStep / μstep

#dec M2   M1   M0   μstep
0   0   0   0   1/1 (Excitación de 2 fases) con corriente de 71%
1   0   0   1   1/2  Excitación de 1-2 fases
2   0   1   0   1/4
3   0   1   1   1/8
4   1   0   0   1/16
5   1   0   1   1/32

Para 1/32 también se puede configurar M2M1MO

6   1   1   0   1/32
7   1   1   1   1/32

siendo mas usado el registro del numeral 7

Escogiendo un MPP (Nema17) de tecnología de 2 fases con 200 pasos completos (fullStep) por revolución o 1.8 grados por paso completo, resistencia del bobinado por fase del motor RL = ? Ω Inductancia del bobinado del motor  mH = ? IL, Voltaje de alimentación 24 V DC, velocidad del motor 120 rpm, los diferentes resultados para step_per_turn,   son:

A: Para Mode2,1,0 = 000, no hay división, coincide con el valor de paso completo
step_per_turn = fullStep /  μstep
step_per_turn = 200 / 1 = 200 s/t

B: Para Mode2,1,0 = 001, división por 2 o (medio paso)
step_per_turn = 200 / (1/2) = 400 s/t, ahora se requieren el doble de pasos para dar un giro o vuelta, con el beneficio de mejorar la precisión de posicionamiento

C: Para Mode2,1,0 = 010, división por 4 (1/4)

step_per_turn = 200 / (1/4) = 800 s/t

podemos ver que la formula

step_per_turn = fullStep /  μstep

se puede escribir como:

step_per_turn = fullStep * div_μstep

D: Para Mode2,1,0 = 011, división por 8 (1/8)
step_per_turn = 200 *8 = 1600 s/t

E: Para Mode2,1,0 = 100, división por 16 (1/16)
step_per_turn = 200 *16 = 3200 s/t

F: Para Mode2,1,0 = 101, división por 32 (1/16)
step_per_turn = 200 *32 = 6400 s/t

7: RESET: se activa en bajo, restablece la entrada haciendo que la lógica del indexador se reinicie a su posición inicial, desactiva temporalmente las salidas de puente H y la entrada de paso es ignorada también temporalmente

8: SLEEP: lógica alto en este pin para activar el driver, lógica en bajo para entrar en modo de bajo consumo.


« Última modificación: 16 de Agosto de 2016, 00:13:46 por CompSystems »
Desde Colombia

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7851
Re:¿Qué es un indexer/indexador? tarjeta electrónica de potencia DRV8825
« Respuesta #3 en: 15 de Agosto de 2016, 20:06:10 »
Creo que deberias leer el datasheet. Ahi esta correctamente explicado que hacen cada uno de esos

http://www.ti.com/lit/ds/slvsa73f/slvsa73f.pdf

Desconectado CompSystems

  • PIC18
  • ****
  • Mensajes: 484
    • Home Page
Re:¿Qué es un indexer/indexador? tarjeta electrónica de potencia DRV8825
« Respuesta #4 en: 15 de Agosto de 2016, 20:16:00 »
RESET dice

The RESET pin, when driven active low, resets internal logic, and resets the step table to the home position. It also disables the H-bridge drivers. The STEP input is ignored while RESET is active.

¿dentro de la lógica control que finalidad tendría esto? por ejemplo trate de hacer que cuando un final de carrera (end-stop) acoplado al sistema de desplazamiento, cuando se active llame a un ISR, pare el motor ya que RESET deshabilita los puentes-H, pero no me funciona. parece ser que los deshabilita temporalmente, solo el registro indexer va a su posición inicial.

Según la imagen siguiente para que unen estos dos pines? si tienen una resistencia fija en nivel bajo, por defecto deben estar en alto para que funcione el driver, la conexión entre estos dos pines no la entiendo

« Última modificación: 15 de Agosto de 2016, 23:44:01 por CompSystems »
Desde Colombia

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7851
Re:¿Qué es un indexer/indexador? tarjeta electrónica de potencia DRV8825
« Respuesta #5 en: 15 de Agosto de 2016, 20:36:59 »
Volvemos a la explicacion del array, o mejor aun la tabla esa que ves donde dice la corriente para cada bobinado y el angulo electrico, la posicion HOME es cuando el angulo electrico es 45º. O es el estado que tenes en el reset. Como te decia a medida que le das pulso en el STEP vas avanzando en esa tabla, cada configuracion tiene un valor permitico, Cuando le das al RESET, el indexer deja de apuntar donde estaba suponete el indice 5 de 1/2 y vuelve a esos 45º electricos (indice 2), asi que si le das un pulso a STEP luego del RESET en ves de pasar al indice 6 lo hace al 3.
Y poniendo las corrientes que dice la tabla en cada bobinado.

Para que usarias el RESET? No tengo la menor idea. Tal ves tengas alguna aplicacion pueda servir pero no se me ocurre ninguna ahora, pero no para lo que estas queriendo usar.

Esos 2 pines de por si poseen un Pull-down interno, de 100kohms el de RESET y 1Mohm el de SLEEP, deberias ponerlo a ambos a VDD si no lo vas a usar.

Desconectado CompSystems

  • PIC18
  • ****
  • Mensajes: 484
    • Home Page
Re:¿Qué es un indexer/indexador? tarjeta electrónica de potencia DRV8825
« Respuesta #6 en: 16 de Agosto de 2016, 00:32:17 »
Gracias KillerJC

La publicación va tomando cuerpo  :-/


Calculo de posicionamiento, próximamente anexare el código fuente en lenguaje C, por ahora muestro las formulas y explico cómo obtenerlas

Si el carro del eje X (horizontal) es movido por sistema de Correa (paso de 2mm) y Polea (20 dientes), y el eje vertical Z, es movido por sistema de trasmisión tornillo de diámetro 8 mm y paso de 1.25, las variables base para calcular el posicionamiento son:

beltPitch/pasoCorrea = 2 mm; paso o separación entre dientes de la Correa.
pulleyNumberTeeth/numDientesPolea = 20; número de dientes de la Polea.
threadPitch/PasoRosca = 1.25 mm; Paso de la rosca de la varilla del eje Z: distancia que hay entre dos crestas sucesivas de la varilla roscada, la varilla escogida es un tornillo inoxidable a2 (304) métrico m8

Si Tipo de transmisión es igual a Polea-Banda Entonces
resoluciónPorVuelta = pasoCorrea numDientesPolea; // 40 mm por giro o vuelta
resolutionPerTurn = beltPitch * pulleyNumberTeeth;
Si Tipo de transmisión es igual a tornillo Entonces
resoluciónPorVuelta = PasoRosca; // 1.25 mm por giro o vuelta
resolutionPerTurn = threadPitch;
Ahora para calcular los pasos por avanzar un milímetro es
stepsPer1MM = stepsPerTurn / resolutionPerTurn; // pasos por mm
resolutionPerStep = 1 / stepsPer1MM;


Por favor analicen estos resultados y me comentan

Código: [Seleccionar]
Setup Driver8825
 Transmision:
 por Correa y POLEA
 ******* Datos de Entrada:
 MICROSTEPPING: 1/1
 Dientes: 20
 Paso de la correa: 2mm
 ******* Datos de Salida:
 Steps: 200 per Revolution
 Angle: 1.80000 Degree per Step
 ResolutionPerTurn: 40.00 mm
 StepPer1mm: 5.00 steps
 ResolutionPerStep: 0.20000000 mm
 *******

Algunos calculos de distancia recorrida:
 Avance de 1.0000 mm(s): 5.00 paso(s)
 Avance de 5.0000 mm(s): 25.00 paso(s)
 Avance de 0.5000 mm(s): 2.50 paso(s)
 Avance de 0.2500 mm(s): 1.25 paso(s)
 Avance de 0.2000 mm(s): 1.00 paso(s)
 Avance de 0.1000 mm(s): 0.50 paso(s)
 Avance de 0.0500 mm(s): 0.25 paso(s)
 Avance de 0.0250 mm(s): 0.13 paso(s)
 Avance de 0.0125 mm(s): 0.06 paso(s)
 Avance de 0.0063 mm(s): 0.03 paso(s)
 Avance de 10.0000 mm(s): 50.00 paso(s)
 Avance de 100.0000 mm(s): 500.00 paso(s)


Setup Driver8825
 Transmision:
 por Correa y POLEA
 ******* Datos de Entrada:
 MICROSTEPPING: 1/2
 Dientes: 20
 Paso de la correa: 2mm
 ******* Datos de Salida:
 Steps: 400 per Revolution
 Angle: 0.90000 Degree per Step
 ResolutionPerTurn: 40.00 mm
 StepPer1mm: 10.00 steps
 ResolutionPerStep: 0.10000000 mm
 *******

Algunos calculos de distancia recorrida:
 Avance de 1.0000 mm(s): 10.00 paso(s)
 Avance de 5.0000 mm(s): 50.00 paso(s)
 Avance de 0.5000 mm(s): 5.00 paso(s)
 Avance de 0.2500 mm(s): 2.50 paso(s)
 Avance de 0.2000 mm(s): 2.00 paso(s)
 Avance de 0.1000 mm(s): 1.00 paso(s)
 Avance de 0.0500 mm(s): 0.50 paso(s)
 Avance de 0.0250 mm(s): 0.25 paso(s)
 Avance de 0.0125 mm(s): 0.13 paso(s)
 Avance de 0.0063 mm(s): 0.06 paso(s)
 Avance de 10.0000 mm(s): 100.00 paso(s)
 Avance de 100.0000 mm(s): 1000.00 paso(s)


Setup Driver8825
 Transmision:
 por Correa y POLEA
 ******* Datos de Entrada:
 MICROSTEPPING: 1/4
 Dientes: 20
 Paso de la correa: 2mm
 ******* Datos de Salida:
 Steps: 800 per Revolution
 Angle: 0.45000 Degree per Step
 ResolutionPerTurn: 40.00 mm
 StepPer1mm: 20.00 steps
 ResolutionPerStep: 0.05000000 mm
 *******

Algunos calculos de distancia recorrida:
 Avance de 1.0000 mm(s): 20.00 paso(s)
 Avance de 5.0000 mm(s): 100.00 paso(s)
 Avance de 0.5000 mm(s): 10.00 paso(s)
 Avance de 0.2500 mm(s): 5.00 paso(s)
 Avance de 0.2000 mm(s): 4.00 paso(s)
 Avance de 0.1000 mm(s): 2.00 paso(s)
 Avance de 0.0500 mm(s): 1.00 paso(s)
 Avance de 0.0250 mm(s): 0.50 paso(s)
 Avance de 0.0125 mm(s): 0.25 paso(s)
 Avance de 0.0063 mm(s): 0.13 paso(s)
 Avance de 10.0000 mm(s): 200.00 paso(s)
 Avance de 100.0000 mm(s): 2000.00 paso(s)


Setup Driver8825
 Transmision:
 por Correa y POLEA
 ******* Datos de Entrada:
 MICROSTEPPING: 1/8
 Dientes: 20
 Paso de la correa: 2mm
 ******* Datos de Salida:
 Steps: 1600 per Revolution
 Angle: 0.22500 Degree per Step
 ResolutionPerTurn: 40.00 mm
 StepPer1mm: 40.00 steps
 ResolutionPerStep: 0.02500000 mm
 *******

Algunos calculos de distancia recorrida:
 Avance de 1.0000 mm(s): 40.00 paso(s)
 Avance de 5.0000 mm(s): 200.00 paso(s)
 Avance de 0.5000 mm(s): 20.00 paso(s)
 Avance de 0.2500 mm(s): 10.00 paso(s)
 Avance de 0.2000 mm(s): 8.00 paso(s)
 Avance de 0.1000 mm(s): 4.00 paso(s)
 Avance de 0.0500 mm(s): 2.00 paso(s)
 Avance de 0.0250 mm(s): 1.00 paso(s)
 Avance de 0.0125 mm(s): 0.50 paso(s)
 Avance de 0.0063 mm(s): 0.25 paso(s)
 Avance de 10.0000 mm(s): 400.00 paso(s)
 Avance de 100.0000 mm(s): 4000.00 paso(s)


Setup Driver8825
 Transmision:
 por Correa y POLEA
 ******* Datos de Entrada:
 MICROSTEPPING: 1/16
 Dientes: 20
 Paso de la correa: 2mm
 ******* Datos de Salida:
 Steps: 3200 per Revolution
 Angle: 0.11250 Degree per Step
 ResolutionPerTurn: 40.00 mm
 StepPer1mm: 80.00 steps
 ResolutionPerStep: 0.01250000 mm
 *******

Algunos calculos de distancia recorrida:
 Avance de 1.0000 mm(s): 80.00 paso(s)
 Avance de 5.0000 mm(s): 400.00 paso(s)
 Avance de 0.5000 mm(s): 40.00 paso(s)
 Avance de 0.2500 mm(s): 20.00 paso(s)
 Avance de 0.2000 mm(s): 16.00 paso(s)
 Avance de 0.1000 mm(s): 8.00 paso(s)
 Avance de 0.0500 mm(s): 4.00 paso(s)
 Avance de 0.0250 mm(s): 2.00 paso(s)
 Avance de 0.0125 mm(s): 1.00 paso(s)
 Avance de 0.0063 mm(s): 0.50 paso(s)
 Avance de 10.0000 mm(s): 800.00 paso(s)
 Avance de 100.0000 mm(s): 8000.00 paso(s)


Setup Driver8825
 Transmision:
 por Correa y POLEA
 ******* Datos de Entrada:
 MICROSTEPPING: 1/32
 Dientes: 20
 Paso de la correa: 2mm
 ******* Datos de Salida:
 Steps: 6400 per Revolution
 Angle: 0.05625 Degree per Step
 ResolutionPerTurn: 40.00 mm
 StepPer1mm: 160.00 steps
 ResolutionPerStep: 0.00625000 mm
 *******

Algunos calculos de distancia recorrida:
 Avance de 1.0000 mm(s): 160.00 paso(s)
 Avance de 5.0000 mm(s): 800.00 paso(s)
 Avance de 0.5000 mm(s): 80.00 paso(s)
 Avance de 0.2500 mm(s): 40.00 paso(s)
 Avance de 0.2000 mm(s): 32.00 paso(s)
 Avance de 0.1000 mm(s): 16.00 paso(s)
 Avance de 0.0500 mm(s): 8.00 paso(s)
 Avance de 0.0250 mm(s): 4.00 paso(s)
 Avance de 0.0125 mm(s): 2.00 paso(s)
 Avance de 0.0063 mm(s): 1.00 paso(s)
 Avance de 10.0000 mm(s): 1600.00 paso(s)
 Avance de 100.0000 mm(s): 16000.00 paso(s)


mas info sobre MPP
http://www.todopic.com.ar/foros/index.php?topic=22276.0
« Última modificación: 20 de Septiembre de 2016, 22:03:20 por CompSystems »
Desde Colombia