Ligne suivante Robot avec contrôle de base PD (proportionnelle-dérivé) (5 / 6 étapes)

Étape 5: Examiner la ligne suite routine

La ligne qui suit la routine gère les calculs et la gestion des erreurs.

void follow_line (int line_position) //follow la ligne

{

Switch(line_position)
{

Ces cas gérer la situation où la ligne est perdue et la tentative pour faire pivoter vers la ligne

ligne a quitté le bord gauche du capteur
case 0 :

digitalWrite (dir_a, basse) ;
analogWrite (pwm_a, 200) ;
digitalWrite (dir_b, HIGH) ;
analogWrite (pwm_b, 200) ;
Serial.println ("rotation Left\n") ;
rupture ;

ligne a quitté le bon montage du capteur
cas 7000 :
digitalWrite (dir_a, HIGH) ;
analogWrite (pwm_a, 200) ;
digitalWrite (dir_b, basse) ;
analogWrite (pwm_b, 200) ;
Serial.println ("rotation Right\n") ;
rupture ;

Cette ligne calculer l’erreur pour la boucle de régulation. 3500 est la « consigne » et peut être ajusté pour déplacer la position de ligne qu'est en tournage pour le robot.

par défaut :
erreur = (float) line_position - 3500 ;

régler la vitesse du moteur basée sur les termes de PID proportionnels et dérivés
KP est la constante de proportionnelle à virgule flottante (peut-être commencer avec une valeur autour de 0,5)
KD est la constante de dérivés en virgule flottante (peut-être commencer avec une valeur de près de 1)
Notez que lorsque vous faites des PID, il est très important vous obtenez vos signes droit, sinon le
boucle de régulation sera instable

Ce sont les variables qui doivent être réglées pour affiner la boucle de régulation

KP =. 5 ; C’est la valeur de proporational
KD = 1 ; C’est la valeur dérivée

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

Valeurs PWM (vitesse moteur) doivent être comprise entre 0 et 255. Ce code limite les valeurs. Il limite également l’extrémité inférieure de la valeur PWM. Selon les batteries, les moteurs et les charge, les moteurs en décrochera habituellement des 0 à une valeur beaucoup plus grande. Dans cet exemple, le bas de gamme est de 170.

ce codes limites le PV (valeur de la vitesse moteur pwm)
limite de PV à 55
Si (PV > 55)
{
PV = 55 ;
}

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

Il a calculé la valeur PWM individuelle pour chaque moteur, notez la différence de signe.

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

régler les vitesses du moteur

Ceci définit la vitesse du moteur mis à jour et la direction

digitalWrite (dir_a, basse) ;
analogWrite (pwm_a, m2Speed) ;
digitalWrite (dir_b, basse) ;
analogWrite (pwm_b, m1Speed) ;
rupture ;
}
} / / fin de suivre ligne

Articles Liés

Ligne de base suivant Robot avec Arduino

Ligne de base suivant Robot avec Arduino

07/09/2015Il a été quelques années puisque nous avons affiché initialement ce Robot suivant ligne de base avec tutorial Arduino, et il semble tellement de gens a jugé utile que nous devrions poster une mise à jour qui se déroule courant Arduino bibli
Intelligent Robot avec contrôle de la Vision et la voix

Intelligent Robot avec contrôle de la Vision et la voix

Comment faire un robot intelligent avec la vision par ordinateur, commande vocale, synthèse vocale, etc., à l'aide de votre téléphone Android !Étape 1: piècesMatériel1. un téléphone Android qui prend en charge l'OTG avec Android KitKat ou ultérieur i
Ligne suivant Robot

Ligne suivant Robot

Il s'agit d'un simple robot Arduino-basé qui utilise des photo-résistances à suivre une ligne noire sur papier blanc. Cela a été fait dans le cadre de mécatronique classe l'Université Rowan dans le semestre de printemps 2015.Étape 1: matériaux(1) Ard
Ligne suivant Robot Arduino

Ligne suivant Robot Arduino

Ce robot utilise un algorithme de contrôle PID autonome suivre une piste noire sur fond blanc. Il utilise un tableau de huit capteurs de réflectance infrarouge pour déterminer la position du robot sur la ligne, et le microcontrôleur Arduino Nano calc
Ligne après le robot avec l’algorithme PID

Ligne après le robot avec l’algorithme PID

ligne suivante robot conçu avec Solidworks et mis en œuvre avec arduino, ardumoto pour le contrôle des roues et une barre palpeuse avec 8 capteurs infrarouges. Pour toute question concernant cette ligne qui suit s'il vous plaît laissez-moi un comment
GESTE contrôlé Arduino basé Rover (Wireless + ligne suivante)

GESTE contrôlé Arduino basé Rover (Wireless + ligne suivante)

Qu'il est capable de ?1. il peut être contrôlé à l'aide de gestes.2. il peut envoyer à distance de l'objet, le niveau de batterie, température, valeurs etc. au gant (LCD).3. peut fonctionner sur angle de 45 degrés.4. paire Tx Rx sur rover et gant (po
Ligne suivante SRK Robot avec pièces imprimées en 3d

Ligne suivante SRK Robot avec pièces imprimées en 3d

Le Robot SRK + ligne suivante est petit frère du Robot MRK + ligne suivante. Il utilise un autre type de Conseil et d'un autre type de moteur. (Le bruit que font les moteurs, c'est ce que j'imagine qu'un scarabée géant sonnerait comme, donc Le Beetle
Ligne suivante MRK Robot avec pièces imprimées en 3d

Ligne suivante MRK Robot avec pièces imprimées en 3d

Avec the MRK + ligne kit, vous pouvez construire votre propre ligne robot qui suit. Les plates-formes sont robustes et métal, mais rectangulaire. Nous avons voulu créer opensource pièces de robots qui ont une conception plus lisse, mais sont encore a
Ensemble de base vers le haut et le contrôle d’un Robot avec correction d’essieu

Ensemble de base vers le haut et le contrôle d’un Robot avec correction d’essieu

C'est comment nous avons pu faire un robot avec un essieu fix se déplacer dans un carré de 2 x 2 et montre également comment nous avons mis en place.Étape 1: Les éléments que vous aurez besoinÉlémentsUne batterie de 9vUn connecteur de pile 9v0,0 tour
Une main robotisée contrôlable avec Flex capteurs & Servos

Une main robotisée contrôlable avec Flex capteurs & Servos

Cet Instructable va vous montrer comment faire une main robotisée contrôlable qui est contrôlée à l'aide de moteurs de microcontrôleur et servo Arduino. La main robotique sera transférée directement à l'aide d'un gant de la main.Avant de commencer, j
Contrôle ArmLinkLibrary-master bras de Robot avec bras lien logiciel

Contrôle ArmLinkLibrary-master bras de Robot avec bras lien logiciel

Envie d'être cool comme Simone Giertz mais ArmLinkSerial pas savoir par où commencer ?Le InterbotiX bras lien logiciel fournit une interface simple pour GlobalArm.h -Compatible bras manipulateurs. En utilisant ce logiciel, vous pouvez contrôler le br
Contrôler un bras robotisé avec la Kinect de Microsoft !

Contrôler un bras robotisé avec la Kinect de Microsoft !

Les robots sont rapidement devenant plus intégré dans notre vie quotidienne. Ils nettoient nos planchers, faire notre café et sont même utilisés pour la téléprésence. Car ils deviennent si vitales pour la société, pourquoi ne pas donner nos compagnon
Robot Handgesture contrôlée avec bras robotique

Robot Handgesture contrôlée avec bras robotique

Avec ce robot, vous contrôlez tout à la main, le bras robotique de même !Les gestes de la main peuvent être programmés différemment.Longue portée avec communication Xbee !Étape 1: Pièces nécessairesArduino Uno x2- http://store.arduino.cc/index.php?ma
WireBeings beta : un imprimé et Robot extensible pour Arduino avec contrôle Android 3D

WireBeings beta : un imprimé et Robot extensible pour Arduino avec contrôle Android 3D

http://wirebeings.com/Découvrez la vidéo ici :Il s'agit d'un beau projet que vous pouvez continuer de travailler et modifier comme vous apprenez davantage de projets Arduino. Ce Instructable passe par la construction du robot compatible bluetooth dan