Aller au contenu


Contenu de Jbarso78

Il y a 42 élément(s) pour Jbarso78 (recherche limitée depuis 11-juin 13)



#53451 TIPE - Comportement robotique

Posté par Jbarso78 sur 11 février 2013 - 06:42 dans Aide pour projets scolaire

Bonjour à tous :crigon_04:/>

Je suis nouveau et j'ai évidemment remarqué la notoriété et l'intérêt de ce site.
C'est pourquoi, j'ai pensé venir ici afin de résoudre quelques problèmes liés à mes TIPE.

Je m'explique : je suis étudiant en classe préparatoire (PTSI), et comme tout bon élève de prépa, je fais mes TIPE.
J'ai choisi de travailler sur un robot qui reprenait l'idée de filoguidage et détecteur d'obstacle.

En première année, nos objectifs sont de rendre le robot autonome à la détection d'obstacles et filoguidé à l'aide de photodiodes.
En deuxième année, nous souhaiterons améliorer nos rendements en pratiquant une analyse vidéo par webcam (avec openCV) pour les courbes plus prononcées et intersections.

D'abord, pour la détection d'obstacle, nous hésitons entre les solutions par infra-rouges et par ultra-son. On est parti sur l'ultra-son. Cependant le circuit proposé au prof ne semble pas lui convenir (trop complexe). Il reprenait l'idée de ce circuit : http://public.iutenligne.net/electronique/Nardi/robotbalayeur/Robot2/commande.html
Actuellement, nous travaillons sur Arduino Nano et avec un circuit L298. Et on nous a dit qu'un branchement beaucoup plus simple était envisageable. Pouvez-vous m'éclairer sur ce point surtout sur la partie électronique ?


Merci d'avance,
Jbarso78



#53457 TIPE - Comportement robotique

Posté par Jbarso78 sur 11 février 2013 - 09:32 dans Aide pour projets scolaire

Peut être. Quels moteurs à commander ?


Oups..je me disais bien qu'il manquait un petit détail !

Nous avons un bloc double moteur « Tamiya » ( réf : 70097) Lextronic, le même que sur ce projet : http://perso.iut-nimes.fr/fgiamarchi/?p=130



#53462 TIPE - Comportement robotique

Posté par Jbarso78 sur 11 février 2013 - 10:33 dans Aide pour projets scolaire

Je connaissais cet datasheet. :angel:

En réalité, j'hésite entre infra-rouge et ultra-son pour détecter les obstacles ? Et de quelles façons pourrais-je câbler ça ?

Enfin merci tout de même



#53465 TIPE - Comportement robotique

Posté par Jbarso78 sur 11 février 2013 - 11:34 dans Aide pour projets scolaire

Ok ok, merci pour ces informations !

On se dirige donc plus vers un émetteur-récepteur ultra son.

Finalement, à l'aide du datasheet du circuit L298, je relie microcontroleur et L298.
Je peux relier mon émetteur ultra-son à un circuit intégré NE555
Et le récepteur a des amplis opérationnels et la sortie du récepteur ?

Celui suffirai t-il, pensez-vous ?

Merci d'avance :lol:



#53530 Emetteur Récepteur Ultrason

Posté par Jbarso78 sur 15 février 2013 - 08:39 dans Archives

Bonsoir,

Dans l'objectif de concevoir un montage permettant à mon robot d'éviter des obstacles, nous avons retenu l'usage d'un émetteur-récepteur ultrason 40kHz.
Après une longue réflexion (comment amplifier le signal ? comment détecter l'enveloppe du signal et créer un signal logique ?), on a trouvé ce circuit (assez sympa me parait-il)

http://montage-schema-electronique.blogspot.fr/2011/06/schema-et-realisation-de-telemetre.html
SCHEMA B UNIQUEMENT


Cependant, en tant que "non-expert" d'électronique, je me posais encore quelques questions.

1) Vcc : est le niveau logique haut ? A quoi cela correspond t-il concrètement ?

2) EUS (émetteur à ultrasons) et RUS (récepteur à ultrasons) apparaissent deux fois sur le montage : je me trompe où il y a un truc qui m'échappe ? :dash2:/>/>/>/>/>

3) Les deux circuits sur la droite : + ou - Valim/2 : qu'est-ce ? Et où vont les branches de droites...?

4) La question finale qui fache (ahah) : pensez-vous que ce montage répond au exigence de détecter des obstacles ? Comment je peux brancher ce montage à une arduino nano ?


Désolé pour toutes ces questions, mais je m'interroge beaucoup. Et j'ai beau faire des recherches, il n'y a pas les réponses attendues..

Merci d'avance,
Jbarso78



#53537 Emetteur Récepteur Ultrason

Posté par Jbarso78 sur 15 février 2013 - 11:24 dans Archives

Merci beaucoup pour cette réponse très précise ! Ca m'aide vraiment beaucoup.

Ce que j'en retiens, c'est que le montage précédent oblige deux émetteurs et deux récepteurs ultra-sons : peut-être trop d'opérations sur les signaux ?

Je pensais à un unique montage émetteur-récepteur US.
Une phase d'amplification, une phase de changement du signal (de sinusoïdale à carré), une phase de création de la fonction logique puis une réception.

Mais ça me paraît un peu simpliste :superman:
Vous en pensez quoi ?

Merci d'avance,
Jbarso78



#53547 Emetteur Récepteur Ultrason

Posté par Jbarso78 sur 16 février 2013 - 09:37 dans Archives

Des obstacles à droite et à gauche, ou on regarde seulement devant ?


Je pense qu'il faut monter sur servomoteur notre support de US. Car notre robot doit savoir éviter les obstacles fixes qui doit se présenter devant lui, mais aussi "anticiper" le passage furtif d'un objet mobile qui se traverse la ligne (le robot est aussi suiveur de ligne).



#53550 Emetteur Récepteur Ultrason

Posté par Jbarso78 sur 16 février 2013 - 10:47 dans Archives

J'ai bien étudié la chose, et je pense avoir enfin bien compris ce qu'on demande à mes US.

J'ai réfléchis à plusieurs solutions de mises en formes et le typhon proposé dans ce document est bien (je trouve) : http://www.thierry-lequeu.fr/data/DATA316c.pdf

Sauf qu'à la sortie de ma résistance R3, j'insère un montage comparateur.

Petite question : c'est quoi ultraR sur ma arduino nano ?

Pensez-vous que ce montage est bien ? :telephone:

Merci d'avance,
Jbarso78



#54383 iBango, le robot qui evite les obstacles grâce aux ultra-sons

Posté par Jbarso78 sur 17 mars 2013 - 03:43 dans Robots roulants, chars à chenilles et autres machines sur roues

Bonjour à tous!

La fin du week-end approche, et je me remet à mon "petit" projet de robot qui évite les obstacles par ultra-sons.

Après plusieurs aides de votre part, ainsi que des recherches sur internet, j'ai abouti au montage joint à l'article.

Matériels utilisés :
- Moteur Tamiya 70097 : moteurs à courant continu, tension de 1.5 - 3V, courant max 2.1 A, 150mA au repos (contrôlé par L293D)
- ARDUINO NANO V3.0 (datasheet : Mon lien)
- Ampli op TL084 (datasheet : Mon lien)


Plusieurs questions subsistent tout de même (ça aurait été trop beau :ignat_02:/>/>/> )

Je pense bien avoir compris le principe. L'émetteur US envoie un signal et si obstacle il y a, l'onde est réfléchie et reçue par le récepteur. Cette onde sera amplifiée et filtrée par le montage. Ensuite il faudrait traduire au micro-controleur la présence ou non d'un obstacle.

Cependant, au delà de savoir s'il y a un obstacle ou non qui se présente devant le robot, il s'agit de savoir à quelle distance. Donc je dois traduire le déphasage entre le signal de l'émetteur et celui du récepteur, n'est-ce pas ?

Pour cela, je me demande quel branchement est nécessaire à l'arduino. Dois-je brancher l'émetteur US à un PIN analog et le récepteur US à un PIN Digital ?


Merci d'avance, pour votre avis sur le circuit et sur cette question!

Bonne fin de week-end,
Cordialement,

Image(s) jointe(s)

  • photo.JPG



#54386 iBango, le robot qui evite les obstacles grâce aux ultra-sons

Posté par Jbarso78 sur 17 mars 2013 - 04:06 dans Robots roulants, chars à chenilles et autres machines sur roues

Attention à la borne non inverseuse de ton comparateur.
Le potar ne sert à rien car quoi qu'il arrive, cette entrée sera à Vcc. Je pense que tu as voulu branché le milieu du potar à cette entrée plutôt ?



Oh ouiiiiiii ! Erreur de représentation. C'est bien le milieu du potar.

Sur le reste qu'en penses-tu ?



#54391 iBango, le robot qui evite les obstacles grâce aux ultra-sons

Posté par Jbarso78 sur 17 mars 2013 - 06:01 dans Robots roulants, chars à chenilles et autres machines sur roues

Je n'ai jamais vraiment fait mumuse avec des US.
Ton montage à l'air correcte. Personnellement, j'aurai remplacé ton filtre par un Sallen&Key ou une structure de Rauch afin d'éviter d'avoir une self, mais après, chacun ses gouts.

Le mieux est encore de tester et de résoudre les potentielles problèmes un par un.


Nous avons la chance en classe préparatoire de disposer de pas mal de matériels donc je n'hésiterai pas à tester les 3 et voir lesquels rapportent le signal le plus "fluide".

Par contre, je voulais savoir comment je raccorde à la Arduino afin de pouvoir mesurer l'écho ?

Cordialement



#54399 iBango, le robot qui evite les obstacles grâce aux ultra-sons

Posté par Jbarso78 sur 17 mars 2013 - 07:50 dans Robots roulants, chars à chenilles et autres machines sur roues

Moi je travail sur Pic, par contre sur le principe c'est pareil ...
Ce qu'il faut que tu fasses c'est une emission de genre 6 trains d'onde ( 4O Khz en fréquence ça revient souvent... après ça dépend de ton émetteur ) Et ce que tu vas devoir mesurer c'est le temps entre la phase d'émission et la phase de réception... Tu ne peux pas mesurer un déphasage sur des signaux continu périodique ... car à partir du moment où tu te décale d'une période tu es perdu !

Après ... ton signal reçu risque d'être attenuué ... c'est pour cela que tu utilise un amplificateur d'ailleur filtré pour limiter les bruits et ça c'est un bon point... ( je lis d'ailleurs amplificateur non inverseur ?? tu es sûr ? :P/>/>/> moi je vois un inverseur ^^ )

Ensuite tu peux mettre ça sur ta pattes analogique mais une pattes digital serait suffisante car le but est de savoir quand le signal reçu est à 1 et quand il est à 0 et de compter le temps entre le moment où tu balance le signal et le moment où tu reçoit le signal...

En tout cas bonne continueation ;)/>/>/> et à bientôt !



Merci pour ces détails, en effet :

- mon émetteur ultrason : 40kHz
- après calcul de la fonction de transfert c'est bien un amplificateur inverseur. ça n'aura aucune influence non?


Et oui, j'avais vu qu'une alimentation continue ce sera pas bonne, mais je me demande comment je peux alimenter en sinusoïdale, créneau ou autres ? J'ai branché mon NE555 en astable. Je branche tout en continue et c'est mon NE555 qui va gérer ça non?


Merci beaucoup pour ta réponse !
Cordialement,



#54405 iBango, le robot qui evite les obstacles grâce aux ultra-sons

Posté par Jbarso78 sur 17 mars 2013 - 09:42 dans Robots roulants, chars à chenilles et autres machines sur roues

Si cela a une influence pour plusieurs raisons !

Comment est allimenté ton AOP ? ( alimentation symétrique +X V -X V ? ) Si tu lui envois du 1V il te sort quoi l'AOP :P/>/> ? Et ta arduino elle accecpte quoi comme plage de tension ? :P/>/> ( Je doute qu'elle aime le négatif ;)/>/> )


Je vais alimenter mon AOP en +9V et -9V. La arduino conseille entre 7 et 12V.


Tu as une porte logique " And " ?

Si oui tu mets Deux NE555 l'un avec signal créneau à 40 KHz l'autre à 4 KHz en entré de ta porte logique tu obtiens quoi ? :)/>/>


NE555 : Mon lien
Il y a une porte logique de type inverseur.
Je ne peux pas utiliser un seul NE555 ? Si j'en utilise deux, je ne vois pas comment les câbler.

PS : Par curiosité tu as quel emetteur et quel récepteur ?


1 emetteur recepteur 40kHz ultra-son 16X11MM mais j'ai trouvé aucune documentation dessus : étrange !


Merci beaucoup.



#54430 iBango, le robot qui evite les obstacles grâce aux ultra-sons

Posté par Jbarso78 sur 18 mars 2013 - 06:49 dans Robots roulants, chars à chenilles et autres machines sur roues

http://www.symmetron.ru/suppliers/murata/files/pdf/murata/ultrasonic-sensors.pdf

Petit lien cadeau dis moi si ça te plait ^^


Limite, j'ai le droit de t'appeler Dieu non? C'est d'une énorme utilité ce document. Par contre, l'excès de porte logique ne peut-il pas être remplacé ?


Aujourd'hui, nous avons avancé dans nos TIPE. J'ai réussi à créer le signal créneau à 4kHz avec le NE555 (voir fichier joint 1).
Par contre, je n'ai pas bien perçu tout sur la combinaison des 2 NE555 (j'ai fait un schéma récapitulatif en fichier joint 2).

En faites, avec les 2 NE555 tu vas envoyer des salves. Mais comment j'interprète ça ? Dois-je brancher la sortie de l'émetteur sur un PIN de l'arduino ? Peut-on utiliser le montage que je t'avais envoyé juste avant malgré les conseils du document fourni ? Enfin je saisis pas tout tout quoi..

Question bonus pour les grandes personnes :tatice_03:/> : Quand on parle de masse virtuelle : je n'ai pas bien compris comment la réaliser.
Et je voulais savoir si pour simplifier le câblage nous pouvons opter pour un filtrage numérique (directement avec arduino) au lieu de devoir mettre un circuit bouchon ou un filtre de rauch ?



Merci d'avance,
Jbarso78

Image(s) jointe(s)

  • image.jpeg
  • photo.JPG



#54440 iBango, le robot qui evite les obstacles grâce aux ultra-sons

Posté par Jbarso78 sur 18 mars 2013 - 07:31 dans Robots roulants, chars à chenilles et autres machines sur roues

Imagines que tu ais 2 piles de 9V en série.
Tu peux différencier 3 cas :

  • Le cas où la masse est la borne moins du montage. Ainsi tu as du 0V, 9V, 18V
  • Le cas où la masse est entre les 2 piles. Ainsi, tu as du -9V, 0V et 9V
  • Le cas où la masse est sur la borne plus. Ainsi, tu as du -18V, -9V, 0V
Ces trois cas sont identiques. Seulement tu décides de choisir une référence différente.

Souvent, avec les ampli op, si on les alimentes en non symétrique (0;9V par exemple), on essaye de créer un potentiel à 4.5V et on la considère comme une masse virtuelle. ça veut dire qu'on fait comme si on alimente les AOP avec du -4.5V;4.5V


Mmmh, je comprends un peu mieux cette dinguerie d'électronicien :tatice_03:/>/>
Par contre, je comptais alimenter mes AOP en symétrique +9V et -9V. D'un point de vue câblage, comment je réalise alors cette masse virtuelle ?

Oui, c'est parfaitement faisable.
Petit cadeau : http://www.ferdinandpiette.com/blog/2011/04/le-principe-des-filtres-numeriques/
Par contre, il te faut déterminer les coefficients de ton filtre numérique. Matlab fournie des outils pour les déterminer en fonction du gabarie de ton filtre


Oh que c'est beau de recevoir des choses celle-ci :ignat_02:/>/>


Merci beaucoup,
Jbarso78



#54446 iBango, le robot qui evite les obstacles grâce aux ultra-sons

Posté par Jbarso78 sur 18 mars 2013 - 07:48 dans Robots roulants, chars à chenilles et autres machines sur roues

Si tu as accès au 0V, (exemple, si tu as 2 piles 9V en série, tu as accès au point milieu), alors ce point là correspond à ta masse (ce n'est pas une masse virtuelle, mais ta vrai masse)

Ta masse est dites virtuelle si tu as un signal qui possède un offset et que tu travailles par rapport à cet offset (c'est la tension d'offset qui correspond à la masse virtuelle).
Dans ton cas, tu n'as pas d'offset car tes signaux seront centré en 0V. Tu utilise donc ta masse réelle, donc pas de problème.


Petite lecture complémentaire :



D'accord, merci beaucoup pour ces précisions très utiles.

Si tu as un envie sur mon émetteur récepteur qui reprend l'idée de Mike118, je suis preneur :ignat_02:



#54463 iBango, le robot qui evite les obstacles grâce aux ultra-sons

Posté par Jbarso78 sur 19 mars 2013 - 08:59 dans Robots roulants, chars à chenilles et autres machines sur roues

c'est quoi d'ailleurs ton thème ? )


Thème de l'année prochaine (on travaille sur du long terme) : échange et transfert. Donc nous, on parle de l'échange de communication entre humain/robot. Si je dois te donner un titre à notre tipe, je dirai : Etude des comportements robotiques face aux exigences humaines.



Oui tu as parfaitement sur plusieurs points :
Le but est bien d'envoyer des salves. Ta arduino doit savoir quand elles ont été envoyés et mesurer le temps que mettent les salves echo à venir ;)/>/> c'est pour cela que tu envois des salves, puis tu attends! Le temps d'attente est très important car c'est lui qui te permet de ne pas être perdu Après si tu veux faire plus précis tu peux compter les salves et même faire une moyenne des temps entre les salves N et écho N! ( ça permet entre autre supprimer les echos double parasites etc...

Par contre je ne sais pas exactement quel montage tu veux essayer ni à quels conseils précis tu fais référence...



Après avoir pris tous tes conseils, je pense travailler de la sorte :


-> Emetteur US : 1 NE555 en fréquence 40kHz et pour générer mes salves je le gère avec la fonction reset de la NE555 qui est raccordé au microcontroleur ?
-> Récepteur US : suiveur de tension, amplificateur, filtre passe bande, (re-ampli si besoin), comparateur et sortie sur PIN Digital ARDUINO


Est-ce une méthode correcte, tu penses?


Merci d'avance,
Cordialement,
Jbarso78



#54478 iBango, le robot qui evite les obstacles grâce aux ultra-sons

Posté par Jbarso78 sur 19 mars 2013 - 07:15 dans Robots roulants, chars à chenilles et autres machines sur roues

En conclusion tu es arrivé d'un coup à une suite de choix corrects ^^ ( Moi qui avait prévu de t'y emmener au fur et à mesure en te posant des questions etc ... mais en fait même pas besoin. Chapeau =) )


Non mais oh je suis redevant de ton aide !

Par contre juste histoire de te mettre sur la voie pour du code : si tu commandes l'émission de pulse via la arduino et que tu as beau attendre, tu ne reçois rien : tu fais quoi ? :P/>/> Et combien de temps tu attends avant de retenter d'envoyer des pulses ? :P/>/>/>


J'ai un expert codeur dans mon groupe ahah. Mais je serai obliger de comprendre moi aussi. Je dirai que je change la fréquence du pulse. Mais bon, cela dépend si déjà mon récepteur à un objet face à lui.

Avec ma liaison PIN Arduino digital -> RESET NE555, j'envoie à une fréquence de 4kHz (en suivant tes conseils) donc soit tous les 0,25ms si mon calcul (de tête :yahoo:/> ) est juste.

Ce que je n'ai pas encore bien vu, c'est comment je gère la fréquence des pulses que j'envoie ? Sachant que le robot soit être autonome ensuite je dois réguler tout ça.


Comment tu ressort l'information de distance à partir du temps que tu calculs? :P/>/>


Notons T le temps de retard qu'à le signal de réception sur le signal d'émission; v = vitesse du son et D la distance des US à l'objet.

J'ai v*T=D, je pense tout simplement.


Dernière question niveau Hard : Quel périphérique tu utilise pour ressortir l'information de distance ? :P/>/> ( Si tu as pas un écran LCD sous la main pour commencer faire clignoter des led c'est déjà très bien ;)/>/> Mais tu peux aussi générer un PWM qui alimente un moteur par exemple ;)/>/> à toi de voir ! )


Je sais pas vraiment si j'ai besoin d'afficher sur un écran ma distance objet<->robot. Enfin ce serait sûrement plus rigoureux..
Ton histoire de PWM j'ai pas suivi.

Dans l'idée de nos programmes, je pensais envoyer des pulses à 4kHz et en sortie du comparateur j'ai un "système logique" : si 1 = objet = calcul distance = en fonction du résultat modification vitesse/sens de rotation moteur.

C'est ça grossièrement, non?




Merci beaucoup en tout cas,
Jbarso78



#54493 iBango, le robot qui evite les obstacles grâce aux ultra-sons

Posté par Jbarso78 sur 19 mars 2013 - 10:49 dans Robots roulants, chars à chenilles et autres machines sur roues

En tout cas on voit bien le formalisme prépa ! C'est claire et efficace mais ... c'était presque ça : à un facteur 2 près ;)/>/>/>/>
En effet n'oublis que le son fait "l'allé retour " ;)/>/>/>/>


Ahah en effet, donc D=(v*T)/2


Certes j'ai parlé d'un signal à 4 KHz mais c'était uniquement un chiffre un peu au pif ^^ j'aurais pu aussi bien dire 400 Hz ^^ Le but était surtout de te faire comprendre la forme générale du signal en train d'impulsions et une façon parmis tant d'autre de le générer.
En fait si tu fais quelques calculs ou si tu test tu va voir que 4 KHz c'est pas bon ^^ Je te laisse voir pourquoi :P/>/>/>/> ( En 25 ms le son a le temps de parcourir quel distance ? et toi tu veux quel portée ? Quel lien entre le temps d'attente max et la porté max que tu veux ? :P/>/>/>/> Du coup tu choisis un signal de quel fréquence ? )


J'ai envie de dire qu'une détection jusqu'à 50cm suffit. Donc 300Hz, ça m'a l'air bien !


Je pense que j'ai pas forcément été assez claire dans ma question en fait mais tu as vu à moitié ou je voulais en venir. Dans le cas où tu ne reçois pas d'écho, qu'est ce que ça veut dire ? Juste qu'il n'y a pas d'objet ? Tu crois qu'une boite d'oeuf ça renvoit aussi bien les ultrasons qu'un mur en béton ? Comment gérer ce cas inconnu ? C'est ça la vrai question ;)/>/>/>/>


Ah là je vois. Je dirai que les ondes émises réfléchissent, mais pas de façon "symétrique", et ne reviennent jamais au récepteur. Donc soit je n'ai pas d'objet soit l'onde ne revient pas.
Solution possible : rajouter un détecter de contact pour éviter le choc ou monter les ultrasons sur servomoteurs pour élargir la plage de "vision" ?

Non tu n'as pas forcément besoin d'un écran surtout sur un robot mobile, c'est dure de regarder le petit écran lorsqu'il se déplace ^^
En fait l'écran ou n'importe quel périphérique servant d'affichage t'est utile pour faire des test et du débugage.
L'écran permet ( une fois que tu le maitrise :P/>/>/>/> ) d'afficher aisément des informations complexes ( comme une distance mesuré par exemple ^^ )
Le but étant de pouvoir voir si ton capteur mesure correctement la distance. Tu peux avoir le mode tout ou rien : je suis loin des obstacles j'éteint une led, je suis tout près j'allume. Cependant si tu ne reçois pas d'écho : tu es loin ou près ? :P/>/>/>/> Vide ou matériaux absorbant droit devant ? :P/>/>/>/> du coup tu peux faire clignoter la led ^^

C'est simple et efficace ^^ Cependant vous ce que vous voulez faire c'est un robot, autant qu'il soit mobile rapidement ^^ Du coup au lieu d'allumer et d'éteindre une led vous pouvez faire tourner un moteur. Et en fonction de la distance mesurer le faire tourner plus ou moins vite . ( Et je ne parles pas encore de changement de sens car cela complexifie un l'électronique mais ça on y viendra plus tard ;)/>/>/>/> )


Je sais que devant l'US il y a une zone où il se voit pas. Après il devrait "voir" entre cette distance et 50cm (si programmer à cette distance). En gros, dans mon programme, pour D>40 pas de modification de la vitesse des roues, 30<D<20 on ralentit de tant la vitesse des moteurs et etc... ça va comme stratégie ça non ? Après peut être que la distance de détection à 1m me donnerait plus de marge à voir..



Alors là c'est moi qui ne te suit plus ... quel fréquence ? il y en a deux x) celle des pulse de 40 KHz imposé par la structure du capteur, et celle à laquelle tu envois dés séries de X pulses.
De même je ne vois pas le lien entre l'une ou l'autre des fréquence et le fait que le robot doit être autonome ni d'une régulation ^^

Quel est le but du robot ? Se déplace en évitant des obstacles ? Autre ?


Oh non, c'est moi qui a commencé à mélanger un peu tout mais j'ai compris enfin je crois.

J'envoie un signal de 300Hz avec mon arduino qui lance un signal 40kHz à l'émetteur US qui partout 50cm (enfin l'onde). Ensuite le reset remet à zéro la mesure et etc...
Enfin j'espère avoir été clair.



Cordialement,
Jbarso78



#54500 iBango, le robot qui evite les obstacles grâce aux ultra-sons

Posté par Jbarso78 sur 19 mars 2013 - 11:46 dans Robots roulants, chars à chenilles et autres machines sur roues

J'ai écris un peu vite, en effet.. mais je t'assure 30<20 : on voit que vous perdez tout en école d'igné :crigon_02:

Je te donne l'évolution du projet lundi soir.

A bientôt,
Cordialement



#54549 iBango, le robot qui evite les obstacles grâce aux ultra-sons

Posté par Jbarso78 sur 20 mars 2013 - 06:50 dans Robots roulants, chars à chenilles et autres machines sur roues

Par contre je viens juste de voir que j'avais rater quelque messages en février ^^ Dont les tiens x) Vous utilisez donc des L298 ? :P/>/>/> Vous avez pas eu trop de problème avec ? Par curiosité vous le branchez comment et avec quoi autour surtout ? :P/>/>/>
Je gère les moteur pas à pas de mes robots avec des L298 ^^ Ils sont plutôt capricieux ces CI parfois :P/>/>/> faut pas prendre de risque et bien les protéger =) par contre vous ça n'a pas du vous posez de problème pour les petits moteurs que vous avez =)


Comme tu dis, vu les petits moteurs que nous avons, nous avons botter en touche. Le L298 était délicat à utiliser, on s'est rabattu sur un L293D plus basique et suffisant (me semble t-il). Je suis en train de finir le branchement dessus. On va voir si une pile 9V suffit pour l'alimentation des moteurs. Au pire, batterie lipo ou pile rechargeable pour des résistances internes beaucoup plus faible.

Par curiosité, Après tu compte faire PT ou PSI ?


PT et même PT* j'apprécierai ahah. Je suis au lycée Livet, tu dois sûrement connaître. La SI pour le moment, ce n'est pas mon premier talent. J'étais "SVT-iste" donc ça vient petit à petit.



PS : il est très bien ce schémas c'est difficile de faire beaucoup plus simple ... Ton prof t'a dit ce qui ne lui plaisait pas dedans ? En tout cas moi pour mes TIPE, ce que je faisait dépassait mes profs de prépa ... Du coup j'avais aucune aide de leur part x) Robotique c'était pas leur domaine ^^ Cela ne m'a pas empécher d'avoir 17,5 en TIPE =)


J'avais vu ce circuit. Je vais m'en inspirer.
Notre professeur de SI est très inspiré par les micro-controleurs et l'automatisme donc c'est lui qui nous oriente aussi. A cela tu rajoutes un prof de physique imbattable en électronique et finalement, on s'en tire avec une bonne équipe pédagogique.

Sans oublier ton aide bien sûr :ignat_02:/>/>



#54805 iBango, le robot qui evite les obstacles grâce aux ultra-sons

Posté par Jbarso78 sur 26 mars 2013 - 08:03 dans Robots roulants, chars à chenilles et autres machines sur roues

Je suis de retour.

Cablage terminé et programme simple (qui envoie continuellement des salves) : DONE ! (bien sur on changera le programme après..)


Je vous donne les résultats obtenus. Ne pas hésiter à donner votre avis.


Photo 1 : Signal "créneau" reçu par l'émetteur ultrasons.
IMG_0206.JPG
Résultats : conforme à nos attentes en terme de fréquence. Toute fois, on obtient pas un signal créneau parfait : pb décharge du condensateur ?

Photo 2 : Signal reçu juste à la sortie du récepteur ultrasons.
IMG_0208.JPG
Résultats : Signal sinusoïdal assez convaincant.

Photo 3 : Signal en sortie du circuit bouchon pour filtrer nos fréquences.
IMG_0212.JPG
Résultats : Signal propre et exploitable par le comparateur (à mon sens)

Photo 4 : Signal en sortie du comparateur.
IMG_0215.jpg
Résultats : Créneau propre et intéressant à exploiter avec la programmation. Toutefois, petit soucis (ça aurait été trop beau :ignat_02:/> ) : je n'ai pas un signal "centré" autour de 0V. Quand il n'y a pas d'objet, on a, en sortie du comparateur, un signal continue de 5V.



Qu'en pensez vous ?


Jbarso78



#54850 iBango, le robot qui evite les obstacles grâce aux ultra-sons

Posté par Jbarso78 sur 27 mars 2013 - 07:48 dans Robots roulants, chars à chenilles et autres machines sur roues

En fait il manque juste un schémas du tout et les points sur lequel tu t'es branché pour les prise de mesures ^^ Sinon c'est un bon compte rendu ! =)


Voilà, voilà :photo.JPG


Les modifications faite par rapport au premier circuit :

1/ Le transistor sur la sortie du NE555 a sauté (quand je dis sauté c'est que je l'ai enlevé). Je l'avais bien branché (avec la datasheet) et ça marchait je l'ai enlevé et ça marchait très bien donc j'ai pas plus réfléchi..
2/ Mise en place d'un amplificateur non inverseur puis un circuit bouchon pour filtrer


Hum le fais d'avoir un signal continu positif est parfaitement logique ! =)

D'après ton premier schémas ( si tu as bien réutilisé exactement le même ^^ d'où l'utilité une fois encore de remettre le schémas :P/>/>/> ) si tu as aucun objet devant ton capteur, ton récepteur ne reçoit rien. Il reste donc muet. Ton filtre lui ne change pas la donne du coup en entré du comparateur tu as d'un côté tu as 0V qui rentre du côté - et quelque chose de positif qui rentre du côté + du à ton pont diviseur de tension... du coup en sortie de ton comparateur tu as + Vsat - 1,3V (car le tl084 n'est pas un AOP rail to rail ) = 7,7V et donc en sortie du pont diviseur de tension que tu as mis en sortie de ton comparateur tu as à peut près 7,7/2 ( en fonction de la précision de tes résistances que je suppose à 5% :P/>/>/> ) ce qui donne un résultat compris entre 3,65 et 4,05 V :P/>/>/>

Par contre on a pas 5V quand même ^^ Sinon j'ai fais une petite erreur quelque part ... genre : le 1,3V n'est pas nécessairement exacte mais je dois pas être très loin =) à toi de me le dire ^^


Si si, sans objet j'ai quand même 5V. En faites dans mon comparateur, je pensais plus à un truc plus simple à exploiter :

PAS D'OBJET = 0V en sortie donc en arriver sur ma arduino (pin récepteur)
OBJET = créneau


il faut asservir en vitesse les moteurs


On vient de commencer le chapitre asservissement. Mais même après avoir lu ton TIPE, je n'ai pas bien vu de texte relatif à ça. Est-ce cette histoire de epsilon qui tend vers 0 ?
Peut être, pourrai-je suivre ce tutoriel : Asservissement moteur ?


Je pense donc je suis ;)/>/>/> Et je suis donc je pense ! Et je pense en avoir assez dis sur ces belles paroles :)/>/>/>


Quel poète ! :tatice_03:/>/>



#54881 iBango, le robot qui evite les obstacles grâce aux ultra-sons

Posté par Jbarso78 sur 28 mars 2013 - 06:58 dans Robots roulants, chars à chenilles et autres machines sur roues

hum en fait tu n'as pas mis le pont diviseur de tension et tu met tout ça directement sur la patte de ta arduino ???
Tu as fais la mesure avec ou sans la arduino de brancher ??


Je crois bien l'avoir fait avec l'arduino branché et je viens de penser : cela est mauvais non?? Je vais remettre mon pont diviseur de tension avec deux résistances 10kOmhs comme convenu en début.



Par contre si tu veux quand même faire une mesure de distance avec ce procédé ça veut dire que tu n'as pas compris tout une partie de ce que j'ai dis ... car malheureusement c'est pas possible tel quel ...

Pour cela ce que tu dois exploiter c'est le temps entre début de l'émission et début de réception de l'écho ou le temps entre la fin de l'emission et la fin de réception de l'écho voir les deux ;)/>/>/> !


Si si, j'ai bien compris cette partie : ce qui m'intéresse c'est le déphasage entre le signal d'émission et celui de récepteur. Mais je croyais que je devais avoir un signal centré autour de 0V car un pin digital ne lit que les niveaux hauts et bas non ? Dois-je mettre plutôt sur un PIN Analog qui "comprendra le créneau" ?

De même, j'en profite pour t'interroger car j'ai fait le point en programmation et je crois que tout n'est pas très très claire (embêtant pour poser toutes les variables... :telephone:/> )
En effet, j'envoies des 7 pulses de 300Hz sur le PIN d'entrée relié au NE555 qui lui émet une onde de 40kHz à mon émetteur ultrason. Mais quand on fixe à 300Hz, cela signifie que l'onde pourra détecter environ jusqu'à 50cm c'est bien ça? Mais si j'ai un objet situé à 20cm, le temps que j'envoie mes 7 pulses, j'aurai déjà un signal en retour.

Je me trompe? Tu vois ce que je veux dire? Je crois que je fais une confusion pour le coup ahah!



Attention la tu fais l'amalgame entre asservissement et correcteur d'asservissement ! Dans ton lien on parle de correcteur PID.
Pour faire un asservissement il te faut un point de repère mesurable sur lequel influe la donnée que tu veux asservir... et pour mesurer cette donnée il te faut un capteur
Par exemple la vitesse d'un robot en m.s-1 entrainé par un moteur, en la mesurant tu peux asservir la vitesse de rotation de ton moteur !

si tu veux asservir en vitesse un moteur par rapport à un autre il te faut un point de repère ... Il y a plusieurs façon de faire ... et ça dépend aussi du type de capteur que tu veux utiliser ^^ il y a des capteurs proprioceptif ou exterioceptif ... Moi l'asservissement de mon tipe est basé sur un capteur exterioceptif... Pour du proprioceptif il faudrait mesuré la vitesse de rotation des deux moteurs et l'asservissement derrière est plus complexe ...

Renseigne toi un peu sur le principe de l'asservissement : consigne actionneur boucle de retour écart et errueur ... et après on reverra les correcteurs ;)/>/>/>

à bientôt !


Je vais voir ça avec mon prof de sciences industrielles demain (même s'il m'avait dit que ce serait trop dur de rendre mon robot stable en ligne droite..)
Mais n'existe pas un moyen sans capteur? Deux PWM de l'arduino gère les vitesses de deux moteurs. Je peux pas créer quelque chose en programmant?



J'ai l'impression de me répéter mais M-E-R-C-I ! :ignat_02:/>



#54896 iBango, le robot qui evite les obstacles grâce aux ultra-sons

Posté par Jbarso78 sur 29 mars 2013 - 12:05 dans Robots roulants, chars à chenilles et autres machines sur roues

tu reçoit un signal créneau, déjà ce créneau il faudrait que tu te débrouilles pour qu'il soit compris composé de temps bas à 0V et de temps haut à 5V ( ou au moins supérieur à 3.3V a peu près, il faut se référer à la datasheet de la arduino pour voir au dessus de quel tension un signal est considéré comme un 1 logique) .

Ton signal reçut est donc composé de 0 et de 1. Par conséquent une pin digitale peut parfaitement comprendre ce signal ! pas besoin de pattes analogique qui de toute façon ne comprendrait pas mieux le signal ...


Ok pour le signal logique généré. Toutefois, sans objet, il y a environ 5V en sortie donc 1 logique. Et s'il y a un objet, en sortie, un créneau qui passe par 0V : 0 logique. Enfin, ça ne devrait pas être l'inverse ?
Finalement, je dois dire que quand le 1 logique est activé sur ma PIN digital de l'arduino : il n'y a pas d'objet et quand j'ai 0 logique il y a un objet et je dois lancer ma procédure pour l'éviter.
C'est bien ça ?


Maintenant vient l'analyse des signaux :

Premier signal envoyé par ta arduino:
ta arduino envoit un 1 logique de durée t1 suivit d'un zéro logique de durée t2

le 1 logique pendant t1 permet d'activer l'envoit d'un certain nombre n de 1 logique à 40Khz via le NE555.
Le 0 logique pendant t2 est un temps qu'il faut mettre à profit pour écouter l'echo de tes salves.

Il faut choisir t1 en fonction de la plus courte distance que tu veux mesurer et t2 en fonction de la plus longue distance que tu veux mesurer.

Je te laisse faire les calculs :P/>/>/>/> ( J'attends la démarche complète ce coup ci ;)/>/>/>/> )


Très bien, très bien allons-y. Faisons fumer nos cerveaux.

Soit d1 la plus courte distance que l'on souhaite mesurer. On pose d1=10cm (on dit que c'est 5cm la zone aveugle mais je me méfie)
donc t1=0,3x2=0,6 ms (pour que l'onde fasse l'allée retour) => f1=1666Hz

Soit d2 la plus longue distance que l'on souhaite mesurer. On pose d1=80cm (pour se laisser la marge compte tenu que le robot avance quand même..)
donc t2=2,35x2=4,7ms (pour que l'onde fasse l'allée retour) => f2=212Hz



le signal retour va être sous forme de créneau, il faut mesurer le temps entre le début de l'envoit et le premier 1 logique reçut et ou le temps entre la fin de l'envoit et le dernier 1 logique reçu ... Il peut aussi être intéressant de compter le nombre de 1 logique et verifier qu'on en a bien n.


si j'envoies 7 trains t1, j'aurai un temps t3 telle que t3=4,2ms.

Mais imaginons, j'ai un objet à 20cm. Alors j'envoie mon train d'onde et elle revient en 1,1ms. Donc sur un oscilloscope on aura presque les deux "courbes" superposées. Mais moi je suis censé juste lancer un "chrono" quand je lance mon premier pulse et arrête mon chrono dès que j'ai un système logique sur ma pin de sortie ?

Ensuite pour mesurer le distance entre le robot et l'objet j'ai deux paramètre à prendre en compte :

1/ la distance parcourue par mon onde émise/reçue : d4=t4*v(son) avec t4 le temps de déphasage entre émission et réception
2/ distance parcourue par le robot pendant ce temps : d5=t4*v(robot)

J'ai donc une relation pour la distance (d6) entre mon robot et l'objet à l'instant qu'il reçoit l'information qu'un objet est présent : d6=d4-d5

Après petit programme (exemple : ligne droite avec pour objectif de s'arrêter devant un objet)

if 60<d6<80 then vitessmotor baissé de...
if 40<d6<60 then...

(etc)


J'espère avoir bien exposé mon truc quand même :ignat_02:/>/>/>






Alors oui il n'est pas si aisé que cela de rendre un robot stable en ligne droite cependant c'est loin d'être impossible en plus il y a certaines astuces qui permettent de simplifier la tâche ...


Donc tu es obligé d'avoir au moins un capteur quelconque ! mais ça tombe bien tu en fais un : le capteur de distance à ultrason ^^ c'est pour ça que je te suggérait de regarder mon TIPE... car en fait j'asservis en vitesse les deux roues de mon robot avec un unique capteur par contre c'est un capteur exterioceptif ( donc qui dépend de l'environement extérieur ) Ce qui fait que mon robot à des propriétés assez intéressante : il suit la trajectoire décrite par l'objet qu'il longe et reste du coup à distance constante de cet objet ! Bon par contre moi j'ai fais tout le "programme " de mon robot uniquement avec des aop ^^ et donc en tout analogique ( pas de carte programmable ^^ ) Cela aussi était un aspect intéressant ! Mais toi tu peux reprendre le principe en le faisant avec la arduino =)

Si tu as plus de questions sur mon TIPE n'hésite pas !


Je vois je vois. Ne penses-tu pas je pourrai plutôt asservir en vitesse mes moteurs grâce à mes photodiodes ? Car en effet, pour éviter des obstacles, avoir un robot qui roule pas forcément droit ce n'est pas embêtant. En revanche pour suivre la ligne :tatice_03:/>/>/>



PS : Je dois mettre la facture à quelle nom pour le consulting ? :P/>/>/>/> x)


Dépose un devis, je passerai à la comptabilité régler ton 13ème mois :drinks:/>/>/>