Aller au contenu


Photo
- - - - -

Besoin d'aide sur les ultrasons et Hyperfrequences


13 réponses à ce sujet

#1 Yodan

Yodan

    Nouveau membre

  • Membres
  • 8 messages

Posté 31 janvier 2006 - 07:33

Bonjour,

J'aurais besoin d'aide pour un projet. Donc en fait cela consiste à faire trouver une balise à un robot au moyen d'ultrasons. Voila le principe, grâce a des HF envoyé ,par le robot, à des intervalles régulier. Des que le colis recoit ces HF, il envoit des Ultrasons (US) et grace au temps que met ces US a parvenir au robot on en deduit la distance. Donc a tatons ce robot trouve le colis. Mais j'ai un probleme de materiels.

Donc si vous pouviez me donner quelques conseil pour le materiel approprié.

Pour les HF j'ai trouvé sa : http://www.lextronic.fr/Hybrides/Telecontrolli/PP.htm

les US : http://www.lextronic.fr/Capteurs/PP1.htm

J'aurais besoin egalement d'une horloge interne qui puisse decompter le temps que met les ultrasons pour arriver au robot et en deduire la distance.

Donc merci pour vos reponses et a bientot

#2 crossign

crossign

    Membre occasionnel

  • Membres
  • Pip
  • 140 messages
  • Location:Maidenhead, UK

Posté 01 février 2006 - 10:38

Bonjour Yodan,

J'ai pas la solution, mais c'est une tres bonne idee.
Permets moi d'ajouter quelques commentaires:

Tu aurais donc un montage sur ton robot qui envoit un code specifique via HF et attend la reponse via US de la balise correspondant au code.

Le montage pourrait faire cela avec plusieurs balises (en sequence) et du coup connaitre la distance entre le robot et le balise. Il est du coup tres facile de connaitre la position du robot.

Plus:
- Cela marcherais, meme si les balise ne sont pas directement visible depuis le robot
- Avec trois balises par pieces, il est facil pour un robot de connaitre la position dans un batiment.

Moins:
- Il faut faire attention aux eco et mesurer que la premiere onde US
- Il faut mesurer le temps de retour avec precision
- Il faut un system de codage des balises pour pouvoir en utiliser plusieurs.

Je recherche un system de positionement pour mon robot et ton idee est tres bonne. L'utilisation de PIC pour les balises et le robot devrait simplifier beaucoups.

Si quelqu'un a une solution a proposer, cette personne ferait deux heureux :-)

A+
Cyril

#3 jean-francois

jean-francois

    Membre passionné

  • Membres
  • PipPipPip
  • 382 messages
  • Location:Marseille

Posté 02 février 2006 - 08:33

je n'ai pas de solution désolé

je trouve cette idée interressante mais difficile a realisé.
de plus j'aime quand un robot se debrouille seul, sans balise electronique.

en tous cas si vous y arrivé, je vous dit bravo!

@+

#4 Yodan

Yodan

    Nouveau membre

  • Membres
  • 8 messages

Posté 02 février 2006 - 06:49

Merci pour vos réponses. J'ai trouvé quelques solutions. Tout d'abord je n'utiliserai qu'un seul balise qui sera sur le colis, car la triangulisation n'est pas assez "nomade". Je pense que grace a un PIC avec "Capture and Compare" on peut calculer a la ns pres. Sinon une utilisation en plein air resout le probleme des echos. En fait le PIC surveille un pin et dés que ce pin change de status, cad quand mon robot reçoit un US ou quand il émet le HF, le PIC déclanche un timer. Donc on peut savoir si le robot se rapproche ou non du colis, apres un calcul rapide. ^^ pour le PIC bien sur.

regarde la dessus si tu veux une triangulisation : http://resel.enst-bretagne.fr/em6/2005/DOCS/balises.pdf

http://www.serinus.org/documentation/Poste...ises%202004.pdf

#5 Fabarbuck

Fabarbuck

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 685 messages

Posté 03 février 2006 - 01:54

Quelques idées en vrac:
- les ultrasons ont tendance à etre directionnels. Il faut prévoir quelque chose si tu veux que ta balise émette dans toutes les directions. (ce peut etre plusieurs émetteurs, ou un cone, ce genre de choses...)
- il faut savoir que la distance (ou portée) à laquelle les us sont utilisables n'est pas infinie... enfin, ca dépend de tes capteurs, de la peche que tu envoies, de la sensibilité que tu as en réception, etc. Tu devrais peut etre nous en dire un peu plus à ce sujet.
- comparer à la ns pres: j'en doute, mais quel intéret ? La vitesse de propagation des ultrasons est...? donc 1ns correspond à quelle distance? Tu vois que c'est pas forcément utile. D'autant que si tu veux aller vers ces précisions, certaines de tes hypothèses doivent etre revues (temps de propagation HF nul et traitement du signal par la balise recevant la HF peut etre considéré nul aussi en 1re approximation).
- dans la nature, il y a des ultrasons... donc gaffe aux parasites ! (en effet, un claquement, par exemple, comporte des fréquences étalées sur une grosse partie du spectre sonore... dont des ultrasons !)

A mon avis, le plus simple est de déja t'intéresser à la partie analogique de ton montage: l'amplificateur de puissance qui va piloter ton(tes) émetteurs (montage à transistor basique, mais... tu peux trouver des astuces pour exploiter au mieux tes transducteurs), et celui de réception, qui potentiellement fera aussi un filtrage à la fréquence nominale de tes transducteurs (40kHz pour les plus courants). Quand tu aura déja ca, tu pourras valider la portée, la réception, etc.

La suite, c'est de mettre un microcontroleur de chaque coté, et de réaliser une liaison HF. Fondamentalement, c'est une liaison série sans rien de bien miraculeux... avec des modules tout faits, ca ne devrait pas etre le point clé de ton projet.

Si tu as des questions plus précises à ce sujet, pose les :)

#6 Yodan

Yodan

    Nouveau membre

  • Membres
  • 8 messages

Posté 03 février 2006 - 06:55

Merci pour ta reponse, en fait je debute un peu dans le domaine donc voila. Pour l'emission, peut tu m'expliquer ce qu'est un cone ?

Ensuite, pour emettre et recevoir, on peut choisir la frequence ?

En fait je voudrais juste que mon robot sache si il se rapproche ou non de la cible.

Sinon, si tu as msn on peut en discuter plus longuement. MP moi.

Merci a tous et a bientot

#7 Fabarbuck

Fabarbuck

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 685 messages

Posté 10 février 2006 - 03:36

>Merci pour ta reponse, en fait je debute un peu dans le domaine donc voila. Pour l'emission, peut tu m'expliquer ce qu'est un cone ?
Ben... une pyramide à base circulaire :)

>Ensuite, pour emettre et recevoir, on peut choisir la frequence ?
Non, pas avec un transducteur standard, qui est souvent à 40kHz. Mais tu peux choisir ton transducteur (ca ne changera pas grand chose par contre enfin...)

>En fait je voudrais juste que mon robot sache si il se rapproche ou non de la cible.
Cible? quelle cible?

>Sinon, si tu as msn on peut en discuter plus longuement. MP moi.
J'ai msn mais je suis rarement connecté. Je t'ai MP... mais je préfère continuer la discution sur le forum pour que tout le monde participe :)

#8 Yodan

Yodan

    Nouveau membre

  • Membres
  • 8 messages

Posté 10 février 2006 - 04:45

Merci pour ta reponse.

En fait il y a une cible, sur laquelle il y a un emeteur US et un recepteur HF. Le but est que le robot sache a quelle distance il se trouve de la cible.

En envoyant des HF, i ldeclenche l'envoie des US et calcule la distance par rapport au temps.

Donc pour le cone, on le place comment ? Parce que sur cette photo je voie pa trop.
Image IPB

Sinon, j'ai entendu parler de demodulation, kesako ?

Voila, si quelqu'un a de la doc sur le mode Capture des PIC16F877, ou un moyen de calculer le temps assez precisement.

Pour les moteur, j'ai trouvé le PWM, pour moduler la vitesse des moteur. Pour le rapport cyclique, si on veut 50% de la vitesse max, faut mettre 50% en 1 et 50% en 0, pour le signal binaire ?

Si je veux commander les 2 moteur independamment et ds les 2sens, c'est bien un double pont en h qu'il faut ?

Voila, merci pour vos reponses, parce que je suis vraiment perdu, je decouvre la robotique et je me rend compte que c'est super difficile. Toutes les aides que je trouve utilise des termes super technique donc voila. Merci a tous.

#9

  • Guests

Posté 10 février 2006 - 05:03

Salut

Dans un "nouvelle électronique", le numéro 16 ( ca fait bien logntemps ), il est présenté deux antennes à haut gain emission/ réception, ce sont deux cornets.
Je ne sais pas si c'est spécialement adapté pour les ultrasons mais c'est plus simple à réaliser sur mesure :P , là ceux décrit sont pour du 10 GHz ! contre du 40 kHz pour les ultrasons, tu as tout les calculs qui vont avec dans ce numéro.

à+

ps : C'est moi qui suis à l'origine de ce post, je n'étais pas connecté :/

Bernard

#10 Fabarbuck

Fabarbuck

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 685 messages

Posté 13 février 2006 - 04:23

Alors, pour ce qui est du principe, c'est bien un système de balises, donc. Tu n'as qu'une seule et unique balise, ou pas?


>Donc pour le cone, on le place comment ? Parce que sur cette photo je voie pa trop.
Il est visible sur ta photo! c'est le système que tu fabriques ou tu as pris cette photo ailleurs? Parce que on voit distinctement le petit transducteur ultrason, dirigé vers le haut, et un cone (pointe vers le bas) qui fait que ce qu'il émet est redirigé tout autour de la balise.
Il te 'suffit' de faire ce système en double, et tu auras un émetteur et un récepteur omnidirectionnels.


>Sinon, j'ai entendu parler de demodulation, kesako ?
L'opération inverse de la modulation? Est ce que tu as une idée de ce qu'est la modulation, déja?
Si non, je te conseille de chercher des cours sur la modulation d'amplitude (plus facile) et la modulation de fréquence.

Je vais tenter de te donner le principe en deux mots, mais sans dessin c'est difficile...

Prenons l'exemple de ton poste radio (le truc qui fait de la musique, toussa). Je suppose que FM et AM ca te dit quelque chose? hé bien ca signifie Frequency Modulated ou Amplitude Modulated.
En effet, les ondes radios émises par tes stations préférées sont MODULES.
Pourquoi ?
Pour arriver à transmettre quelque chose (la musique) grace à des ondes radio. Déja, il faut préciser que la musique à transmettre est représentée par une tension variable, disons de +1v à -1v, et de fréquence de 20Hz à 20kHz. L'onde radio que l'on peut utiliser est par exemple à la fréquence 100MHz. (on ne peut pas encoder directement aux fréquences de la musique, parce que physiquement, une onde radio à une aussi basse fréquence nécessite des antennes impossibles à construire pour etre émise à grande distance, entre autres...)

Comment la musique est transmise, alors?
En fait, cette onde radio va nous servir de moyen de transmission, on l'apelle alors la porteuse. On va chercher à encoder notre musique dans cette porteuse...
Pour ca, deux approches principales: la modulation de fréquence et la modulation d'amplitude. Je vais dire deux mots sur la modulation d'amplitude.

modulation d'amplitude
On a donc un émetteur, qui sait envoyer une onde radio à 100MHz, et un récepteur, qui sait la recevoir. On veut faire en sorte de faire passer des infos par cette onde. On va tout simplement modifier l'amplitude de l'onde pour cela. On va adjoindre à l'émetteur un amplificateur de gain variable. Ca veut dire un système qui va faire que l'onde émise (une sinusoide) aura une amplitude de 1+/-0.5 par exemple.
On pourra alors encoder simplement notre musique (tension de -1v à+1v) comme suit: quand le signal musique est à -1v, on emet une onde d'amplitude 0.5, quand elle est à 1v, l'amplitude sera de 1.5.
Coté réception, il nous faudra un démodulateur, qui est tout simplement un système qui récupère l'amplitude du signal radio recu. Quand le signal a une amplitude de 0.5, il recrée une tension de -1v et quand elle est 1.5, on aura 1v.

Tout ca est une vision un peu simpliste, mais tu as le principe. Il faut plusieurs mécanismes pour faire fonctionner tout ca, biensur, mais on pourra en parler plus tard.

En modulation de fréquence, au lieu de jouer sur l'amplitude, on joue sur la fréquence (mais les circuits sont un peu plus compliqués à faire...)
Bref, j'ai l'impression de pas avoir été limpide, peut etre que malgré tout ca te donne une première idée de la chose...? hésite pas à poser des questions ;)



>Voila, si quelqu'un a de la doc sur le mode Capture des PIC16F877, ou un moyen de calculer le temps assez precisement.
Je suppose que la datasheet devrait comporter des infos à ce sujet... je ne connais pas torp les pics, désolé! et il doit y avoir aussi des application notes à ce sujet. Apres, il faut arriver à trouver la bonne info et comprendre l'anglais... si ca te pose probleme, dis le :)

>Pour les moteur, j'ai trouvé le PWM, pour moduler la vitesse des moteur. Pour le rapport cyclique, si on veut 50% de la vitesse max, faut mettre 50% en 1 et 50% en 0, pour le signal binaire ?
Oui, le principe, c'est ca. Apres, les microcontroleurs ont souvent des fonctions spéciales pour générer cette pwm à partir d'une commande simple... ce qui est plus pratique:
-tu configures le module pwm comme tu veux (fréquences, pins de sortie, etc)
-tu écris une commande (par exemple 50%) dans un registre
-le uC se débrouille seul pour la suite.
C'est bien mieux que de devoir compter précisément le temps à chaque fois et de changer 1 vers 0 ou inversement.
Pour ca, il faut que tu regardes la datasheet de ton microcontroleur. Encore une fois, si tu as des soucis, dis le (idéalement, fais un post à part pour séparer les problemes et que tout ca soit plus clair).


>Si je veux commander les 2 moteur independamment et ds les 2sens, c'est bien un double pont en h qu'il faut ?
Oui. Un pont en H permet de piloter un moteur dans les deux sens de rotation. Si tu veux piloter deux moteurs, il te faut deux ponts en H. Tu as capté grosso modo le principe du pont en H? si non, vois les pages des fribottes (fribotte.free.fr) et/ou fais un post différent sur le forum pour ne pas tout mélanger !!!

Bon courage :)

#11 Yodan

Yodan

    Nouveau membre

  • Membres
  • 8 messages

Posté 14 février 2006 - 02:00

Merci, j'ai a peu prés tout compris :)

Sinon, je voulais savoir, si je veux juste que quand le recepteur US, reçoit une onde US, cela soit ce qui déclenche la fin du chrono. Je n'ai pas besoin de démodulation. Je peux pas faire que sa passe a 1 par exemple quand il capte quelques chose, qui ressemble au signal emis ?

Ou est ce qu'il faut demoduler pour comparer la frequences et savoir si c'est le bon signal ?

Sinon pour l'emeteur recepteur US, je pense utiliser cela :

Image IPB

Il faut mettre le cone autour de l'emeteur ? Comme un HP ? Ou au dessus ? Et l'emeteur US emet dessus ?

En fait ce systeme permet de calculer la distance entre le recepteur et emeteur.

Avec des HF, qui parte du robot et declenche l'envoie des US a partir de la cible. Ensuite on peut avoir la distance.

Sinon, j'ai une doc pour le PIC16F877 en Français mais, sa utilise trop de termes techniques.

http://yodan94.free.fr/TPE/Part2-R11.pdf

C'est a la page 255 je crois, c'est le mode capture. J'ai lu mais j'ai pas tout compris.


Sinon, je voudrais savoir, comment on peut faire pour qu'un uC surveille 2 chose sur la meme pin ? On peut mettre un transistor qui change ce qui est connecté a la pin ?

Voila merci tout le monde. (!O!)

#12 Fabarbuck

Fabarbuck

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 685 messages

Posté 20 février 2006 - 03:21

> Merci, j'ai a peu prés tout compris
Cool :) et c'est quoi le peu que tu n'as pas compris?

Avant toute chose, il faut rapeller qu'un transducteur ultrason (le truc dont tu as posté une photo) ne fonctionne bien qu'à une fréquence donnée. Quand tu en achetes un, on te dit 'prevu pour 40kHz' ou 'prevu pour 100kHz'. Si tu essayes de le faire fonctionner à une autre fréquence, ca marche mal/pas. Il faut donc respecter cette fréquence nominale. (+/- quelques %, selon la doc technique.)

Je te conseille fortement de déja faire des essais pour la partie analogique, c'est a dire l'émetteur et le récepteur, sans traitement par uC. Verifie que tu as une bonne fréquence, une bonne puissance, une bonne réception pas trop bruitée.. au fait, tu as du matériel, genre un oscilloscope? parce que c'est vrai que ca aide BEAUCOUP pour ce genre de montage.
Tu as simplement à faire un oscillateur avec ton uC,et une amplification pour fournir le courant nécessaire à l'émetteur. Pour la réception, un ampli/filtre serait le bienvenu. Teste déjà ca, tu pourras faire des essais sur la distance de réception, etc...


>Sinon, je voulais savoir, si je veux juste que quand le recepteur US, reçoit une onde US, cela soit ce qui déclenche la fin du chrono. Je n'ai pas besoin de démodulation. Je peux pas faire que sa passe a 1 par exemple quand il capte quelques chose, qui ressemble au signal emis ?
Ou est ce qu'il faut demoduler pour comparer la frequences et savoir si c'est le bon signal ?

Tu as plusieurs solutions possibles. Tu peux faire un prétraitement analogique ou non. ca veut dire quoi? tout simplement que tu as le choix de faire voir au microcontroleur relativement directement le signal recu (amplifié, tout de meme), il verra donc un créneau à 40kHz quand il recevra quelque chose ; ca permet de simplifier la partie analogique de la reception, mais ca occupera le uC un pti peu plus que la 2e solution que je te propose. Cela dit, s'il ne fait rien d'autre, c'est jouable.
-soit, tu prétraites le signal recu, en faisant une détection d'enveloppe (typiquement, une démodulation AM pour parler riche :) . La sortie de ce système serait à 1 quand il y a réception d'un signal à 40kHz, à 0 sinon. Le uC n'aurait donc qu'un signal assez simple à surveiller, le libérant pour d'autres taches potentielles.


>Il faut mettre le cone autour de l'emeteur ? Comme un HP ? Ou au dessus ? Et l'emeteur US emet dessus ?
Regarde la photo précédente que tu avais postée: l'émetteur émet vers le haut, et juste au dessus, il y a un cone solide pointant vers le bas, qui fait que du coup, les us sont renvoyés dans toutes les directions.

>Sinon, j'ai une doc pour le PIC16F877 en Français mais, sa utilise trop de termes techniques.
lesquels te posent probleme?

Est ce que tu as déja utilisé ce microcontroleur pour faire des choses plus simples? si non, il faudrait ptet penser à te familiariser déja avec la bete et les outils nécessaires pour l'utiliser. La datasheet te paraitra peut etre un peu plus claire apres ;)

>Sinon, je voudrais savoir, comment on peut faire pour qu'un uC surveille 2 chose sur la meme pin ? On peut mettre un transistor qui change ce qui est connecté a la pin ?
Dans quel but? Je ne suis pas sur de comprendre ce que tu veux faire, donc je ne peux pas te répondre avec certitude... mais oui, il y a des moyens... cela dit, si tu en arrives là, mieux vaut prendre le uC un peu plus gros et avoir une patte par fonction... un uC, c'est prévu pour ne pas se prendre trop la tete avec les branchements... autant ne pas se créer de difficultés, tu crois pas? ;)

#13 Yodan

Yodan

    Nouveau membre

  • Membres
  • 8 messages

Posté 20 février 2006 - 08:04

Merci, ça m'a vachement aidé :)

Sinon, pour le microcontrolleur, étant donné que le µC surveille a la fois le lancement des HF et la reception des US, pour le mode Capture, je crois que sa surveille qu'une pin. Donc c'est pour ça.

encore merci pour ton aide ^^ :D

#14 Fabarbuck

Fabarbuck

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 685 messages

Posté 12 mai 2006 - 05:46

content que mes ptis conseils t'aient aidé(e) ! :)
n'hésite pas à nous raconter un peu plus en detail ton projet, ce que cq donne, tes resultats, etc ...



Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users