Aller au contenu


Photo
- - - - -

Bras asservis en position avec moteur à courant continu


68 réponses à ce sujet

#1 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 16 avril 2012 - 01:53

Bonjour à tous =)

EDIT:  le sujet de base était une demande d'idée et cela a évolué en: " bras asservis en position, avec moteur à courant continu"

le message qui suit à été celui posté avant l'Edit:

Voilà je me lance tout juste dans la conception d'un "nouveau" robot mobile, et qui sera évolutif ^^ Pouvant gérer plusieurs mode de fonctionnement : autonome ou téléguidé ^^
Bon tout ça semble classique mais voilà : je ne fais que de la récup pour faire mes robot et travail uniquement en analogique : j'attend encore un peu avant de me lancer dans la programmation ^^ en effet il y a déjà bien assez à maitriser en électronique et en mécanique ^^ ( mais ça sera pour bientôt la programmation ^^ )

Je compte réutiliser mon dernier projet : "un suiveur de mur " donc je dispose déjà d'un châssis avec roues moteurs et réducteurs adaptés, de quelques capteurs infrarouge, ainsi que d'autres truc récupéré comme un module de voituré téléguidé pour deux moteurs et la télécommande qui va avec, ainsi que de nombreux moteurs et réducteurs avec des résistances ajustables sans butées et des codeurs 4 positions, sans compter un circuit avec 11 pont en H ,une batterie rechargeable de 7,8 V, ainsi que pour le cerveau de mon robot des amplificateurs opérationnels, et plus encore.

Donc j'ai de quoi faire quelque chose qui peut être intéressant.

Cependant je n'ai pas encore précisément de chose en tête quant a ce que je vais exactement faire, à par de le rendre à la fois télécommandable et autonome.
Je vais peut être lui implanter une pince ou une lanceur de bille je ne sais pas on verra bien ! Après ça serait bien de faire un truc utile en plus d'être fun ^^

Donc si vous avez la moindre suggestion je suis preneur ^^ Je ne suis pour l'instant qu'à l'ébauche d'un cahier des charges ^^

Merci et à bientôt j'espère !


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#2 Newbies

Newbies

    Membre passionné

  • Membres
  • PipPipPip
  • 487 messages
  • Gender:Male
  • Location:Paris

Posté 17 avril 2012 - 10:54

Je suis comme toi je galere avec le numerique mais pour des robot autonome ta pas le choix. Sinon si tu veut juste le telecommander tu branche le recepteur de ta voiture RC aux deux moteurs de ton chassis et voila :) C'est comme sa que jai fais le mien

#3 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 20 avril 2012 - 01:00

Merci pour ta réponse ^^

Perso je suis pas d'accord avec "pour des robot autonome t'a pas le choix " en effet j'ai fait un suiveur de mur, il était autonome et en tout analogique, et il marche très bien ^^

Sinon pour mon projet pour l'instant je voudrais faire un bras robotisé simple genre deux degrés de liberté qui pourrais en gros simuler l'épaule ^^
L'équivalent classique pourrait bien ressembler à deux servomoteurs fixé l'un sur l'autre avec des axes de rotations non colinéaire ^^

cependant voilà : pour corser la chose je veux réaliser cela de façon à ce que les deux moteurs du bras puissent faire plusieurs tours, dans les deux sens , et puissent à la fois être asservis en position sur un tour et tourner à une vitesse prédéfinie grâce à un PWM. Le tout sans oscillations !
Déjà il y a du boulot ! ^^

Mieux encore * ( façon de parler ) le tout sera fait en analogique ! Donc pas de programmation ! ( car je n'ais pas de carte programmable )

Et, plus important : la commande pourra se faire à la fois : manuelement avec deux potards soit à partir d'une télécommande sans fil !

Je verrais pour ensuite rajouter une pince au bout ^^ et faire en sorte que ceci puisse être plus tard montable sur un robot mobile wink.gif

à bientôt !


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#4 rbot99

rbot99

    Membre passionné

  • Membres
  • PipPipPip
  • 514 messages
  • Gender:Male

Posté 20 avril 2012 - 04:13

eh ben dis donc toi ta pas finie!!
a oui si tu veus des aides pour le branchement ou autre qui concerne l'électronique contacte moi a cette addresse : alexauffray99@hotmail.fr
N'entretiens pas l'espoir de ce qui ne peut être espéré , Pythagore

#5 Black Templar

Black Templar

    Membre

  • Membres
  • PipPipPipPipPip
  • 1 430 messages
  • Gender:Male
  • Location:Lille

Posté 20 avril 2012 - 09:24

eh ben dis donc toi ta pas finie!!
a oui si tu veus des aides pour le branchement ou autre qui concerne l'électronique contacte moi a cette addresse : alexauffray99@hotmail.fr


Ce n'est pas la philosophie du forum rbot99 !
Si mike118 à des questions, il peut les poser sur le forum. Comme ça tout le monde pourra participer à la réponse.

A bientôt,
Black Templar

Mon site internet : http://ferdinandpiette.com/


#6 Astondb8

Astondb8

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 111 messages
  • Gender:Male
  • Location:Paris

Posté 20 avril 2012 - 09:47

Effectivement je suis aussi de l'avis de BT.
De plus si tu te lance dans ce genre de projet c'est à dire faire un robot autonome avec un bras basé essentielement sur de l'analogique et donc des portes logiques et autres vieilleries ;) ça peut intéresser pas mal de monde ici qui ont directement commencé en numérique.
Connaître l'analogique peut souvant faire gagner du temps de l'argent et ce qui est mieux encore des Pins sur nos Microcontroleurs.
Donc oui partager votre travail. Est en effet la politique du forum qui n'est pas un club de rencontre ;)

 


#7 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 20 avril 2012 - 12:50

Pour tes moteurs si je me trompe pas tu as deux solutions: des moteurs pas à pas ou des moteurs CC asservis (par un roue codeuse par exemple), mais traiter ça en analogique je ne vois vraiment pas comment... j'avais vu sur le forum que certains circuits intégrés permettaient de traiter les infos des codeurs en renvoyant une information logique en fonction de la direction et un signal PWM pour la vitesse (je crois), ça pourrai être un bon début! Mais ça a l'air chaud comme projet! En tout cas j'ai hâte de voir tes avancées, c'est très intéressant
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/

#8 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 21 avril 2012 - 07:14

Bonjour ^^

Tout d'abord : oui je sais : travailler en analogique ça fait un peu vieux ^^ mais je pense ( avis personnel et donc subjectif) que c'est mieux de connaitre un peu les base de l'analogique avant de se mettre au numérique ^^ ( mais bon je sais très bien qu'ensuite je vais migrer en numérique bientôt : dans moins d'un an ^^ mais j'aurais fini ce projet d'ici là ^^

Bon je vais commencer par préciser ce que j'ai déjà :

Les moteurs que j'ai déjà équipé de potentiomètre rotatifs sans buté et le réducteur qui va avec ^^
1 pont en H adapté au moteurs que j'utilise et de quoi faire un deuxième à l'identique ^^

J'ai des amplificateurs opérationnels dispos ( un bon paquet ^^ ) des résistances des condensateurs des diodes des transistors ( un peu toute capacités confondu )

j'utiliserais 8 piles de 1,5 V pour mon montage d'aop: -6V, 6V et une batterie de 7,8V pour la puissance.

sinon ba en contrainte il faut que je m'adapte à ce que j'ai ^^

bon je vais présenter dans mes messages suivant mon premier jet de ce que je compte faire en plusieurs parties et aimerais avoir votre avis sur les éventuelles erreurs que je pourrais commettre!

et a première partie que je vais décrire est l'asservissement d'un moteur sur un tour ;) et le module sera fonctionnel indépendament des autres parties ;)

à Bientôt !

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#9 Black Templar

Black Templar

    Membre

  • Membres
  • PipPipPipPipPip
  • 1 430 messages
  • Gender:Male
  • Location:Lille

Posté 21 avril 2012 - 07:54

Tout d'abord : oui je sais : travailler en analogique ça fait un peu vieux ^^ mais je pense ( avis personnel et donc subjectif) que c'est mieux de connaitre un peu les base de l'analogique avant de se mettre au numérique ^^ ( mais bon je sais très bien qu'ensuite je vais migrer en numérique bientôt : dans moins d'un an ^^ mais j'aurais fini ce projet d'ici là ^^



Ah ! C'est bien ça !
Trop de personnes commencent directement avec le numérique.
Alors certes, c'est bien car il suffit d'avoir des bases de programmation pour réussir à avoir des résultats rapidement, mais du coup, la partie électronique n'est pas très évoluée et pire que ça : l'utilisation de modules tout fait empêche la compréhension de ce que l'on fait...

et a première partie que je vais décrire est l'asservissement d'un moteur sur un tour ;) et le module sera fonctionnel indépendament des autres parties ;)


J'ai hâte de voir ça ;)


++
Black Templar

Mon site internet : http://ferdinandpiette.com/


#10 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 21 avril 2012 - 12:36

Bon déjà pour le principe je vais décrire la méthode la plus simple que j'ai déjà essayé qui est fonctionnelle mais qui présente certains défauts et qui fait que je tente de mettre une autre en place. C'est un asservissement par commande en tout ou rien.

précision importante : j'ai déjà des pont en H tout fait (donc même si je sais en refaire un ça serait dommage de m'en priver) il a : deux pins pour l'alimentation et deux entrées de commande lorsque l'une est haute on dira être à 1 ( ex: entré1 +5V) l'autre doit être basse ou dira être à 0 (entré2 0V ou moins ) sinon snif snif l'alim chauffe !! donc faire très attention à ça .
Donc : si les 2 entre sont à 0 rien ne tourne
si l'entré 1 est à 1 l'autre à 0 ça tourne dans un sens
si l'entré 2 est à 1 et l'autre à 0 ça tourne dans l'autre sens
Rappel : les deux entrées sont à 1 en même temps => situation interdite.

ensuite on a : une tension de consigne Uc et une tension de position Um obtenue par pont diviseur de tension par le potentiomètre lié à l'arbre de sortie du moteur.

le principe : avec des comparateur 1 et 2 on compare Uc et Um d'un coté et (R2/(R1+R2) )*Um et Uc (obtenue avec un pont diviseur de tension ) de l'autre (avec R1 très faible ) pour obtenir les signaux qui vont aller en entré 1 ou 2 du pont en H .

Vu que je n'avais que des aops sous la main et pas de vrai comparateur j'ai utilisé des aop en mode comparateur simple ( pour ceux qui sont à la ramasse avec les aop pas de soucis ceci " http://www.electronique-radioamateur.fr/elec/schema/montage-aop.php " est pour vous ;) )

Explication : si Uc > Um > (R2/(R1+R2) )*Um la sortie du comparateur 1 est à 1 et celle de comparateur 2 est à 0 donc on tourne dans un sens
si Um > (R2/(R1+R2) )*Um > Uc la sortie du comparateur 1 est à 0 et celle de comparateur 2 est à 1 donc on tourne dans l'autre sens
si Um > Uc >(R2/(R1+R2) )*Um la sortie du comparateur 1 est à 0 et celle de comparateur 2 est à 0 donc on ne tourne pas
et il est impossible d'avoir Uc à la fois superieur à Um est inferieur à (R2/(R1+R2) )*Um donc le cas 2 entrée à 1 est impossible

NB: bien choisir l'entrée et le comparateur associé : le comparateur 1 est à 1 pour faire tourner le moteur de manière à augmenter Um et inversement pour les comparateur 2

Compte rendu après essais :

les + : ça marche plutôt bien ;) il y a peu de composant c'est fonctionnel rapide à mettre en oeuvre.
Les - : ça oscille un peu voir beaucoup si R1 est trop faible mais pas du tout si R1 est grande cependant il y a une "erreur de position " qui augmente lorsque R1 augmente je pense que vous aurez tous compris pourquoi.

Je reviendrais pour d'autres propositions ( plus complexes que celle ci ) et pour répondre à vos questions si vous en avez ou pour écouter vos suggestions ;)
Précisions : pour mes prochaines proposition je proposerais un montage avec PWM toujours le tout en tout analogique ;)

à bientôt !

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#11 Black Templar

Black Templar

    Membre

  • Membres
  • PipPipPipPipPip
  • 1 430 messages
  • Gender:Male
  • Location:Lille

Posté 21 avril 2012 - 01:12

les + : ça marche plutôt bien ;) il y a peu de composant c'est fonctionnel rapide à mettre en oeuvre.
Les - : ça oscille un peu voir beaucoup si R1 est trop faible mais pas du tout si R1 est grande cependant il y a une "erreur de position " qui augmente lorsque R1 augmente je pense que vous aurez tous compris pourquoi.


C'est intéressent !
Tu as donc mis en place une régulation proportionnelle.
C'est donc normale que soit l'erreur statique est non nul, soit que le système oscille ! Su tu rajoute un intégrateur pour faire un PI, ça résoudra ton problème :)

Petite remarque : est-ce que ça ne serait pas mieux d'avoir une commande "proportionelle" (par tout ou rien) et de venir hacher la tension de commande pour commander le pont en H avec un signal PWM ?
ça résoudrait peut-être en partie les problèmes d'oscillation (bien que je n'en soit absolument pas sur !)

Pour le hacheur, il te faut un générateur triangulaire. Tu viens ainsi comparé le signal triangulaire au signal de commande. Il en résulte un signal PWM de sortie de fréquence constante (point positif) et de rapport cyclique variable en fonction de ta commande :)


++
Black Templar

Mon site internet : http://ferdinandpiette.com/


#12 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 21 avril 2012 - 05:16

C'est intéressent !
Tu as donc mis en place une régulation proportionnelle.
C'est donc normale que soit l'erreur statique est non nul, soit que le système oscille ! Su tu rajoute un intégrateur pour faire un PI, ça résoudra ton problème :)


Non justement la régulation n'est pas proportionnelle c'est à dire que : que l'erreur soit importante ou non , tant qu'elle dépasse la tolérance autorisé par l'ajout du pont diviseur par R1 et R2 , le moteur se mettra à tourner "à fond*" car le pont en H sera passant ;) ( * presque à fond car il y a la phase de démarrage... )

Quand l'axe de sortie du moteur est tel qu'on a " Um > Uc >(R2/(R1+R2) )*Um " qu'on appelera zone morte, la sortie du comparateur 1 est à 0 et celle de comparateur 2 est à 0 donc le pont en H n'est pas passant et le moteur à le temps de se freiner lui même. Les oscillations sont dans le cas où il ne se freinne pas assez et sort de la zone morte ( donc avec une zone morte suffisament importante il n'y a pas du tout d'oscillation )
Si le moteur sort de la zone morte il repars dans l'autre sens mais comme il y re rentre sans avoir emmagasiné le maximum d'energie cinétique il s'arrete dans la zone morte soit il la dépace de nouveau " s'arrete " encore plus près de la zone morte et repart dans l'autre sens avec moins d'énergie ... ainsi de suite jusqu'à s'arreter

Avec mon montage et R1 fait avec un potentiometre j'ai obtenu au une zone morte minimal de 2° avec 3 oscillation quand on veut aller de 10° à 350°
dès que je mettais une zone morte plus faible j'avais des oscillation infinie
pour 5° de zone morte : une seule oscillation
pour 7° et au delà pas d'oscillation

Cependant tout cela dépend des paramètre du montage du moteur choisis du réducteur ( coefficient de réduction de frottements etc ... )

Petite remarque : est-ce que ça ne serait pas mieux d'avoir une commande "proportionelle" (par tout ou rien) et de venir hacher la tension de commande pour commander le pont en H avec un signal PWM ?
ça résoudrait peut-être en partie les problèmes d'oscillation (bien que je n'en soit absolument pas sur !)

Pour le hacheur, il te faut un générateur triangulaire. Tu viens ainsi comparé le signal triangulaire au signal de commande. Il en résulte un signal PWM de sortie de fréquence constante (point positif) et de rapport cyclique variable en fonction de ta commande :)



je ne suis pas bien sur d'avoir compris la question mais je vais y répondre comme je peux ;). Donc oui une commande proportionnelle serait plus adaptée évidement et c'est le but de mes modifications.
Pour cela il y a bien entendu deux choix ui s'offrent à moi :
le 1er : garder le système de commande tel quel ( donc en tout ou rien ) et travailler directement sur la tension d'allimentation du pont en H avec un hacheur par exemple commande par un signal PWM controlé par l'ecart en valeur absolue de " Uc-Um " plus celui est grand en valeur absolue plus la tension est grande et vis versa, ce qui est bien entendu pas très compliqué voir aisément faisable ;) ( est celui que tu me propose ? )
Le 2ème est d'avoir une commande proportionnelle ( donc en PWM ) controlé par l'écart Uc-Um et pas de Hacheur .

Bon je peux très bien détailler le premier choix qui est très intéressant ! Cependant une raison simple me pousse à faire le second choix : je travail sur un bloc de 11 pont en H qui partage tous la même alimentation donc si je Hache cette dernière elle sera haché pour tout les autres moteur qui seront branché au bloc ... Ce qui dans mon cas n'est pas intéressant !

En tout cas Black templar tu es dans le vrai dans les deux cas : je compte utilisé un signal triangulaire obtenu par multivibrateur astable et un comparateur pour mon système ! Je présenterais ça bientôt ;) et je suis toujours là pour répondre à vos questions si vous en avez ou pour écouter vos suggestions ou autre !


Déjà merci à Black Templar pour ses interventions ainsi qu'à rbot99 pour sa sympatique proposition ;) je pense bien pouvoir compter sur ton aide mais je pense la demander sur ce site si tu veux bien le suivre ;) car comme certains l'ont précisé ça pourrait peut être intéresser certaines personnes :) Merci aussi à swolf et à Astondb8 pour l'intéret que vous me portez ( si d'autre choses vous intéresse, un défi ou autre à me proposer : je suis votre homme ^^ ) ainsi qu'à Newbies qui a été le premier à me répondre ^^

à Bientôt à tous et merci de me lire et de me répondre !

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#13 Black Templar

Black Templar

    Membre

  • Membres
  • PipPipPipPipPip
  • 1 430 messages
  • Gender:Male
  • Location:Lille

Posté 21 avril 2012 - 05:52

Non justement la régulation n'est pas proportionnelle c'est à dire que : que l'erreur soit importante ou non , tant qu'elle dépasse la tolérance autorisé par l'ajout du pont diviseur par R1 et R2 , le moteur se mettra à tourner "à fond*" car le pont en H sera passant ;) ( * presque à fond car il y a la phase de démarrage... )

Autant pour moi, je suis allé un peu vite dans mes conclusion !




je ne suis pas bien sur d'avoir compris la question mais je vais y répondre comme je peux ;). Donc oui une commande proportionnelle serait plus adaptée évidement et c'est le but de mes modifications.
Pour cela il y a bien entendu deux choix ui s'offrent à moi :
le 1er : garder le système de commande tel quel ( donc en tout ou rien ) et travailler directement sur la tension d'allimentation du pont en H avec un hacheur par exemple commande par un signal PWM controlé par l'ecart en valeur absolue de " Uc-Um " plus celui est grand en valeur absolue plus la tension est grande et vis versa, ce qui est bien entendu pas très compliqué voir aisément faisable ;) ( est celui que tu me propose ? )
Le 2ème est d'avoir une commande proportionnelle ( donc en PWM ) controlé par l'écart Uc-Um et pas de Hacheur .


Non, je proposais bien la seconde solution ! C'est vrai que le hachage de la tension d'alimentation n'est pas très intéressant. Ce dont je parlais, c'est du hachage de la tension de commande pour obtenir un signal PWM de commande ! Donc bien le choix numéro 2.


++
Black Templar

Mon site internet : http://ferdinandpiette.com/


#14 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 21 avril 2012 - 07:21

Bon alors première partie : l'asservissement en position sur un tour .

J'utilise comme retour de position un potentiomètre ( sans buté ) fixé sur l'axe de sortie du réducteur dont les extrémités sont liés à la masse et à 3V ( valeur pouvant être modifié plus tard ^^ ) de manière à avoir la tension nommée Um = K*3V avec K compris en 0 et 1 dépendant de la position D( en degré ) de l'axe de sortie du réducteur ( Um = 0V pour D = 0°; Um= 3V pour D = 359°; Um= 1,5V pour D=179,5° ainsi de suite ...

Je suppose que ma consigne Uc en volt est déjà crée ( on verra cette partie plus tard )

Je fait un montage d'amplificateur opérationnel en soustracteur simple pour obtenir Uc - Um

Bon comme je n'ai pas de vrai comparateur, j'utilise des AOP en mode comparateur simple et je compare Uc- Um à un signal triangulaire toujours positif t+ variant de 0 à 3V ( voir moins par la suite ) et je met une diode derrière ( pourra peut être être supprimée plus tard )

J'obtiens donc mon premier signal de commande modulé en impulsion de rapport cyclique Rc1 avec Rc1=1 si Uc-Um >ou= 3V Rc1= 0 si Uc-Um <ou= 0

ce signal rentre dans la première entré de mon pont en H qui me permet de commander à mon moteur de tourner dans le sens de D croissant ce qui va augmenter Um jusqu'à ce que R = 0 dans le cas où Um< Uc => Uc-Um> 0


pour mon deuxième signal je compare un signal triangulaire toujours négatif : t- variant entre -3v et 0 à Uc-Um et je met une diode derrière

J'obtiens donc mon deuxième signal de commande modulé en impulsion de rapport cyclique Rc2 avec Rc2=1 si Uc-Um <ou= - 3V Rc2= 0 si Uc-Um >ou= 0

ce signal rentre dans la seconde entré de mon pont en H qui me permet de commander à mon moteur de tourner dans le sens de D décroissant ce qui va diminuer Um jusqu'à ce que R = 0 dans le cas où Um> Uc => Uc-Um< 0

j'espère ainsi pouvoir asservir mon moteur en position avec une vitesse proportionnel à l'écart entre la consigne et la position mesuré ce qui me permettrait de ne pas avoir d'oscillations ( ou d'en avoir le moins possible )


Pour finir le signal triangulaire t- est obtenu à la sortie de l'intégrateur d'un montage d'AOP en multivibrateur astable composé donc d'un intégrateur inverseur dont la sortie rentre dans la borne non inverseuse d'un second amplificateur opérationnel ( sorte de comparateur à hystérésis ) en passant par une résistance R1=1K tout comme une tension de 6v ( tension d'alim des aop) et la sortie de cette Aop en passant tout deux par une résistance R2= 4K ( il y a donc 2 résistances R2 ) .
La sortie du " comparateur à hystérésis rentrant aussi dans l'intégrateur inverseur.

Le signal t+ étant obtenu par t- après être passé au travers d'un suiveur inverseur ( ou amplificateur de gain -1 ) .


Bon je joins une pièce jointe pour illustrer mes propos
numérisation0001.jpg


avec les précisions suivantes : R1/R2 = 4 sinon la valeur de R n'est pas importante tant que c'est la même pour chaque montage d'aop que ce soit le montage amplificateur inverseur ou soustracteur de manière à bien avoir -1 et Uc-Um
autre chose à remarque le potentiomètre sans buté à une résistance totale de 10K et la valeur de C reste à être déterminer pour avoir une bonne periode de mes tension hachée .

Ce montage en est encore à l'étude et n'a pas été vérifié ni testé donc si vous avez un avis à partager n'hésitez pas !

Voilà à bientôt ! Je proposerais surement un second montage bientôt qui sera à comparer avec celui que je viens de présenter de manière à voir ce qui sera le plus intéressant et pourquoi ;)

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#15 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 13 mai 2012 - 12:49

Voilà à bientôt ! Je proposerais surement un second montage bientôt qui sera à comparer avec celui que je viens de présenter de manière à voir ce qui sera le plus intéressant et pourquoi ;)


ça a pris du temps mais voilà le deuxième schémas que je propose :

numérisation0004.jpg

J'utilise comme retour de position un potentiomètre ( sans buté ) fixé sur l'axe de sortie du réducteur dont les extrémités sont liés à la masse et à 3V ( valeur pouvant être modifié plus tard ^^ ) la tension obtenue rentre dans un amplificateur opérationnel monté en suiveur et donne Um = K*3V avec K compris en 0 et 1 dépendant de la position D( en degré ) de l'axe de sortie du réducteur ( Um = 0V pour D = 0°; Um= 3V pour D = 359°; Um= 1,5V pour D=179,5° ainsi de suite ...

Je suppose que ma consigne Uc en volt est déjà crée ( on verra cette partie plus tard )

Je fait un montage d'amplificateur opérationnel en soustracteur simple pour obtenir Uc - Um

Bon comme je n'ai pas de vrai comparateur, j'utilise des AOP en mode comparateur simple et je compare Uc- Um à un signal triangulaire t variant de -2V à 2V

J'obtiens donc mon premier signal de commande modulé en impulsion de rapport cyclique Rc1 avec Rc1=1 si Uc-Um >ou= 2V Rc1= 0 si Uc-Um <ou= -2V

ce signal rentre dans la première entré de mon pont en H qui me permet de commander à mon moteur de tourner dans le sens de D croissant ce qui va augmenter Um jusqu'à ce que R = 0 dans le cas où Um< Uc => Uc-Um> 0


mon deuxième signal est obtenue ici à partir d'un suiveur inverseur ( ou amplificateur de gain -1 )
Il peut être obtenue à partir d'un comparateur simple comme le signal 1 en inversant les entrées oui bien à partir du signal 1 avec un un circuit logique équivalent au "non".

J'obtiens donc mon deuxième signal qui est l'opposé du signal 1

Ainsi, lorsque le rapport cyclique du signal 1 est de 0.5, celui du signal 2 est aussi de 0.5 et le moteur ne tourne pas par contre il exerce un couple.

lorsque le rapport cyclique est inferieur à 0,5 on tourne dans un sens lorsqu'il est superieur à 0,5 on tourne dans l'autre sens. ( la vitesse de rotation étant une fonction affine du rapport cyclique )

Pour finir le signal triangulaire t est obtenu à la sortie de l'intégrateur d'un montage d'AOP en multivibrateur astable composé donc d'un intégrateur inverseur dont la sortie rentre dans la borne non inverseuse d'un second Aop : un comparateur à hystérésis.La sortie du " comparateur à hystérésis rentrant dans l'intégrateur inverseur.

une vidéo en fonctionnement :Fichier joint  bras robot Test 1.wmv   19,74 Mo   255 téléchargement(s)


On peut voir que de temps en temps des oscillations apparaissent ... Dans un post suivant je vais essayer de réduire le problème avec l'ajout d'une zone "morte " basé sur le même principe que le premier montage proposé en tout ou rien.

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#16 F6FCO

F6FCO

    Habitué

  • Membres
  • PipPip
  • 186 messages

Posté 21 décembre 2012 - 12:27

N'en déplaise à Microrupteurman je déterre ton sujet pour ne pas continuer cette conversation intéressante sur le fil du bras télégraphiste.

Très intéressant et passionnant et ça a bien fait progresser ma culture sur le mode de fonctionnement des servos moteurs. A relire pour bien s'en imprégner.
Et je te tire mon chapeau ^^, dommage que le sujet soit si court, j'en aurai bien repris une tranche.

Quelques constatations pratiques à chaud :

- Ce qui me chagrine un peu -> alim +6v et -6v ce qui, outre la complication pour l'alim embarquée fait un fil de plus à envoyer à chaque ensemble, pour un bipède avec une vingtaine de servos ça risque de vite devenir une usine à gaz.

- Tu as fais un proto fonctionnel mais volumineux (ce qui est normal), si on veut mettre çà en oeuvre et le répéter (on parle d'une vingtaine de montages identiques montés sur des membres de robot) il faut trouver des solutions mécaniques viables pour réduire le volume de l'ensemble. Ce qui nous amène aux potars de retour: pas besoin de faire un tour complet comme dans ton essai, 180° suffisent donc je pense que des résistances variables lambda suffiront. La question qui me vient à l'esprit c'est comment les commander ? l'axe sortant du moteur sera utilisé pour commander le membre ou autre chose, donc il faudrait utiliser des moteurs à double sortie axiale pour pouvoir fixer la RV derrière.

- Pour trouver la bonne RV de nos jours c'est pas si simple, avec la miniaturisation à outrance des composants ça risque d'être chaud pour fixer çà sur l'axe.

- Tu ne parles pas des AOP utilisés, des µ741, µ747 ? (je sais c'est vieillot mais le plus connu et ça fonctionne bien ^^). As-tu établi un schéma final fonctionnel, c'est à dire clés en main avec valeurs des composants du circuit de commande et tant qu'à faire le pont en H ? Ceci pour ne pas réinventer la roue vu que tu l'as déjà fait.

#17 hmnrobots

hmnrobots

    Membre passionné

  • Membres
  • PipPipPip
  • 316 messages
  • Gender:Male
  • Location:Périphérie Nantes

Posté 21 décembre 2012 - 01:39

juste pour info, il existe des circuits de contrôle moteur en analogique comme le MC33030 qui faciliteraient soit la reproduction en composants discrets soit l'utilisation directe afin de fabriquer des servos de grosses puissances
Faire simple, c'est déjà bien assez compliqué!
http://hmnrobots.blogspot.fr/

#18 F6FCO

F6FCO

    Habitué

  • Membres
  • PipPip
  • 186 messages

Posté 21 décembre 2012 - 02:37

Merci du lien, je le garde sous le coude gauche pour d'autres applications. J'ai fureté un peu et ils coûtent trop cher (environ25€). La conversation avait commencée sur la fabrication d'une vingtaine de servos pour équiper un bipède et cela serait trop couteux au final. En plus à ce prix là on pourrait peut-être trouver des servos-moteurs tout faits acceptables.

#19 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 21 décembre 2012 - 04:36

- Ce qui me chagrine un peu -> alim +6v et -6v ce qui, outre la complication pour l'alim embarquée fait un fil de plus à envoyer à chaque ensemble, pour un bipède avec une vingtaine de servos ça risque de vite devenir une usine à gaz.



Pas de problème il y a des aop qui sont rails to rail qui fonctionnent en 5V et qui ne sont pas si cher que ça ... Je pense d'ailleurs à ceux làMon lien histoire de ne pas faire de pub : 4,21 euros les 25 AOP Double ... Soit 50 aop. alimentable directement en 5V...
Seul défaut peut être leur bande passante un peu basse pour certaines applications mais à voir car je n'ai pas retrouvé cette donnée sur la datasheet fournie... Au pire si toi tu ne la retrouve pas ailleurs sur une autre datasheet je ferais les test car moi perso je m'en suis pris un petit lot de 25... J'ai déjà fait un petit capteur de couleur avec et j'en suis assez satisfait =) ( les seuls défaut de mon capteur sont dus à ma conception et pas à l'aop ^^ mais malheureusement ça doit rester encore un peu secret pour le moement jusqu'à mai ! )

Ensuite en faisant un CI propre ça se réduit assez vite en taille !


- Tu as fais un proto fonctionnel mais volumineux (ce qui est normal), si on veut mettre çà en oeuvre et le répéter (on parle d'une vingtaine de montages identiques montés sur des membres de robot) il faut trouver des solutions mécaniques viables pour réduire le volume de l'ensemble. Ce qui nous amène aux potars de retour: pas besoin de faire un tour complet comme dans ton essai, 180° suffisent donc je pense que des résistances variables lambda suffiront. La question qui me vient à l'esprit c'est comment les commander ? l'axe sortant du moteur sera utilisé pour commander le membre ou autre chose, donc il faudrait utiliser des moteurs à double sortie axiale pour pouvoir fixer la RV derrière.



dans ton cas : il ne faut pas concevoir le servo moteur seul de son côté il est plus intéressant qu'il soit intégré dans ton robot ! En effet la solution est de déporter le potentiomètre ! Plus concrètement : ( schémas bouclé ) Moteur -> réducteur -> Bras -> Potentiometre -> circuit d'asservissement pour le moteur -> pont en H .... etc... Par contre ne pas négliger non plus les résistances ajustable. pour à peine plus que les moins chère tu peux en avoir des bien meilleurs que les autres ... Dis toi que là ton capteur se sont tes potards... et que le mieux c'est que leur variation soit la plus linéaire possible sur la plage de fonctionnement que tu souhaites ! Sinon : tu auras des positions très stable et d'autre moins stable ! Pour cela une étude de la courbe R = f( téta ) sur les potards que tu teste te montre tout de suite si ils sont bien ou pas ^^ ( seul facteur vraiment important avec leur résistance à l'usure et le couple qu'il faut pour les actionner ... )


As-tu établi un schéma final fonctionnel, c'est à dire clés en main avec valeurs des composants du circuit de commande et tant qu'à faire le pont en H ? Ceci pour ne pas réinventer la roue vu que tu l'as déjà fait.


Justement je ne l'ai fais que pour mes moteurs x) C'est là que se trouve le problème : Je l'ai essayé sur 5 type de moteurs différents. tant qu'il y a un étage de réduction j'ai toujours réeussis à retrouver des parametres fonctionnels ... par contre sans étage de réduction ... j'ai pas réussi ... de même pour le pont en H ça dépend de la consomation de tes moteurs ... mais un pont en H lambda devrait être suffisant si il va bien niveau tension /courant que tu veux utiliser pour le moteur que tu choisiras.

Du coup ce que j'ai à te proposer c'est un montage clef en main sans les valeur des composants qu'il faut que tu définisses par toi même avec tes propores moteurs ^^

Par contre un PCB peut se faire dans lequel il n'y a plus qu'à enficher des composant et tester le moteur ...



Autre chose : Inconvénient du montage que je propose dans ce post pour toi : Il se commande avec une tension continu entre 0 et 3V ! ( Du coup tu fais comment pour la générer avec ta arduino ? :P ( des solutions existe mais je le dis juste pour ne pas oublier ce point ^^ ) )

Par contre le schémas peut encore être réduit pour limiter le nombre de composant. Je l'avais élargis afin de me permettre une grande liberté sur le choix de paramettre à changer pour effectuer mes réglages ...

Rien que pour te faire plaisir je vais me repencher un peu sur mon montage ;)

Dernière chose : Faire un asservissement analogique comme dans ce post n'est pas la seule option je le rappel : tu peux aussi le faire en numérique ... et là tu peux avoir pas mal d'avantage : ciscuit commandable directement en numérique ( pas en analogique ) , un seul micro contrôlleur, qui possède au moins 2 entrée et une sortie ( et tu ajoute une porte logique inverseuse ) ou 2 entrées et 2 sorties ... Hum j'ai encore ce 10F206 qui me passe par la tête ^^ (je vais en commander un de ces 4 histoire de voir ce qu'ils ont dans le ventre! ) Du coup je sais pas si la solution analogique est la plus adaptées dans ton cas !

Mais qui sait ! à voir

( Perso j'ai bien fait des robots en tout analogique et logique :P et donc sans programmations et ça marche ^^ )

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#20 Black Templar

Black Templar

    Membre

  • Membres
  • PipPipPipPipPip
  • 1 430 messages
  • Gender:Male
  • Location:Lille

Posté 21 décembre 2012 - 05:30

Pas de problème il y a des aop qui sont rails to rail qui fonctionnent en 5V et qui ne sont pas si cher que ça ... Je pense d'ailleurs à ceux làMon lien histoire de ne pas faire de pub : 4,21 euros les 25 AOP Double ... Soit 50 aop. alimentable directement en 5V...
Seul défaut peut être leur bande passante un peu basse pour certaines applications mais à voir car je n'ai pas retrouvé cette donnée sur la datasheet fournie...


Attention, le LM358 est rail pour la tension négative, mais pas pour la tension positive ! Si tu alimente en 0-5V, la sortie sera comprise entre 0 et 3.5V




Autre chose : Inconvénient du montage que je propose dans ce post pour toi : Il se commande avec une tension continu entre 0 et 3V ! ( Du coup tu fais comment pour la générer avec ta arduino ? Image IPB ( des solutions existe mais je le dis juste pour ne pas oublier ce point ^^ ) )

Une sortie analogique (en réalité PWM) avec un passe-bas RC :)

Mon site internet : http://ferdinandpiette.com/




Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users