Aller au contenu


Photo
- - - - -

câblage du servomoteur à rotation continue I²C


29 réponses à ce sujet

#1 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 04 août 2018 - 11:38

C'est ici que nous parlerons de tout ce qui touche au câblage et au choix des composants du servomoteur à rotation continue I²C. 

choix des composants : 
1 moteur DC avec réducteur et encodeur (les valeurs définitives restent à définir on devrait pouvoir utiliser des moteurs de 5V à 12V sans difficulté)
1 driver pour moteur DC L9110 
1 clone arduino nano 

schéma : 
ce n'est encore qu'un premier jet juste pour pour présenter le principe. 

Spoiler


 



#2 Path

Path

    Made By Humans

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

Posté 05 août 2018 - 12:32

Tu es revenu au potentiomètre ? On n'avait pas parlé d'une roue codeuse ?



#3 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 05 août 2018 - 12:50

Tu es revenu au potentiomètre ? On n'avait pas parlé d'une roue codeuse ?

Non, on est bien d'accord sur une roue codeuse, malheusement je ne connais pas du tout Fritzing et je n'ai pas trouvé de moteur avec encodeur... et je ne sais pas comment créer ou trouver des nouveaux composants.
pour les prochains schémas je tenterai de faire plus propre (quitte à les reprendre sous un logiciel de retouche d'image) 
désolé. 

 



#4 Path

Path

    Made By Humans

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

Posté 05 août 2018 - 02:18

Sois pas désolé :) Y a pas de mal. Perso, j'utilise pas non plus fritzing. Je fais ça avec un logiciel de présentation genre powerpoint. On a pas des schémas de fous :)



#5 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 934 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 05 août 2018 - 03:45

Quand on parle de schémas de câblage sur un microcontrôleur une bonne habitude à prendre c'est de lister les ports et ce qu'on branche dessus, et on fait en sorte d'indiquer aussi les informations dans le code du coup ... et si nécessaire préciser pourquoi on fait ce genre de choix ! =) 

D0 RX
D1 TX 
D2 Encodeur A  ( interrupt 0 ) 

D3 Encodeur B  ( Interrupt 1 ) 

 

etc...  Je te laisse compléter la suite ;) 


J'ai juste précisé D2 et D3 car ce sont les seuls permettant de gérer des interruption hardware ! =) Super utile pour gérer les codeurs ;)

 

Je suis pour qu'on laisse 3 pins pour le pilotage d'un moteur CC =) " Au cas où " mieux vaut avoir 1 de rab =) . 



 


  • Forthman aime ceci

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  

 

 

 


#6 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 05 août 2018 - 10:06

Quand on parle de schémas de câblage sur un microcontrôleur une bonne habitude à prendre c'est de lister les ports et ce qu'on branche dessus, et on fait en sorte d'indiquer aussi les informations dans le code du coup ... et si nécessaire préciser pourquoi on fait ce genre de choix ! =) 

D0 RX
D1 TX 
D2 Encodeur A  ( interrupt 0 ) 

D3 Encodeur B  ( Interrupt 1 ) 

 

etc...  Je te laisse compléter la suite ;) 
 

ok je m'y met dès que possible. 

 

 

J'ai juste précisé D2 et D3 car ce sont les seuls permettant de gérer des interruption hardware ! =) Super utile pour gérer les codeurs ;)

là je n'ai pas compris.. c'est une particularité des nanos ou c'est valable sur tous les arduinos ?.. 
 

 

Je suis pour qu'on laisse 3 pins pour le pilotage d'un moteur CC =) " Au cas où " mieux vaut avoir 1 de rab =) . 

Oui, je suis d'accord. 

Par contre, je souhaitais mettre un connecteur RJ12 pour la connexion et c'est beaucoup trop gros.. je pense que des connecteurs type ZHR (comme le connecteur du moteur, mais à 4 brins) seraient plus faciles à caser et moins cher. 



#7 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 934 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 06 août 2018 - 02:52

 

là je n'ai pas compris.. c'est une particularité des nanos ou c'est valable sur tous les arduinos ?.. 

 

C'est une particularité de l'atmega 328p et c'est celui qui équipe les nano , pro mini et uno ...


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  

 

 

 


#8 Oracid

Oracid

    Pilier du forum

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

Posté 06 août 2018 - 06:11

Par contre, je souhaitais mettre un connecteur RJ12 pour la connexion et c'est beaucoup trop gros.. je pense que des connecteurs type ZHR (comme le connecteur du moteur, mais à 4 brins) seraient plus faciles à caser et moins cher.

RJ12, c'était pour la compatibilité Lego.
Mais sinon, les connecteurs usuels, type RC, que l'on trouve sur tous les servos ? Cela ne te convient pas ?

#9 Path

Path

    Made By Humans

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

Posté 06 août 2018 - 07:18

Ces connecteurs usuels « RC » n'ont que 3 broches. Il en faudrait 4 si j'ai bien suivi l'histoire.

#10 Oracid

Oracid

    Pilier du forum

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

Posté 06 août 2018 - 01:13

Ces connecteurs usuels « RC » n'ont que 3 broches. Il en faudrait 4 si j'ai bien suivi l'histoire.

Il en existe avec plus de 3 broches, ce n'est pas un problème, https://www.aliexpre...iceBeautifyAB=0
  • Path aime ceci

#11 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 08 août 2018 - 09:23

Finalement j'ai lâché Fritzing pour le moment et je me suis rabattu son un bon vieux schéma.. j'espère que c'est pas trop n'importe quoi.. schema_golgotha001.jpg


  • Oracid et Forthman aiment ceci

#12 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 12 août 2018 - 07:08

Salut les makers, 

je vais pouvoir me lancer pour le câblage du prototype, je vais souder directement sur le PCB du nano avec mes gros doigts qui tremblent ; autant dire que si je foire un truc je ne dessouderai pas (je pourrai bien sûr essayer, mais il est évident que je n'y arriverai pas. ^^ )... du coup, si il y a un problème sur le schéma ci dessus, merci de me prévenir vite avant que je fasse n'importe quoi. ^^

J'ai aussi une question sur le connecteur I²C : 
Y a t'il un ordre à respecter (une norme, une convention, une logique... ) pour le connecteur ; pour le moment je comptais juste mettre le VCC à un bout et le GND à l'autre bout du connecteur, ce qui pourrait donner : "VCC, SDA, SCL, GND".

 

voici une vue du cul du servomoteur, à gauche le connecteur I²C, à droite le miniUSB du nano (dernière version du boitier) : 
golgothaI2C.jpg

merci pour votre attention. ;-)



#13 Oracid

Oracid

    Pilier du forum

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

Posté 12 août 2018 - 08:28

Sur ce lien, tu trouveras un capteur avec un connecteur 4 broches, mais il y en plein d'autres. https://fr.aliexpres...iceBeautifyAB=0

C'est cet ordre qui utilisé très souvent. Tu peux le constater en faisant une recherche "capteur I2C" sur Ali :
VIN
GND
SCL
SDA
  • thermo_nono aime ceci

#14 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 12 août 2018 - 08:46

Sur ce lien, tu trouveras un capteur avec un connecteur 4 broches, mais il y en plein d'autres. https://fr.aliexpres...iceBeautifyAB=0

C'est cet ordre qui utilisé très souvent. Tu peux le constater en faisant une recherche "capteur I2C" sur Ali :
VIN
GND
SCL
SDA

Aïe ! je viens de souder... XD 
Bon c'est pas grave.. mon prototype aura les brins mélangés.. pour la vraie version je reprendrai le "VIN, GND, SCL, SDA" dans un souci de compatibilité. 
Merci. 



#15 Path

Path

    Made By Humans

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

Posté 12 août 2018 - 10:12

C'est pas le plus important. Il faut juste que ce soit documenté.
T'as réussi à placer ton arduino en slave i2c ?

#16 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 12 août 2018 - 11:07

C'est pas le plus important. Il faut juste que ce soit documenté.
T'as réussi à placer ton arduino en slave i2c ?

Il y a quelque chose de particulier à faire ?
Je n'ai pas encore commencé la prog, mais je comptais juste m'inspirer de cet exemple : https://www.arduino....al/MasterWriter



#17 Path

Path

    Made By Humans

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

Posté 13 août 2018 - 12:33

J'ai jamais fais alors j'étais curieux :)

Je crois que t'es sur la bonne page ^^. Ça doit pas être plus compliqué que ça. 

 

Voyant ce bout d'exemple, je me dis que chaque servo doit avoir sont adresse. Si elle n'est pas donnée via le hardware, il faut que chaque arduino du réseau ait son propre programme. Ce qui doit être super embêtant si tu en a qq uns. Si ce n'est pas trop tard, tu peux peut-être réserver quelque pins câblé en dur (pull up ou down). Ou via des micro switchs pour affecter une adresse comme ce qu'on trouve sur certains driver pas à pas. Désolé, si ça fait un composant de plus à intégrer. Voir le switch rouge sur cette photo :

 

driver-de-moteur-pas-a-pas-tb6560-3a.jpg

 

A part ça, j'imagine qu'il serait sympa que les servos envoient un retour au master. une info de fin de placement ou leur position réelle en cours de déplacement ou s'ils subissent une force oposée qui les empêchent. Si tu veux aller jusque là, il faut aussi que les slaves envoient des messages au master.


  • thermo_nono aime ceci

#18 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 13 août 2018 - 01:09

Voyant ce bout d'exemple, je me dis que chaque servo doit avoir sont adresse. Si elle n'est pas donnée via le hardware, il faut que chaque arduino du réseau ait son propre programme. Ce qui doit être super embêtant si tu en a qq uns. Si ce n'est pas trop tard, tu peux peut-être réserver quelque pins câblé en dur (pull up ou down). Ou via des micro switchs pour affecter une adresse comme ce qu'on trouve sur certains driver pas à pas. Désolé, si ça fait un composant de plus à intégrer. 

Excellente idée. (malheureusement le seul magasin d'électronique de ma ville est fermé la semaine prochaine)
J'avais pensé (en lisant la page wikipédia sur l'I²C) coder le numéro d'ID au niveau software, mais ça oblige à re-transférer le firmware à chaque fois que l'on veux le changer et à bien le noter sur une étiquette sur le moteur... du coup ton idée de codage d'ID en dur me plait beaucoup. merci. 
 

 

A part ça, j'imagine qu'il serait sympa que les servos envoient un retour au master. une info de fin de placement ou leur position réelle en cours de déplacement ou s'ils subissent une force oposée qui les empêchent. Si tu veux aller jusque là, il faut aussi que les slaves envoient des messages au master.

Tout à fait. 
Alors là par contre je ne sais pas du tout comment m'y prendre, mais je crois avoir vu quelque chose qui y ressemble par là : 
https://ouiaremakers...ervo-moteur-i2c



#19 Path

Path

    Made By Humans

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

Posté 13 août 2018 - 01:26

A mon avis, pour être certains de comment coder tout ça, fais quelques essais avec 2 arduinos. C'est ce que je ferai.



#20 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 13 août 2018 - 01:59

oui, au début je voulais le commander via un raspberry-pi, mais : 
1- je suis une bille en Python
2- je maîtrise mal l'OS linux
3- je crois avoir vu que l'I²C sur Arduino est en 5V alors que sur le R-Pi il est en 3.3V, du coup ne prendre que des arduinos sera plus simple. (et j'ai des clones-nano à base d'AT168 dont je ne sais pas quoi faire je vais surement en utiliser un à cette occasion). 
 





Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users