Aller au contenu


Photo
- - - - -

Redondance vs ground loop


17 réponses à ce sujet

#1 Sandro

Sandro

    Pilier du forum

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

Posté 20 mars 2020 - 11:40

Bonjour,

j'avance en ce moment sur le robot de spéléo, et j'hésite entre deux maux pour l'organisation du circuit électrique.

 

Au total, je vais avoir 16 moteurs (8 pour les bras, 8 pour les roues), commandés par 2 ou 4 PCBs, qui contiendront chacun un Atmega (probablement un 328P) et les ponts en H (+ de l'électronique de mesure de courant). Ces PCBs communiqueront en I2C avec un raspi.

En plus de ça, j'aurais probablement un arduino sur un petit PCB pour les autres tâches, communiquant lui aussi en I2C.

 

Le problème, c'est que si l'un des 2 ou 4 PCBs contrôlant les moteurs n'est plus opérationnel (communication I2C ou alimentation interrompue), alors le robot est perdu. Si c'est un seul moteur qui a un problème, je pense qu'il reste récupérable.

 

 

J'hésite donc entre 2 stratégies :

1) Je fais un câblage classique "en étoile" (ie tous les bus I2C partent du raspi, tous les fils d'alimentation partent de la batterie/du convertisseur). C'est simple, mais il suffit qu'un unique fil ait un faux contact pour que le robot soit perdu.

Pour envisager cette solution, il faudrait des connecteurs vraiment fiables. Vous avez des suggestions? Vous avez une idée du risque de faux contact?

 

2) Je fais un câblage redondant en boucle : (par exemple pour l'I2C : raspi -> PCB1 -> PCB2 -> ... -> PCBn -> raspi). L'avantage est qu'un seul faux contact n'a aucune incidence. L’inconvénient est que j'ai des boucles à même potentiel (théorique) : pour ground, on appelle souvent ça des "ground loop", aucune idée s'il y a un nom pour quand on fait la même chose pour les tensions positives ou pour un signal comme l'I2C.

Je sais qu'en général on dit que les ground loop c'est le mal (ça a tendance à créer des différences de potentiel le long de la boucle), mais je n'ai aucune expérience de à quel point c'est grave.

Vous en pensez quoi, c'est acceptable ou pas?

 

 

Du coup, vous pensez que quelle solution est le moindre mal?

 

Merci d'avance

Sandro

 

PS : pour info, chaque moteur a un courant max de 1A (stall current), et il est bien possible que j'utilise une ou plusieurs antennes (dans un premier temps juste le wifi du raspi, mais probablement d'autres basse fréquence plus tard)


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#2 Oracid

Oracid

    Pilier du forum

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

Posté 20 mars 2020 - 02:54

Je ne sais pas quel type de connecteur tu penses utiliser. Des XT60, ou s'ils sont gros, des XT30, ne vont se défaire tout seul.

Peut-être faire un PCB réunissant tous les connecteurs. J'ai déjà vu, je ne sais plus où, des XT60 dont l'arrière était directement soudé sur le PCB.

Sinon, un principe de bornier me semble très sûr.

 

Pourrais-tu nous faire un joli dessin de ton circuit, je ne parle pas d'un circuit électrique ou électronique, mais d'une vision réaliste du circuit en montrant bien où devraient être les connecteurs.

Je me demande si tu ne te poses pas un problème qui au final ne se posera jamais.



#3 Sandro

Sandro

    Pilier du forum

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

Posté 20 mars 2020 - 06:31

Bonjour,

et merci.

 

Pour les XT60 ou 30, c'est vrai que je n'en ai jamais vu se débrancher de tout seul. Coté courant, du XT30 suffit largement (si tous mes moteurs sont bloqués en même temps, je consomme 16A).

 

Pour les XT60 soudés au PCB, d'après ce que j'ai lu, c'est moyen : ils sont pas prévu pour, et vu qu'il faut beaucoup forcer pour les enlever, il y a un risque important de casser la soudure (voire le PCB)

 

Un seul PCB avec tous les connecteurs, ça risque d'être compliqué coté place (cf image)

 

Quand tu parles de bornier, tu penses à un bornier soudé au PCB et des fils nus pour aller d'un PCB à l'autre (connecteur comme ceux-ci : https://www.aliexpre...3018729203.html)ou tu penses à des borniers en deux partie comme https://www.robot-ma...73-type-femelle ?

 

 

 

Pour ta question de faire un dessin du circuit, je suis pas sur de comprendre ce que tu veux exactement. Si ce que tu veux, c'est un dessin de la forme du robot/de là où il faut mettre les PCBs, alors voici une photo de la version actuelle de la moitié du haut du robot (une seconde pièce identique sera montée en dessous) :

photo_demi_base.jpg

Les axes métalliques pointent vers le haut (ils seront coupés plus tard).

Les PCBs seront montés sur les zones plates rectangulaires à gauche et à droite (il y a la même chose au dos). Ces zones font 5.5cm de haut et 5cm de large (donc une fois la moitié du bas ajoutées, on aura au total 4 zones de 11 cm de haut pour 5 cm de large).

Pour les connecteurs, leur emplacement exacte n'est pas encore défini (je mettrais des trous pour passer les câbles là où il faudra dans une prochaine version de la poèce)

Est-ce que ça répond à ta question?

 

 

Merci d'avance

Sandro


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#4 Oracid

Oracid

    Pilier du forum

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

Posté 20 mars 2020 - 09:19

Quand tu parles de bornier, tu penses à un bornier soudé au PCB et des fils nus pour aller d'un PCB à l'autre (connecteur comme ceux-ci : 

Ton premier lien n'est pas bon, mais oui, je parle d'un bornier classique soudé sur un PCB. C'est simple et efficace. L'autre, je ne le connais pas.

Ton robot a une structure assez complexe, et donc l'image ne me renseigne pas beaucoup.

Je ne vois pas bien mentalement malgré ta description, ces 4 zones de 11x5.

Je me demande si les prise JST n'ont pas un mécanisme de blocage, male/femelle.

Oui, je suis d'accord avec toi, des XT60 soudés, c'est peut-être dangereux.

 

Voici le type de schéma que tu pourrais faire, à main levée, sans te prendre la tête. Un dessin simple.

Ici, j'utilise beaucoup de connecteurs Dupont qui peuvent sembler assez lâches.

Un quadrupède n'avance pas d'une manière très lisse comme un roulant. J'ai eu pas mal de problèmes, mais jamais un connecteur qui aurait sauté.

 

DSC_2381-S.jpg



#5 Sandro

Sandro

    Pilier du forum

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

Posté 20 mars 2020 - 11:55

Bonsoir,

Pour le premier lien, c'est corrigé.

 

Je te remets la photo avec annotations, ce sera peut-être un peu plus clair (sinon, si tout vas bien, je devrais imprimer demain la deuxième moitié). La photo est la face gauche (ou droite) de la moitié du haut du robot. Nb : seul un bras est monté, il y en a normalement 3 de plus sur cette partie du robot (les axes sont en place); et la même chose sur la moitié du bas du robot que je n'ai pas encore imprimé

photo_demi_base _annoté.jpg

 

 

Sinon, d'un point de vue plus électrique :

Un schéma de l'un des PCBs de contrôleur (il commande 4 moteurs, avec mesure de courant pour chaque moteur, et mesure de position de deux bras via potentiomètre) :

schema_1_controleur.jpg

 

Et un schéma global (code couleur : noir = GND, rouge = 12.6V non régulé, vert=5V régulé, bleu = IC (deux fils) ):

schema_2_global.jpg

 

NB : sur les deux schémas, les flèches indiquent qui fournit à qui, pas le sens du courant.

 

 

Pour tes connescteurs dupont, quand tu dis que tu as eut pas mal de problèmes mais pas de connecteur qui avait sauté, tu veux dire des faux contacts sans que le connecteur s'enlève, ou que tu n'as jamais eut de faux contact mais que des problèmes sans rapport avec le cablage?


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#6 Oracid

Oracid

    Pilier du forum

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

Posté 21 mars 2020 - 11:33

Pour tes connescteurs dupont, quand tu dis que tu as eut pas mal de problèmes mais pas de connecteur qui avait sauté, tu veux dire des faux contacts sans que le connecteur s'enlève, ou que tu n'as jamais eut de faux contact mais que des problèmes sans rapport avec le cablage?

Façon de parler. Un quadrupède, ce n'est pas un roulant, souvent il se renversait. Le pire, c'est à la Toulouse Robot Race quand un roulant l'a percuté à toute vitesse sur la piste.

J'ai eu 3 servos HS, Mike doit s'en souvenir, le quadrupède était désarticulé (c'est du Lego, donc déboitable), mais les connecteurs n'avait pas sauté, ça j'en suis sûr.

 

Attention, dans ton lien, il s'agit de borniers au pas 5mm, il en faudrait au pas de 2,54mm. Il y en a plein dans les liens qui te sont proposés en bas de page.

 

Voilà comment je vois la chose. J'ai fait ce schéma avec Power Point, je trouve ça assez pratique. Si tu veux le fichier ou une modif, tu n'as qu'à demander.

Attention, il ne s'agit pas d'un schéma logique, mais physique.

 

Cliquez moi.

Projet Sandro V1.jpg



#7 Oracid

Oracid

    Pilier du forum

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

Posté 21 mars 2020 - 11:51

Modification, avec I2C

 

Cliquez moi.

Projet Sandro V2.jpg



#8 Sandro

Sandro

    Pilier du forum

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

Posté 21 mars 2020 - 11:58

D'accord, merci!

 

Pour le pas, oui, du 2.54mm est probablement mieux (je pense que ça passera coté diamètre des fils, sauf peut être pour Lipo vers PCB distribution).

 

Pour les schéma, c'est vrai que c'est bien propre! Pour l'I2C, par contre, je ne suis pas sur de ce que tu suggère : tu as un seul connecteur coté raspi, et un seul par PCB : tu pensais à un cable en Y multiple?

Pour les potentiomètres, il y a une raison pourquoi des connecteurs dupont plutôt que des borniers à vis?


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#9 Oracid

Oracid

    Pilier du forum

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

Posté 21 mars 2020 - 12:15

- Oui, Lipo vers PCB, c'est sans doute mieux un bornier au pas de 5mm.

- Pour les potentiomètres ou tout autre capteur, je trouve pratique d'utliser des connecteurs Dupont avec une nappe de 3 fils. Quel risque y a t-il ?

- Pour l'I2C, la même paire de cable qui rebondit sur chaque PCB moteur, avec une adresse différente. Non ?

 

C'est bien un Arduino que tu as sur chaque PCB ?

 

Zut, il y a 2 potars par carte !



#10 Oracid

Oracid

    Pilier du forum

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

Posté 21 mars 2020 - 12:42

Nouvelle version avec les 2 potentiomètres.

 

Cliquez moi.

Projet Sandro V3.jpg

 

Le fichier.

Fichier joint  Présentation1.zip   56,25 Ko   97 téléchargement(s)



#11 Sandro

Sandro

    Pilier du forum

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

Posté 21 mars 2020 - 01:02

- Pour les potentiomètres ou tout autre capteur, je trouve pratique d'utliser des connecteurs Dupont avec une nappe de 3 fils. Quel risque y a t-il ?

Si les duponts sont assez fiables, à priori c'est bon aussi. Surtout qu'un potar qui ne marche pas, c'est moins grave (ça ne devrait pas empêcher le robot de ressortir).

 

 

- Pour l'I2C, la même paire de cable qui rebondit sur chaque PCB moteur, avec une adresse différente. Non ?

Chaque carte aura bien une adresse différente.

Si c'est la même paire de câbles qui rebondit, tu as une idée comment placer des connecteurs au milieu, et quel type de connecteurs?

 

 

C'est bien un Arduino que tu as sur chaque PCB ?

Pas tout à fait. Je pensais juste prendre un microcontrôleur d’Arduino nano, et le souder directement sur le PCB. Le microcontroleur en traversant des Uno ne fait pas l'affaire, car il me manque deux entrées analogiques dont j'ai besoin (il me faut 6 entrées analogiques  + l'I2C). Un microcontroleur d'arduino Mega serait bien aussi, mais les pâtes sont trop rapprochées pour mes compétences en soudure, du coup cette option n'est envisageable que si je fait faire la soudure.

 

 

 

Zut, il y a 2 potars par carte !

Si tu vas par là, alors il faut aussi mettre les 3 moteurs manquant pas carte (chaque PCB, c'est 4 moteurs + 2 potars). Mais je pense pas que ça apporte grand chose à la lisibilité.


 


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#12 Oracid

Oracid

    Pilier du forum

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

Posté 21 mars 2020 - 02:18

- pour l'I2C, je pensais également à des connecteurs Dupont, mais avec 2 broches. La nappe devra rebondir sur PCB. Mais pour des raisons de praticité, tu peux également partir en couronne, vers chaque PCB, avec 4 cables.

- ça fait donc, 4x4=16 moteurs. Donc sur chaque PCB il faudra 8 cosses pour les 4 moteurs.

- Pour chaque PCB, pourquoi ne pas faire un PCB Shield sur lequel tu viendrais enficher ton Nano, ton driver et tous tes connecteurs. Plutôt que de dessouder le microcontrôleur. 

 

Ton robot ressemble de plus en plus à un drone avec un RasbP au centre.



#13 Sandro

Sandro

    Pilier du forum

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

Posté 21 mars 2020 - 04:43

- pour l'I2C, je pensais également à des connecteurs Dupont, mais avec 2 broches. La nappe devra rebondir sur PCB. Mais pour des raisons de praticité, tu peux également partir en couronne, vers chaque PCB, avec 4 cables.

En couronne, je vois comment faire avec des connecteurs dupont.

Mais je ne vois pas à quoi ressembleraient les connecteurs dupont pour mettre en milieu de fil (c'est bien à ça que tu fais référence quand tu parles de nappe?).

 

- ça fait donc, 4x4=16 moteurs. Donc sur chaque PCB il faudra 8 cosses pour les 4 moteurs.

C'est ça
 

- Pour chaque PCB, pourquoi ne pas faire un PCB Shield sur lequel tu viendrais enficher ton Nano, ton driver et tous tes connecteurs. Plutôt que de dessouder le microcontrôleur.

Tout d'abord, je ne comptes pas dessouder le microcontrôleur, mais l'acheter séparément (ça se trouve facilement sur les sites de composants électroniques type digikey, RS, ...)

Ensuite, pour l'idée de faire un PCB shield, j'y vois plusieurs inconvénients :

- ça prends plus de place en hauteur (et j'en ai pas beaucoup, en tout cas si je veux utiliser toute la surface disponible, car les bras ne passent pas loin)

- ça prends probablement plus de place en surface (les shields ne sont souvent pas très compact, et je ne peux pas adapter le placement)

- Je n'ai pas trouvé de modules pont en H qui supportent une mesure de courant pour chaque moteur (la méthode la plus simple pour mesurer le courant est une résistance entre le ground de puissance et l'alim négative des moteurs, mais ça nécessite que le ground de puissance soit séparé du ground logique sur le module : j'ai trouvé des modules dont le circuit intégré le permettaient, mais les grounds sont systématiquement reliés ensemble)
- pour la mesure de courant, c'est bien plus compact en montage de surface (mais du coup il faut un PCB)

- tant qu'à faire du montage de surface, autant faire un seul PCB avec tout (limite la taille et le risque de faux contacts).

 

Ton robot ressemble de plus en plus à un drone avec un RasbP au centre.

ça y ressemblera je pense encore plus avec tous les bras montés. Mais j'espère bien qu'il ne volera jamais


 

 



 


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#14 Oracid

Oracid

    Pilier du forum

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

Posté 21 mars 2020 - 06:35

Mais j'espère bien qu'il ne volera jamais

Dommage !

 

Pour le PCB avec microcontrôleur, si tu as la compétence, c'est sûr que c'est le top.

 

Pour le reste, je réfléchis et je refais un schéma.



#15 Sandro

Sandro

    Pilier du forum

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

Posté 21 mars 2020 - 06:57

"Mais j'espère bien qu'il ne volera jamais"

- > Dommage !

Bah s'il prend un vol, c'est qu'il tombe, ce qu'il risque de ne pas du tout apprécier. Et les moteurs sont beaucoup trop lents pour pouvoir remplacer les roues par des hélices. Le drone, ce sera pour une autre occasion (j'avais hésité entre ce robot, et une espèce de pseudo drone grimpeur de mur (un robot qui roule sur le mur, plaqué contre celui-ci par des hélices de drone)).

 

Pour le PCB, la soudure, je penses que ça ira de justesse (je compte prévoir quelques composants et PCBs de rab, au cas où il y aurait des ratés).

Pour programmer l'ATMega seul, j'y suis arrivé avec des 328P traversants (comme ceux des Uno) sur breadboard, du coup je pense que je devrais y arriver
 


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#16 Oracid

Oracid

    Pilier du forum

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

Posté 22 mars 2020 - 11:31

Voici la dernière version du schéma physique.

Cela ne se voit pas au premier coup d'oeil, mais c'est bien une implantation en étoile, avec le PCB de distribution au centre.

Il serait peut-être préférable d'intégrer l'alim 5V sur le PCB de distribution ou tout du moins de prévoir l'espace pour un collage en double face.

N'hésite pas à demander si tu veux une modification.

 

Cliquez moi.

Projet Sandro V4.jpg



#17 Sandro

Sandro

    Pilier du forum

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

Posté 22 mars 2020 - 11:58

Super, merci!

 

Pour le convertisseur 5V, il y a de bonnes chances qu'il soit sur le PCB de distribution (peut-être même que j'y ajouterais un arduino pour mesurer le courant et la tension d'alim, et gérer quelques fonctions annexes comme les phares)


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#18 Oracid

Oracid

    Pilier du forum

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

Posté 22 mars 2020 - 12:14

(peut-être même que j'y ajouterais un arduino pour mesurer le courant et la tension d'alim

Bonne idée !

Il y a ce type d'avertisseur sur les drones. 





Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users