Monome2018-7 : Différence entre versions
De Wiki de bureau d'études PeiP
(→Réalisation de la logique du sonar :) |
(→Réalisation de la logique du sonar :) |
||
Ligne 81 : | Ligne 81 : | ||
Pour ce faire : | Pour ce faire : | ||
− | * un 555 astable (nommé "PULSE") sert à produire des impulsions ''négatives'' toutes les | + | * un 555 astable (nommé "PULSE") sert à produire des impulsions ''négatives'' toutes les 47 ms. |
* ce signal est inversé afin d'obtenir des impulsions positives. | * ce signal est inversé afin d'obtenir des impulsions positives. | ||
* ces impulsions sont envoyées au pin "TRIGGER" du sonar, ce qui déclenche l'acquisition. | * ces impulsions sont envoyées au pin "TRIGGER" du sonar, ce qui déclenche l'acquisition. |
Version du 28 mars 2019 à 14:32
Sommaire
Résumé
Dans ce TP j'ai voulu créer un robot prédateur, mais ce sans utiliser de microcontrôleur. Le comportement du robot est donc contrôlé intégralement grâce à son circuit imprimé.
Circuit
Le circuit est la partie la plus importante de ce robot.
Fonctionnement schématique
Logique
Logiquement, le robot a 3 entrées et 3 sorties :
Entrées | Sorties |
---|---|
|
|
- Les TSOP sont actifs bas, c'est à dire que leur tension tombe à 0V sur le pin "Out" lorsqu'ils captent un signal(*). On utilise donc "¬C" (la négation de "C") pour représenter le moment où les capteurs captent effectivement quelque chose.
- "S" correspond à "il y a quelque chose à moins de 8 cm". Or, le sonar n'est pas fait pour détecter si la cible est à 8cm; plutôt, il envoie un signal électrique dont la durée est égale au temps que met l'onde pour parcourir l'aller retour entre l'émetteur/récepteur et la cible. Normalement, ce signal est décodé par un Arduino pour trouver la distance exacte. Pusique je ne souhaite pas utiliser d'Arduino, il me faut donc créer un circuit permettant de détecter si la durée t du signal est supérieure à t ≈ 475µs correspondant à une distance de 8cm.
- La LED d'attaque représente l'attaque du robot lorsqu'il estime que la proie est assez proche.
Le robot est également équipé d'une LED Erreur ("Err") qui s'active en cas de situation "impossible" (cette LED ne devrait donc normalement pas s'allumer).
Table de vérité | ||||||
---|---|---|---|---|---|---|
¬Cf | ¬Cd | S | Mg | Md | A | |
0 | 0 | 0 | 0 | 0 | 0 | |
0 | 0 | 1 | Erreur | |||
0 | 1 | 0 | 1 | 0 | 0 | |
0 | 1 | 1 | Erreur | |||
1 | 0 | 0 | 1 | 1 | 0 | |
1 | 0 | 1 | 1 | 1 | 1 | |
1 | 1 | 0 | 1 | 0 | 0 | |
1 | 1 | 1 | 1 | 1 | 1 |
Equations : | ||
---|---|---|
Mg | = | ¬Cf + ¬Cd |
Md | = | ¬Cf.(Cd+S) |
A | = | ¬Cf.S |
Err | = | Cf.S |
Réalisation de la logique du sonar :
Comme énoncé précedemment, le sonar envoie un signal dont la durée est égale au temps que met l'ultrason pour parcourir l'aller-retour entre l'émetteur/récepteur et la cible, donc t = 2d/v. Mais je désire obtenir un signal qui :
- est haut lorsqu'il y a un objet à moins de 8cm (soit t < 2*(8cm)/v ≈ 475µs).
- est bas sinon (t > 2*(8cm)/v)
Pour ce faire :
- un 555 astable (nommé "PULSE") sert à produire des impulsions négatives toutes les 47 ms.
- ce signal est inversé afin d'obtenir des impulsions positives.
- ces impulsions sont envoyées au pin "TRIGGER" du sonar, ce qui déclenche l'acquisition.
- l'acquisition provoque une mise à 5V du pin "ECHO" du sonar.
- le signal du pin "ECHO" est inversé et :
- est fourni en entrée d'un 555 monostable qui produit un pic positif pendant ~475µs.
- est comparé à la sortie du 555 susnomé à l'aide d'une porte logique ET.
- la comparaison est enfin transmise à un dernier 555 monostable qui produit alors le signal désiré.
Schéma final
Au final, le schéma éléctrique est le suivant :
Plaque imprimée
Remarques
- Il n'y a pas besoin de capteur TSOP à gauche; en effet, le robot tourne à gauche tant qu'il ne détecte pas de proie à droite ou devant lui, il n'y a donc pas besoin de vérifier si il y a une proie ou pas à gauche.