Aller au contenu


Photo
- - - - -

Test du gros servo ASME MXA - 260kg.cm - 0.12s/60° - 3600°


100 réponses à ce sujet

#21 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 20 avril 2017 - 01:04

Ah ! Merci pour le conseil pour les broches 2 ou 3.

Ce matin, j'ai fait du ménage sur mon établi et rangé les Lego qui trainaient.
J'ai ressorti mon alimention de laboratoire, 15V max seulement, dommage !
Le fer à souder, j'ai fait 2 cables.
Le contrôleur universel, pour vérifier l'ampérage.
Bon l'oscillo... pour la frime peut-être, mais pas vraiment nécessaire.
J'ai l'impression de revenir 30 ans en arrière. Rien de brancher l'alim, et de vérifier sa tension, j'ai l'adrénaline qui est montée...
Bref, ça m'a pris la matinée.

Bon, maintenant, je vais retourner à ma peinture...

#22 Mike118

Mike118

    Staff Robot Maker

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

Posté 20 avril 2017 - 01:30

Tu veux un code d'exemple dédié à ton application ou tu vas te débrouiller pour chercher un peu sans problème  ?


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  

 

 

 


#23 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 20 avril 2017 - 06:11

Tu veux un code d'exemple dédié à ton application ou tu vas te débrouiller pour chercher un peu sans problème  ?

Je vais essayer et si je bloque, j'appellerai au secours ...

#24 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 21 avril 2017 - 07:11

ça marche ! :Koshechka_08:

 

J'ai été au plus simple en utilisant la méthode avec le potentiomètre (100k) avec les instructions données dans la fiche de vente et en regardant la vidéo.

Du coup, nul besoin d'envoyer une trame servo avec l'Arduino. En envoyant une tension de 0 à 5V à l'entrée potentiomètre avec la fonction analogWrite() , mais je ne vois pas d'exemple dans le starter kit, ça devrait fonctionner

Enfin, j'espère...

 

img04.png

 

 



#25 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 21 avril 2017 - 07:25

 

<je n'arrive pas à publier une image que j'ai déjà envoyée.>

 

Elle apparaît peut-être dans "mes médias" ?



#26 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 21 avril 2017 - 07:29

 

Elle apparaît peut-être dans "mes médias" ?

Merci.



#27 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 21 avril 2017 - 10:11

Et bien, non !

La fonction analogWrite() ne donne pas une valeur de 0V à 5V, mais un rapport cyclique de 0 à 255 sur les E/S numériques.

 

Il doit bien y avoir une fonction qui donne une valeur de 0V à 5V sur les sorties analogiques !?

 

 

Flutes !  Les ports analogiques ne sont qu'en entrée, pas en sortie.

Bon, et bien, mon idée n'est pas bonne ! Dommage, c'était tellement simple !



#28 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 21 avril 2017 - 11:20

L'analogique, en sortie, c'est du pwm. Il faut un cna. :)

#29 ashira

ashira

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 333 messages
  • Gender:Male

Posté 21 avril 2017 - 12:30

Si tu disposes de composant électronique tu peux peut être par exemple mettre un petit condensateur sur la sortie pour lisser la tension et atteindre la valeur moyenne, et une résistance en parallèle du condensateur. Genre entre 1 et 10 uf pour le condo et 100k ohms pour la résistance.

#30 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 21 avril 2017 - 01:53

Pas bête. C'est pas le principe d'une alimentation à découpage ?

#31 ashira

ashira

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 333 messages
  • Gender:Male

Posté 21 avril 2017 - 02:20

Oui c'est ça, sans la résistance en parallèle du condensateur. La j'ai conseillé de mettre une résistance en parallèle pour que le condensateur se décharge dedant lorsque la consigne du pwm diminue. Sinon la tension ne descendrait pas.

#32 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 21 avril 2017 - 02:49

Merci Ashira. Oui, là, tu me proposes de faire un peu d'électronique, la vraie...
Mais bon, je pense que je vais déjà utiliser la bibliothèque servo.h et me faire les dents avec ça.

#33 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 22 avril 2017 - 07:18

Je suis très content !

Aujourd'hui, j'ai réussi à faire fonctionner le servo ASME-MXA avec ma carte Arduino Uno. C'est un grand moment pour moi.
J'ai utilisé simplement le code du Projet05 du Starter Kit. Le brochage de l'ASME-MXA n'est pas tout à fait identique au servo du test, mais rien de bien méchant, le +5V et le signal sont inversés.
Un grand avantage, c'est qu'il n'y a pas besoin de prévoir une alimentation pour l'Arduino Uno, car l'ASME-MXA l'alimente au travers de la connexion servo.

Pour la suite, je révise à la baisse mes prétentions du premier test.
En effet, pour commencer, je vais faire un métronome comme ceux que l'on utilise en musique.
Le bras fera environ 30cm, et le potentiomètre fera varier la vitesse en modifiant le paramètre de la fonction delay(). Mais peut-être y a t-il un autre moyen ?

#34 yougo

yougo

    Habitué

  • Membres
  • PipPip
  • 235 messages

Posté 22 avril 2017 - 01:14

Je sais que c'est possible : 
 

 
je ne me suis jamais demandé comment, mais je crois que le gars a mis le code dans la description

Venez check le Twitter : 

 

https://twitter.com/Projet_WALK_E

 


#35 ashira

ashira

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 333 messages
  • Gender:Male

Posté 22 avril 2017 - 01:31

Il y a la fonction millis() que tu peux utiliser, ça te donne la durée depuis le démarrage du programme. Ça combiné à la fonction modulo ça devrait fonctionner.

#36 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 22 avril 2017 - 03:29

Merci les garçons.
Le code de la vidéo est intéressant, il n'utilise pas la bibliothèque servo.h et il utilise effectivement la fonction millis().
Je vais essayé de voir ça de plus près.

Sinon, j'ai fait un premier jet de code et ça réagit plutôt pas mal.
Je vais le peaufiner et je vous montrerai.

#37 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 23 avril 2017 - 07:07

Voici mon premier programme Arduino dont je ne suis pas peu fier !
C'est un peu basique, mais ça fonctionne très bien.
Je fais une vidéo dès que j'ai un peu de temps.
 
/*  Ce programme met en oeuvre un servo à la manière d'un métronome.
 *  Après avoir appuyé sur le bouton, le servo fait des mouvements alternés d'environ 60°.
 *  La vitesse est réglée par le potentiomètre.
 */

#include <Servo.h>        // include librairie servo
Servo myServo;            // créer une instance servo
int const switchPin = 2;  // sortie 2, bouton poussoir
int switchVal = 0;        // initialisation du bouton poussoir
int const ledPin = 13;    // sortie 13, led rouge
int const potPin = A0;    // entrée A0 potentiomètre
int potVal;               // valeur du potentiomètre
int speed;                // vitesse du battement du bras du servo

void setup() {

  Serial.begin(9600);         // ouverture du moniteur série
  myServo.attach(9);          // affecte la sortie 9 au servo
  pinMode(switchPin, INPUT);  // affecte entrée 2 interrupteur
  pinMode(ledPin, OUTPUT);    // affecte sortie 13 led rouge
  myServo.write(0);           // initialise la position du servo à 0°

  while((switchVal = digitalRead(switchPin)) == LOW );  //attendre l'appui du bouton poussoir
  digitalWrite(ledPin, HIGH);                           //allumer la led rouge, début du test

}

void loop() {
  potVal = analogRead(potPin);                      // lire la valeur du potentiomètre
//  Serial.print("potVal: "); Serial.println(potVal); // log valeur du potentiomètre

  speed = map(potVal, 0, 1023, 100, 1000);          // affecte la vitesse par map valeur du potentiomètre de 1/10.s à 1s
//  Serial.print("speed : "); Serial.println(speed);  // log vitesse

  myServo.write(60);  // positionne le servo à 60°
  delay(speed);
  myServo.write(0);   // positionne le servo à 0°
  delay(speed);
}


#38 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 23 avril 2017 - 11:32

Héhé bon c'est pas ton premier programme :D ça se voit.

 

Pour la vitesse de la course du servo, le programme proposé sous la video de yougo fait le job. Il y a eu un concours sur le forum donc c'était le sujet. Impossible de remettre la main dessus.



#39 yougo

yougo

    Habitué

  • Membres
  • PipPip
  • 235 messages

Posté 23 avril 2017 - 12:31

Mouaiiiiss je suis d'accord avec Path, tu es sur que c'est la première fois que tu code en arduino toi ?  :ignat_02:  


Venez check le Twitter : 

 

https://twitter.com/Projet_WALK_E

 


#40 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 23 avril 2017 - 01:12

Mouaiiiiss je suis d'accord avec Path, tu es sur que c'est la première fois que tu code en arduino toi ?  :ignat_02:

Si, si ! C'est bien mon premier programme Arduino !

Héhé bon c'est pas ton premier programme :D ça se voit.
 
Pour la vitesse de la course du servo, le programme proposé sous la video de yougo fait le job. Il y a eu un concours sur le forum donc c'était le sujet. Impossible de remettre la main dessus.

Là, je n'ai pas programmé la vitesse de la course du servo, mais j'y pense très fort...
Dans mon test la commande va au maximum de la vitesse à chaque fois, mais à chaque qu'il change de sens je mets un delay(), et déjà c'est un bon test, quand vous verrez ma vidéo, vous pourrez voir le problème que cela génère.

En fait commander la vitesse du servo va dans le sens de la diminution de sa vitesse, de la maitrise de la vitesse, mais bien entendu, on ne peut pas l'augmenter.



Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users