Paso 3: Crear los circuitos de controlador de Servo: teoría
Servos exigen lo que se llama modulación de anchura de pulso en su cable de señal para entender donde desea que el brazo del servo a. Modulación de anchura de pulso es el acto de ajustar el ciclo de trabajo de una forma de onda como una onda cuadrada. Para servos analógicos, más necesita ms de 1 y 2 de señal (voltaje positivo) y ms de 7 – 18 de señal (voltaje cero). La hoja de datos para el servo SG90 dice operan a 50 Hz (20 MS) pero funcionan bien más de 90 Hz. La señal de encendido debe ser entre 1 y 2 ms aunque.
Usted puede encontrar muchos ejemplos en línea de control de servos con Arduino o incluso un chip 555 temporizador, pero voy a conseguir realmente fundamentos aquí y usar componentes sólo discretos. Vamos a usar el circuito del multivibrador Astable. Sólo una advertencia, este circuito suele ser... nerviosos, y sus servos ganará mucho de la personalidad.
El multivibrador Astable genera una onda cuadrada a una frecuencia determinada por el tiempo de carga del condensador resistor en el circuito. Lo ordenado acerca de este circuito es que el ciclo de trabajo de la onda cuadrada se puede fijar mediante el ajuste de ambos conjuntos de resistencias y condensadores.
Descubrí que cuando el condensador en este circuito de 220 nF, las resistencias deben ser 5 – 15k para el ms 1-2 en el tiempo y 48k para unos 8ms de tiempo. Ahora, en total, 10 ms o frecuencia de 100 Hz, que es mucho mayor que la frecuencia de operación indicada para los servos, pero encontré estos valores a través de ensayo y error y trabajan para mí.
El joystick de 2 ejes (https://www.parallax.com/product/27800) que estoy usando es igual a los que se encuentran en los controladores de playstation. Al mover el joystick en el x o y dirección, cambia la resistencia de dos potenciómetros, uno para el eje x y otra para y. Los valores de resistencia son ~ 5 k en el centro y bajar a 0 y hasta 10 k cuando mueves la palanca de mando.
Así, si fijamos nuestros potenciómetros ajuste a 5k en el circuito, entonces podemos utilizar cada potenciómetro de eje del joystick para cambiar la anchura de pulso de 1 a 2 ms de señal y así, el control la posición del cuerno del servo, nuestro cuello del robot.
El inconveniente de este circuito es que necesita separar las fuentes de alimentación para cada servo porque interfieren con la señal del otro. Sólo se pueden ejecutar dos circuitos en paralelo con una batería. No una super gran cosa, pero añadir un paso adicional en el proceso de cableado más adelante. También significa que nuestro joystick presoldado paralaje necesita ser liberada de su Consejo porque viene soldada con una tierra común.