Soucis avec la mesure de la tension d'alim
-
Gilles BILLARD
- Messages : 75
- Inscription : 09 oct. 2017, 09:34
- Localisation : 45km sud Paris
Soucis avec la mesure de la tension d'alim
Hello,
J'ai réalisé une (plusieurs, en réalité) platine destinée à monitorer la température d'un congélateur au format MySensors; Elle est alimentée par un accu Li-Ion 3V
La tension d'alim en amont du booster 3.3v est monitorée via l'entée A0 et un pont diviseur
La ref est interne et a 1.1v
Le pont diviseur 1/3 est formé de 2 résistances élevées pour avoir une conso mini mais compatible avec la résistance (impédance) d'entrée de l'arduino
J'ai choisi 1Mohm et 2.2Mohm
Si je ne connecte pas le point milieu a l'entrée et que je force A0 a GND, je lis bien 1.1v au milieu du diviseur pour 3.3v d'alim (environ), une mesure a zéro, et un téléreport "batterie faible"
Mais dès que je connecte le point milieu à A0, la tension MONTE a 2.4v
Calculs faits avec plusieurs mesures, je trouve que l'arduino se comporte comme si son entrée était connectée au + via 210 kohm
Pas vraiment normal pour une entrée analogique donnée pour avoir 10Mohm
Du coup, pas besoin de vous dire que le report de la charge batterie est faux.
Qu'en pensez vous ?
J'ai réalisé une (plusieurs, en réalité) platine destinée à monitorer la température d'un congélateur au format MySensors; Elle est alimentée par un accu Li-Ion 3V
La tension d'alim en amont du booster 3.3v est monitorée via l'entée A0 et un pont diviseur
La ref est interne et a 1.1v
Le pont diviseur 1/3 est formé de 2 résistances élevées pour avoir une conso mini mais compatible avec la résistance (impédance) d'entrée de l'arduino
J'ai choisi 1Mohm et 2.2Mohm
Si je ne connecte pas le point milieu a l'entrée et que je force A0 a GND, je lis bien 1.1v au milieu du diviseur pour 3.3v d'alim (environ), une mesure a zéro, et un téléreport "batterie faible"
Mais dès que je connecte le point milieu à A0, la tension MONTE a 2.4v
Calculs faits avec plusieurs mesures, je trouve que l'arduino se comporte comme si son entrée était connectée au + via 210 kohm
Pas vraiment normal pour une entrée analogique donnée pour avoir 10Mohm
Du coup, pas besoin de vous dire que le report de la charge batterie est faux.
Qu'en pensez vous ?
-
Gilles BILLARD
- Messages : 75
- Inscription : 09 oct. 2017, 09:34
- Localisation : 45km sud Paris
Re: Soucis avec la mesure de la tension d'alim
Re
J'ai creusé un peu et j'ai changé de pont diviseur et de processeur:
Le phénomène est toujours présent; J'ai reporté mes mesures sur un petit Excel et ce coup ci, la résistance d'entrée calculée est un pullup de 1.14 MΩ.
J'ignore pourquoi, a moins que je me sois planté dans mes calculs la 1ere fois...
Je suis donc allé voir comment est fait le circuit d'entrée du multiplexeur (28.6.1. Analog Input Circuitry) qui se trouve avant l'échantilloneur bloqueur du CAN et j'ai découvert que le circuit a mesurer doit avoir une impédance d'entrée inférieure a 10K.
(The ADC is optimized for analog signals with an output impedance of approximately 10 kΩ or less. If such
a source is used, the sampling time will be negligible. If a source with higher impedance is used, the
sampling time will depend on how long time the source needs to charge the S/H capacitor, with can vary
widely. The user is recommended to only use low impedance sources with slowly varying signals, since
this minimizes the required charge transfer to the S/H capacitor.)
Voila donc le problème ! Avec un pont dans les environs de 1MΩ/330KΩ je suis bien au dessus de l'impédance prescrite.
Comme je ne souhaite pas que le pont consomme durant le sommeil du processeur, j'ai donc fait un pont avec un potentiomètre multitours de 10KΩ et je le mets a GND via une sortie numérique que je passe a zéro juste avant la mesure, puis que je repasse a 1 juste après.
Après 48h de test, ce coup ci, ca semble bon et cohérent.
Je peux enfin voir mes batteries se décharger et avoir un report correct du pourcentage de charge ainsi que de la tension réelle avant le booster 3.3v.
Actuellement alimenté par du Lithium, je pense passer au super condensateur rapidement (dès que je les aurai reçu de Chine)
Maintenant, ce qui m'étonne beaucoup, c'est que sur le site MySensors il soit mis comme exemple un pont 1MΩ/470KΩ (https://www.mysensors.org/build/battery)
Quelqu'un pourrait-il, cabler vite fait un Arduino sur un breadboard et me dire s'il trouve comme moi ?
J'ai creusé un peu et j'ai changé de pont diviseur et de processeur:
Le phénomène est toujours présent; J'ai reporté mes mesures sur un petit Excel et ce coup ci, la résistance d'entrée calculée est un pullup de 1.14 MΩ.
J'ignore pourquoi, a moins que je me sois planté dans mes calculs la 1ere fois...
Je suis donc allé voir comment est fait le circuit d'entrée du multiplexeur (28.6.1. Analog Input Circuitry) qui se trouve avant l'échantilloneur bloqueur du CAN et j'ai découvert que le circuit a mesurer doit avoir une impédance d'entrée inférieure a 10K.
(The ADC is optimized for analog signals with an output impedance of approximately 10 kΩ or less. If such
a source is used, the sampling time will be negligible. If a source with higher impedance is used, the
sampling time will depend on how long time the source needs to charge the S/H capacitor, with can vary
widely. The user is recommended to only use low impedance sources with slowly varying signals, since
this minimizes the required charge transfer to the S/H capacitor.)
Voila donc le problème ! Avec un pont dans les environs de 1MΩ/330KΩ je suis bien au dessus de l'impédance prescrite.
Comme je ne souhaite pas que le pont consomme durant le sommeil du processeur, j'ai donc fait un pont avec un potentiomètre multitours de 10KΩ et je le mets a GND via une sortie numérique que je passe a zéro juste avant la mesure, puis que je repasse a 1 juste après.
Après 48h de test, ce coup ci, ca semble bon et cohérent.
Je peux enfin voir mes batteries se décharger et avoir un report correct du pourcentage de charge ainsi que de la tension réelle avant le booster 3.3v.
Actuellement alimenté par du Lithium, je pense passer au super condensateur rapidement (dès que je les aurai reçu de Chine)
Maintenant, ce qui m'étonne beaucoup, c'est que sur le site MySensors il soit mis comme exemple un pont 1MΩ/470KΩ (https://www.mysensors.org/build/battery)
Quelqu'un pourrait-il, cabler vite fait un Arduino sur un breadboard et me dire s'il trouve comme moi ?
Re: Soucis avec la mesure de la tension d'alim
Salut.
Tu as essayé de mettre un condensateur céramique de plus ou moins 100nF sur la résistance du bas, comme ça tu t'affranchi pas mal de l'impédance du pont de mesure
Envoyé de mon MI 5 en utilisant Tapatalk
Tu as essayé de mettre un condensateur céramique de plus ou moins 100nF sur la résistance du bas, comme ça tu t'affranchi pas mal de l'impédance du pont de mesure
Envoyé de mon MI 5 en utilisant Tapatalk
Raspberry pi 3B (Raspbian jessie), Domoticz Beta, Gateway Xiaomi V2, Gateway MySensors, Rflink433.42+MiLight
-
hbachetti
Re: Soucis avec la mesure de la tension d'alim
Salut à tous
Je suis nouvel inscrit sur ce forum et je suis développeur logiciel embarqué.
Le principe utilisé généralement pour la mesure du niveau de la batterie est de mesurer la référence interne de l'ADC (1.1V) en utilisant comme référence l'alimentation de l'ARDUINO, ce qui permet d'en déduire la tension d'alimentation.
Cela permet d'éviter un pont diviseur qui consomme et a une impédance importante.
J'ai réalisé un thermomètre MYSENSORS en utilisant cette technique :
https://riton-duino.blogspot.fr/2018/01 ... ie-le.html
hope it helps
@+
Je suis nouvel inscrit sur ce forum et je suis développeur logiciel embarqué.
Le principe utilisé généralement pour la mesure du niveau de la batterie est de mesurer la référence interne de l'ADC (1.1V) en utilisant comme référence l'alimentation de l'ARDUINO, ce qui permet d'en déduire la tension d'alimentation.
Cela permet d'éviter un pont diviseur qui consomme et a une impédance importante.
J'ai réalisé un thermomètre MYSENSORS en utilisant cette technique :
https://riton-duino.blogspot.fr/2018/01 ... ie-le.html
hope it helps
@+
-
Gilles BILLARD
- Messages : 75
- Inscription : 09 oct. 2017, 09:34
- Localisation : 45km sud Paris
Re: Soucis avec la mesure de la tension d'alim
Oui , (désolé pour ce retour tardif car je n'ai pas été informé d'un réponse), j'ai bien mis 100nF en pied de diviseur.lxshooter a écrit :Salut.
Tu as essayé de mettre un condensateur céramique de plus ou moins 100nF sur la résistance du bas, comme ça tu t'affranchi pas mal de l'impédance du pont de mesure
Envoyé de mon MI 5 en utilisant Tapatalk
++
-
Gilles BILLARD
- Messages : 75
- Inscription : 09 oct. 2017, 09:34
- Localisation : 45km sud Paris
Re: Soucis avec la mesure de la tension d'alim
C'est exactement comme cela que tout a commencé (comme dirait David Vincent); mais ne me satisfaisant pas de l'indication approximative en % et surtout, la jugeant curieuse, c'est la que j'ai su que les envahiss... j'ai commencé a faire des mesures et que constaté le pb décrit ci-dessus.hbachetti a écrit :Salut à tous
Je suis nouvel inscrit sur ce forum et je suis développeur logiciel embarqué.
Le principe utilisé généralement pour la mesure du niveau de la batterie est de mesurer la référence interne de l'ADC (1.1V) en utilisant comme référence l'alimentation de l'ARDUINO, ce qui permet d'en déduire la tension d'alimentation.
Cela permet d'éviter un pont diviseur qui consomme et a une impédance importante.
J'ai réalisé un thermomètre MYSENSORS en utilisant cette technique :
https://riton-duino.blogspot.fr/2018/01 ... ie-le.html
hope it helps
@+
++
-
hbachetti
Re: Soucis avec la mesure de la tension d'alim
Apparemment la fonction sendBatteryLevel() envoie un pourcentage. Ce qui sera difficile à contourner, à moins que tu utilises une autre fonction ?
-
Gilles BILLARD
- Messages : 75
- Inscription : 09 oct. 2017, 09:34
- Localisation : 45km sud Paris
Re: Soucis avec la mesure de la tension d'alim
Hello,hbachetti a écrit :Apparemment la fonction sendBatteryLevel() envoie un pourcentage. Ce qui sera difficile à contourner, à moins que tu utilises une autre fonction ?
C'est exact.
j'ai donc désormais, a la fois l'indication en % et la mesure réelle de tension en utilisant la fonction multimètre.
++