Aller au contenu


mthibs

Inscrit(e) (le) 04 oct. 2016
Déconnecté Dernière activité déc. 10 2019 05:08
-----

Sujets que j'ai initiés

Kit bras rotatif et pince robot [testé par mthibs]

31 mars 2017 - 08:55

Salut !

Loin de moi l'idée de faire de la concurrence à Donovandu88 avec son super bras robot BCN3D Moveo mais ce sujet est dédié au montage et au test du kit bras rotatif et pince robot qu'il y a dans la boutique !

 

Ce kit est composé de toutes les pièces mécaniques et visserie nécessaire pour assembler un bras robotique 6 DOF.

Par contre, les servo moteurs ne sont pas fournis avec, j'utilise les servo MG995 qui sont parfait pour cette application.

 

Fichier joint  bras-rotatif-pieces.jpg   131,9 Ko   137 téléchargement(s)

 

Je mets quelques photos du montage :

en commençant l'assemblage de la base tournante et du premier servo

Fichier joint  bras-rotatif-montage-6.jpg   144,91 Ko   135 téléchargement(s)

Fichier joint  bras-rotatif-montage-5.jpg   133,7 Ko   136 téléchargement(s)

 

Ensuite on passe à la partie supérieure

Fichier joint  bras-rotatif-montage-10.jpg   135,69 Ko   130 téléchargement(s)

Fichier joint  bras-rotatif-montage-15.jpg   127,09 Ko   133 téléchargement(s)

Fichier joint  bras-rotatif-montage-16.jpg   134,75 Ko   163 téléchargement(s)

 

Et enfin le montage de la pince

Fichier joint  bras-rotatif-montage-20.jpg   128,23 Ko   130 téléchargement(s)

Fichier joint  bras-rotatif-montage-21.jpg   132,56 Ko   134 téléchargement(s)

 

Le bras est monté !

Fichier joint  bras-rotatif-fini-3.jpg   158,25 Ko   139 téléchargement(s)

 

Pour faire fonctionner le bras j'utilise le driver 16 servo I2C et une arduino uno. Jekert a testé ce driver sur le forum !

Fichier joint  bras-rotatif-cartes.jpg   139,47 Ko   128 téléchargement(s)

 

Pour alimenter les moteurs, une batterie LiPo 12V est suffisante, avec un convertisseur 5V 7A. On peut utiliser un convertisseur 5V 5A mais au delà de trois moteurs en action il n'y a plus assez de courant.

 

Pour le programme, il suffit d'adapter celui posté par Jekert pour contrôler plusieurs servos dans le test du driver !

Voici un exemple de programme que je n'ai pas encore testé :

 

Et il ne reste plus qu'à programmer une jolie chorégraphie  :D


Capteur de couleur GY-31 [testé par mthibs]

23 mars 2017 - 08:09

Bonjour tout le monde !

 

Je poste un nouveau test sur le capteur de couleur présent sur la boutique !

C'est le capteur GY-31 basé sur le composant TSC3210.

 

Ce capteur a 10 entrées/sorties, 4 trous de fixation pour vis M3, 4 leds blanches pour éclairer la surface de l'objet pointé.

 

Fichier joint  capteur-couleur-GY-31.jpg   126,88 Ko   132 téléchargement(s)

Fichier joint  GY-31-led-on.jpg   144,6 Ko   134 téléchargement(s)

 

Ce capteur renvoie les composantes RGB de chaque objet qu'il pointe. Le signal de sortie est sous forme d'un signal carré dont la fréquence varie en fonction de la couleur perçu.

 

Ce que je trouve pas mal c'est qu'il y a la possibilité d’allumer ou d'éteindre les leds blanches (à l'aide d'une entrée exprès sur le capteur), pour ne pas les utiliser lorsque la pièce est déjà bien éclairée.

 

Pour l'utiliser, voici le câblage que j'ai fait avec une arduino uno :

Fichier joint  cablage-GY-31.jpg   146,88 Ko   128 téléchargement(s)

Fichier joint  cablage-GY-31-2.jpg   45,79 Ko   133 téléchargement(s)

 

Il y a la possibilité de régler l'échelle de fréquence de la sortie du capteur en jouant sur les entrées S0 et S1 du capteur.

On peut aussi mettre des filtres de couleurs pour ne détecter que le rouge, le bleu, le verre ou aucune.

 

Le programme pour l'utiliser arrive prochainement !   ;)


Emetteur récepteur radio [testé par mthibs]

16 mars 2017 - 04:39

Bonjour bonjour !

Le test suivant est à propos de l'émetteur-récepteur radio que l'on peut voir sur le shop !

 

Cet émetteur radio se présente sous la forme d'une petite télécommande de 55x30 mm avec deux boutons A et B dessus.

Fichier joint  emetteur-radio.jpg   116,95 Ko   131 téléchargement(s)

 

La télécommande est équipée d'un cache bouton qui la protège d'appuis non voulus et d'un petit mousqueton qui permet de l'accrocher pour ne pas la perdre (à son porte clé par exemple ^_^ ).

 

Le récepteur est un pavé de 40x20x10 mm avec une petite antenne flexible en spirale. La petite taille du récepteur permet de le mettre partout sur un robot sans l'encombrer.

Fichier joint  recepteur-radio.jpg   113,31 Ko   158 téléchargement(s)

 

Le récepteur a 2 entrées : une alimentation 5V (fil rouge), la masse (fil noir) et 2 sorties : le signal des boutons (fil blanc) et une alimentation 5V (fil vert).

Avant de l'utiliser, j'ai d'abord souder des connecteurs mâles sur les fils du récepteurs pour pouvoir les relier plus facilement à une carte arduino uno.

Fichier joint  soudage-recepteur-radio-4.jpg   144,69 Ko   127 téléchargement(s)

 

 

Avant de construire un programme pour piloter un moteur à l'aide de ce module radio, j'ai analysé les signaux du récepteur avec un oscilloscope :

Fichier joint  signal-recepteur-bouton-a.jpg   229,92 Ko   129 téléchargement(s)

 

Ci-dessus, le signal du récepteur lorsque le bouton A est enfoncé : on voit que la courbe jaune est à 0V.

Maintenant, le signal quand le bouton B de la télécommande est enfoncé :

Fichier joint  signal-recepteur-bouton-b.jpg   229,64 Ko   130 téléchargement(s)

 

La courbe jaune passe à 600mV environ.

La courbe bleue ne change pas d'état quelque soit le bouton activé, elle reste toujours à 5V.

 

Je m'attendais à avoir un signal pour chacun des boutons mais je me suis aperçu qu'un fil de sortie (le vert) était une alimentation  :o .

Il y a donc un signal de sortie pour deux boutons.

Le programme à faire est un peu différent que s'il y avait un signal par bouton mais finalement le résultat est le même  ;) .

 

Une petite précision, si vous branchez le récepteur à une carte arduino, le signal de sortie ne peut être lu que par des entrées analogiques car la tension du signal est trop faible pour les autres entrées de la carte.

 

En parlant du programme, le voilà :

// Contrôle PWM simple
#define A 3 // Contrôle vitesse moteur 1
#define B 4 //controle direction moteur 1
#define bouton A2  //pin du signal du récepteur radio

int compteur; 
int compteur2;
int sens_rotation;  //variable qui indique le sens de rotation
                    //que le moteur doit adopter
int front;   //variable de détection de front montant

void stop() //Stop
{
digitalWrite(A,LOW);
digitalWrite(B,LOW);
}

void advance(char a) // En avant
{
analogWrite (A,a); // Contrôle de vitesse en PWM
digitalWrite(B,HIGH);
}

void back_off (char a) // En arrière
{
analogWrite (A,a);
digitalWrite(B,LOW);
}

void setup()
{
compteur=0;
compteur2=compteur;
front=0;
sens_rotation=1;  //initialisation en marche avant
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(bouton,INPUT);
Serial.begin(9600); // Définit vitesse de transmission série
}

void loop()
{
front=analogRead(bouton); //lecture du signal du récepteur
if(front>0){  //détection de l'appui du bouton B
  compteur=1;
}
if(front==0){
  compteur=0;
}
if(compteur==1 && compteur2==0){  //incrémentation seulement sur un
  sens_rotation+=1;               //front montant
}
compteur2=compteur;

  if(analogRead(bouton)>0){  //si le bouton B est enfoncé
    if (sens_rotation%2==0){ // si le résultat est pair
      if(sens_rotation==2){
        stop();
      }
      else{
        advance(255-128);  // le driver fonctionne à l'état bas en marche avant
      }
    }
    if (sens_rotation%2==1){  // si le résultat est impair
      back_off(128);   // le driver fonctionne à l'état haut en marche arrière
    }
  }

  if(analogRead(bouton)==0){  //si le bouton A est enfoncé
    stop();
  }
}

Le but de ce programme est de faire fonctionner ce moteur à courant continu dans un sens puis dans l'autre grâce au récepteur radio et au driver l9110 dont le test est ici  ;) .

 

Le principe est le suivant : on fait varier le sens de rotation du moteur à chaque fois qu'il s'arrête et redémarre (donc on appui sur le bouton A puis B) en incrémentant une variable à chaque front montant du signal du bouton B.

Pour détecter les fronts montants, un compteur prend la valeur 0 si le signal du bouton B est nul et prend la valeur 1 si une tension est détectée. Un compteur2 mémorise la valeur précédente du premier compteur et l'incrémentation se fait uniquement pour compteur =1 et compteur2=0.

Ensuite, il suffit de distinguer les cas en faisant une division par 2 avec reste pour déterminer quand le résultat est pair ou impair.

 

Bref, avec le programme présenté, voila le résultat :

 

 

Avec ça, vous pouvez par exemple ouvrir ou fermer une porte de garage !

Si vous voulez un autre exemple d'utilisation, il y  a ce post sur une pince robotique  ^_^ .


Driver L9110 pour moteur CC [testé par mthibs]

13 mars 2017 - 02:22

Salut !

Ce test concerne le driver L9110 de la boutique  :) .

 

Il s'agit d'un petit driver de moteur à courant continu très facile à utiliser !

Fichier joint  driver-l9110.jpg   130,53 Ko   137 téléchargement(s)

 

Il a deux puces de commande et peut donc piloter 2 moteurs à courant continu qui sont reliés par l'intermédiaire de deux borniers à vis.

L'intérêt de ce driver c'est qu'il est très petit (pas plus grand qu'une pièce de 2€ !) et s'intègre super facilement dans n'importe quel projet !

Il peut se fixer à l'aide des 4 trous de vis M3 présents.

Fichier joint  taille-driver-9110.jpg   125,16 Ko   129 téléchargement(s)

 

Sur le fonctionnement :

Il peut être piloté à partir de 2,5 V, ce qui le rend utilisable par des cartes microcontrôleurs alimentées en 3,3 V ou 5 V.

Le courant maximal qui circule dans ce driver est de 800 mA.

 

Fichier joint  driver-l9110-zoom.jpg   185,52 Ko   130 téléchargement(s)

 

Deux entrées numériques sont utilisées pour contrôler à la fois la direction et la vitesse du moteur.

Voici la table de vérité du driver, pour un moteur :

Fichier joint  table-verite-driver-l9110.jpg   33,15 Ko   127 téléchargement(s)

 

L'entrée IA est utilisée pour donner l'information sur la vitesse et IB l'information sur la direction.

Il faut faire attention puisque lorsque l'on veut faire tourner en avant le moteur (dans mon cas) c'est l'état bas du signal de vitesse qui est pris en compte par le driver et non l'état haut.

 

Un exemple simple : pour faire tourner le moteur à pleine vitesse dans le sens positif, il ne faudra pas utiliser la commande "analogWrite(255);" sur votre carte arduino mais bien "analogWrite(0);"  ;) .

 

 

Le driver possède aussi une led qui permet de savoir quand il est mis sous tension.

Fichier joint  driver-l9110-led.jpg   171,38 Ko   159 téléchargement(s)

 

 

Voila le programme que j'ai utilisé dans mon arduino pour faire fonctionner correctement ce petit driver :

 

Et la vidéo qui va avec :

 

Pour vous faire une idée de ce driver, rien de tel qu'une modélisation 3D que voici :D  :

 

Voilà voilà, n'hésitez pas à poser des questions !


Bouton d'arrêt d'urgence [testé par mthibs]

27 février 2017 - 08:51

Salut !
je propose un sujet de test sur le bouton d'arrêt d'urgence de la boutique.
 
Une fois qu'on l'a dans les mains il ressemble à ça :
Fichier joint  20170221_110558.jpg   50,58 Ko   125 téléchargement(s)
Fichier joint  20170221_110546.jpg   51 Ko   129 téléchargement(s)
Fichier joint  20170221_110904.jpg   56,63 Ko   124 téléchargement(s)
 
Je l'ai démonté pour voir un peu comment il fonctionne et il y a pas mal de pièces:
Fichier joint  20170221_110723.jpg   54,53 Ko   125 téléchargement(s)
Fichier joint  20170221_113020.jpg   57,82 Ko   125 téléchargement(s)
Fichier joint  20170222_180555.jpg   59,71 Ko   125 téléchargement(s)
 
 
Le bouton est facilement modulable et possède 4 borniers à vis de fixation, c'est plutôt pratique !
Il y a deux parties : une connexion NO (normalement ouverte) en vert sur l'image et une connexion NF (normalement fermée) en orange sur l'image.
Les deux parties permettent soit d'ouvrir le circuit lors d'un appui sur le bouton, soit le fermer. De quoi adapter ce bouton à pas mal d'applications =).
Il faut un trou de diamètre 24 mm pour pouvoir le monter.
 
J'ai fait une petite modélisation avec CatiaV5 pour que vous puissiez mieux l'imaginer :
Fichier joint  bouton arret urgence.jpg   53,13 Ko   130 téléchargement(s)
Fichier joint  vue éclatée 2.jpg   35,39 Ko   131 téléchargement(s)

 

 

téléchargement : Fichier joint  bouton arret urgence.zip   395,69 Ko   445 téléchargement(s)

 
Et une petite vidéo  ;) :

 

Je trouve que ce bouton est idéale pour des robots comme ceux de la coupe de France de robotique (sur lesquels un bouton d'arrêt d'urgence est obligatoire)