Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

Thermomètre 16F684
gwion
Expert
Expert
Messages : 1121
Enregistré en : février 2022

#21 Message par gwion » ven. 5 sept. 2025 09:10

Bonjour !
Dans ces années là, il circulait des rumeurs sur les montages Elektor. Il se disait que beaucoup des programmes publiés comportaient des erreurs mais que, par contre, les MCU programmés qu'ils vendaient fonctionnaient parfaitement...

Thermomètre 16F684
RETRAITE128
Amateur
Amateur
Messages : 125
Enregistré en : août 2021

#22 Message par RETRAITE128 » ven. 5 sept. 2025 11:02

Bonjour à tous,

Merci pour vos réponses.
Je viens de recevoir la réponse du concepteur, non sans mal.
Le Potentiomètre P1 ne sert à rien, il était prévu au départ pour calibrer le capteur, mais le soft n'a jamais été développé.
"Le code est joint et vous devez multiplier la température par 2 après avoir lu l'ADC. Cependant, vous aurez besoin du compilateur PICC et d'un programmateur."
Je vous joins les fichiers que j'ai reçus, je n'ai pas de quoi compiler, je compte sur vous.
Si Elektor "vendait" le PIC programmé, je me demande comment !!

Co
TEMP684.h
TEMP684.c
rdialement

Alain
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Thermomètre 16F684
gwion
Expert
Expert
Messages : 1121
Enregistré en : février 2022

#23 Message par gwion » ven. 5 sept. 2025 12:46

Si le reste fonctionne, une méthode qui ne touche pas au programme serait d'utiliser la seconde cellule du LM358 pour décaler la tension avec le potentiomètre.

Thermomètre 16F684
RETRAITE128
Amateur
Amateur
Messages : 125
Enregistré en : août 2021

#24 Message par RETRAITE128 » ven. 5 sept. 2025 14:00

Bonjour,
Si vous avez cette idée, ce serait sympa de nous mettre un bout de schéma.
Cordialement
Alain

Thermomètre 16F684
jamdmnt
Débutant
Débutant
Messages : 42
Âge : 78
Enregistré en : septembre 2015
Localisation : pyrénées orientales

#25 Message par jamdmnt » ven. 5 sept. 2025 20:59

Bonsoir,
@retraite128: les fichiers sont les mêmes que ceux que vous aviez déjà donné.
@gwion: j'ai dit une "connerie", la syntaxe du setup_adc_ports est bien celle que vous avez donné, toutefois, le compilo "digère" bien les 2 correctement!!
J'avais utilisé un LM35 en 2013 pour réguler la T° d'un frigo de pharmacie. J'avais réalisé un tout autre montage du LM35 et sans LM358, et 7 ans plus tard le frigo fonctionnait très bien quand ma voisine (pharmacienne) a vendu sa pharmacie.
Le schéma du montage en test avec proteus.
Le BP sur la broche mclr doit être à contact NF (Normalement Fermé) et ne sert qu'à re-setter le programme. Pour un petit thermomètre, je trouve ça superflu.
Je vais nettoyé le prg des lignes superflues, et passer l'adc à 10bits, la précision sera meilleure, et aussi voir à mettre une référence de tension (TL431)pour l'adc, la précision sera bien meilleure qu'avec VCC (5V), ou alors il faut utiliser un régulateur 5V de précision.
A+
Jacques
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Thermomètre 16F684
gwion
Expert
Expert
Messages : 1121
Enregistré en : février 2022

#26 Message par gwion » ven. 5 sept. 2025 21:18

Je trouve aussi que c'est un schéma merdique. Le LM358 ne sert à rien.
Et le compilo accepte la syntaxe puisque ce n'est finalement qu'une combinaison de bits.
Par contre qu'est ce qu'il assume par défaut comme référence de tension puisque le paramètre n'est pas fixé ? Mystère et boule de gomme. C'est peut-être l'explication des 10° de différence.

Thermomètre 16F684
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2886
Enregistré en : juillet 2016
Localisation : Terre

#27 Message par Temps-x » sam. 6 sept. 2025 02:51

Bonjour,

gwion a écrit :Source du message Le LM358 ne sert à rien.

Ben si, et normalement c'est ce qu'on doit faire sur une entrée (mettre un suiveur), l'entrée du pic à une impédance (il suffit de regarder la datasheet sur les entrées adc de ce pic pour se rende compte)

En mettant un suiveur ça nous donne une très haute impédance, ce qui ne détériore pas la mesure


==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Thermomètre 16F684
gwion
Expert
Expert
Messages : 1121
Enregistré en : février 2022

#28 Message par gwion » sam. 6 sept. 2025 08:22

Bonjour,

Dans la DS du LM35 et ses notes d'applications, l'attaque du CAN se fait en direct. Donc je ne suis pas plus royaliste que le roi.
Par contre si on veut de la précision dans la mesure, il manque le principal sur ce schéma : une tension de référence fiable.

Thermomètre 16F684
RETRAITE128
Amateur
Amateur
Messages : 125
Enregistré en : août 2021

#29 Message par RETRAITE128 » sam. 6 sept. 2025 09:38

Bonjour à tous,

Je viens vous apporter la réponse du concepteur lui-même si ça peut vous aider.
Cordialement,
Alain

Hi Alain

i went through the code and schematic.

Actually P1 is not being used by the code, I think I put it there if calibration needed to be done, but never implemented it.

As for the temperature I rechecked my calculations and found that the thermometer is always showing half the value. This is an example

Vref = 5V - 5000mV
ADC is set in 8 bit mode
E.g. Temperature is 25 degrees so LM35 output is 10mV * 25 = 250mV
Value after ADC conversion is (250*255)/5000 = 12.75 (Slightly more than half)

There are two solutions

1) The code is attached and you need to multiply the temperature by 2 after reading the ADC. However you will need the PICC compiler and a programmer
2) You could arrange the feedback network around the LM358 to give a gain of 2. You need to add a 10k resistor in the feedback loop (remove the short) and put a 10k resistor to ground from pin 2

Try either one of these solutions and keep me posted,

Thermomètre 16F684
paulfjujo
Avatar de l’utilisateur
Maître
Maître
Messages : 3256
Âge : 75
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#30 Message par paulfjujo » dim. 7 sept. 2025 16:19

bonjour,


16F684 avec ADC10 bits
Vref=5000mV
utiliser l' ADC en mode 10 bits
25°C -> 250mV => 250*1024/5000=> 51
divisé par 2
51 >>1 => 25 => donc à +-1°C

je suis de l'avis de Gwion
l'ampli gain =1 est inutile, vu l'impedance de sortie du LM35DZ tres faible..

par contre, le bruit occasionné par le multiplexage des 2x7segments
peut perturber la mesure Analogique...et l'alim du LM35DZ
filtrage 100 ohms 100µF sur le Vcc LM35DZ ?
moyenner 8 ou 16 mesures ADC pour reduire l'effet du bruit..

j'ai testé une version de ce montage
avec un 16F88 ,mais avec afficheurs Anodes commune, ADC10bits,
sortie UART sur RB6, BP sur RA3 , et sans ampli sortie LM35DZ.
sous XC8
un montage sur breadboard est assez perturbé!
:!!: pieges à ion avec RB3 et RA5 sur ce petit PIC
Aide toi, le ciel ou FantasPic t'aidera


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités