Traducir las salidas del controlador del motor paso a paso (A-,A+,B-,B+) de nuevo a clk,en,step

Tengo un problema bastante extraño que hace que sea necesario detectar los cuatro cables de un motor paso a paso bipolar (A-,A+,B-,B+) y traducirlos de nuevo a los pines que controlan el controlador del motor paso a paso (clk,dir, paso).

Diagrama de bloques que describe la posible implementación de la solución.

Primero resumiré lo que he intentado:

  1. mcp3008 ADC: este tipo se quemó de inmediato. (Supongo que los controladores del motor paso a paso para una salida nema17 son de aproximadamente 1,2 amperios por bobina).
  2. Busqué ADC de mayor especificación, pero estoy algo perdido.

Preguntas:

  1. ¿Hay una mejor manera de hacer esto que usar un ADC en un microcontrolador?
  2. ¿Qué frecuencia de muestreo necesitaría para "sentir" los micropasos de los controladores del motor paso a paso y traducirlos de nuevo / cómo calcular esto?
  3. ¿Qué resolución de ADC sería aceptable/cómo calcular esto? ex. 12 bits, 16 bits...
  4. ¿Qué voltaje sería "seguro" (sé que un nema17 es de aproximadamente 4 V, pero me preocupa que otro paso a paso sea más alto).
  5. ¿Qué ADC están disponibles que cumplen con estas especificaciones? (encima y por debajo).
    • SPI o I2C
    • al menos 4 canales o (puedo obtener cuatro ADC de 1 canal).
    • Paquete de componentes de orificio pasante.

¡Gracias a cualquiera que responda a todas o cualquiera de mis preguntas! Este es mi primer mensaje, así que espero haber sido lo suficientemente claro.

¿Incluso necesitas un ADC? ¿No son estas solo ondas cuadradas en las que desea medir el tiempo y la fase?
Sí, tienes razón, son ondas bastante cuadradas y no estoy seguro de si tengo que usar un ADC. Supongo que la razón por la que lo tuve es porque me preocupan los micropasos. Sin embargo, ¿qué sugerirías en su lugar?

Respuestas (2)

Yo usaría optoacopladores. Deberá calcular los valores de R1 y R2 para obtener corrientes razonables.

Deberá convertir las señales PWM mediante software.

Si puede desactivar el microstepping, será más fácil.

esquemático

simular este circuito : esquema creado con CircuitLab

Este es definitivamente un gran comienzo para mí, investigaré más sobre los optoacopladores. Desafortunadamente, no puedo desactivar la función de micropasos. ¿Cambiaría mucho el circuito si tengo que hacer un micropaso? ¡Muchas gracias por la respuesta!
El circuito puede ser el mismo para microstepping, pero el S/W será más complicado.
Ya, me imagino que será terrible si es 1/256 microstepping. ¡Gracias de nuevo, has sido increíblemente útil!
Cuando se realizan micropasos, dos de las salidas opto pueden estar activas a la vez. Deberá calcular la relación de los anchos de pulso. Cuando la proporción cambia una cantidad igual a su micropaso, entonces eso es un paso.
Ah, eso será interesante de hacer, considerando que probablemente no sabré qué micropasos está usando el controlador en un momento dado.

Solo quería agregar que el ADC se quemó porque es un controlador de motor bipolar y en su fase negativa intenta obtener corriente de la carga, es decir. tu ADC, quemándolo. No necesita un ADC para medir este voltaje, puede obtenerlo usando un circuito octoacoplador como mencionó Mattman944, que pone su microcontrolador en paralelo al controlador paso a paso, protegiendo así cualquier equipo de detección que tenga.

hmmmm, eso tiene sentido. Medí la salida con un osciloscopio y no vi una onda negativa. Pero, debo haberlo perdido. ¡Gracias por la respuesta!