Je suis en train d'essayer de récupérer la valeur de ma batterie avec une entrée analogique de mon ATTiny85 pour faire une jauge.
Pour se faire j'ai fais un pont diviseur pour éviter de pomper trop de batterie.
Le problème est que je ne comprends pas pourquoi après avoir laissé tourner mon projet (qui inclut des capteurs et un écran) pendant plus de 24h, j'ai encore une valeur d'entrée de 512 avec un analogRead()
Je n'applique aucun calcul encore, juste récupérer la valeur de mon pont diviseur. Simplement cette valeur ne bouge pas d'un poil....
Branché comme ça, tu es en train de comparer la valeur de la moitié de la tension d'alimentation à la valeur de la tension d'alimentation de l'ATtiny85.
Ce qui fait que la valeur retournée sera toujours la même, quel que soit la valeur de la tension d'alimentation.
Il te faudrait avoir une référence de tension à laquelle tu pourrais comparer la valeur d'une partie de l'alimentation.
La précision de la mesure dépendra de la précision de la référence de tension utilisée.
Je connais trop peu l'ATtiny85, mais j'ai lu dans ce message qu'il y avait une référence de tension interne (1.1V et 2.56V) dans ce composant.
Non ce n'est pas un schéma, c'est un dessin de câblage fait avec fritzing.
Le problème n'est pas fritzing, le problème est qu'avec un dessin de câblage, on ne comprend rien, sauf à reconstituer dans notre tête le schéma électrique qui est le seul que l'on comprenne.
Le problème, c'est que Fritzing est capable de fournir un schéma électrique à partir du dessin de câblage, mais que très peu utilisent cette possibilité.
Fais un effort, cherche dans les menus de Fritzing comment obtenir le schéma électrique, il ne te parlera peut-être pas "encore", mais c'est le seul sur lequel on peut voir les erreurs en un clin d'œil.
Erreur !
Mauvaise raison, une entrée de microcontrôleur fait plusieurs millions d'ohms, bien plus que ton pont !!!!
Non, le pont de résistance n'est pas fait pour cela.
Le pont de résistance est là pour adapter le niveau de la tension aux capacités de l'organe de mesure.
Le convertisseur analogique digital compare la tension à mesurer à une référence de tension.
En aucun cas la tension à mesurer ne doit dépasser la valeur de la référence de tension.
Un pont n'est pas obligatoire tant que la tension à mesurer ne dépasse pas la valeur de la référence de tension du convertisseur analogique digital.
Attention dans les microcontrôleurs il peut exister plusieurs possibilités de référence de tension sélectionnables par programmation
On ne peux pas avoir ouvert le monde de la techno et du numérique à un maximum de gens, (grâce entre autre aux nombreux forum de science et technique) et espérer de tous les utilisateurs de ces forums qu'ils utilisent exactement même language (académique) que celui que les pros utilisent.
C'est surtout qu'à part montrer que j'ai deux résistances et un pin d'un ATTiny85 de branché, je pensais pas pouvoir faire mieux
A la base j'hésitais à mettre une photo, mais j'ai utilisé Tinkercad pour être plus propre... Désolé s'il fallait faire autrement.
Quoiqu'il en soit, ok pour les explications, au final j'ai économisé un pin analogique en utilisant directement la valeur du VCC de l'ATTINY85 avec ce code :
ADMUX = _BV(MUX3) | _BV(MUX2);
delay(2);
ADCSRA |= _BV(ADSC);
while (ADCSRA & _BV(ADSC));
long result = (ADCL | (ADCH << 8));
result = 1125300L / result;
result *= 0.930;
Serial.print("Battery Voltage: ");
Serial.print(result);
Serial.println(" mV");
Sinon avec cette valeur de référence je pense que je vais avoir le même souci avec un capteur UV qui est branché sur A2, il faut que je prenne en compte cette valeur de 1.1v
Inutile de t'excuser ce n'est pas de ta faute : un beau dessin ça pète sur un écran Youtube et donc les experts, option youtube, ne montrent que cela.
Mais cela ne nous permet pas de détecter rapidement des erreurs (quand il y en a).
C'est une information : Fritzing sait faire des schémas électriques à partir du dessin de câblage. Inutile de changer de logiciel.
Essaye et tu verras que ce n'est peut-être pas beau, mais c'est qui nous convient le mieux pour pouvoir aider.
Il faut savoir que cette tension de 1,1 V est donnée à ± 10%.
C'est assez logique, en fait, initialement, elle n'est pas faite pour servir à l'ADC, elle est faite pour servir de référence à l'intérieur du micro.
Il est possible de mesurer sa valeur exacte : quand l'ADC est connecté sur la référence 1,1 V, cette dernière est disponible sur la pin Aref.
Il est possible de la mesurer avec un voltmètre.
Par contre, je n'ai aucune expérience sur son évolution avec la température.
Je ne pense pas que pour ce projet la précision soit un critère essentiel, pour d'autres projet saches qu'il existe des références de tension hyper précises et stables, dont 2,5 V et 1,25 V