Línea siguiente Robot con el control PD básico (proporcional-derivado) (5 / 6 paso)

Paso 5: Revise la línea que sigue la rutina

La línea que sigue la rutina encarga de los cálculos y manejo de errores.

void follow_line (int line_position) //follow la línea

{

Switch(line_position)
{

Estos casos manejan la situación donde se pierde la línea y el intento de girar hacia la línea

línea se ha movido desde el borde izquierdo del sensor
caso 0:

digitalWrite (dir_a, LOW);
analogWrite (pwm_a, 200);
digitalWrite (dir_b, HIGH);
analogWrite (pwm_b, 200);
Serial.println ("gira Left\n");
rotura;

línea se ha movido fuera de la edición correcta del sensor
caso 7000:
digitalWrite (dir_a, HIGH);
analogWrite (pwm_a, 200);
digitalWrite (dir_b, bajo);
analogWrite (pwm_b, 200);
Serial.println ("gire de\n");
rotura;

Esta línea calcular el error para el bucle de control. 3500 es el "valor" y puede ajustarse para mover la posición de la línea que el robot está buscando.

por defecto:
error = (float) line_position - 3500;

establecer la velocidad del motor basada en términos PID proporcionales y derivativas
KP es la constante proporcional Floating-Point (tal vez de inicio con un valor de alrededor de 0.5)
KD es la constante derivado de punto flotante (tal vez comience con un valor alrededor de 1)
Tenga en cuenta que al hacer el PID, es muy importante llegar sus muestras del derecho, o en otro lugar el
lazo de control será inestable

Estas son las variables que se deben ajustar para ajustar el lazo de control

KP =. 5; Este es el valor de proporational
KD = 1; Este es el valor derivado

PV = kp * error + kd * (error - lastError);
lastError = error;

Valores PWM (velocidad del motor) deben estar entre 0 y 255. Este código limita los valores. También limita con el extremo inferior del valor PWM. Dependiendo de las baterías, motores y carga, los motores serán generalmente puesto en un valor mucho mayor del 0. En este ejemplo, el extremo inferior es 170.

Esto códigos límites PV (valor de pwm de velocidad del motor)
límite PV 55
Si (PV > 55)
{
PV = 55;
}

Si (PV < -55)
{
PV = -55;
}

Esto calcula el valor PWM individual para cada motor, tenga en cuenta la diferencia de señal.

m1Speed = 170 + PV;
m2Speed = 170 - PV;

establecer velocidades de motor

Esto establece la velocidad del motor actualizada y la dirección

digitalWrite (dir_a, LOW);
analogWrite (pwm_a, m2Speed);
digitalWrite (dir_b, bajo);
analogWrite (pwm_b, m1Speed);
rotura;
}
} / / fin de línea siga

Artículos Relacionados

Línea siguiente robot con algoritmo PID

Línea siguiente robot con algoritmo PID

línea siguiente robot diseñado con Solidworks e implementado con arduino, ardumoto para el control de las ruedas y una barra de sensor con 8 sensores infrarrojos. Para cualquier duda con respecto a esta línea que sigue por favor dejadme un comentario
Línea básica siguiente Robot con Arduino

Línea básica siguiente Robot con Arduino

07/09/2015Han pasado unos años desde que publicamos inicialmente básica línea siguiente Robot con Arduino tutorial, y parece que mucha gente encuentra útil que debemos publicar una actualización que funciona actual de las bibliotecas de Arduino, incl
Boe Bot/Arduino línea siguiente robot

Boe Bot/Arduino línea siguiente robot

esta es una guía bastante clara de cómo construir una línea que sigue el robot. utiliza luces, luz resistencias dependientes (LDRs), un arduino y un chasis de boe bot (funcionará cualquier chasis robot con 2 servos de rotación continua). Lee los sens
ActoBitty línea siguiente Robot

ActoBitty línea siguiente Robot

Aprender a construir una línea que sigue el robot usando la ActoBitty y un Arduino. A continuación es la lista de hardware necesario para completar este build.Hardware requerido1 x Kit de Robot Actobitty 2 ruedas (https://www.servocity.com/html/actob
Más simple del mundo línea siguiente Robot

Más simple del mundo línea siguiente Robot

Aquí en este instructable voy a mostrarte cómo hacer la línea del mundo más simple siguiente robot. Más simple en términos de número de piezas y la complejidad del circuito.La mayoría de la línea después de robots en internet utilizan complejos circu
Un simple y barato bricolaje línea siguiente robot

Un simple y barato bricolaje línea siguiente robot

Si alguien quiere empezar a construir robots, este robot es para ellos, es fácil hacerlo, conocimientos de programación no se requiere un poco de la electrónica de conocimiento es suficiente para terminar este robot.Ingredientes clave:1 x chasis2 x s
Una simple línea siguiente robot utilizando transistores

Una simple línea siguiente robot utilizando transistores

un robot frío y lo de baratoEste robot utiliza transistores como microcontrolador. Ahora vamos a empezarPaso 1: bienvenida Hai,my name is Amal P.kEsto es un gran robot. Es muy barato. Este robot utiliza transistores como microcontrolador. Permite com
Línea siguiente Arduino Robot

Línea siguiente Arduino Robot

Este robot utiliza un algoritmo de control PID para seguir autónomamente un camino negro sobre un fondo blanco. Utiliza una matriz de ocho sensores de reflectancia IR para determinar la posición del robot en la línea, y el microcontrolador Arduino Na
Robot controlado con cualquier control de Tv

Robot controlado con cualquier control de Tv

La idea de este instructable es ensenar a controlar un robot con el control de cualquier televisor. Muchas veces creemos saludando materiales complicados para hacer un robot de, embargo de pecado, la realidad es con materiales sumamente populares, te
Línea siga robot, ninguna programación requerida

Línea siga robot, ninguna programación requerida

esta es la línea siguiente robot que diseñado y construido para una evaluación de diseño electrónico de CNAE. la idea vino a mí jugando con resistencias dependientes de luz (LDR), darse cuenta de que se puede variar la velocidad del motor cuando se c
Mando a distancia Robot con Arduino

Mando a distancia Robot con Arduino

L293D es un doble motor driver puente H circuito integrado (IC). Controladores de motor actúan como amplificadores de corriente ya que llevan un control de poca intensidad de señal y proporcionan una señal de corriente más alta. Esta señal de corrien
Línea siguiente SRK Robot con piezas impresas 3d

Línea siguiente SRK Robot con piezas impresas 3d

El Robot SRK + línea siguiente es hermano pequeño del Robot siguientes MRK + línea. Utiliza un tipo diferente de junta y otro tipo de motor. (El ruido de los motores que es lo que me imagino que un escarabajo gigante parecería, por lo tanto, El Beetl
Línea siguiente MRK Robot con piezas impresas 3d

Línea siguiente MRK Robot con piezas impresas 3d

Con el MRK + línea kit, usted puede construir su propia línea que sigue el robot. Las plataformas son resistente y metal, pero rectangular. Hemos querido crear código abierto partes de robots que tienen un diseño más suave, pero son todavía lo sufici
Línea seguidor Robot - Control PID - Setup Android

Línea seguidor Robot - Control PID - Setup Android

== > Este proyecto obtuvo el 2 º premio en concurso de robótica de 2016.Muchas gracias por los votos ;-)El propósito de este proyecto es construir un Robot seguidor de línea con control PID. También utilizamos un dispositivo Android para configurar f