Salut, on a bien profité le samedi, maintenant on reprend les choses sérieuses
/>/>
Bon j'ai refait tous mes calculs.
J'ai considéré d1=5cm la distance minimale de détection d'un obstacle (à cause de ma zone dite aveugle).
J'ai donc t1=0,3ms
Après on pose t2=t1+t(dmax) où t(dmax) est le temps pour une distance maximum de détection.
Pour dmax=5mètres (je crois que nos ultrasons ne détectent vraiment qu'à 2,5m donc on est large..)
On utilisera alors t(dmax)=30ms
Et donc t2=30,3ms
Le signal d'émission sera alors 1/(t1+t2) périodique soit 32,7Hz
Les ordre de grandeurs semblent bon : je te fais confiance et ne reprendrais pas les calcul
Je reprend uniquement la conclusion :
"Donc pour conclure, tu envois des pulses cadencés à 40KHz pendant un temps de 0,3ms et tu laisses un temps d'attente pour recevoir l'écho de ce signal émis de l'ordre de 30ms puis tu recommences... "
Du coup je te laisse compter le nombre de pulse que tu es censé émettre pendant ces 0,3ms

je ne pense pas que cela soit 7 mais un peu plus...

En parlant d'écho d'ailleurs, je me suis renseigné sur plusieurs petits points que nous avions mentionné.
La datasheet de l'Arduino Nano V3.0 stipule "Operating Voltage (logic level) 5V". Toutefois mon prof m'a plutôt parlé de 3,3V. Donc soit je laisse comme ça (avec objet je suis à 5,04V actuellement je crois). Où j'amplifie un petit peu plus le récepteur : à voir..
5.04V ça passe sur ta arduino sans problèmes si l'operating voltage est spécifié à 5V

Par contre ce que ton prof a peut être voulu te dire c'est qu'un signal sera considéré à l'état haut ( 1 logique ) à partir du moment où il dépasse une valeur seuil. Des valeurs qui se retrouvent souvent : 1,7V 2,3V 2,5V 2,7V 3V 3,3V et 3,5V...
Par contre je ne pense pas que tu ais réellement besoin d'amplifier d'avantage sauf si tu veux voir "plus loin" mais dans tous les cas il faut qu'ensuite tu ais un étage qui te mette le signal qui va nourrir ton arduino entre 0 et 5V ... avec un 1 logique supérieur à X ou X est une des valeurs que j'ai mentionné au dessus et que tu trouveras dans la datasheet ! =)
De même, en sortie du comparateur, je vais brancher un buzzer et une résistance pull-down (22kOhms), pour obtenir une tension de sortie supérieure à 0V (comme tu l'as conseillé).
Je ne me rappel pas avoir parler de buzzer ... Par contre la seule chose que je t'ai dis c'est que le signal qui doit nourrir ta arduino doit être compris entre 0 et 5V et donc à fortiori il doit être supérieur à 0V ^^
au pire j'ai parlé d'une diode

en plus si tu mets une diode lumineuse cela peut faire un indicateur d'état et la chute de signal qu'il te faut : du deux en un que demander de plus ?
ps: en faites je voulais savoir, tu m'as dit de mettre t2 large, c'était pour éviter les échos parasites non? Car mes ultrasons disparaissent en fonction de la puissance qu'ils dissipent non? Donc en prenant un temps assez grand j'aurai beaucoup de chance d'éviter tout parasite d'écho envoyé bien avant?
En augmentant t2 tu augmente le risque d'echo parasites provenant d'une même salve mais tu diminue grandement le risque de parasite entre deux série de salves

en plus sur grande distance tu n'as quasiment pas d'echo parasistes alors que si tu as un brusque changement ( genre champs complètment dégagé et un obstacle qui tombe devant le robot ) en prenant t2 trop court tu peux avoir un parasitage entre deux salves consécutive . De plus à moins de réduire drastiquement t2 et donc grandement la porté max et augmenter énormément le risque de parasitage entre deux salves tu ne vas pas beaucoup diminuer la réception d'écho parasite.
En plus en sachant que t2 est grand tu peux facilement "filtrer" les echo parasites en comptant les pics reçus ...Si envois 14 pics à 40KHz et que tu en reçoit 28 ... tu sais que tu as eu des echo parasites ^^
Si les echos sont un réel problème il faut réduire la puissance dissipé dans ton émetteur. Si tu ne détectes pas assez loin il faut augmenter la puissance dissipé ^^ Si tu ne détècte pas assez loin et que tu as des echo parasite il faut augmenter la puissance dissipé et obligatoirement trier les echo parasites des echo primaires.
C'est vrai que là, on s'embarque peut-être dans un projet trop pointu. Comme l'a dit le prof, il faut faire attention à ne pas en faire trop, on pourrait croire que ce n'est pas nous qui l'avons réalisé.
On a donc deux possibilités :
- soit on poursuit le double asservissement des moteurs avec fourche optique (difficulté ++)
- soit on trouve un modèle simplifié ? Car actuellement, ce n'est pas marrant. Il ne va pas du tout droit. Pourrais-t-on imposer une vitesse plus rapide à une roue par rapport à l'autre et cela nous suffirait ?
Qu'entends-tu par montage plus simple ?
Faire un télémetre à ultra son optimal est déjà un bon TIPE
Faire un double asservissement de moteur à courant continu aussi ...
Allez vous réellement faire deux TIPE ? ^^
Après si vous vous mettez à deux équipes ... pourquoi pas ! Des TIPE à deux personnes ça se fait ... il suffit d'être 4 ... Par contre une question : est ce que te camarades sont aussi motivé que toi ? x) Moi perso ... mon TIPE je l'ai fais casi tout seul ... Et des fois c'est pas facile ... Surtout que mes profs ne savaient malheureusement pas comment m'aider x) ( et me camarades encore moins x) ) Et je ne connaissais pas encore ce forum ! x) bref ... Essaye d'éviter cette galère

Et d'ailleurs tu devrais suggérer à tes camarades de se mettre aussi sur le forum, qu'ils puissent partager eux aussi dans cette discussion !
Sinon pour un montage en tout analogique et plus simple : c'est suffisament claire dans mon esprit mais peut être pas suffisament pour l'écrire tel quel mais je vais essaye :
en fait tu as deux systèmes indépendant qui gèrent chacun un moteur.
Le système indépendant est composé : d'un capteur à ultra son tout ou rien et de plusieurs capteur de présence de ligne ( 3 par exemple) qui permettent de détécter la ligne de manière continue ( la ligne ne doit pas pouvoir se mettre entre deux capteur sans être détectée ni par l'un ni par l'autre )
Tout ces capteurs tout ou rien passent chacun dans un amplificateur inverseur de manière à réduire en valeur absolue leur niveau de sortie et qu'ils ai chacun leur niveau propre.
Exemple : si le capteur à ultrason est activé on à du -5V si le 1er capteur de ligne est activé on a du -1V le deuxième -2V et le 3ème -3V ...
Tout ces signaux rentrent ensuite dans un sommateur inverseur
Pour obtenir un signal qui va varier par pallier en fonction des capteur activés ( normalement 1 voir 2 à la fois mais pas plus en théorie )
du coup tu vas obtenir un signal compris entre 0 et 9V
ce signal va alors être comparé à un signal triangulaire variant de 0 à 5V
de manière à générer un PWM qui va commander un moteur.
ainsi même si ton robot ne va pas droit, il va heurter la ligne qui fera accélerer le moteur en défaut de vitesse de manière à ce qu'il se remette sur le droit chemin =)
Après à toi de trouver le bonne valeur pour que cela soit stable !
Et tu peux faire encore un peu mieux en gardant la même idée si tes capteurs ne sont pas logique mais analogique.
Et avec cela il n'y a même plus besoin de carte arduino ...
Après tu peux reprendre la même idée en la programmant et en passant par ta carte arduino =) ça reprend un peu le principe de la logique flou pour gérer la vitesse de tes moteurs =)
( Si j'ai le temps je me ferais le petit robot en tout analogique et un gérer par un pic pour voir ce que ça donne =) )