SoloCodigo
		Programación Específica => Diseño de Algoritmos => Mensaje iniciado por: ShintaHimura en Lunes 11 de Enero de 2010, 15:25
		
			
			- 
				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
- 
				Me surgen demasiadas dudas leyendo tu mensaje, al contestarte saldría un post muy largo y vago...
 
 ¿ Puede explicitar claramente lo que necesitas, dejando aparte el 'polvo y la paja'...?