Rappel

La technologie de guidage par fil est largement utilisée dans l’industrie, en particulier dans les entrepôts où la manipulation est automatisée. Les robots suivent une boucle de fil enfouie dans le sol. Un courant alternatif d’intensité et de fréquence relativement faible, entre 5 Kz et 40 KHz, circule dans ce fil. Le robot est équipé de capteurs inductifs, généralement basés sur un circuit oscillant (avec une fréquence de résonance égale ou proche de la fréquence de l’onde générée) qui mesure l’intensité du champ électromagnétique proche du sol. Une chaîne de traitement (amplification, filtres, comparaison) permet de déterminer la position du robot à l’intérieur du fil.

Ces jours-ci, le fil périphérique est également utilisé pour créer des « clôtures invisibles » afin de garder les animaux domestiques dans les cours et les robots tondeuses à gazon dans leurs zones de travail. LEGO utilise également le même principe pour guider les véhicules le long des routes sans que les visiteurs ne voient de lignes. Par exemple, voici une vidéo du Robomow RS630 en action :

Ce tutoriel explique de manière simple et intuitive et vous à comprendre la théorie, la conception et la mise en œuvre de votre propre générateur et capteur afin d’obtenir un fil périphérique. Les fichiers (schémas, fichiers Eagle, Gerbers, fichiers 3D et code exemple Arduino) sont également disponibles en téléchargement. De cette façon, vous pouvez ajouter la fonction de détection de périmètre de fil sur votre robot préféré et le garder dans une « zone » de fonctionnement. Plutôt cool, n’est-ce pas ?

Générateur

Théorie

Le circuit du générateur de fil périmétrique sera basé sur la célèbre minuterie NE555. La NE555, plus communément appelé 555, est un circuit intégré utilisé pour le mode minuterie ou multivibrateur. Ce composant est toujours utilisé aujourd’hui en raison de sa facilité d’utilisation, de son faible coût et de sa stabilité. Un milliard d’unités sont fabriquées par an. Pour notre générateur, nous utiliserons la NE555 en configuration Astuable. La configuration stable permet d’utiliser la NE555 en tant qu’oscillateur. Deux résistances et un condensateur permettent de modifier la fréquence d’oscillation ainsi que le rapport cyclique. L’arrangement des composants est comme indiqué dans le schéma ci-dessous.

La minuterie NE555 génère une onde carrée (brute) qui peut parcourir toute la longueur du fil périphérique. Référez-vous à la fiche technique NE555 pour la minuterie pour plus d’informations sur le circuit d’échantillonnage ainsi que sur la théorie de fonctionnement (opération 8.3.2 A-stable). Texas Instruments n’est pas le seul fabricant du NE555 IC, alors si vous choisissez une autre puce, assurez-vous de consulter son mode d’emploi.

Nous offrons ce superbe Kit de soudage par minuterie 555 qui vous donnera l’opportunité de souder tous les composants internes d’une minuterie 555 à travers un paquet de trou pour vous permettre de comprendre le fonctionnement de ce circuit en détail.

Schéma et prototypage

Le schéma fourni dans le mode d’emploi NE555 (section d’opération A-stable 8.3.2) est assez complet. Quelques composants supplémentaires ont été ajoutés et discutés ci-dessous.

NE555 A-stable typical circuit

Circuit NE555 pour un fonctionnement A-stable

La formule utilisée pour calculer la fréquence de l’onde carrée de sortie est :

    f = 1,44 / ((Ra+2*Rb)*C) (1) 

La plage de fréquences de l’onde carrée générée se situe entre 32 kHz et 44 kHz, fréquence qui ne doit pas interférer avec d’autres appareils proches. Pour cela, nous avons choisi Ra = 3,3 KOhms, Rb = 12 KOhms + Potentiomètre + 4,7 KOhms et C = 1,2 nF.

Le potentiomètre nous aidera à faire varier la fréquence de sortie de l’onde carrée pour correspondre à la fréquence de résonance du circuit LC Tank dont nous parlerons plus tard. La valeur théorique la plus basse et la plus élevée de la fréquence de sortie sera calculée comme suit par la formule (1) :

Plus basse valeur de fréquence : fL = 1,44 / ((3,3+2*(12+0))*1,2*10^(-9)) ≈ 32 698 Hz

Plus haute valeur de fréquence : fH = 1,44 / ((3,3+2*(12+4,7))*1,2*10^(-9)) ≈ 43 956 Hz

Puisque le potentiomètre 4,7 KOhms n’atteint jamais 0 ou 4,7, la plage de fréquence de sortie variera d’environ 33,5 Khz à 39 Khz.

Voici le schéma complet du circuit générateur :

Eagle Generator Schematic

Schéma du générateur Eagle

Comme vous pouvez le voir dans le schéma, peu de composants supplémentaires ont été ajoutés et seront discutés ci-dessous. Voici la nomenclature complète des matériaux (BOM) :

  • R1 (Ra) : 3,3 KOhms
  • R2 (Rb1) : 12 KOhms
  • R3 (résistance de limitation de courant) : 47 Ohms (doit être assez grand pour dissiper la chaleur ; une puissance de 2 W devrait suffire)
  • R4 (Rb2) : potentiomètre 4,7 KOhm
  • C1 (C) : 1,2 nF
  • C2 (0,01 uF) : 0,01 uF
  • C3 (découplage/note A) : 100 nF
  • C4 (filtrage) : 1 uF
  • J1 : connecteur cylindrique positif de 2,5 mm (5-15 V CC)
  • 12 : borne à vis (deux positions)
  • IC1 : minuteur de précision NE555

Des pièces supplémentaires ajoutées au schéma comprennent un connecteur à barillet A (J1) pour une connexion facile à un adaptateur mural (12 V) et une borne à vis (12) pour une connexion pratique au fil périphérique.

fil de périmètre : Notez que plus le fil périmétrique est long, plus le signal se dégrade. Nous avons testé la configuration avec environ 30 m de fil multibrin de calibre 22 (ancré dans le sol par opposition à « enterré »).

Alimentation électrique : Un adaptateur mural 12 V est incroyablement commun, et tout courant nominal supérieur à 500 mA devrait fonctionner correctement. Vous pouvez également choisir un acide de plomb 12 V ou 11,1 V LiPo pour un bon fonctionnement dans le cas, mais assurez-vous de l’imperméabiliser et de l’éteindre lorsqu’il n’est pas utilisé.

Voici quelques pièces que nous vous proposons pour la construction du circuit générateur :

Voici à quoi devrait ressembler le circuit du générateur sur une plaque d’expérimentation :

Sensor Breadboard Fritzing

Plaque d’expérimentation de générateur Fritzing

Résultats

Comme indiqué dans la capture d’écran de l’oscilloscope de la sortie du circuit du générateur ci-dessous (pris avec l’ Oscilloscope Tablette 200 Mhz 1 GE/s 4 Canaux Micsig), on peut voir une onde carrée (irrégulière) avec une fréquence de 36,41 KHz et une amplitude de 11,8 V (en utilisant un adaptateur secteur 12 V). La fréquence peut être légèrement modifiée en ajustant le potentiomètre R4.

Generator Square Wave Output

Sortie d’onde carrée du générateur

Une plaque d’expérimentation sans soudure est rarement une solution à long terme ; il faut mieux l’utiliser pour créer un rapide prototype. Par conséquent, après avoir confirmé que le circuit du générateur fonctionne correctement, générant une onde carrée avec une plage de fréquence de 33,5 Khz et 40 KHz (variable via le potentiomètre R4), nous avons conçu un PCB (24 mm x 34 mm), uniquement avec des composants à trous traversants métallisés (Plated-through Hole, PTH) pour en faire une belle petite plaque génératrice d’onde carrée. Puisque les composants à trou traversants ont été utilisés pour le prototypage avec une plaque d’expérimentation, le PCB permet également l’utilisation de composants à trous traversants (au lieu d’un montage en surface) et offre une soudure à la main facile. Le placement des composants n’est pas exact et vous pouvez probablement l’améliorer. Nous avons rendu les fichiers Eagle et Gerber disponibles au téléchargement pour que vous puissiez créer votre propre PCB. Les fichiers peuvent être trouvés dans la section « Fichiers » à la fin de cet article.

Voici quelques astuces pour concevoir votre propre carte :

  • Ayez le connecteur cylindrique et la borne à vis du même côté de la carte
  • Placez les composants relativement proches les uns des autres et minimisez les traces/longueurs
  • Utilisez des trous de montage d’un diamètre standard, et placez-les dans un rectangle facile à reproduire.
Generator PCB on Eagle

Carte génératrice Eagle

Generator Board 3D

Carte génératrice 3D

Generator Board

Carte génératrice

Installation de fil

Alors, comment installer le fil ? Plutôt que de l’enterrer, il est plus facile d’utiliser simplement des piquets pour le maintenir en place. Vous êtes libre d’utiliser ce que vous voulez pour garder le fil en place, mais le plastique fonctionne mieux. Un paquet de 50 piquets utilisés pour les robots tondeuses à gazon à tendance à être peu coûteux.

Lors de la pose du fil, veillez à ce que les deux extrémités se rencontrent au même endroit pour se connecter à la carte du générateur à travers la borne à vis.

Perimeter Wire Installation 1

Installation du fil périphérique 1

Perimeter Wire Installation 2

Installation du fil périphérique 2

Perimeter Wire Installation 3

Installation du fil périphérique 3

Generator Setup

Configuration du générateur

Résistance aux intempéries

Étant donné que le système sera probablement laissé dehors pour être utilisé à l’extérieur. Le fil périphérique a besoin d’un revêtement résistant aux intempéries et le circuit du générateur doit lui-même être logé dans un boîtier étanche. Vous pouvez utiliser cet outil Boîtier pour protéger le générateur de la pluie et cet Ensemble de fils d’alimentation CC étanche

Tous les fils ne sont pas créés égaux. Si vous prévoyez de laisser le fil à l’extérieur, assurez-vous d’investir dans un bon fil, par exemple le fil périmétrique Robomow 92 m env.

Un blindage qui n’est pas résistant aux UV/à l’eau se dégrade rapidement avec le temps et devient cassant.

Capteur

Théorie

Maintenant que nous avons construit le circuit du générateur et vérifié qu’il fonctionne comme il se doit, il est temps de commencer à réfléchir à la façon de détecter le signal qui traverse le fil. Pour cela, nous vous invitons à en savoir plus sur le Circuit LC, également appelé circuit de réservoir ou circuit accordé.

Un circuit LC est un circuit électrique basé sur un inducteur/bobine (L) et un condensateur (C) connecté en parallèle. Ce circuit est utilisé dans les filtres, les syntoniseurs et les mélangeurs de fréquence. Par conséquent, il est couramment utilisé dans les transmissions sans fil pour la diffusion et la réception. Nous n’entrerons pas dans les détails théoriques concernant les circuits LC, mais la chose la plus importante à garder à l’esprit pour comprendre le circuit de capteur utilisé dans cet article serait la formule pour calculer la fréquence de résonance d’un circuit LC, qui va comme :

       f0 = 1/(2*π*√(L*C)) (2) 

Où L est la valeur d’inductance de la bobine dans H (Henry) et C est la valeur de capacitance du condensateur dans F (Farads).

Pour que le capteur détecte le signal 34 kHz-40 Khz qui pénètre dans le fil, le circuit de réservoir que nous avons utilisé devrait avoir la fréquence de résonance dans cette plage. Nous avons choisi L = 1 mH et C = 22 nF pour obtenir une fréquence de résonance de 33932 KHz calculé en utilisant la formule (2).

L’amplitude du signal détecté par notre circuit de réservoir sera relativement faible (un maximum de 80 mV lorsque nous avons testé notre circuit de capteur) lorsque l’inducteur est à environ 10 cm du fil, par conséquent, il aura besoin d’une certaine amplification. Pour ce faire, nous avons utilisé le renommé amplificateur LM324 Op-Amp pour amplifier le signal avec un gain de 100 dans une configuration non-invertissante en 2 étapes d’amplification pour s’assurer d’obtenir un signal analogique lisible à une distance supérieure à 10 cm dans le sortie du capteur. Cet article fournit des informations utiles sur les Op-Amps en général. En outre, vous pouvez jeter un coup d’œil à la fiche technique du LM324.

Voici un schéma de circuit typique d’un amplificateur LM324 :

LM324 Non-inverting

Op-Amp en configuration non-inverseuse

En utilisant l’équation pour une configuration de gain non-inverseuse, Av = 1+R2/R1. Régler le R1 à 10 KOhms et R2 à 1 MOhms fournira un gain de 100, ce qui est dans la spécification souhaitée.

Pour que le robot puisse détecter le fil périphérique dans différentes orientations, il est plus approprié d’y installer plus d’un capteur. Plus il y a de capteurs sur le robot, mieux il détectera le fil périphérique.

Pour ce tutoriel, et puisque le LM324 est un amplificateur quad-op (cela signifie qu’une puce LM324 possède 4 amplificateurs séparés), nous utiliserons deux capteurs de détection sur la carte. Cela signifie utiliser deux circuits LC et que chacun aura 2 étapes d’amplification. Par conséquent, une seule puce LM324 est nécessaire.

Schéma et prototypage

Comme nous l’avons mentionné ci-dessus, le schéma pour la carte de capteur est assez simple. Il est composé de 2 circuits LC, d’une puce LM324 et de deux résistances 10 KOhms et 1 MOhms pour régler les gains des amplificateurs.

Sensor Schematic Eagle

Schéma du capteur Eagle

Voici une liste des composants que vous pouvez utiliser :

  • R1, R3, R5, R7 : résistances 10 KOhm
  • R2, R4, R6, R8 : résistances 1 MOhm
  • C1, C2 : condensateurs 22 nF
  • IC : amplificateur LM324N
  • JP3 / JP4 : barrettes M/M, 2,54 mm à 3 broches
  • Inductances 1, 2 : 1 mH*

*Les inductances de 1 mH avec un courant nominal de 420 mA et un facteur Q de 40 @ 252  kHz devraient fonctionner correctement. Nous avons ajouté des bornes à vis en tant que conducteurs d’inductance au schéma afin que les inducteurs (avec fils soudés aux fils) soient placés à des endroits appropriés sur le robot. Ensuite, les fils (des inducteurs) seront connectés aux bornes à vis.

Les broches Out1 et Out2 peuvent être directement connectées aux broches d’entrée analogiques d’un microcontrôleur. Par exemple, vous pouvez utiliser une carte Arduino UNO ou, mieux, un contrôleur BotBoarduino pour une connexion plus commode, car il possède des broches analogiques cassées dans une rangée de 3 broches (signal, VCC, GND). Il est également compatible Arduino. La puce LM324 sera alimentée par les 5 V du microcontrôleur, par conséquent, le signal analogique (onde détectée) de la carte de capteur variera entre 0 V et 5 V en fonction de la distance entre l’inducteur et le fil périphérique. Plus l’inducteur est proche du fil périmétrique, plus l’amplitude de l’onde de sortie du circuit du capteur est élevée.

Voici à quoi devrait ressembler le circuit du capteur sur une plaque d’expérimentation :

Sensor Breadboard Fritzing

Plaque d’expérimentation de capteur Fritzing

Résultats

Comme nous pouvons le voir sur les captures d’écran de l’oscilloscope ci-dessous, l’onde détectée à la sortie du circuit LC est amplifiée et sature à 5 V lorsque l’inductance est à 15 cm du fil périphérique :

20-sensor output before amplification

Sortie de circuit de réservoir (inducteur @ 15 cm de fil)

Sensor Circuit Output

Sortie du circuit du capteur après l’amplification (inducteur @ 15 cm de fil)

Comme nous l’avons fait avec le circuit générateur, nous avons conçu une carte PCB compacte avec des composants traversants pour la carte de capteur avec deux circuits de réservoir, un amplificateur et 2 sorties analogiques. Les fichiers peuvent être trouvés dans la section « Fichiers » à la fin de cet article.

Sensor PCB Eagle

Carte de détection Eagle

Sensor Board 3D

Carte de détection 3D

Sensor Board

Carte de détection

L’obtention d’une détection optimale du fil périmétrique avec les inductances du circuit de détection dépendra de la façon dont les inducteurs sont placés dans le robot. Si vous utilisez un inducteur radial traversant comme nous l’avons fait, l’axe de l’inducteur doit être perpendiculaire au fil périphérique comme ci-dessous :

17-wire detection-1

Détection du fil de périmètre

Code Arduino

Le code Arduino que vous pourriez utiliser pour votre générateur de fil périmétrique et pour le capteur est très simple. Comme la sortie de la carte de détection est deux signaux analogiques variant de 0 V à 5 V (un pour chaque capteur/inducteur), l’exemple du lecture analogique d’Arduino d’Arduino peut être utilisé. Il suffit de connecter les deux broches de sortie de la carte de capteur à deux broches d’entrée analogiques et de lire la broche appropriée en modifiant l’exemple du lecture analogique d’Arduino. À l’aide du moniteur de série Arduino, vous devriez voir une valeur RAW de la broche analogique que vous utilisez varier de 0 à 1024 lorsque vous approchez de l’inducteur au câble périphérique.

Arduino Sensor Analogread

Lecture analogique Arduino

Si vous utilisez le générateur de fils périmétriques et le capteur dans un robot, vous pouvez définir un seuil (qui correspond à une distance entre l’inducteur et le fil périphérique) pour que le robot puisse revenir ou tourner dès que ce seuil est atteint. De cette façon, le robot continuera de se déplacer dans la zone délimitée. Encore une fois, est-ce que ce n’est pas super cool ?

Fichiers

Les fichiers Eagle, Gerbers, Fritzing et les fichiers 3D Step du générateur de fils périmétriques et du capteur peuvent être téléchargés via ce lien.Nous serions heureux d’entendre parler de votre projet sur le forum de RobotShop. De plus, n’hésitez pas à partager votre version du générateur de fils périmétriques et du capteur dans la section des commentaires.