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.

câblage du servomoteur à rotation continue I²C
#1
Posté 04 août 2018 - 11:38
#3
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é.
#5
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 !
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!
#6
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
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 !
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!
#8
Posté 06 août 2018 - 06:11
RJ12, c'était pour la compatibilité Lego.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.
Mais sinon, les connecteurs usuels, type RC, que l'on trouve sur tous les servos ? Cela ne te convient pas ?
Ma chaine YouTube : https://www.youtube..../oracid1/videos
#10
Posté 06 août 2018 - 01:13
Il en existe avec plus de 3 broches, ce n'est pas un problème, https://www.aliexpre...iceBeautifyAB=0Ces connecteurs usuels « RC » n'ont que 3 broches. Il en faudrait 4 si j'ai bien suivi l'histoire.
- Path aime ceci
Ma chaine YouTube : https://www.youtube..../oracid1/videos
#12
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) :
merci pour votre attention. ;-)
#13
Posté 12 août 2018 - 08:28
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
Ma chaine YouTube : https://www.youtube..../oracid1/videos
#14
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.
#16
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
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 :
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
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
#20
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

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