Cómo construir un servomotor con un arduino cerebro. Basado en servostrap https://github.com/danithebest91/ServoStrap
Este programa utiliza un Ardui...no para un control de lazo cerrado de un DC-motor.
Motor de movimiento es detectado por un codificador de cuadratura.
Dos entradas denominada STEP y DIR permitir el cambio de la posición de destino.
Puerto serie de impresiones de la posición actual y la posición de destino a cada segundo.
Serie de entrada puede ser utilizada para alimentar una nueva ubicación para el servo (no CR LF).
Pines utilizados:
Entradas digitales 2 y 8 están conectados a las dos señales del encoder (AB).
Entrada Digital 3 es el PASO de entrada.
La entrada analógica 0 es la entrada DIR.
Salidas digitales 5 y 6 de control de las salidas de PWM para el motor (estoy usando la mitad de L298 aquí).
Por favor nota PID ganancias kp, ki, kd necesita ser sintonizado a cada instalación.
Actualización: acabo de agregar una nueva versión del firmware que usando un adicional de interrupción por cambio de pin permitirá 4x codificador de resolución. PWM de salida frecuencia de salida ha sido planteada fuera del rango audible demasiado (31Khz) pero pines de salida se han modificado, a fin de comprobar los comentarios en el código.
Update2: he subido la captura de un analizador muestra las señales del encoder, el step y dir pernos y las salidas de PWM de una operación de impresión. El saleae software puede ser descargado para navegar a través de la captura (utilice la última versión beta). https://www.saleae.com/Downloads