relance automatique suite à défaut

Ecureuil64

New Member
Bonjour à tous!
Je souhaite aider à réaliser la programmation d'un PICAXE 08M2 sur une application concrète.
Le montage est en fait une relation automatique d'une chaudière suite à un défaut temporaire.
Ce montage avec un PIC (diagramme des séquences joint) remplacera mon montage électronique actuel (schéma joint).
Merci à vous de me guider dans cette programmation. (Je suis complètement néophyte en la matière).
Salutations
Ecureuil64

Réallumage chaudière-timing-.JPG
Réarmement automatique après tempo-.jpg
 

premelec

Senior Member
Looks easy but my French isn't up to speed... you might post in the Francophile section... rather Francophone... ;-0
 

PieM

Senior Member
Bonjour,

Je ne comprends pas trop le chronogramme. Il faudrait expliciter.

Le poussoir de réarmement est en // du contact du relais et relié à la phase secteur d'après le schéma?
Le 555 est monté en astable avec une fréquence de 3 Hz !? le relais est donc actionné pendant 200 ms ?
Que garder de l'électronique actuelle ? Tout ce qui est avant l'isolement avec le 4N33

Le voyant semble alimenté sous 220V . peut on mettre en // une alim 5V qui alimenterait le montage, et remplacer le celduc par un relais statique ?
 

jojojo

Senior Member
Petite question (genre la poule ou l’œuf :))

Pourquoi ne pas d'abord remédier à ce défaut "temporaire" ?

Si la chaudière passe en arrêt sécurité, il y a une raison, non ?

On parle gaz, là. Ce n'est pas anodin...
 

MGU

Senior Member
Bonjour, et bienvenue à l'écureuil.

J'ai déjà émis quelques réserves dans le MP que notre ami l'écureuil m'a envoyé.
On ne connait rien de cette chaudière, ni des recommandations de la doc concernant le défaut (code panne ?), y a t il un risque d'accumulation de gaz au bout de la dixième tentative? Quelles conséquences possibles, etc...
Il convient dans le cadre d'un forum public d'ouvrir le parapluie en grand, et d'être prudent.

Cela dit, on peut rester sur la faisabilité potentielle du système, la responsabilité de la réalisation restant au demandeur.
Donc, il faut faire un beau cahier des charges, avec les entrées du système, réduit semble t il au voyant de défaut (lequel ?)
Sur le chronogramme: "voyant défaut", je comprends, mais "réarmement reset", je ne vois pas...

A suivre
MM
 

Ecureuil64

New Member
Rebonjour à tous et merci de diverses réponses.
Je comprends qu'il faille un peu plus d'explications!

Pour répondre à JOJO,
le défaut correspond, pour mon cas, à l'absence de débit de gaz (le spécialiste diagnostique un blocage aléatoire de l'électrovanne gaz) Comme je l'ai indiqué sur le MP de MGU la réparation est prévue mais il y a un délai assez long. D'où mon interface. L'annulation du défaut se fait par appui d'un bouton de réarmement et c'est sans danger... le processus de ré-allumage repart. On réitère l'opération jusqu'au déblocage de l'électrovanne. J'ai donc réalisé ce petit montage à base d'un 555 qui rempli complètement son rôle. Mon relais simule l'appui du bouton poussoir.

L'objet de ma démarche auprès de vous tous, c'est de prendre conseils pour réaliser mon interface avec un PIC me permettant de pouvoir jouer plus facilement sur les divers timings et surtout l'occasion pour moi de faire une petite entrée dans la programmation de PIC.

Pour répondre à PIEM,
elle est non visible sur le schéma, mais j'ai une alimentation 5V disponible sur le montage pour le PIC. J'ai mis un relais Celduc pour me garantir de l'isolation du montage par rapport au 220V présent sur les bornes du poussoir de réarmement de la chaudière.
Pour le nouveau montage je ne garderai donc que la partie détection du défaut jusqu'à la sortie du 4N33 et le relais Celduc pour la simulation de l'appui du poussoir. Tout le reste autour du PIC est à étudier.

Pour répondre à MGU,
Je comprends très bien la mise en garde de danger éventuel mais pour ce cas il n'y a aucun problème puisque justement c'est le gaz qui ne débite pas.
Sur le chronogramme de mon montage actuel "armement reset" correspond à la temporisation entre la détection du défaut et sa transmission au 555 qui à son tour fera coller le relais réalisant le reset du défaut.
Je pense que parfois je n'utilise pas parfaitement les termes adéquats et je tiens à ce que vous m'excusiez.

Je suis à votre disposition pour quelques autres renseignements dont vous auriez besoin pour me guider pas à pas dans mon petit projet de programmation.
Je vais commencer par préparer le nouveau schéma intégrant le PIC dans ce montage et je vous le soumettrai.
Encore une fois merci à vous tous!
Ecureuil64
 

PieM

Senior Member
bonjour,

Donc en fait, il s'agit d'un séquenceur qui a partir d'un signal défaut (niveau 1 sortie opto coupleur a modifier):
attend 10 secondes (réglable?) si defaut présent
agit sur une sortie reset liée à la 10k + NPN pendant 3 secondes (réglable?). ( activation à 3 Hz ??)
et ce 10 fois de suite au maximum.
Sinon attendre 1/2 heure (réglable?) avant de redémarrer la séquence si défaut toujours présent.
C'est bon ?
 

Ecureuil64

New Member
bonjour,
Super, c'est exactement la séquence que je veux reproduire à partir d'un petit programme sur PIC!
à bientôt de vous lire!
Ecureuil64
 

MGU

Senior Member
bonjour,
Super, c'est exactement la séquence que je veux reproduire à partir d'un petit programme sur PIC!
à bientôt de vous lire!
Ecureuil64
Bonjour,

Bon, a l'Ecureuil de commencer un début de programme, on suivra, c'est pas très compliqué.

Questions hard, le voyant est alimenté comment, quelle tension ?
Les 9V du schéma viennent d'où ?
Et le 5 V il est produit comment, filtré ? stabilisé ? Avec quoi?

MM
 

Ecureuil64

New Member
Bonjour l'équipe,

Je vais suivre le conseil de PIEM en commençant par bien m'imprégner de la doc à lire sur le site de MGU.
Parallèlement je vais refaire un nouveau schéma de montage autour d'un PICAXE 08M2.

En réponse à MGU, le voyant chaudière est alimenté en 220V. Je pense ne pas modifier le montage jusqu'au 4N33 !...peut-être faudra-t-il adapter le signal logique vers le PIC.
Le 9V de mon premier montage provient de d'un bloc chargeur 1A pour accus rechargeables 9V qui fournira le 5V via un régulateur 7805.

A bientôt de vous rendre compte de mon travail!
Ecureuil64
 

MGU

Senior Member
Bonjour,

Bon, je commence, je soumets ce schéma à vos critiques. J'ai testé le circuit 4N33, on obtient d'assez beaux créneaux de 5V sur l'entrée du 08M2.

MM
 

Attachments

Ecureuil64

New Member
Bonjour,
Merci MGU de ce schéma instructif et de mon coté j'avais hier soir préparé le mien. Je vais pouvoir comparer et améliorer.
Ensuite je m'attache à essayer la prog avec des exemples similaires...il y aura beaucoup de corrections!!..et vous êtes là!
A très bientôt
Réallumage chaudière.JPG
 

PieM

Senior Member
Bonjour,

Oui le 4N33 doit être monté pour conduire vers une résistance liée au 0V . car le Vce sat du transistor est de l'ordre de 1V supérieure aux 0.8V maxi nécessaire au seuil 0 de l'entrée TTL du picaxe.
La R de 1 k n'est pas non plus nécessaire et aurait empêché de fonctionner si l'entrée avait été la 5 (C.2) car c'est une entrée trigger sur le 08M2; sa tension mini pour un niveau 1 est de 4V, supérieure aux 3.6V donnés par le montage diviseur.
En fait, aucun potard n'est nécessaire. (surtout montés comme ça, avec le 5V sur le curseur !!)
La modif de valeurs n'intervient que lors de la config initiale. A partir où on est relié au PC lors de cette opération, tout peut se faire à partir du terminal PE6.
Je m'explique :
le programme débute avec une tempo. ensuite, on envoie un message sur le terminal "modif config?"
si la réponse est O on part sur un sous programme de modification des valeurs
si la réponse est N ou s'il n'y a pas de réponse au bout de x secondes (timeout), c'est le programme normal qui se déroule.
Dans le prog de config, il suffit de demander successivement les valeurs à modifier, les rentrer sur le terminal via le clavier, puis de les rentrer en Eprom du picaxe.
ces valeurs sont relues systématiquement au départ du programme principal.
 

MGU

Senior Member
Pour l'instant, je garde mon schéma #13. Quelques explications

Les potars ne sont pas indispensables, dès lors que l'on connait les valeurs de tempo qui conviennent. Mais il y a des pattes libres, les tempos utilisent des méthodes divers, pour voir...
La détection du secteur donne en sortie de l'opto des créneaux à 50 Hz , le condo de 100nF n'est pas utile.
J'ai essayé 1k et 10k sur la sortie de l'opto, la 1k donne des créneaux beaucoup plus beaux.
C.3 ne peut être qu'une entrée logique, qui convient aux créneaux de sortie (de 0 à 4V) de l'opto, autant l'utiliser en priorité.
C.0 ne peut être qu'une sortie, autant l'utiliser pour la commande du relais, avec une R de 1k dans la base (gain en courant de 10 à 20 en commutation).

Programme à suivre

MM
 

MGU

Senior Member
Voici un bout de code, à débattre...

Code:
;Chaudière MM 17 02 2019
#picaxe 08M2
#no_data
symbol defaut=pinC.3
symbol essai=b1
symbol tempo=b2
symbol treset=w13
symbol pottempo=C.4
symbol potreset=C.2
symbol relais =C.0
    do
        for essai=1 to 10
            do loop while defaut=0    ;attente défaut    
            readadc pottempo,tempo    ;lecture tempo allumage défaut 
            tempo=tempo / 10 +2        ;de 2 à 27 s env 
             time=0                    ;reset time
            do                            ;boucle attente 2 à 20 s
                pause 1        ;anti bug PE6
            loop while time < tempo    
            readadc potreset, treset    ;lecture temps relais reset    
            treset= treset * 40
            high relais            ;relais ON
            pause treset        ; de 0 à 255*40= 10200 (env 10s)
            low relais            ;relais OFF
        next
        time=0
        do                            ;attente nouvelle séquence de 10 essais
            pause 1
        loop while time < 1800        ;10 pour simu sinon 1800 (30 mn)
    loop
MM
 

MGU

Senior Member
Le même, avec raz du nombre d'essais en cas de redémarrage
Reste une broche pour la tempo 30mn...

Code:
;Chaudière MM 19 02 2019
#picaxe 08M2
#no_data
symbol defaut=pinC.3
symbol essai=b1
symbol tempo=b2
symbol treset=w13
symbol pottempo=C.4
symbol potreset=C.2
symbol relais =C.0
    do
        for essai=1 to 10
            time=0
            do
                pause 1
                if time > 4 then    ; reset essai en cas de rallumage 4 pour simu sinon 120
                    essai=1
                endif 
            loop while defaut=0    ;attente défaut 
            readadc pottempo,tempo    ;lecture tempo allumage défaut
            tempo=tempo / 10 +2        ;de 2 à 27 s env
             time=0                    ;reset time
            do                            ;boucle attente 2 à 20 s
                pause 1        ;anti bug PE6
            loop while time < tempo 
            readadc potreset, treset    ;lecture temps relais reset 
            treset= treset * 40 +1000
            high relais            ;relais ON
            pause treset        ; de 0 à 255*40 + 1000= 1000 à 11200 (de 1 à env 11s)
            low relais            ;relais OFF
        next
        time=0
        do                            ;attente nouvelle séquence de 10 essais
            pause 1
        loop while time < 1800        ;10 pour simu sinon 1800 (30 mn)
    loop
MM
 
Last edited:

jojojo

Senior Member
J'aime bien le schéma de Michel.
Simple, et probablement utilisable pour pas mal d'autres cas de figure.
Conserver un contrôle extérieur, via une lecture ADC reste pratique.
Et, il reste suffisamment de ports, pour :
- Un LCD
- Un bouton de relecture (par exemple, mettre en eeprom les cycles relances auto, sur une durée quelconque - pas trop longue, quand même, on ne fait pas un logger, juste pour voir toutes le x heures-).
 

PieM

Senior Member
Il me semble qu'il s'agissait avant tout d'un module de dépannage, donnant à Ecureuil, "surtout l'occasion pour moi de faire une petite entrée dans la programmation de PIC." (#7)
D'autre part, le schéma initial montre que le relais est commandé par le 555 monté en multivibrateur à la fréquence de 3 Hz avec un duty de 60% ...
Nécessaire ?
J'ignore si le fait d'être obligé de se mettre en situation de défaut pour régler des tempos avec des potars est un plus. Je pensais qu'il s'agissait avant tout d'une config initiale.
 

Ecureuil64

New Member
bonjour à tous,
Aux vues de ces échanges je me rends compte (outre l'erreur involontaire du curseur du potar au VCC) que j'ai tout à apprendre sur les paramètres entrées et sorties du 08M avant de commencer les schémas. Je suivrai donc celui que vous me proposez. C'est bon, je note vos remarques et je pioche dans vos docs pour comprendre.
J'ai aussi vos quelques lignes de prog que je vais décortiquer pour ma formation.
Concernant les tempos, elle sont initiales pour mon cas de dépannage mais dans un second temps il sera intéressant de savoir faire le programme pour les rendre variables.
A mon retour de "vacances" j'aurai de quoi bien m'occuper!! à bientôt
 

Ecureuil64

New Member
bonjour
Voilà, je vous rends compte de mon travail.
J'ai refait mon schéma et étudié, modifié le programme de MGU avec beaucoup d'interrogations notifiées et tant soit peu d'explications.
En simulation ça correspond à ce que j'attends. Je vais faire le montage pour un test en réel.
Je dois encore lire les docs du Picaxe pour essayer de comprendre pas mal de commande! A plus!
Réallumage chaudière v3.JPGChaudière MM-ecureuil64-V3.jpg
 

PieM

Senior Member
Bonjour,
Je ne pense pas qu'utiliser Serout pour commander le relais soit une bonne idée car il va vibrer durant le téléchargement.
Manque le circuit de téléchargement .
Manque un condo de 0.1µF aux bornes du picaxe.
Toujours pas compris pourquoi le 555 était monté en multivibrateur ... nécessaire ou pas ?
 

MGU

Senior Member
Bonjour,

Hello PieM, y a pas de serout dans le code, c'est simplement écrit sur le schéma et pour le 555 en multivibrateur, je n'en tiens pas compte, vu que le relais remplace l'appui sur le poussoir reset.

J'essaye de répondre à #24:
ligne 05:
b0 à b27 sont les noms des 28 premiers bytes (octets) de la ram. Je réserve b0 à une découpe éventuelle en variables bits (bit7,...bit0)
le second est b1, le nombre d'essais (de 1 à 10) nommé "essai" par la commande "symbol".
ligne 06:
Idem pour "tempo", avec b2. tempo est le temps d'allumage du voyant reset (30 s sur le chronogramme #1)
ligne 07:
treset est le temps de fonctionnement du relais (5 s sur le chronogramme). l'argument de la variable "pause" est en ms (0 à 65535 à 4 MHz))
Une variable byte (0 à 255) ne suffit pas, il faut une variable type "word".
Les variables "word" sont composées de deux bytes, pour éviter les mélanges, je choisis ces variables en commençant par la dernière (w13;w12;...)
treset = w13 = (b27;b26)
lignes 16 à 19 (voir code #20):
Il y a une boucle d'attente pour l'allumage du voyant défaut : si l'allumage échoue, le voyant se rallume dans un délai inf à 2 mn (à voir). Sinon, il ne se rallume pas, il faut alors resetter le comptage des essais.
lignes 20 à 22:
Calcul de "tempo": la lecture du potar donne une valeur de 0 à 255,
Dans le code #20, je divise par 10 , la variation est de 0 à 25, j'ajoute 2, la variation est de 2 à 27 , (ok, c'est pas 30).
ligne 22:
n'existe pas dans #20
ligne 23:
time est une variable système (simplification du timer pour les M2) qui tourne de 0 à 65535 en tâche de fond;
Pour l'utiliser, on la remet à 0, à tout moment par time=0
L'unité est la seconde, pour la fréquence par défaut (4 MHz)
ligne 25:
L'anti bug PE6. Pour d'obscures raisons, les concepteurs de PE6 ont décidé que la simulation de time ne fonctionnerait pas...plus exactement, le temps d'incrémentation d'une seconde dure... beaucoup trop longtemps pour être utilisable.
Pour des raisons tout aussi obscures, le fait de mettre une pause dans la boucle réduit ce temps à quelques secondes.
En dehors de la simulation su PE6, cette pause d'1 ms peut être supprimée (ou laissée). La simulation fonctionne avec PE5 (?)
ligne 30:
Calcul de treset code #20
On veut une valeur de 5000 ms. l'adc donne une valeur de 0 à 255. Je multiplie par 40 . Variation de 0 à 255 x 40= 10200
J'ajoute 1000 => variation de 1000 à 11200.
On aura donc env 5000 avec le potar au milieu

"Je dois encore lire les docs du Picaxe pour essayer de comprendre pas mal de commande! A plus! "
Oui, effectivement, il vaut même mieux commencer par là!

MM
 

PieM

Senior Member
Bonjour,
La sortie C.0 Serial out est activée lors d'un téléchargement. C'est pour cela qu'il faut éviter d'y connecter une commande de puissance, ce qui est le cas ici.
Quant au fonctionnement en analogique (relais à 3Hz) la question reste entière. Car c'était le seul intérêt d'avoir mis un 555 !
 

MGU

Senior Member
Bonjour,
La sortie C.0 Serial out est activée lors d'un téléchargement. C'est pour cela qu'il faut éviter d'y connecter une commande de puissance, ce qui est le cas ici.
Quant au fonctionnement en analogique (relais à 3Hz) la question reste entière. Car c'était le seul intérêt d'avoir mis un 555 !
Bonjour,

Oui, c'est vrai. Si la programmation se fait sur site (non prévu sur le schéma #13), on pourra choisir C.1 pour l'activation du relais.
La question du 3 Hz reste entière et sans réponse.

A suivre
MM
 

Ecureuil64

New Member
bonjour,

Ok Piem pour la protection proche du Picaxe avec le 0.1uF et effectivement je n'ai pas dessiné les composants concernant la partie téléchargement...je fais!
Concernant le 555 de mon premier montage, le but, par sécurité, était de créer un créneau de quelques secondes pour maintenir collé le relais pour simuler l'appui prolongé du poussoir du reset chaudière,
Si je n'utilise pas C0 pour la commande relais, qu'elle est la sortie préconisée?

Merci à toi MGU pour les explications très formatrices.
Sur ma prog #24 J'ai volontairement supprimé la première boucle d'attente (time) du prog #20 car le programme se met simplement en attente d'une détection de voyant défaut allumé par la chaudière et c'est ensuite que j'aurai 10 séquences de reset maxi si nécessaire etc... J'espère être aussi clair que possible.
En simulation ça fonctionne et je m'attaque au montage sur platine pour un essai opérationnel.
Ecureuil64
 

MGU

Senior Member
[QUOTE="Ecureuil64, post: 325285, member: 65901"
Si je n'utilise pas C0 pour la commande relais, qu'elle est la sortie préconisée?
[/QUOTE]

On remplace dans la ligne 10 "relais=C.0" par "relais=C.1" et on connecte le relais sur C.1
Mais si la programmation se fait sur une autre plaquette, on peut laisser tel quel.

MM
 

Ecureuil64

New Member
Bonjour à tous,
Avec un peu de retard, je tiens à remercier tous les intervenants du forum qui m'ont permis de réaliser mon montage. Après quelques ajustement de tempo le module a rempli parfaitement son rôle. Je conclue ce dossier avec la photo de la platine d'essai et vais ouvrir d'ici peu un nouveau petit projet formateur( télécommande portail et lumière extérieure). Amicalement Ecureuil64.
DSC09173b.jpg
 
Top