Skip to content

etape 6 le controleur arduino

Guillaume Ponçon edited this page Jun 13, 2022 · 2 revisions

Comme nous l'avons vu, le composant logiciel de pypilot est incomplet sans le logiciel de contrôle du moteur. Celui-ci doit tourner sur un Arduino. Pour autant que je sache, on utilise toujours un Arduino Nano.

N'essayez pas d'acheter un clone bon marché. Il y a quelques réglages sur un Arduino qui nécessitent des astuces pour les régler correctement. Ces paramètres sont appelés des fusibles (fuses), et je les compare aux paramètres du BIOS d'un PC. Si vous achetez un bon Arduino, les fusibles sont bien réglés. Si vous les achetez chez un grand détaillant, cela augmentera vos chances d'obtenir un bon Arduino. Si vos fusibles sont incorrects, pypilot vous donnera un message d'erreur clair indiquant que vos fusibles sont incorrects.

Ensuite, il faut obtenir le sketch. Vous avez besoin de deux fichiers que vous pouvez les obtenir sur github : motor.ino et crc.h.

Pour transférer le sketch sur l'Arduino, le plus simple est de le faire avec un câble USB. Vous pouvez programmez l'Arduino soit sous Linux, soit avec Windows.

  • La méthode Linux est expliquée dans le readme de github. Elle nécessite un programme appelé avrdude qui n'est pas sur l'image openplotter, donc vous devez l'installer avec sudo apt-get install avrdude. N'oubliez pas non plus sudo apt install arduino.
  • La méthode Windows nécessite le téléchargement et l'installation de l'IDE Arduino.

Mettez les deux fichiers dans un répertoire nommé motor, double-cliquez sur motor.ino, dans le menu Outils de l'IDE Arduino, définissez Board=Arduino Nano, Processor=ATMega328P, définissez le com-port et cliquez sur Upload (CTRL U).

Quand l'outil dit upload completed, l'étape suivante est de connecter votre arduino au pypilot. La manière la plus simple de faire cela est d'utiliser le même câble USB que celui avec lequel vous l'avez programmé. Comme ceci :

Le Nano connecté à l'USB s'énumérera comme un périphérique série et Pypilot sondera périodiquement toutes les interfaces série, ce qui signifie qu'après un certain temps, le pypilot reconnaîtra automatiquement la présence de l'Arduino. Lorsque cela se produit, la première chose que vous devriez remarquer, c'est que les LED Tx et Rx sur le Nano se mettent à clignoter. Cela signifie que pypilot est en train de parler avec le Nano. Dans le contrôle du pilote automatique, vous verrez apparaître en haut à gauche le mot Arduino, au milieu le mot SYNC et parfois BADVOLTAGE_FAULT. Ce sont les signes révélateurs qu'un système brillant commence à devenir vivant. À en juger par le mot FAULT, nous n'en sommes pas encore là, mais si vous êtes arrivés jusqu'ici, vous méritez vraiment une boisson appropriée.

Nous faisons cette étape juste pour reconnaître quelle fonctionnalité commence à fonctionner à quel stade. À ce stade, vous devriez voir ce qui suit :

  • Tx et Rx doivent clignoter, ce qui signifie qu'il y a un trafic bidirectionnel entre pypilot et le Nano. Avec une connexion USB, les deux clignotent ou ne clignotent pas. Si vous vous connectez d'une autre manière, il se peut que le Rx clignote et que le Tx ne clignote pas. Si c'est le cas, vérifiez votre cablage.
  • Si vous activez le pilote automatique (AP ou Toi) vous devriez voir le mot Engaged sur l'écran de contrôle. Sur l'Arduino une LED rouge devrait s'allumer.
  • Il y aura des messages d'erreur aléatoires à côté du mot SYNC. Ces messages sont appelés "flags" dans le langage du pilote automatique et à ce stade, ils sont causés par les broches d'entrée de l'Arduino laissées ouvertes. Les broches d'entrée ouvertes sont une mauvaise pratique en électronique ; si elles sont laissées "flottantes", elles sont sensibles aux influences électrostatiques et, pire, aux dommages.

Étape 7 : plugin OpenCPN >>>