Tableau blanc Arduino Line Follower Wallrides Classroom: 8 étapes (avec photos)
Tableau blanc Arduino Line Follower Wallrides Classroom: 8 étapes (avec photos)
Anonim
Image
Image

Suivre la ligne au sol est trop ennuyeux !

Nous avons essayé de regarder sous un angle différent les suiveurs de ligne et de les amener vers un autre plan - vers le tableau blanc de l'école.

Regardez ce qu'il en est sorti !

Étape 1: De quoi avez-vous besoin ?

Comment assembler? Assembler le châssis
Comment assembler? Assembler le châssis

Pour un robot de course:

Mécanique:

1 châssis de robot miniQ 2WD; C'est une plate-forme multifonctionnelle pour créer de simples robots à deux roues

Micro-réducteur 2 x 6V avec rapport de réduction 1:150; Les motoréducteurs inclus avec la plate-forme robotique miniQ ont un rapport de démultiplication de 1:50 et sont trop rapides. Ils doivent être remplacés par des moteurs plus puissants, par exemple avec un rapport de démultiplication de 1:150 ou supérieur. Plus le rapport de démultiplication est élevé, plus le robot roule lentement sur le tableau blanc, mais moins il y a de chances que les roues patinent

4 x aimant néodyme; Vous avez besoin de petits aimants de 3 mm d'épaisseur de diamètre 12 mm (pour ceux de forme ronde) ou de côté 12 mm (pour ceux de forme carrée). De plus, les aimants doivent avoir un trou pour la vis à métaux avec une tête fraisée généralement pour la M3. Parfois, les fabricants spécifient la force du couplage magnétique. Il doit être compris entre 2 kg et 2,4 kg

Électronique:

1 x Arduino UNO; L'ordinateur de bord. La plateforme de prototypage la plus populaire

1 module Octoliner; Les yeux et les phares de votre robot de course. Octoliner est un capteur de ligne froide composé de 8 capteurs infrarouges séparés contrôlés via une interface I2C

1 x bouclier moteur; Presque tous les modules vous conviennent. J'ai utilisé cet analogique basé sur la puce L298p

1 x batterie LiPo 7,4 V à 2 cellules; Il peut donner un courant important dont les moteurs ont besoin pour surmonter l'attraction des aimants. La batterie à 2 cellules a une tension comprise entre 7,4 V et 8,4 V. C'est suffisant pour les moteurs 6V et le régulateur de tension intégré sur la carte Arduino. N'importe quelle capacité peut être sélectionnée. Plus la batterie est volumineuse, plus le robot roule longtemps, mais notez qu'une batterie trop volumineuse peut être lourde. La capacité de l'ordre de 800mAh à 1300mAh est optimale

Divers:

4 x fil mâle-femelle;

4 x entretoise M3 ou entretoise mâle-femelle d'une longueur de 10 mm;

3 x entretoise M3 ou entretoise mâle-femelle d'une longueur de 25 mm ou plus;

4 vis à tête fraisée à tête fraisée M3x8;

1 vis en nylon M3;

1 x écrou hexagonal en nylon M3;

Toutes les vis M3 et écrous hexagonaux

Pour une salle de classe:

Tableau blanc magnétique accroché au mur;

Marqueurs de tableau magnétique noir épais;

Chargeur de batterie spécial LiPo ou plusieurs chargeurs si vous souhaitez fabriquer de nombreux robots et les charger séparément

Étape 2: Comment assembler ? Assembler le châssis

Au début, vous devez assembler les moteurs de pré-remplacement de la plate-forme de châssis miniQ du kit avec des moteurs plus puissants avec un rapport de démultiplication de 1:150. N'oubliez pas de souder les fils aux contacts moteurs !

Étape 3: Comment assembler ? Installez des aimants

Comment assembler? Installez des aimants
Comment assembler? Installez des aimants

Installez les aimants sur la plate-forme miniQ. Utilisez des entretoises M3x10, des vis à tête fraisée M3x8 ou M3x6 et des écrous M3. Les trous d'installation requis sont indiqués sur l'image.

C'est important!

La longueur des entretoises doit être exactement de 10 mm. Après avoir installé les aimants, testez la plate-forme sur le tableau blanc. Les quatre aimants doivent être adjacents au tableau magnétique et les pneus en caoutchouc sur les roues de la plate-forme miniQ doivent être préchargés et fournir une certaine friction avec la surface du tableau.

Déplacez manuellement le robot sur le plateau. Pendant le trajet, les aimants ne doivent pas se détacher de la planche. Si un aimant se détache, cela signifie que les pneus en caoutchouc des roues se chargent au maximum. Dans ce cas, augmentez la distance de 10 mm de toutes les entretoises de 1 ou 2 mm en ajoutant une paire de rondelles M3 et réessayez.

Étape 4: Comment assembler ? Ajoutez de l'électronique

Comment assembler? Ajoutez de l'électronique
Comment assembler? Ajoutez de l'électronique

Montez la carte Arduino UNO sur la plate-forme à l'aide d'entretoises M3x25, de vis M3 et d'écrous M3. N'utilisez pas d'entretoises courtes, laissez de l'espace sous la carte Arduino pour les fils et la batterie.

Installez le blindage du moteur sur la carte Arduino UNO.

Installez le module Octoliner. Appuyez-le contre la plate-forme à l'aide d'une vis et d'un écrou en nylon M3.

C'est important!

N'utilisez pas d'attaches métalliques pour monter l'Octoliner. Certains trous de montage sur la carte de dérivation sont soudés et utilisés comme broches d'E/S. Pour éviter les courts-circuits, utilisez des attaches en plastique, par exemple en nylon.

Étape 5: Comment assembler ? Câblage

Comment assembler? Câblage
Comment assembler? Câblage

Reliez tous les composants électroniques comme indiqué sur le schéma. Le module Octoliner est connecté via 4 fils (GND, 5V, SDA, SCL) à l'Arduino UNO. Connectez les moteurs au blindage du moteur. La batterie LiPo est reliée aux plages de contact de l'alimentation externe sur le blindage du moteur ainsi qu'à la broche VIN sur la carte Arduino. Au lieu d'utiliser la broche VIN, vous pouvez utiliser la prise d'alimentation de 5,5 mm x 2,1 mm sur la carte.

C'est important!

Lors de l'utilisation du blindage du moteur, aucun fil n'est nécessaire. Deux canaux moteurs sont contrôlés par 4 broches. 2 broches PWM sont responsables de la vitesse de rotation tandis que 2 broches DIR sont responsables du sens de rotation. Habituellement, ils sont déjà liés à des broches spécifiques de la carte Arduino et leurs numéros d'index peuvent différer selon le fabricant du blindage. Par exemple, pour mon bouclier moteur, les numéros sont D4 D5 (DIR et PWM pour le premier canal) et D7 D6 (DIR et PWM pour le deuxième canal). Pour le blindage Arduino Motor d'origine, les numéros de broches correspondent à D12 D3 (DIR et PWM pour le premier canal) et D13 D11 (DIR et PWM pour le deuxième canal).

C'est important!

Les batteries LiPo Hobby n'ont pas de carte de protection contre l'inversion de polarité ! Un court-circuit accidentel des contacts positifs et négatifs entraînera une panne permanente de la batterie ou un incendie.

Étape 6: Comment programmer ? XOD

Faire un programme pour un tel robot de course est encore plus facile que de l'assembler.

Dans tous mes projets, j'utilise l'environnement de programmation visuel XOD qui me permet de créer graphiquement des programmes Arduino sans écrire de code. Cet environnement est idéal pour le prototypage rapide d'appareils ou l'apprentissage d'algorithmes de programmation. Suivez la page Web de documentation XOD pour en savoir plus.

Pour programmer ce robot, vous devez ajouter une seule bibliothèque amperka/octoliner dans votre espace de travail XOD. Il est nécessaire pour travailler avec un capteur de ligne à huit canaux.

Étape 7: Comment programmer ? Pièce

Comment programmer ? Pièce
Comment programmer ? Pièce

Le programme est basé sur le principe d'un fonctionnement du régulateur PID. Si vous voulez savoir ce qu'est le contrôleur PID et comment il fonctionne, vous pouvez lire un autre article sur ce sujet.

Jetez un œil au patch avec le programme robot. Voyons quels nœuds sont présents dessus et comment tout cela fonctionne.

octoliner-ligne

Il s'agit d'un nœud de démarrage rapide de la bibliothèque XOD amperka/octoliner qui représente le module Octoliner qui suit la ligne. Il délivre la "valeur de suivi de ligne" qui se situe dans la plage de -1 à 1. La valeur 0 indique que la ligne est en position centrale par rapport aux capteurs infrarouges de la carte Octoliner (entre CH3 et CH4). La valeur -1 correspond à la position extrême gauche (CH0) tandis que la valeur 1 à l'extrême droite (CH1). Au démarrage, le nœud initialise les capteurs optocoupleurs et configure leurs paramètres de luminosité et de sensibilité par défaut. Les entrées pour ce nœud sont l'adresse I2C de l'appareil (ADDR pour la carte Octoliner c'est 0x1A) et le taux de mise à jour de la valeur de suivi de ligne (UPD), je l'ai mis en continu.

Les valeurs de suivi de ligne sont transmises directement au nœud du contrôleur pid.

contrôleur pid

Ce nœud implémentant le travail du contrôleur PID dans XOD. La valeur cible (TARG) pour cela est 0. C'est l'état où la ligne est exactement au centre sous le robot. Si la valeur de suivi de ligne est 0, le contrôleur PID se réinitialise via la broche RST. Si la valeur de suivi de ligne est différente de 0, le contrôleur PID la convertit en utilisant les coefficients Kp, Ki, Kd en valeurs de vitesse du moteur. Les valeurs des coefficients ont été sélectionnées expérimentalement et égales à 1, 0,2 et 0,5, respectivement. Le taux de mise à jour (UPD) du contrôleur PID est réglé sur continu.

La valeur traitée du régulateur PID est soustraite du 1 et ajoutée au 1. Elle est faite pour désynchroniser les moteurs, pour les faire tourner dans des sens opposés lorsque la ligne est perdue. La valeur 1 dans ces nœuds représente la vitesse maximale des moteurs. Vous pouvez réduire la vitesse en entrant la valeur inférieure.

h-bridge-dc-motor

Quelques-uns de ces nœuds sont responsables du contrôle des moteurs gauche et droit des robots. Définissez ici les valeurs des broches PWM et DIR à travers lesquelles votre bouclier moteur fonctionne.

Flashez le patch et essayez votre robot de course. Si vous suivez exactement les instructions de montage, vous n'avez pas besoin de changer le patch ou d'ajuster le contrôleur PID. Les paramètres spécifiés sont tout à fait optimaux.

Le programme terminé peut être trouvé dans la bibliothèque gabbapeople/whiteboard-races

Étape 8: Présentation et conseils