IDÉES EN VRAC (Robotic 2009)
Voici quelques idées de capteurs, commandes en vrac...
Si vous en réalisez avec succès (y a pas de raison!) un petit mot en retour
sera le bien venu :
- Commande moteur.
- Etage de sécurité pour commande moteur.
- Balise base.
- Roue folle ou roue jokey.
- ...
Commande moteur en tout ou rien pour marche avant ou arrière, les commandes
sortent par deux broches du Pic, éventuellement les sorties PWM...
Il suffit de 4 photoMOS relay associés à 4 diodes "anti-retour" plus
4 résistances de limitations pour les diodes LED des opto et un quadruple NAND
(4011 ou équivalent), le schéma :
Les 4 photoMOS sont montés en pont afin de pouvoir assurer l'inversion de
sens du moteur avec une seule alimentation, il aurait pu être possible de
commander "en croix" deux par deux les deux optos, mais en imaginant
une légère erreur de programmation : l'envois simultanément de la commande M/AV
et M/Arr aurait donné un court-circuit de l'alimentation...
Les 4 portes NAND assurent donc de manière hardware l'impossibilité de ce
court-circuit. Il faut un niveau "0" sur la commande opposée pour
valider la commande de mise à la masse de la branche 0V. Dans le cas ou les
deux sorties sont à "1" les deux branches du moteur sont isolées du
"0"V, donc pas de CC.
Un petit mot sur les diodes "anti-retour", celles-ci évitent, lors des
commutations, les pics de tensions dus à la partie selfique du moteur et par delà
la destruction des photoMOS.
Il est aussi possible d'utiliser de "bêtes" transistors de puissances
à la place des photosMOS, mais il faudra adapter les niveaux de commande.
Ce montage est à réaliser en double dans le cas d'un double moteur.
Il est aussi possible d'ajouter un petit étage de sécurité pour éviter
d'alimenter les moteurs dès qu'un des capteurs (microrupteur) rencontre un
obstacle sur le chemin du mobile, voir l'idée suivante....
Bon pourquoi se casser la tête lorsqu'il existe des composants tout fait !
cherchez le TPIC0298 de Texas ou L298 de ST, c'est exactement mon petit circuit,
merci Elektor... Il doit bien en exister sous d'autres références !
Mais attention ces circuits fonctionnent avec deux tensions d'alim, une logique
(5V ou 3,3V) et une de puissance qui doit être strictement supérieure à celle
logique, sinon vous aller alimenter vos moteurs avec la tension logique...
Dans mon cas l'alimentation moteur étant inférieure à l'alim logique je vais
passer à un circuit avec composants "discrets" !
Etage de sécurité pour commande moteur :
Une idée pour compenser le défaut d'interruption du PicBasic3B, cela permet de couper les moteurs au premier contact contre un obstacle et permet tout de même de réactiver les moteurs, par contre il ne faut pas oublier dans la programmation de couper les moteurs avant de les relancer pour faire la manœuvre de contournement, voici le schéma pour une voie, donc à multiplier pour autant de voies à commander (2 montage pour un moteur, 4 pour 2 moteurs, ...) :
Cde M/Ax est à relier a la sortie du Pic et M/Ax à l'entrée de commande
moteur du paragraphe au-dessus.
Lorsque la Cde M/Ax est à zéro cela force via la diode+R3 la bascule composée
des 2 NAND à un état stable et la sortie M/Ax est à zéro, dès que Cde M/Ax
passe à "1" via le réseau C1/R1 et l'inverseur une impulsion à
"0" est donnée à l'opposée de la bascule et M/Ax passe à
"1", on retrouve donc le fonctionnement de commande comme si le
circuit n'existait pas.
Tant que la Cde M/Ax ne repasse pas à "0" l'état de la bascule reste
inchangée.
Si Cde M/Ax repasse à "0" la bascule revient aussitôt dans le bon état
et M/Ax passe à "0".
Maintenant on associe le contact de rencontre d'obstacle avec le réseau C2/R2
et une diode, si pendant le fonctionnement du moteur le microrupteur est activé,
il génère une impulsion sur la bascule et désactive la commande moteur,
celui-ci s'arrête.
Maintenant si le Pic refait passer Cde M/Ax à "0" puis "1"
le moteur peut redémarrer. De même il faut que le microrupteur soit relâché
et reappuyé pour pouvoir arrêter le moteur de nouveau.
Le tout est de programmer la
marche arrière qui va bien pour libérer le microrupteur.
La partie C2/R2 peut être unique pour 2 ou 4 "module", le tout étant
de mettre autant de diodes qu'il y a de module, calculer R2/C2 ensuite en
fonction.
Attention ce petit circuit ne fonctionne pas si la commande M/A est utilisée en
PWM, enfin la partie "contact", il faudrait réfléchir à une
circuiterie à base de bascule JK + horloge + ....
L'idée de base est d'émettre par deux diodes IR deux signaux avec une
modulation différente, les fréquences de modulation devant être autres qu'un
multiple, l'astuce est d'envoyer ces deux rayons à l'horizontale et dans deux
plans séparés, il suffit d'utiliser un cône à 45° coupé à la verticale et
séparés par une lame très fine, pour générer les deux plans.
Coté mobile on retrouve le même montage avec par contre deux phototransistors
IR associés à deux doubles amplificateur accordés sur les fréquences d'émissions
:
Balise IR | Récepteur IR |
Interprétation des données en fonction de la position : voici un petit diagramme de positionnement qui permettra de mieux comprendre (j'espère) mon idée (en noir la base, en rouge le mobile aux différents emplacements avec les lettres de repérage, les lettre barrées correspondent à une position à 180° du mobile) :
Position | Cellule 1 | Cellule 2 |
Explications |
A | 1 | 2 | Le mobile va dans le bon sens, la force des signaux va augmentant. |
A | 2 | 1 | Les signaux sont à l'envers le mobile doit faire demi-tour. |
B | 2 | Seule la cellule 1 reçoit un signal, il faut obliquer sur la gauche, puis voir le cas E. | |
B | 2 | Seule la cellule 2 reçoit un signal, il faut obliquer sur la droite, puis voir le cas E. | |
C | 1 | 2 | Idem cas A, mais le signal va diminuant, il faut donc faire demi-tour puis suivre le cas C. |
C | 2 | 1 | Les signaux sont inversés, mais le signal augmente, il faut prévoir une étape de contournement par la gauche puis de demi-tour pour arriver dans le cas A. |
D | 1 | Seule la cellule 2 reçoit un signal, il faut obliquer sur la droite, puis voir un cas similaire à E. | |
D | 1 | Seule la cellule 1 reçoit un signal, il faut obliquer sur la gauche, puis voir un cas similaire à E. | |
E | 2 | 2 | Les deux cellules reçoivent un signal en augmentant, il faut prévoir une étape de contournement par la gauche puis de demi-tour pour arriver dans le cas A. |
On voit que suivant le signal reçu suivant la cellule et sa
"puissance" on peut savoir si l'on approche ou s'éloigne de la base
et dans quelle zone le mobile se trouve, en mémorisant l'étape N-1, N et N+1
on peut facilement guider le mobile afin qu'il retrouve sa base.
Il faut donc savoir quantifier en puissance reçue les deux fréquences en
provenance de chaque cellule.
L'opération la plus délicate me semble le contournement, car il faut savoir maîtriser
la distance de contournement et le positionnement dans l'espace...
De même il faut penser à traiter l'absence de signal ! et les échos, d'ou je
pense a un semblant de mémoire de position et d'évènement.
Cote mécanique voici une roue libre ou roue folle ou roue jokey ou ... enfin
vous savez la petite roue libre qui suit le mouvement du mobile dans ses
rotations notamment !
Une dessin valant mieux qu'un long discourt, il s'agit d'immobiliser un
roulement dans la platine de base et de se servir de l'axe du roulement comme
axe de rotation de la roue libre, il faut évidement que ces axes soient légèrement
décalés...
Voici un premier jet théorique :
Bon en fait de "roue folle", j'ai fini par trouver au magasin de bricolage d'à coté quelque chose qui fera "affaire" et pour moins de trois Euros... Une petite cale en bois pour arriver à la bonne hauteur et le tour est joué :