Buenos Dias,
Espero puedan colaborarme con el diseño de un algoritmo para generar pulsos o pasos (steps) y controlar un servocontrolador (un circuito electrónico que recibe información en forma de pasos o pulsos y dirección para el control de posición de un motor)
Buscando información por la red, pude ver que este algoritmo se basa o puede basarse en la teoría de un perfil de velocidad, que es la gráfica para un movimiento que tiene 3 etapas: aceleración, velocidad constante y desaceleración.
En forma general, el algoritmo debería generar un determinado número de pulsos (con la misma duración) y proporcionales a la distancia o posición deseada, y también la frecuencia o el tiempo entre cada pulso que es proporcional a la velocidad, es decir, que cuando esté en la etapa de aceleración, el tiempo sebería ir disminuyendo proporcionalmente.
El algoritmo podría ser:
1.- Se ingresan los siguientes datos:
- velocidad
- aceleración
- pulsos o steps (número de pasos, los cuales son proporcionales a la distancia recorrida)
2.- en base a ecuaciones de movimiento o a un perfil de velocidad trapezoidal (la grafica es un trapezoide) encontrar la forma de relacionar las variables de entrada y generar los pulsos y la frecuencia entre pulsos.
3.- Una alternativa, podría ser generar una tabla para el paso o pulso y el tiempo o retardo para emitir ese pulso, hasta completar todos los pulsos y por tanto, llegar a la posición deseada. Es necesario aclarar, que un pulso o paso incrementa la distancia recorrira o posición.
Quizá exista una forma más estructurada, pero no he podido realizar algo hasta ahora.
Si se requiere información sobre el perfil de velocidad trapezoidal, pueden solicitarme
, ya he acumulado documentación importante sobre este tema.
Saludos a todos y gracias de antemano
Rurouni Kenshin