
Projet "SAMU" : un Robot Trieur roulant grâce à deux moteurs avec odometre et reducteur integres
#21
Posté 15 juillet 2011 - 12:09
Pour le 3.3V, en général il y a besoin d'une tension assez propre et un pont diviseur est vraiment limite, sachant que ta batterie alimente aussi tes moteurs, une chute de tension de la batterie due à un appel de courant des moteurs et le 3.3V s'écroule aussi.
#22
Posté 15 juillet 2011 - 08:45
@ Jbot
Merci, mais je ne trouve pas cela encore très propre... Il y a encore pas mal d'imperfections dues à des modifications non prévues.
Mais oui, je trouve qu'il ne commence pas mal. Le problème avec les imperfections, c'est qu'elles s'accumulent. Et en fin de projet ça finit par être n'importe quoi...
C'est comme un mâcon qui commencerait un mur sans prendre garde à l'aplomb. Il est évident qu'au début cela ne se voit pas de trop, mais à la fin le mur est complètement de travers et risquerait même de s'écrouler..
Non c'est loin d'être parfait... Mon troisième peut-être aura moins d'imperfections, car avec l'expérience je serais moins sujet aux doutes.
@ dydyouaki
???
@ zeqL
En fait, j'ai dû mal m'exprimer. Je n'obtiens pas les 3.3v avec un pont diviseur, mais avec un régulateur variable. (voir photo) Par contre, comme tu dois le savoir, un régulateur variable règle sa tension de Vout avec une tension de référence. La valeur de cette tension est obtenue avec un pont diviseur. Il ne s'agit don bien sûr pas d'obtenir mes 3.3v avec un pont diviseur, mais bel et bien d'obtenir la valeur de cette tension de référence. C'est du reste la seule solution. Voir les datasheet de tous les régulateurs variables.
Je ne me casse pas les pieds à faire une carte d'alimentation, pour finir en obtenant ma tension avec un pont diviseur...
Bon aller, je dois m'y remettre, il doit rouler aujourd'hui ce robot.
PS:
J'allais oublier, les capas de filtrage sont à
100µF polarisés plus une 10µF non polarisés pour la sortie en 5v, 3.3v et pour l'alimentation (sortie de batterie)
200µF polarisés plus une 10µF non polarisés pour la sortie de mes deux régulateurs 6v.
CA semble bon, mais je me garde la possibilité de les modifier en cas de probleme.
Ce qu'il ne faut pas oublier, c'est que tout marcherait parfaitement sans ces condensateurs. Dr reste, sur les datasheets, elles ne sont même pas mentionnées comme obligatoire.
De plus, pausons-nous la question de savoir à quoi elles servent et pourquoi en mettre ?
Ma tension et régulée, donc inutile de compenser avec une capacité "tampon" qui permettrait de palier à des sous-tensions.
Elles sont là uniquement pour éviter que mes moteurs envois des parasites dans mes circuits.
Mais comme tout (ou presque) est en numérique, il n'y a aucune chance pour que des parasites perturbent la sortie de mes capteurs.
Donc pour le moment, je vais laisser ça comme ça. (Peut-être même, retirer les 10µF qui de toute façon ne servent à rien ou à pas grand-chose. Mais comme elles ne perturbent pas mon montage aucune urgence de ce coté là.
En règle générale, la valeur de ces capacités tourne entre 100 et 200µF je suis donc parfaitement dans les clous (peut être sous dimensionnés pour celles de l'alimentation de la carte. (Mon arrivée 7.4v) Je vais donc les passer à 200µF qui me parait plus adapté.
Mais comme dirait une de mes connaissances) nous ne sommes pas sur un montage BF ou le calcul de ces condensateurs doit être précis pour éviter les perturbations dans un circuit audio par exemple.
Nous sommes en numérique et quel que soit les parasites qui seraient présents, pour l'Arduino, un 0 restera un 0 et un 1 restera un 1. Aucune chance pour qu'un 0 devienne un 1 à cause d'un parasite...
Cdlt
Yves
#23
Posté 15 juillet 2011 - 03:32
http://www.seattlerobotics.org/encoder/200010/stdclip2.jpg
Il était monté sur des appareils Polaroïde Le problème est que ces appareils ne se font plus. Donc je ne pense pas qu'il soit possible de les trouver autrement qu'en achetant un Polaroïde d'occasion et de le démonter.
Mais peut-être avez-vous une meilleure idée.
Cdlt
Yves
#24
Posté 15 juillet 2011 - 04:44
Tu peux peut-être leur téléphoner, pour savoir s'il leur en reste quelques pièces.
Sinon, pourquoi choisir ces sonars?
Leon.
BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)
#25
Posté 15 juillet 2011 - 05:22
Pourquoi choisir ces sonars ?
En fait, je ne les connaissais pas. Mais j'ai lu deux ou trois articles sur des sites US que je ne saurais retrouver le lien facilement. mais si tu voulais les lire, je ferais un effort :-)
Ils en parlaient comme le sonar le plus performant du marché. D'un autre côté, sur un autre forum, une personne de confiance me dit qu'ils sont tout aussi performants que des Devantech.
Ce qui est fort possible, mais lorsque l'on voit l'angle des Polaroïds, pour trouver un équivalant tu dois y mettre le prix.
Aujourd'hui, nous avons pour de la robotique de "loisir" des capteurs presque aussi performants que des capteurs pour des applications professionnelles. Par contre, si nous regardons bien, il y a soit des capteurs qui remplissent leur fonction, mais il ne faut pas chercher la précision. Soit d'excellents capteurs (effectivement très proche en performances que des capteurs "pros"), mais encore à des prix assez élevés.. (Il y a a ce sujet un excellent article sur Pobot). Je ne discute pas le prix, car un capteur de qualité coute cher à fabriquer. Mais il y a (souvent) des capteurs ludiques et des capteurs précis.
Justement, dans l'article sur Pobot, ils disent que souvent il était plus simple pour un constructeur de ne pas faire la différence entre un capteur "PRO" et un capteur "ludique", mais cela est vrai pour des capteurs ne faisant pas appel à des CI et puces à différents prix. Et là il y aurait bien deux types de capteurs (les chers, car ils intègrent des composants cher) et très précis, et des moins cher, car il intègrent des composants moins cher) mais moins précis.
Cela dit, il faut aussi voir le prix des télémètres Polaroïd. Et la date à laquelle ces fameux articles ont été écrits.
Cdlt
Yves
#26
Posté 15 juillet 2011 - 08:20
Je vous passe les petits désagréments que j'ai rencontrés lors de la fabrication de ma carte d'alimentation, mais aujourd'hui ça marche.
En faite pour la faire courte, je n'avais pas de régulateur 3.3v. J'ai donc mis un régulateur variable. Mais pour régler un régulateur variable, vous avez besoin de calculer le pont diviseur qui va permettre d'avoir la bonne tension.
Pour ceux que cela intéresse, je suis (presque) passé expert en la matière.
Comme vous le savez, un pont diviseur est constitué de deux résistances. La valeur de ces résistances vous permet de modifier la tension source en la "divisant" avec ces résistances que nous allons appeler R1 et R2.
Le plus souvent, nous utilisons une résistance variable pour R2 de façon à compenser la valeur des résistances qui (sauf pour des résistances très chères) la marge d'erreur (5 ou 10% suivant les cas.
Mais en suivant les conseils avisés d'un expert en la matière, je n'ai pas utilisé deux résistances, mais une et une seule résistance variable. Je ne l'ai pas montée comme un potentiomètre, mais en utilisant le curseur comme point central de mon pont diviseur. De cette façon, j'utilise la résistance variable exactement comme si j'avais deux résistances de part et d'autre du curseur. En plus de cela, j'ai utilisé une multi-tours de façon à avoir une plus grande précision de réglage.
heu ben la je ne te suis pas je ne comprends pas la différence entre ton pond diviseur de tension et le potentiomètre? c'est la même chose pour moi !( en tout cas de ce que je me souviens de mes cours d'electro

#27
Posté 15 juillet 2011 - 09:43
Et comme une image vaut mieux que n'importe quel discourt, voilà une version en image de mon texte.

Oui c'est la même chose. Sauf qu'en général, une résistance variable ou un potentiomètre ne se branche pas de cette façon. Le point Mobil (curseur est généralement connecté à la masse.
Là comme je tentais de l'expliquer, nous utilisons ce curseur pour créer deux résistances variables.
Je n'avais pas pensé à cette utilisation et je voulais et de la même façon que quelqu'un m'a montré ce montage, je voulais vous faire partager cette solution fort pratique.(au cas où vous étiez dans le même cas que moi)
Cdlt
Yves
#29
Posté 17 juillet 2011 - 10:22
Aujourd'hui, j'ai rencontré un problème.
J'avais commandé sur E-Bay une carte Capteurs Sield pour Mega (vraiment très pratique)
http://cgi.ebay.fr/Arduino-MEGA-Sensor-IO-Expansion-Shield-Digital-Analog-/160590916641?pt=LH_DefaultDomain_0&hash=item2563f6ec21
Je l'avais commandé il y a environ 2 mois et reçu le mois dernier. Je l'avais mise de côté en attendant l'avancement du projet. Je n'y avais pas prêté attention lorsque cette carte est arrivée. Et comme j'avais d'autres choses à faire, je l'ai mise de côté jusqu'à hier jour ou e testais enfin mon montage..
Je la branche (connectée à la Mega) et rien...
Je retire cette carte (qui était enfichée sur la méga) refais mes connexions et tout fonctionne normalement.
Je prends mon Ohmmètre et test les continuités.
Elle est clairement en court-circuit.
Je la retourne et regarde les circuits et voilà ce que je trouve.

Il est difficile de se rendre compte du problème sur cette photo, mais ce que je vous montre avec les flèches ne sont pas des rayures sur le circuit, mais des pistes arrachées et recollées avec le verni protecteur. (Apparemment, ces pistes n'appartiennent pas à ma carte, mais ont été déposées là avec le verni.
Bon, je suppose qu'il n'y a pas grand-chose à faire, le moindre recourt contre ce fournisseur Asiatique risquerait de durer des mois et couter aussi cher que d'en commander une autre (chez un autre fournisseur bien sûr)
Mais Julien, pour ta question, ce Shield est bien pratique surtout pour ceux qui comptent utiliser beaucoup de capteurs ou de servos, car un simple connecteur et voila ton capteur connecté.
Cdlt
Yves
#30
Posté 19 juillet 2011 - 01:44
Je vais vous présenter les dernières photos de SAMU avant que le projet ne s"arrête pour cause de vacances. En effet, je pars après demain matin aux aurores pour "je l'espère" le soleil. Je ne pourrais donc travailler sur mon robot avant mon retour fin aout (je sais c'est pas juste des vacances aussi longues, mais si c'est possible, autant en profiter non ...?)
Mais avant de vous montrer les dernières photos de SAMU, depuis le temps que je vous parle, en voici une de moi histoire de moi aussi me présenter.
Donc, voici Yves dans son petit placard (mal rangé)
Oui je sais, j'aurais pu le ranger pour la photo, mais ce n'est pas moi qui l'ai faite. C'est ma femme qui voulait garder une preuve de mon gout immodéré pour le bord...
Bon ça fait tout de même un souvenir non...
Sinon, SAMU (bien plus passionnant)
Il roule enfin mais vous ne vous en en rendez pas compte sur ces photos...
Donc voici une photo de face.
Vous pouvez observer un télémètre Sharp que j'utilise provisoirement pour éviter qu'il ne se prenne tous les obstacles en attendant les capteurs définitifs.
Pour le moment le robot avance tout droit et quand, le télémètre détecte un obstacle à moins de 20 cm, il tourne à droite, jusqu'au prochain obstacle où il tournera à gauche pendant 1000 millisecondes. Pour le troisième obstacle, il va reculer 500 millisecondes, puis roue en reculant tourner à droite pendant 500 millisecondes. Le quatrième obstacle, même chose que pour le 3e, mais il tournera à gauche.
Si j'ai ais cette moulinette de changement de direction qui peux sembler un peux compliquée, c'est que j'avais rencontré un problème de sens de rotation des roues. Cette solution, me permet de tester que SAMU sait tourner dans toutes les directions et même reculer. Cela me permet aussi de tester ma capacité à écrire du code en C++ qui est pour moi, encore une chose bien nouvelle. En effet, mes connaissances en C++ se limitent pour le moment à une lecture assidue du site du Zero et de leur cour de C++ très bien fait.
Et voici une photo de dos
Vous pouviez observer un petit afficheur qui permet de tester en permanence l'état de ma batterie. Il me donne de façon séquentielle la tension de la cellule 1, la tension de la cellule 2, plus la tension globale (C1 + C2). Bien pratique non ?
Je ne sais pas si j'aurais tu temps demain, car je dois préparer le départ. Mais si je peux, je vous montrerais une vidéo de SAMU en action.
Cdlt
Yves
PS:
J'ai découvert que Lextronic vendait mes moteurs pour 6v alors qu'en fait, leur tension se situe entre 12 et 24v. Je trouvais bien qu'ils n'avaient pas la puissance que je pouvais attendre d'eux, tout s'explique.
Pour le moment, je vais rester comme ça, mais si cette puissance s'avérait insuffisante lorsqu'il y aura le bras, la Cam, plus d'autres capteurs, je devais mettre une autre batterie en série pour doubler la tension maximum disponible et passer ainsi de 7.4v à 14.8v?
Cela ne m'empêche pas de faire un mail à Lextronic (au moins pour leur signaler l'erreur)
Donc peut être à demain, sinon, rendez-vous in aout pour la suite de ces aventures... (celles de SAMU bien sûr)
Cdlt
Yves
#31
Posté 19 juillet 2011 - 06:19
Il est très propre ton robot, très esthétique.
J'ai hâte de voir le voir en action, une fois fini.

PS: Si t'as femme appelle sa un bordel, je n'ose pas imaginez comment elle nommerait mon lieux de travail. ^^
#32
Posté 01 août 2011 - 03:00
En fait, moi je suis en Corse. Lui est reté bien sagement à Paris. En ce qui me concerne, je n'aurais pas detesté lui faire respirer l'air marin, mais ma femme et mon fils plaidant pour des vacances familiales et comme SAMU est condideré par ma femme plus comme une maitraisse que comme un membre de la famille, je n'ai pas eu le choix.
Cela dit, je passe tout de meme beaucoup de temos (troo a ce qu'il parret) à reflechir à l'avenir de SAMU ses dotations, et, son éducation,

Je commence à avoir une idee tres precise sur la facon de faire sortir le bras articulé, une idee tres precise sur le bras qu'il va avoir et des modifications à apporter à ce bras pour qu'il soit fonctionnel sur cette base roulante. .
Je sais que je vais remplacer les moteurs et de quels moteurs je vais l'équiper, comment je vais empecher le bras de se bloquer sur un obstacle quelquonque et avec quels composants.
Je sais comment mon bras va trouver les objets et reconnaitre leurs couleurs, comment il va les ramacer avec precision.
Je sais aussi (sans doute) comment je garderais un positionnement precis meme en cas de derapage des roues (a cause de demarrages ou de freinages trop brusques)
Je sais comment programmer mes freinages pour eviter ces derapages.
J'ai commandé les batteries pour avoir du 12V regulé.
Quels composants à decoupage me permetra d'avoir des tensions stables sans perte par echaufement.
Et encore d'autres petites choses que vous saurez au fur et a mesur de mon avancement.
En gros, mon sejour Corse est benefique pour mon tein, ais aussi pour mon projet.
J'ai hatte de retrouver mon fer a souder, mais cela voudra aussi dire que les vacances sont terminees.
Voila.
Des questions ?
N'hesitez pas.
Cdlt
Yves
#35
Posté 06 août 2011 - 03:14
J'ai une nouvelle question à vous soumetre.
Voilà, je souhaiterzis tester la difference de fiabilité entre des codeurs integrés aux moteurs ( et donc sujet aux derapages provoqués par les accelerations, freinages, difference de surfaces de roulage etc) et des codeurs en prise directs à des roues libres et independantes des moteurs.
je connais deja la reponse, mais souhaiterais connaitre le taux d'erreurs observé avec ces deux differentes techniques.
Mais l'adaptation de ma base roulante ne va pas être simple à réaliser sans la modifier en profondeur, voir mêma la refaire de A à Z.
Une solution simple serait toutefois possible et simplifirait peut être les calculs.
Si au lieu de mettre deux codeurs avec deux roues libres, je n'en mettais qu'un, mais situé en plein milieux. De cette facon, le moindre cm parcouru dans un sens ou un autre serait comptabilisé avec un calcul tres simple de comptage.
Reste bien sur à connaitre la direction. Comme je compte mettre des codeurs (ou plis exactement, un codeur) double, je connaitrzis facilement le sens de rotation des moteurs, donc des roues.
Mais les deux codeurs distants de quelques centimetre, permetent de connaitre le rayon de rotation et donc la direction dans lequel le robot ce deplace. Un seul codeur ne nous peettrzit bien evidement pas ce calcul. Le sens de rotztion des moteurs ne nous donnerzit pas cette indication.
Par contre, si j'ajoutais une bousole. Ce compas électronisue, connaitrait la direction dans lequel se deplace la robot au degres pres. (voir encore us precis que ca).
Reste donc a calculer le nombre de centimetres effectués dans chzcune des directions pour connaitre la position du robot tres precisement.
Je vais juste devoir me souvenir mes cours de géometrie sur les triangles pour definir l'algorythm qui le permettra de calculer la position de mon robot.
Bon tout ca est bien beau mais ne redulte sue de ju de crane pour le moment appuyé par aucun tests.
Bien sur, cela devrat donc être testé et verifié (ou pas).
Mais je voulais savoir ce que vous pensez de cette methode pour le moins atipique.
J'attend donc vos remarques et critiques en attendant mes tests.
Cdlt
Yves
#36
Posté 06 août 2011 - 04:10
Sur le premier, ça ne fonctionnait pas bien, car les roues étaient trop larges.
Sur les 2 autres (BOB2 et BOB3), c'était parfait. L'erreur dérive vraiment lentement, très lentement, et c'est vraiment précis.
Donc les roues "odométriques" indépendantes, ça n'est pas indispensable.
Il y a plusieur conditions pour que l'odométrie sur les roues motrices fonctionne bien:
* avoir un contact le plus "ponctuel" possible avec le sol: roues étroites par rapport à l'écartement des roues. 5mm de large sur un écartement de 35cm pour BOB2. Et quelques millimetres de large, pour un écartement de 10cm sur BOB3.
* avoir un sol plat, dur (pas de moquette / gazon), et peu rugueux en comparaison de la taille des roues. Augmenter le diamètre des roues peut être utile pour s'adapter à la rugosité. Un sol très poussiéreux est mauvais.
* avoir des roues peu déformables (éviter les roues mousse de modélisme).
* une puissance transmise à la roue maitrisée, controlée, et adaptée aux caractéristiques du robot (adhérence des pneus, poids). C'est vrai à l'accélération et à la décélération.
* des mesures suffisament fréquentes de l'avancement du robot. Sur BOB3, c'était autour de 20ms.
* Ecarter au maximum les 2 roues pour avoir une mesure précise de l'orientation. Les "quelques centimètres" que tu évoques seront insuffisants.
Pour la boussole, attention! Si tu veux l'utiliser en intérieur, tu risques d'avoir de très fortes perturbations. Chez moi, j'ai de grosses variations de l'orientation du champ magnétique. Entre les radiateurs en fonte, les encadrement de porte en acier, le béton armé rempli de ferraille, ça créé de grosses perturbations. Ce n'est pas au degré près, mais plutôt à +/-20° près! Tu peux tester ça facilement avec une bête boussole à aiguille. Ca me donne pas mal de soucis pour mon drone BOB4.
Leon.
BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)
#37
Posté 06 août 2011 - 04:39
Je vois bien les problemes que je vais rencontrer.
Je n'avais pas pensé a ces derives occadionnees par les cadres metaliques et autres objets metaliques.
Quand je dit bousole, cela peut aussi être un Gyroscope ou autre capteur me permettant de trouver la direction dans laquelle se deplace mon Robot.
Mais en fait, ma veritable question portait sur trouver une solution pour n'utiliser qu'un seul codeur au lieu de deux. Ce cideur situé exactement au milieu du ronot, ne donnerzit aucyne indication lorsque le robot tournerait. (puisque situé juste sur l'axe de rotation). Ce codeur ne fournirzit des indications qu'au moment ou le robot ce deplacerzit. (dans un sens ou un autre). La bousole (ou autre capteur) permettrait juste de donner une direction. Cette durection utilisee avec la distance, nous donnerzit des angles et des longueurs. Comme les calculs de cotés de triangles, nous connaitrions la distance parcourye dans un sens, puis celle parcourue dans un autre sens, et ainsi de suite pour finalement, nous donner une position.
Voila ma question, que pensez vous de cette solution et la croyez vous operationnelle ?
#38
Posté 06 août 2011 - 04:56
Mais le capteur d'orientation que tu cherches va être difficile à trouver: une boussole en intérieur ne fonctionne pas bien (ça dépend de l'intérieur), et un gyro capable de garder une bonne précision angulaire pendant plusieurs dizaines de minutes, ça coute un bras! C'est assez inabordable pour un amateur. Surtout en comparaison d'un simple odomètre.
Leon.
BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)
#40
Posté 07 août 2011 - 07:52
Une question avant de mettre ma solution definitivement à la poubelle.
Voilà comme a mon habitude, je navigue entre olusieurs forums et y pose differentes questions (parfois aussi les memes). C'est donc ce que j'ai fais pour exposer ma reflexion. Rassurez vous, la repinse obtenue sur Pobot est la meme que celle obtenue ici. Toutefois, Eric (un expert tres devoué et dinnant des repinses claires et bien argumentés) ne ferme oas totalement la porte à cette solution (vous nin plus du reste). Mais il dit que cela est jouable si je recale le gyroscope frecament. Soit, la repinse ma plaie bien puisque ma solution est encore en surci.
Oui mais voilà, comment recaler un gyroscope.
J'ai une idée tres precise sur la facon d'obtenir un cap (ou dirrection). Mzis pour recaler un gyroscope, j'ai besoin d'un outil aussi precis que mon gyro, vour meme pkus precis. Et si j'utilise un outil plus precis sue mon gyro pour le recaler, pourquoi ne pas utiliser cet iutils comme reference de Cap. Donc mon gyro deviendrzit inutile, et c'est cet iutil qui me donnerzit le cap.
Donc ce n'est pas la solution.
Non vraiment, je ne vois pas. Si quelqu'un pouvait m'éclairer sur cette methode ce serzit vrziment bien.
Merci d'avance
Cdlt
Yves
Répondre à ce sujet

0 utilisateur(s) li(sen)t ce sujet
0 members, 0 guests, 0 anonymous users