Arduino Forum

International => Français => Topic started by: Arzou on May 16, 2019, 11:58 pm

Title: lecture de tension/courants multiples
Post by: Arzou on May 16, 2019, 11:58 pm
Bonsoir,
Existe il un moyen de récupérer un nombre important de tension ( courants,sondes diverses, etc) sans (forcement)passer par les entrées analogique du uno?  Ces lectures ne serait pas forcément faites en même temps,  elles pourraient etre séquentielle
Je pensais a un circuit externe dialoguant via spi ou i2c.
J'ai essayé sur ali, mais rien trouvé

Des idées ?
Merci
Title: Re: lecture de tension/courants multiples
Post by: hbachetti on May 17, 2019, 12:15 am
Un multiplexeur analogique ?

utiliser-un-multiplexeur-analogique-cd4067b-avec-une-carte-arduino-genuino/ (https://www.carnetdumaker.net/articles/utiliser-un-multiplexeur-analogique-cd4067b-avec-une-carte-arduino-genuino/)

Par contre ça mobilise 4 sorties de l'ARDUINO.

De combien d'entrées as tu besoin ?
Title: Re: lecture de tension/courants multiples
Post by: petrusfr on May 17, 2019, 03:48 pm
Bonjour,
Ou alors un ADC à 32 canaux en I2C : ADC I2C (https://www.google.com/url?sa=t&source=web&rct=j&url=https://www.tindie.com/products/FERCSA/32-channel-adc-wi2c-for-arduino-raspberry-pi/&ved=2ahUKEwjfqIXm16LiAhU18uAKHdfrCIIQFjAIegQICRAB&usg=AOvVaw15mcYL3TbK67HV2YCh0h-b&cshid=1558100468700)

Existe en 3,3 et 5 volts... je n'ai pas vu les frais de port mais à moins de 8 € ,c'est une piste qui me paraît intéressante

Pierre

Edit : frais de port à partir de 13,42 euros...
Title: Re: lecture de tension/courants multiples
Post by: Arzou on May 17, 2019, 07:40 pm
Merci hbachetti, et petrusfr
Genial... j'aurais un banc de 24 bac batteries a contrôler (charge et decharge)
Petite question, la tension de sortie du CD4067B est l'image exacte de l'entrée ou il y a un décalage previsible?

Merci.
Title: Re: lecture de tension/courants multiples
Post by: hbachetti on May 17, 2019, 08:29 pm
Une batterie est un générateur de tension ayant une résistance interne très faible devant la résistance série du CD4067 (http://www.ti.com/lit/ds/symlink/cd4067b.pdf).
Deuxièmement l'impédance d'entrée de l'ADC de l'ARDUINO est très élevée. Le chute de tension devrait être extrêmement faible.
On peut le trouver en DIP (https://fr.aliexpress.com/item/2-PCS-Lot-IC-puces-CD4067BE-CD4067-4067-DIP24-MUX-DEMUX-circuit-int-gr-d-origine/32956291228.html?spm=a2g0w.search0104.3.15.62c12adbbvtXcL&transAbTest=ae803_4&ws_ab_test=searchweb0_0%2Csearchweb201602_6_10065_10068_319_10892_317_10696_10084_453_454_10083_10618_10304_10307_10820_10821_537_10302_536_10843_10059_10884_10887_321_322_10103%2Csearchweb201603_52%2CppcSwitch_0&algo_pvid=98ff7b33-368a-4f5a-86f5-428e1a9bc57c&algo_expid=98ff7b33-368a-4f5a-86f5-428e1a9bc57c-2).
Title: Re: lecture de tension/courants multiples
Post by: Arzou on May 20, 2019, 01:35 pm
Zutttttt!

Ca ne peut pas marcher... car je dois mesurer  "chaque éléments " de la batterie  séparément... donc mettre une borne a la masse de l'arduino... il faudrait donc débrancher la masse et la rebrancher sur chaque borne....

Une autre solution possible ? 

Existe-t-il des  capteurs de tension pouvant etre installé sur chaque batterie et dialoguant genres i2c ou spi ?

Merci
Title: Re: lecture de tension/courants multiples
Post by: hbachetti on May 20, 2019, 01:47 pm
Parce que toutes les masses des batteries ne sont pas reliées ?
Title: Re: lecture de tension/courants multiples
Post by: dbrion06 on May 20, 2019, 01:59 pm
Quote
je dois mesurer  "chaque éléments " de la batterie  séparément...
Donc, une batterie se compose d'éléments en série ? Et vous avez 24 batteries?

Si la réponse à ma première question est "oui" :Est ce que vous pouvez accèder electriquement au point commun entre le 1er et le second élément? Pareil pour les autres points communs?
Parce que vous pouvez ramener ces points communs, via un / une batterie de  multiplexeur analogique (et des diviseurs) , vers l'arduino . L'inconvenient est que vous aurez besoin de multiplexeurs analogiques, qui ont des petits défauts, et que vous propagerez (lors des soustractions pour prendre en compte la tension de(s) élément(s) précédents, l'erreur sur les mesures précedentes....
Title: Re: lecture de tension/courants multiples
Post by: Arzou on May 22, 2019, 09:38 am
 

[/quote]
Parce que toutes les masses des batteries ne sont pas reliées ?

Non, elles sont en série pour faire du 48v avec le + a la masse.(Télécom ).
Title: Re: lecture de tension/courants multiples
Post by: dbrion06 on May 22, 2019, 10:30 am
Avez vous une fois 48 volts (avec plein de petits éléments à surveiller individuellement) ou plein de 48 volts?
Title: Re: lecture de tension/courants multiples
Post by: Arzou on May 22, 2019, 10:07 pm
La majorité des cas,c'est  2 branches de 48v. Donc 2x24  x 2v..
Title: Re: lecture de tension/courants multiples
Post by: fdufnews on May 22, 2019, 10:28 pm
Tu veux faire un BMS pour des batteries au plomb et les batteries sont branchées avec la + à la masse.?


La majorité des cas,c'est  2 branches de 48v. Donc 2x24  x 2v..
Donne un maximum de détails. A chaque question qu'on te pose on découvre un nouveau truc.
Title: Re: lecture de tension/courants multiples
Post by: 68tjs on May 22, 2019, 11:53 pm
Si c'est pour du Telecom c'est normal que les batteries aient la bornes + à la masse, c'est historique.
Les tensions d'alim "historiques" sont le -24V pour l'électronique et le -48V pour la signalisation à relais.

Explique complétement ton installation : tu es dans un central  avec une salle de batteries de plus de 50kg chacune  à la cave ?
Les batteries sont en quelle technologie ?
Donnes le maximum de détails techniques, même ceux qui te semblent peu importants, ils sont peut-être plus importants que tu ne le pense.
Explique que tu veux faire et avec quel matériel.
Et même si tu as déjà donné certains renseignement refait un point pour qu'il n'y ait plus d'incertitude !

Indique aussi dans quel cadre tu fais ce travail :
Matériel de récup
Stage d'école avec un maître de stage.
etc.......

Quote
Ca ne peut pas marcher... car je dois mesurer  "chaque éléments " de la batterie  séparément... donc mettre une borne a la masse de l'arduino... il faudrait donc débrancher la masse et la rebrancher sur chaque borne....
Sans schéma de l'installation on ne peut pas répondre mais rappelle toi qu'une masse c'est totalement arbitraire.
La masse de l'arduino n'est la masse que pour ce qui lui est connecté.

Si c'est possible il suffit de ne pas relier la masse de l'arduino à celle des batteries.
On peut très bien travailler en "masses locales" qui ne sont pas reliées entre elles (sinon court-circuit).
La masse est un point 0V arbitraire mais qui une fois décidé doit être le plus parfait possible.

Cas où cela peut faire boom :
Imagine que la masse des batteries est reliée à la Terre. Masse et Terre sont deux notions différentes.
Imagine que tu veuille brancher un oscillo pour mesurer un élément quelconque.

Si la masse de l'oscillo est aussi relié à la Terre (cela est courant parce que les "Terres" des labos sont particulièrement propres)  cela fera boom.
Si la masse de l'oscillo est isolée de la Terre il ne se passera rien.

Tu applique cela à l'arduino.

Donc des solutions "peuvent" exister mais pour cela il faut connaître parfaitement et intégralement l'installation et donc que tu la décrive parfaitement., nous ne prendrons pas de risque si nous sentons que le sujet n'est pas maîtrisé

Une possibilité qui reste à contrôler très sérieusement : un ESP32 autonome (alimenté sur batterie) qui envoi les résultats de mesure par WiFi.
Title: Re: lecture de tension/courants multiples
Post by: dbrion06 on May 23, 2019, 07:48 am
@68tjs : votre description des pannes possibles est très convaincante. Il y a un point qui me gêne:
l'ESP32 a-t-il de bons convertisseurs analogiques/numériques (parce que il faudra bien diviser la tension avant l'entrée dans un multiplexeur, puis dans le CAN -je pense, pour avoir la mesure de la tension d'un élément de batterie, à faire la différence entre la tension ("masse" -au sens d'arduino-, '-' de cet élement) et la tension ("masse" -au sens d'arduino/esp- et '+' du même élément). ceci implique que le convertisseur ne soit pas trop non linéaire -vous aurez déjà pas mal de ponts diviseurs -96- et 2 multiplexeurs en série pour une mesure (4*16 voies et 1 *4 voies), ce qui fait des sources d'erreurs
Title: Re: lecture de tension/courants multiples
Post by: 68tjs on May 23, 2019, 01:22 pm
Mais j'oublie tout ce qui a été dit !

Au début il n'était pas question de mesurer les éléments un par un.
Il n'était pas question de masse au plus ce qui a de grosses conséquences sur les alimentation des mux.

J'attends un vrai cahier des charges qui tient en un seul endroit, il n'est pas question de contrôler les évolutions dans 5 ou 6 messages différents.

Donc RAZ du projet.
Pour les djeuns RAZ = Retour A Zéro, c'est le terme qui était employé quand on parlait encore en français, maintenant c'est mieux de dire "Reset" qui soit dit en passant est bien plus à prononcer.
Title: Re: lecture de tension/courants multiples
Post by: Arzou on May 26, 2019, 08:59 pm
Bonsoir a tous
Situation.
Dans le cadre de mon boulot, je travaille sur des "branches " de batteries

1 branche est constituée de :
Soit 4 blocs de 12v en serie
Soit  24 blocs de 2v en serie
Chaque branche fait donc 48v
Chaque branche  a 2 bornes:  + et -
Le plus est toujours,pour des raison  électrochimique, relié  a la masse électrique,  mécanique  et a la terre des bâtiments.

Les capacités utilisées vont d'une vingtaine d'A/h  a plusieurs dizaines de milliers d'A/h
Perso sur un de "mes" site nous avons 2 branches batteries  en parallèle  (2x (24 bacs en série ) )
 De 2500 A/h chacune  soit une batterie équivalente de 48v 5 000 A/h

Ces " bac" pèsent près de 300 kg chacun

Ces branches sont branchées en parallèle de sortie  de redresseurs (convertisseur) et maintenues à une tension de "flotting" de 54v régulées en fonction de la température.
En cas de coupure de courant,  ces batteries prennent le relais   de l'alimentation des équipements sans aucune interruption.

Ces redresseurs sont pilotés par un automate.
Régulièrement, on doit faire une decharge contrôlée des batteries,  pour cela soit on coupe électriquement les redresseurs,  soit l'automate régle ĺa tension de sortie des redresseurs a une tension de l'ordre de 44v
Et on attend ques la tension des branches de batteries descendent autour de 44v ( programmable )
Ca l'automate le fait tres bien. 
Mais nous on a besoin de mesurer la tension, l'intensité, la température  de CHAQUE bac dans le temps pour suivre sa capacité. et de stocker tout ça pour pouvoir a la fin de rentrer toutes ces données dans un tableur  pour suivre le vieillissement des batteries.

Je précise que c'est un projet personnel.

Voilà,  que dire de plus?
Bonne soirée.
Title: Re: lecture de tension/courants multiples
Post by: hbachetti on May 27, 2019, 12:21 am
A priori rien ne s'opposerait à mesurer chaque élément de batterie à l'aide d'un pont diviseur.

Que le + soit relié à la terre n'est pas important, y compris lorsque le PC est relié par USB à l'ARDUINO, la terre n'étant en aucun cas reliée au 0V de l'USB. Ce point est à vérifier bien sûr, un défaut d'isolation du PC n'est pas à écarter.

(https://forum.arduino.cc/index.php?action=dlattach;topic=616317.0;attach=310009)

Les ponts diviseurs doivent être calculés en fonction de la tension de référence choisie pour l'ADC.

Ensuite s'il s'agit de 24 éléments de 2V, il faut 24 ponts diviseurs et 2 circuits CD4067B.
Les deux premiers ponts diviseurs sont inutiles si la tension de référence choisie est 5V.
Title: Re: lecture de tension/courants multiples
Post by: Arzou on May 27, 2019, 07:59 am
Ensuite s'il s'agit de 24 éléments de 2V, il faut 24 ponts diviseurs et 2 circuits CD4067B.
Les deux premiers ponts diviseurs sont inutiles si la tension de référence choisie est 5V.

Ce qui me gêne  c'est l'accumulation des approximations des ponts diviseurs et leur accumulation.
Sur les batteries  12v , pas de soucis
Mais sur 24 bacs nous travaillons sur des variations de  tensions de l'ordre de 50mv et j ai peur que, les tolérance des résistances,  les arrondis ont s'éloigne des valeurs réelles

Merci.
Ps il n'y a pas d'options pour nous signaler une nouvelle reponse? Ici j'ai pas cette option,  bien pratique.  Merci
Title: Re: lecture de tension/courants multiples
Post by: 68tjs on May 27, 2019, 09:55 am
Il y a les "Alerts" et les "updated topics".

Henri les blocs batteries sont dessinés à l'envers, si la masse est au plus toutes les batteries sont à retourner.
C'est pour cette raison qu'averc des batteries masse au plus et électronique masse au moins je ne vois pas  d'autre solution qu'un isolement galvanique parfait.
Toutes les autres solutions sont dépendantes du matériel et surtout du matériel qui peut être ajouté dans 6 mois par des personnes étrangères au projet. 
Title: Re: lecture de tension/courants multiples
Post by: hbachetti on May 27, 2019, 10:42 am
Quote
Ce qui me gêne  c'est l'accumulation des approximations des ponts diviseurs et leur accumulation.
Il n'y a pas d'accumulation. Chaque pont diviseur possède sa propre précision qui n'a aucune influence sur les autres.
Une variation de 50mV sur 2V représente 2.5%. On trouve très couramment des résistances à 1%.

Comment l'ARDUINO sera t-il alimenté ?

Quote
Ps il n'y a pas d'options pour nous signaler une nouvelle reponse? Ici j'ai pas cette option,  bien pratique. 
Merci
Clique sur le bouton "NO ALERTS OR EMAIL" et choisis une autre option.

Quote
Henri les blocs batteries sont dessinés à l'envers, si la masse est au plus toutes les batteries sont à retourner.
Sur mon schéma le GND est celui de l'ARDUINO.
Rien n'empêche de connecter le +48V à la terre. Il n'y a aucune raison que le GND de l'ARDUINO et la terre soient reliés.
En fait tout va dépendre de l'alimentation de l'ARDUINO.

Quote
Que le + soit relié à la terre n'est pas important, y compris lorsque le PC est relié par USB à l'ARDUINO, la terre n'étant en aucun cas reliée au 0V de l'USB. Ce point est à vérifier bien sûr, un défaut d'isolation du PC n'est pas à écarter.
Bon. Je viens de vérifier. Le 0V USB est bien relié au boîtier du PC, donc à la terre.
Ça va faire boum.

Mais sans liaison USB avec le PC, je ne vois pas ce qui pourrait empêcher le fonctionnement, avec une alimentation du genre chargeur de téléphone mobile par exemple.

Reste le problème de la liaison USB PC-ARDUINO.

Est-il envisageable pendant la phase de développement de déconnecter le +48V de  la terre ?
Title: Re: lecture de tension/courants multiples
Post by: 68tjs on May 27, 2019, 12:51 pm
Je persiste et signe :

Quote
Toutes les autres solutions sont dépendantes du matériel et surtout du matériel qui peut être ajouté dans 6 mois par des personnes étrangères au projet.
Accumulation d'erreurs :
C'est un choix de circuit, il n'est pas obligatoire d'utiliser un pont diviseur par élément --> les éléments peuvent être commutés un par un sur le même pont.
Ensuite pour le pont lui même il faut utiliser des résistances précises et ne pas les acheter conditionnées en vrac. Si elle sont conditionnées en ruban ou en bobine cela impliquera qu'elles proviennent du même lot de fabrication  et "qu'entre elles" elles seront probablement à mieux que 0,5%. Il suffira de faire le pont en associant en série ou en parallèle des résistance s provenant du même lot.
Exemple pont avec 10 k et 20k on ne prend que des 20k et pour faire la 10k on place deux 20k en parallèle.

Architecture :

Pour l'isolement galvanique je pense à utiliser la radio et le wifi plus précisément.
Un seul ADC précédé par une commutation analogique.

Pour la commutation je pense



Comment lire un plan de brochage d'un circuit intégré :
Quand un plan de brochage contient les termes GND et Vcc(Vdd) cela signifie que  la masse du CI est définitivement fixée.

Quand un plan de brochage ne contient pas le terme Gnd mais les termes Vee (Vss) et Vcc (Vdd) cela signifie que l'utilisateur a la totale liberté de placer la masse au moins (Vee/Vss) ou au plus (Vcc/Vdd).
Au départ  Vee et Vcc étaient réservés au CI en technologie bipolaire et Vss et Vdd à ceux en techno "effet de champ" (Fet, Mos, etc). Mais cette règle n'a pas été respectée, la preuve les micros Atmel en techno CMos utilisent Gnd et Vcc.

Tout cela pour dire que dans cette application la série 74HCxxxx est inutilisable et qu'il faut prendre dans la série CDxxxx.

Et ce n'est pas fini il faut encore que le Vdd max du circuit intégré soit supérieur à 48V or la plus part du temps Vdd max = 18 ou 24 V  et que la tension appliquée sur la carte micro soit dans le bon sens c'est à dire la tension présente sur l'entrée analogique doit être supérieure à celle présente sur le Gnd Local de la carte micro, d'où l'inversion au niveau du relai S3.

Bref le mux analogique n'est pas ma solution préférée. AMHA la solution avec relais Reed est plus sure les contacts ne faisant que quelques miliohms et avec une liaison radio (utilisation d'un ESP12 ou ESP30) l'isolement galvanique est garanti quoique l'on fasse dans 6 mois.
(https://forum.arduino.cc/index.php?action=dlattach;topic=616317.0;attach=310065)
Title: Re: lecture de tension/courants multiples
Post by: fdufnews on May 27, 2019, 01:08 pm
Linear maintenant Analog propose une carte, la Linduino, qui possède un USB isolé galvaniquement. Bon elle est un peu chère  (https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/dc2026c.html#eb-buy)comparée à un Arduino Chinois.

Ton besoin n'est pas très évident et sort un peu des problèmes que l'on recontre habituellement ici.

Tu pourrais trouver ton bonheur dans les circuits de BMS mais cela ne fonctionnera que pour des assemblages avec des éléments de 2V. ltc6813-1 (https://www.analog.com/en/products/ltc6813-1.html#product-overview) ou ltc6811-1 (https://www.analog.com/en/products/ltc6811-1.html#product-overview). Ils sont conçu pour être utilisés sur des assemblages de centaines de cellules (comme dans les voitures par exemples) la liaison de communication est un SPI complètement isolée.

Pour des assemblages avec des éléments de 12V ce sera plus compliqué de trouver quelque chose. Mais tu pourrais t'appuyer sur les isolateurs SPI comme ceux-ci par exemple (https://www.analog.com/en/products/interface-isolation/isolation/spisolator.html) ou la série isoPower  (https://www.analog.com/en/products/interface-isolation/isolation/isopower.html)qui regroupe une alimentation et un canal de communication isolé dans un seul boitier. Cela permet par exemple d'avoir un Arduino mini Pro pour quelques cellules et tous les éléments sont flottants.
Title: Re: lecture de tension/courants multiples
Post by: Arzou on May 31, 2019, 02:43 pm
Bonjour a tous et merci pour les idées,

Non, je ne peux pas déconnecter le + de la masse..

L'Arduino  aura une alimentation  autonome , ou du moins isolée de la terre. (Batterie,  bloc alim 12v etc)

Les résultats  seront stockés  au fil de l'eau dans une sd ou une eeprom pour une exploitation ultérieure.

Tout ca surtout pour stimuler mon imagination.... et apprendre.

Merci en tous cas a vous.