Paso 7: R/C controlador comunicación y señalización
La imagen principal es un gráfico de un pulso de ancho de pulso "comando servo": 1500 microsegundos es neutro o cero señal de velocidad, 1000 microsegundos suele poder unidireccional y 2000 completo potencia el otro. Mientras que servos y controladores de robot responden a las duraciones de pulso como se indica, un controlador de avión típico es unidireccional. El más común "por defecto" es 1000uS como velocidad cero y 2000uS como máxima velocidad, o algo parecido a ese rango. Por supuesto, los CES pueden calibrarse para aceptar diferentes puntos finales en la voluntad, por lo que esta distinción es sobre todo inconsecuente.
Un Simple "Servo" es tu amigo
El acelerador de un vehículo es básicamente un botón de que girar para generar una señal a algo que controla la velocidad el vehículo se pone. En vehículos con motor de gas, este mando podría haber tirado literalmente en el cuerpo de la mariposa del motor, pero generalmente en estos días es una señal electrónica a la computadora del motor.
En el mundo de la manía, existe un pequeño dispositivo que se vende comercialmente que hace precisamente la tarea de convertir un movimiento de mando a impulsos "servo", y se llama un probador de servos . Un ejemplo se muestra en la figura 2; éste en particular . Se utilizan en lugar de establecer una radio entera y el receptor sólo para asegurarse de que sus servos trabajan. Note que uno (y más baratas que venden en la actualidad) tienen tres salidas, esto le permite probar los 3 servos en un rotor principal del helicóptero al mismo tiempo. Sólo necesita usar una.
El fresco más probadores de servo es que directamente puede colocar una fuente de 0-5v, como un acelerador de potenciómetro o vehículo comercial de 3 hilos, en el lugar de la perilla (que sí mismo es un potenciómetro). La imagen 3 muestra una conversión que he hecho a ese modelo de probador servo especial - el conector de 3 pines va a un acelerador de mano comercial (más información sobre las partes de una broca). Una vez finalizada esta etapa, tiene una tensión analógica continua a convertidor de pulso del servo que puede ser instalado en un vehículo.
Tenga en cuenta que estos vienen con diferentes modos tales como «neutral», útil para mantener tu servo centrado mientras ajusta los vínculos y "barrido", que automáticamente un completo 1000-2000uS barrido. Estos modos no son útiles y si accidentalmente durante la operación, pueden resultar en mal . Es recomienda para quitar el botón que selecciona los modos.
Método de hardware completo
Si te encanta torturar a usted mismo, usted puede construir un circuito de sincronización hardware 100% (es decir, resistencias, circuitos integrados lineales, casquillos) que convierte una referencia de 0-5v para el pulso del servo correspondiente. Crear un enlace a unos cuantos en la edición más vieja, pero estos días, no tienes excusa para usar un probador de servos de hardware completo dado que cuestan como 5 centavos de dólar. Cambian valores de componentes de hardware con temperatura y humedad uniforme, y hay más partes, dejándolos más propensos al fracaso.
Rampa de aceleración
Porque sensores controladores de R/C no pueden controlar realmente cuanta corriente envía al motor (y la corriente es directamente proporcional al torque de salida) y a partir de baja velocidad puede ser errático y difícil de controlar, es útil tener una "rampa" en algún lugar en la cadena de la válvula reguladora. Sin rampa o algún otro tipo de amortiguación entrada control, movimientos de tirón repentino de la mano o el pie pueden ocasionar el vehículo responde inesperadamente como una aplicación repentina de la energía. Esto no sólo es difícil de operar, pero puede ser una peligrosa si estás en el tráfico o cerca de otras personas.
Rampa puede realizarse ya sea en hardware o en software.
Filtro de condensador resistencia de hardware
En la cuarta imagen es un circuito de tipo "Filtro de RC", donde RC es el resistor-capacitor , que suaviza los agudos transitorios en el control de entrada. La forma general del circuito se conoce como un filtro de paso bajo, y no se discutirá los detalles técnicos (Wikipedia puede proporcionar un mejor tratamiento que puedo nunca). Los valores de su elección de R y C determinan la amortiguación "constante de tiempo", y que sólo se da por Trise = R * C .
No, realmente, eso es todo. Por lo que en el ejemplo, un resistor de 100K y un capacitor de 10uF junto forman un filtro que tiene un tiempo de subida de 1 segundo - lo que significa si piso de parada (como usted no debería hacer de todos modos, a la derecha? ) señal tarda 1 segundo para alcanzar el 63% (el umbral estándar definido para este circuito). Cierto tiempo de adaptación se define como el tiempo demora la salida llegar a más de 90% del valor final y está generalmente aceptado ser 3 constantes de tiempo (3 * T). Usted puede ajustar el R y C valores a alcanzar sin embargo rápidamente un filtro que desee.
Es importante que la resistencia es significativamente más alto (por lo menos 10 veces) del valor que el potenciómetro de mariposa, y debe ser por lo menos 10 K ohmios. La razón es que si la resistencia es también cerca de resistencia total de la olla, el potenciómetro afecta la constante de tiempo del filtro fuertemente. Puse 100K como un ejemplo, pero con más válvulas reguladoras del vehículo siendo 5K resistencias de ohm, trate de usar por lo menos una resistencia de 47K. El condensador puede ser cualquier tipo polarizado o no polarizado, pero si se polariza, por favor ponerlo en recto. Todo el circuito puede ser soldado en línea con un arnés de la válvula reguladora.
La segunda variante de este circuito añade un bypass unidireccional al sistema tales que regulación hacia abajo es unramped - lo que significa que si te dejaron ir del acelerador a fondo, no hace falta ser un completo segundo para la señal del acelerador lentamente volver abajo, lo hará casi al instante . El diodo conduce si el voltaje de entrada en el lado del potenciómetro es menor que el voltaje del condensador (que es la salida), por lo que efectivamente los shunts entrada hasta la salida para esas posiciones.
En el software utilizando un microcontrolador
Rampa también es realizable en el software si usted está haciendo su propio dispositivo de servo tester-como de todos modos. Por ejemplo, el siguiente código de Arduino implementa rampa tomando un impulso de R/C en un pin digital y escupirlo retiran en otro. Esto fue escrito por el maestro de control de motor Shane Colton y Arduino.
#include < Servo.h >
#define THR_MIN 178
#define THR_MAX 870
#define PWM_MIN 1000
#define PWM_MAX 2000
#define SPEED_LIMIT 0.33 / / fracción de velocidad completo
#define RAMP_LIMIT 0.13 / / fracción de la velocidad por segundo
Servo tgypwm;
Float pwm_f = (float) PWM_MIN;
void setup()
{
pinMode (9, salida);
tgypwm.Attach(9);
/ * tgypwm.writeMicroseconds(PWM_MAX);
Delay(5000);
*/
tgypwm.writeMicroseconds(PWM_MIN);
Delay(5000);
Serial.Begin(9600);
}
void loop()
{
firmado thr int = THR_MIN;
Float thr_f = (float) thr;
Float pwm_target = (float) PWM_MIN;
unsigned int pwm_i = PWM_MIN;
THR = analogRead(7);
thr_f = (float)(thr-THR_MIN) / (float) (THR_MAX - THR_MIN);
pwm_target = thr_f * SPEED_LIMIT * (float)(PWM_MAX-PWM_MIN) + (float) PWM_MIN;
if(pwm_target > pwm_f)
{
pwm_f += RAMP_LIMIT * (float)(PWM_MAX-PWM_MIN) * 0.05;
}
otra cosa
{
pwm_f = pwm_target;
}
pwm_i = pwm_f (unsigned int);
tgypwm.writeMicroseconds(pwm_i);
Serial.println(pwm_f);
Delay(50);
}