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 ---
- 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 ---
Modérateur : mazertoc
Thermostat
-
RETRAITE128
Débutant- Messages : 60
- Enregistré en : août 2021
Bonjour,
Je viens vous demander votre aide, j'ai voulu réaliser un thermostat relevé sur la revue Electronique Pratique.
Je ne comprends pas pourquoi celui-ci ne fonctionne pas comme indiqué.
Le réglage de la température de consigne fonctionne correctement, mais hélas lorsque l'on bascule sur l'affichage de la température, celui-ci est figé sur une valeur fixe de 3.5°C.
Parfois, sans savoir pourquoi, la bonne température apparaît, mais si l'on coupe l'alimentation de la carte, nous revenons à la case départ.
Je ne possède hélas pas le fichier source en assembleur, juste celui en .HEX du PIC 16F84.
Le dialogue entre le PIC et le capteur (un DS1621) se fait en I²C.
Je tiens le schéma et le fichier exécutable à votre disposition si vous désirez me venir en aide.
Dans l'attente de vous lire.
Cordialement,
Alain
Je viens vous demander votre aide, j'ai voulu réaliser un thermostat relevé sur la revue Electronique Pratique.
Je ne comprends pas pourquoi celui-ci ne fonctionne pas comme indiqué.
Le réglage de la température de consigne fonctionne correctement, mais hélas lorsque l'on bascule sur l'affichage de la température, celui-ci est figé sur une valeur fixe de 3.5°C.
Parfois, sans savoir pourquoi, la bonne température apparaît, mais si l'on coupe l'alimentation de la carte, nous revenons à la case départ.
Je ne possède hélas pas le fichier source en assembleur, juste celui en .HEX du PIC 16F84.
Le dialogue entre le PIC et le capteur (un DS1621) se fait en I²C.
Je tiens le schéma et le fichier exécutable à votre disposition si vous désirez me venir en aide.
Dans l'attente de vous lire.
Cordialement,
Alain
Thermostat
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour,
Oui, il faut poster le schema associé ... pour esperer avoir une aide .
nota :
quelle est la charge commutée par ce "thermostat" ?
Beaucoup de problemes sont liées aux parasites engendrés par la commuation du relais ... ( si il y a un relais ?)
=> risque de reset MCU .
Oui, il faut poster le schema associé ... pour esperer avoir une aide .
nota :
quelle est la charge commutée par ce "thermostat" ?
Beaucoup de problemes sont liées aux parasites engendrés par la commuation du relais ... ( si il y a un relais ?)
=> risque de reset MCU .
Thermostat
Bonsoir RETRAITE128, paulfjujo, et tout le forum,
Effectivement, il nous faut le schéma, et le numéro de la revue d'électronique Pratique avec l'année de préférence.
En ce qui concerne le code ça devrait pas trop posé de problème, le seule soucis, c'est que le capteur DS1621 fonction en I2C
et le Pic16F84 ne possède pas de I2C
Obligé de faire un I2C bit bang
A+
paulfjujo a écrit :Source du message Oui, il faut poster le schema associé ... pour esperer avoir une aide .
Effectivement, il nous faut le schéma, et le numéro de la revue d'électronique Pratique avec l'année de préférence.
En ce qui concerne le code ça devrait pas trop posé de problème, le seule soucis, c'est que le capteur DS1621 fonction en I2C
et le Pic16F84 ne possède pas de I2C
Obligé de faire un I2C bit bang
A+
Thermostat
-
RETRAITE128
Débutant- Messages : 60
- Enregistré en : août 2021
Bonjour,
Merci pour vos réponses, je vous joints l'article de la revue, et le programme du PIC.
Comme j'avais aussi des doutes sur les parasites possible, j'ai réalisé deux typons avec plan de masse rapproché, ça n'a rien changé.
Pour l'instant le relais n'est pas câblé puisque la température ne s'affiche pas (bloquée à 3.5°C)
Dans l'attente de vous lire,
Alain
Merci pour vos réponses, je vous joints l'article de la revue, et le programme du PIC.
Comme j'avais aussi des doutes sur les parasites possible, j'ai réalisé deux typons avec plan de masse rapproché, ça n'a rien changé.
Pour l'instant le relais n'est pas câblé puisque la température ne s'affiche pas (bloquée à 3.5°C)
Dans l'attente de vous lire,
Alain
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Thermostat
Bonsoir RETRAITE128, et tout le forum,
Le problème ressemble à une collision sur I2C, ce qui a pour effet de bloquer le programme.
Même si l'auteur se sert du tirage des résistances sur le PORTB pour I2C, je te conseille de faire le test.
mettre une résistance de 10Ko sur RB6 relié au +5 volts
mettre une résistance de 10Ko sur RB5 relié au +5 volts
Puis mettre en fonction...pour les essais retirer le relais
A+
Le problème ressemble à une collision sur I2C, ce qui a pour effet de bloquer le programme.
Même si l'auteur se sert du tirage des résistances sur le PORTB pour I2C, je te conseille de faire le test.
mettre une résistance de 10Ko sur RB6 relié au +5 volts
mettre une résistance de 10Ko sur RB5 relié au +5 volts
Puis mettre en fonction...pour les essais retirer le relais
A+
Modifié en dernier par Temps-x le lun. 10 avr. 2023 17:21, modifié 3 fois.
Thermostat
Thermostat
-
RETRAITE128
Débutant- Messages : 60
- Enregistré en : août 2021
Bonjour à vous tous,
J'avais déjà fait l'essai de câbler deux résistance de 10Ko, sans changement.
Pour ce qui est de l'interrupteur, si je le strappe, je suis en mode programmation de la température de consigne, cette partie fonctionne correctement.
L'affichage de la température de la pièce est obtenu inter ouvert.
Merci pour votre aide.
Alain
J'avais déjà fait l'essai de câbler deux résistance de 10Ko, sans changement.
Pour ce qui est de l'interrupteur, si je le strappe, je suis en mode programmation de la température de consigne, cette partie fonctionne correctement.
L'affichage de la température de la pièce est obtenu inter ouvert.
Merci pour votre aide.
Alain
Thermostat
Thermostat
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonsoir,
Curieux que ce ne soit pas RA4 utilisé pour SDA I2C
vu que c'est la seul pin avec collecteur ouvert .. pour ecriture/lecture du ACK ou NACK en retour
sur l'I2C , je mets des 2,7K ...en pull up
un analyser logique serait ici le bien venu ..
ou coup d' oscilloscope
un morceau de code pour DS1621 24 ... de 2006 ( à l'époque j'étais 100% ASM !)
et ceci pourait etre utile ...
mais ----SDA MUST BE AN OPEN DRAIN PIN----
Curieux que ce ne soit pas RA4 utilisé pour SDA I2C
vu que c'est la seul pin avec collecteur ouvert .. pour ecriture/lecture du ACK ou NACK en retour
sur l'I2C , je mets des 2,7K ...en pull up
un analyser logique serait ici le bien venu ..
ou coup d' oscilloscope
un morceau de code pour DS1621 24 ... de 2006 ( à l'époque j'étais 100% ASM !)
Code : Tout sélectionner
CONFIG_1624: ; configures device for CPU operation - continuous
CALL START
BCF STATUS, C
Movf DEV_1624,W
IORLW 90H
CALL OUT_BYTE
CALL NACK
MOVLW 0ACH ; send config information
CALL OUT_BYTE
CALL NACK
MOVLW 02H
CALL OUT_BYTE
CALL NACK
CALL STOP
CALL _DELAY10
RETURN
BEGIN_CNVT: ; turns on circuitry to begin conversions
CALL START
BCF STATUS, C
Movf DEV_1624,W
IORLW 90H
CALL OUT_BYTE
CALL NACK
MOVLW 0EEH
CALL OUT_BYTE
CALL NACK
CALL STOP
CALL _DELAY10
RETURN
MEASURE:
CALL START
BCF STATUS, C
Movf DEV_1624,W
IORLW 90H
CALL OUT_BYTE
CALL NACK
MOVLW 0AAH
CALL OUT_BYTE
CALL NACK
CALL START
BCF STATUS, C
Movf DEV_1624,W ; bit R/W doit etre à 1 pour lecture
IORLW 91H ; soit 90H + 02H +1= 93H
CALL OUT_BYTE
CALL NACK
CALL IN_BYTE ; lecture MSB
MOVF I_BYTE, W
MOVWF TC_HI ; sauve dans TC_HI
CALL ACK
CALL IN_BYTE ; lecture LSB
MOVF I_BYTE, W
MOVWF TC_LO ; sauve dans TC_LO
CALL NACK
CALL STOP
RETURN
et ceci pourait etre utile ...
mais ----SDA MUST BE AN OPEN DRAIN PIN----
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 47 invités