Hice un poco de Googlin 'pero no pude encontrar nada sobre esto.
Mi hexápodo usa servos analógicos ( estos ) para mover las piernas alrededor.
Tengo la línea de control conectada a un servocontrol (que a su vez está controlado por las líneas I2C de la placa STM32 Discovery).
La línea eléctrica está conectada a una salida de un circuito regulador de voltaje capaz de proporcionar 11A de corriente; cada uno de estos circuitos reguladores se conecta a 9 servos, hay disipadores de calor en el LM317 y el par Darlington.
El suelo naturalmente ... va al suelo.
De todos modos, los servos se mueven, pero por alguna razón no alcanzan el mínimo que puedo lograr al girarlo con la mano. Estoy tratando de averiguar si soy un idiota o qué.
El ancho de pulso que aceptan los servos oscila entre 0,5 ms para el mínimo y ~ 3 ms para el máximo. Esto constituye alrededor de una rotación de 160 grados.
Cuando configuro el ancho de pulso a 0.5 ms, se mueve a una posición y se detiene. No se moverá si reduzco el ancho del pulso más (de modo que 0,4 ms no lo moverán). Sin embargo, la posición que alcanza para PW = 0.5 ms no es la mínima ni la máxima, todavía hay bastante espacio para moverse (creo que alrededor de 15 grados). Puedo moverlo más lejos cuando apago la alimentación.
¿Hay alguna manera de hacer que se mueva allí? Ensamblé todo el robot mientras consideraba que se movería a los extremos, pero como no lo hace, el hexápodo no puede levantar sus pies tan alto como quería, por ejemplo.