Aller au contenu


Photo
- - - - -

câblage du servomoteur à rotation continue I²C


29 réponses à ce sujet

#21 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 13 août 2018 - 01:08

Donc pour câbler en dur les 7 bits d'adressage de la norme I²C ainsi que l'état (Maître ou Esclave), j'ai pensé qu'un diviseur de tension pourrait permettre de n'utiliser qu'une entrée pour vérifier l'état des 8 boutons d'un contacteur DIP8... 
au niveau du schéma je pense que ça pourrait donner ça (une fois de plus je ne me suis pas cassé la tête, j'ai tout repiqué ici, et comme dans notre cas c'est des interrupteurs je peux même passer sur tout ce qui concerne la gestion des "transitoires") : 

Spoiler

Vous pensez que c'est une bonne solution ?

PS: 

En regardant mon schéma, je me demande si je n'aurai pas dû connecter le VCC du Driver au Vin du nano (ou plus précisément au VCC du connecteur I²C) plutôt qu'au +5V du nano...

re-PS: 
ha ben non ! avec cette méthode on ne peux pas détecter deux inters fermés en même temps.. 

 

re-re-PS: 

je suis repassé par l'excellent site d'openclassrooms pour voir comment on fait une matrice d'interrupteurs et j'en ai conclu que dans notre cas, le mieux serait d'utiliser un DIP6, comme l'ID en I²C se code sur 7 bits, je pense que c'est un bon compromis de considérer le bit de poids fort comme toujours à 1 et de n'intervenir que sur les 6 bits restants.. (ce qui permet encore de placer plus de 50 moteurs par projet). 
Le montage nécessite 6 diodes, 2 résistances et une barre d'interrupteurs DIP6... il occupe 3 sorties et 2 entrées sur le nano.. 
Je vais mettre le schéma au propre.. pour le moment j'ai griffonné ça :

Spoiler


#22 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 01 septembre 2018 - 12:40

Salut, J'ai un doute sur mon cablage entre D2 et D3 du nano et le codeur du moteur : ne devrais-je pas mettre des résistances de pull up (ou pull down) ?

Spoiler



#23 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é 01 septembre 2018 - 08:23

Si tu mets des résistances il faut en mettre de pull up mais ... 

Sur le moteurs que tu as les pull up sont déjà sur les codeurs; et tu peux les mettre en soft avec " input pull up "

 

Pour ce qui est du réglage de l'adresse  tu peux aussi mettre un potentiomètre sur une entrée analogique ...  
Sinon quitte à utiliser 5IO ,  3 entrées et 2 sorties autant mettre l'adresse sur 5 bits et utiliser 5 IO sans ajouter de matrice d'interrupteur  ... 


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  

 

 

 


#24 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 02 septembre 2018 - 03:29

Merci, 
Pour l'adresse, un potentiomètre n'offrirait pas le même confort d'utilisation : la barre d'interrupteurs (ou quelques jumpers) permet de visualiser l'adresse du moteur (en binaire) d'un simple coup d’œil sur le moteur.
le codage I²C se fait sur 7 bits, je suis passé à un codage sur 6 bits ce qui réduit de moitié le nombre de périphériques admissibles (soit un peu moins de 64 moteurs).. si je ne considère que 5 bits, alors on va passer à un peu moins de 32 possibilités... 
mon calcul était le suivant : 
pour 7 bits il faut une matrice de 9 contacts (dont 7 seront utilisés) qui utilise 6 I/O (3 entrées & 3 sorties) et on dispose de 128 possibilités.
pour 6 bits il faut une matrice de 6 contacts (tous utilisés) qui utilise 5 I/O (3 entrées & 2 sorties) et on dispose de 64 possibilités
pour 5 bits il faut une matrice de 6 contacts (dont 5 seront utilisés) qui utilise 5 I/O (3 entrées & 2 sorties) et on dispose de 32 possibilités
... le 6 bits me semblait le meilleur compromis. 
la solution en 5 bits sans matrice permet de simplifier le câblage, mais réduit toujours le nombre de périphériques à 32.
la barre d'interrupteurs et les 6 diodes coûtent moins de 2€ dans la boutique près de chez moi ce qui me semble acceptable (en lot chez Aliexpress c'est quasi donné). 
 

Je retiens l'idée du potard à cause du gros gain que ça apporte sur le nombre d'I/O restantes.. 

et il y a toujours la solution de l'encodage de l'adresse au niveau software (mais ce n'est pas pratique car ça implique de reinjecter le firmware dans le nano à chaque fois qu'on veux changer l'adresse et à bien noter cette adresse)
 



#25 Oracid

Oracid

    Pilier du forum

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

Posté 02 septembre 2018 - 05:51

Pourquoi, sur ton schéma, les sorties 7-8-9-10 sont-elles notées "réservé" ?

#26 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 02 septembre 2018 - 11:32

C'est Mike118 qui m'a conseillé de réserver 3 pins pour permettre la compatibilité avec n'importe quel driver de moteur CC et d'utiliser plusieurs configuration software pour la commande: 
 

 

 

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

et j'ai doublé le nombre de pins réservés afin de pouvoir configurer le second pont en H qui permettrait de commander un second moteur. (c'est une fonctionnalité supplémentaire qui ne sera peut être pas gardée car ça bouffe toutes les sorties PWM du nano)



#27 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é 02 septembre 2018 - 03:39

Merci, 
Pour l'adresse, un potentiomètre n'offrirait pas le même confort d'utilisation : la barre d'interrupteurs (ou quelques jumpers) permet de visualiser l'adresse du moteur (en binaire) d'un simple coup d’œil sur le moteur.
le codage I²C se fait sur 7 bits, je suis passé à un codage sur 6 bits ce qui réduit de moitié le nombre de périphériques admissibles (soit un peu moins de 64 moteurs).. si je ne considère que 5 bits, alors on va passer à un peu moins de 32 possibilités... 
mon calcul était le suivant : 
pour 7 bits il faut une matrice de 9 contacts (dont 7 seront utilisés) qui utilise 6 I/O (3 entrées & 3 sorties) et on dispose de 128 possibilités.
pour 6 bits il faut une matrice de 6 contacts (tous utilisés) qui utilise 5 I/O (3 entrées & 2 sorties) et on dispose de 64 possibilités
pour 5 bits il faut une matrice de 6 contacts (dont 5 seront utilisés) qui utilise 5 I/O (3 entrées & 2 sorties) et on dispose de 32 possibilités
... le 6 bits me semblait le meilleur compromis. 
la solution en 5 bits sans matrice permet de simplifier le câblage, mais réduit toujours le nombre de périphériques à 32.
la barre d'interrupteurs et les 6 diodes coûtent moins de 2€ dans la boutique près de chez moi ce qui me semble acceptable (en lot chez Aliexpress c'est quasi donné). 
 

Je retiens l'idée du potard à cause du gros gain que ça apporte sur le nombre d'I/O restantes.. 

et il y a toujours la solution de l'encodage de l'adresse au niveau software (mais ce n'est pas pratique car ça implique de reinjecter le firmware dans le nano à chaque fois qu'on veux changer l'adresse et à bien noter cette adresse)
 

 

Il y a tellement de façon différentes de faire ce genre de chose que je trouve domage d'utiliser autant d'IO juste pour ça ... 

Genre tu peux réserver deux analogiques ( genre A6 et A7 ) sur lequels tu mets des résistances et  8 ponts à souder ou pas et du coup tu peux faire un réglage 8 bits ...  Tu peux changer l'adresse en l'envoyant en I2C ... 


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  

 

 

 


#28 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 02 septembre 2018 - 04:50

 

 

Genre tu peux réserver deux analogiques ( genre A6 et A7 ) sur lequels tu mets des résistances et  8 ponts à souder ou pas et du coup tu peux faire un réglage 8 bits ...  Tu peux changer l'adresse en l'envoyant en I2C ... 

Je ne suis pas sûr de comprendre : tu veux dire que je pourrais connecter huit résistances en série entre deux pins analogiques avec pour chacune un jumper pour la shunter.. et qu'ensuite on pourrait retrouver ou sont les jumpers en calculant la résistance totale ?... 



#29 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é 02 septembre 2018 - 06:05

Je ne suis pas sûr de comprendre : tu veux dire que je pourrais connecter huit résistances en série entre deux pins analogiques avec pour chacune un jumper pour la shunter.. et qu'ensuite on pourrait retrouver ou sont les jumpers en calculant la résistance totale ?... 

 

Oui un truc du genre...  Tu peux choisir des valeurs de résistances spécifiques, ou bien utiliser plusieurs résistances de même valeurs en parallèle...  Utiliser un pont de résistances...
       

Mais il y a plusieurs façon différentes de faire. =) 


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  

 

 

 


#30 Oracid

Oracid

    Pilier du forum

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

Posté 02 septembre 2018 - 06:06

Perso, j'utiliserais ces sorties "réservé" et ainsi pouvoir aller jusqu'à 7 bits.
Là tu as un projet avec un driver donné. Si un jour tu fais un autre projet avec un autre driver, et bien tu pourras toujours revoir la conception.
Il me semble !



Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users