Boite Aux Lettres automatique
(Courrier Papier)BAL00

1    Principes généraux
1.1    Le temps
1.2    Saisie date et heure
1.3    Alimentation et précision horaire
1.4    I/O
1.5    Le sémaphore ou le voyant
1.6    Sémaphore déporté
1.7    Le générateur 12 Volts
2    Schéma
3    Le programme
4    Diverses particularités
5    Réalisation
6    La précédente réalisation
7    Conclusions

Si vous arrivez directement sur cette page par un moteur de recherche, vous pouvez avoir accès à la table des matières et à chaque article, en page d'accueil.    L'accès se fait par l'un des deux liens en tête de colonne de droite ----->
Les questions correctes en fin d'un article recevront toujours une réponse, mais pas les questions par "CONTACTER L'AUTEUR" qui n'auront pas de REPONSE (car je suis obligé de répondre par mail).
A voir aussi  en colonne de droite (lien direct) ------> les articles "BONJOUR" ainsi que "INFOS rapides"... Il est déconseillé d'indiquer dans les commentaires ses coordonnées (mail, adresse ou téléphone).
Ce blog est modéré et vous pouvez demander simplement en tête de question à ce que vos informations restent confidentielles si nécessaire. Rien ne sera publié, mais ma réponse sera faite sur l'article correspondant (et non par mail).



Préambule et description rapide:

La version initiale de ce dispositif a tant évoluée que je me trouve dans l'obligation de refaire un article totalement refondu, car celui d'origine avec toutes les modifications devenait très difficile à comprendre pour suivre le déroulement des modifications.
Je ferai seulement référence à quelques bribes du montage précédent qui permettent de comprendre les nouvelles solutions retenues.

Je dois également ajouter que je n'ai pas qu'une seule solution, mais plusieurs suivant la configuration des lieux et parfois même une solution mécanique seule pour la partie sémaphore ou voyant.

Le but premier de cette boîte aux lettres automatique est d'envoyer un bip sonore par radio chez l'usager (Maison ou appartement) dès le dépôt d'un courrier par le facteur (Ce point de départ reste le leitmotive de la réalisation).
Cet appel radio est donc la base même du dispositif, mais on comprendra qu'il n'est pas suffisant pour une majorité de personnes ou "usagers" (De La Poste).
Le dispositif permet également de savoir si l'on a été absent, si il y a eu un courrier, par un dispositif électromécanique associé à la BAL (Boîte Aux Lettres) de type "voyant" ou "sémaphore" en plus d'un rappel matin et soir d'un courrier non récupéré.
(Seule la partie mécanique est différente entre ces deux solutions)
Un sémaphore électromécanique déporté pose plusieurs problèmes techniques de fond mais pour l'instant je ne l'ai résolu que mécaniquement.

Ce dispositif comporte 4 éléments distincts :
- Une nouvelle électronique plus simple avec un PIC 16F688 fonctionnant en interrupts
- Un bouton de sonnette radio standard 433MHz codé, ajouté au montage dans la BAL (Boite Aux Lettres)
- Un récepteur pour la sonnette 433MHz placé à portée radio (Appartement ou maison ?)
- Un sémaphore sur platine fixée à l'arrière de la BAL OU un voyant visible sur la porte de la BAL.

Cette BAL automatique fonctionne avec les BAL standard à une seule porte comme indiqué, mais également avec des BAL à 2 portes (Non vérifié, mais certainement encore mieux adaptées !)

La description parlera principalement de BAL à une seule porte, mais on verra la toute simple facilité et la nette amélioration pour une BAL à 2 portes qui évitera toute ambiguïté. Il faut cependant un paramètre pour différentier les 2 modèles (Voir par la suite les explications précises)

Malheureusement le problème reste très délicat pour les boîtes en groupement de type CIDEX, et je n'ai pas de solution pour celles-ci sans une coopération du facteur… (La Poste devrait voir d'un mauvais œil cette coopération qui ralentirait nécessairement le travail du facteur !)

Abréviations et définitions :
BAL           ---> Boîte aux lettres
CLAPET      ---> volet que l'on soulève pour introduire une lettre.
Usager       --->  propriétaire de la Boîte ou l'habitant
Porte         ---> trappe d'accès pour déposer ou prendre le courrier
Sémaphore ---> petit drapeau qui se lève sur le côté de la boîte
Voyant      ---> Petit hublot transparent laissant voir une couleur ou une autre sur un panneau porté par un petit moteur
RS232       ---> représente par abus de langage les liaisons séries RX et TX
MST          ---> Mise Sous Tension

1 Principes généraux

Le Facteur ou "préposé", soulève Légèrement, (Le mot a son importance) le clapet de la BAL et glisse le courrier ou les lettres en une seule fois, ou en plusieurs fois et/ou à quelques secondes d'écart si un voisin de passage par exemple, lui demande son courrier, ou si il trie sur place …
Il peut aussi ouvrir la BAL avec son passe-partout pour y déposer un petit paquet.

Tout de suite, que penser de cette action d'ouverture de BAL par le facteur OU par l'habitant dans la mesure où il n'y a qu'une seule porte ?

Cela induit un problème FONDAMENTAL qui est l'impossibilité pour le logiciel de savoir QUI a ouvert la BAL, et c'est là toute l'ambiguïté des BAL à une seule porte.

En effet dans un cas c'est l'usager qui prend son courrier et dans l'autre c'est un paquet déposé par le facteur.
Dans le cas des boîtes à deux portes, la distinction est faite par l'ouverture de la porte avant ou arrière et c'est une vraie sécurité d'interprétation par le logiciel. Il faut alors dans le cas de 2 portes éviter de tester si il y a déjà un courrier. Un paramètre en EEPROM permet de configurer 1 ou 2 portes. (1 porte par défaut)

Dans le cas de BAL simple porte le logiciel interprétera comme prise du courrier présent, une ouverture de porte par l'usager lorsqu'il y a DÉJÀ du courrier (l'Action de dépose d'un courrier est mémorisée). Dans le cas contraire le logiciel va conclure au dépôt d'un paquet par le facteur.

NOTA : Le facteur ne s'amuse pas à ouvrir avec son passe, une BAL pour y déposer une simple enveloppe !

Une fois un courrier déposé, on sonne une fois et on bloque toute nouvelle sonnette quelques secondes, car ce sont les aléas d'une tournée. Après ce temps on sonnera de nouveau lors d'une nouvelle ouverture du clapet.
(Il est en effet exclu de sonner à chaque lettre déposée à quelques secondes d'écart)

La nuit, le facteur ne passe pas, et en conséquence, il faut LAISSER LES USAGERS DORMIR et en cas de non relève de la BAL en fin de journée, on rappellera l'usager le soir à la tombée de la nuit (à une heure paramétrable), lorsque les gens rentrent du travail mais aussi le matin juste avant de partir au travail.
Ce point est certainement celui qui a le plus de conséquences au niveau hardware et logiciel, car cela implique de gérer l'heure légale avec une certaine précision, (Ce qui n'était pas le cas de la version précédente basée sur le seul éclairement de cellules)

Un courrier simplement glissé et coincé sous le clapet, qui ne sera pas tombé au fond de la BAL, ne doit pas sonner en permanence. (Ce cas anormal arrive si le facteur a bu une infusion de verveine au petit déjeuner, au lieu d'un bon café ! mais surtout dangereux pour votre vie privée, car n'importe qui pourrait voler ainsi votre courrier)

Dans tous les cas de courrier déposé de jour, le dispositif génère un appel par sonnerie radio chez l'usager, mais ce n'est pas tout.
Lorsque l'on est absent, un sémaphore ou un voyant sur la BAL indique visuellement la présence d'un courrier, et au retour on sait alors si il y a quelque chose à prendre. Ce dispositif électromécanique ne sera actionné qu'une seule fois contrairement à la sonnette.
Ce sémaphore (Ou ce voyant) sera remis à zéro mécaniquement par l'ouverture de la porte par un fil souple, principalement par économie d'énergie mais aussi par simplification du hardware.

Le dispositif de base fera appel à une sonnette radio du commerce (D'une dizaine d'Euros) que l'on détournera de sa vocation en la connectant (Sans son boîtier) pour sa partie émission à notre système.

Une sonnette radio du commerce (Le bouton) est en général équipée d'une petite pile cylindrique de 12V. Il est exclu d'avoir 2 sources d'énergie pour un tel dispositif automatique, car c'est trop contraignant et source d'interrogation en cas d'oubli de sonnette, aussi l'électronique devra générer le 12V pour la sonnette.

Un avertissement par 3 coups de sonnette sera donné lorsque l'accu Li-On atteindra 3.1Volts et le système se bloquera totalement à 2.9V pour préserver l'accu d'une décharge profonde.
L'énergie du système de la BAL sera donnée par un unique petit accu cylindrique de type Li-Ion de 1300 mA/h de 3.7V et devrait durer de nombreuses années sans recharge.

NOTA Important:

La détection de courrier par le clapet est suffisante et fiable si le clapet est parfaitement plaqué contre la porte. (Il ne doit y avoir aucun passage possible sans lever le clapet)
Dans le cas contraire cette détection serait aléatoire et nécessiterait la détection d'un courrier par des cellules ou tout autre dispositif. Il faut donc s'assurer de ce point avant toutes choses et mettre en état correct sa BAL.

(C'est ce que le premier projet faisait, mais c'est donc inutile et cela complique sérieusement).

Une autre possibilité serait de détecter le poids d'une lettre au fond de la BAL, mais là aussi c'est difficile de créer un détecteur pour des masses aussi faibles (optique, capacitif ???) et sur une surface assez grande relativement à une enveloppe classique. Cela ne résoudrait pas le cas d'une lettre coincée sous le clapet ou d'un simple prospectus !

A remarquer que pour éviter tout mouvement du clapet par le vent ou par l'action du fil du sémaphore déporté (Voir plus loin dans le texte), un petit aimant peut être mis entre la porte et le revers du clapet, ce qui sécurise la position fermée du clapet.

Le problème des clefs oubliées sur la porte de la BAL est peut-être un faux problème, car on ne peut reprendre sa clef qu'en fermant la serrure de la BAL. MAIS Il reste possible de fermer la BAL ET de laisser la clef dessus (Porte ouverte ou fermée d'ailleurs). La clef fait peut-être partie d'un trousseau complet, et on devrait normalement s'en rendre compte rapidement.
Les serrures ne comportent pas non plus d'indication de clef en place, qui est la vraie et seule condition d'un oubli après avoir ouvert la BAL.
Aussi, ce cas ne sera pas traité, car il n'est pas parfaitement identifié et risquerait d'être plus gênant qu'utile.

1.1 Le temps

Mais au fait, pourquoi gérer l'heure pour une boîte aux lettres ? Simplement pour les raisons suivantes :

- Lorsqu'un courrier est déposé et qu'il n'est pas récupéré par l'usager, celui-ci a peut-être été oublié suite à une dure journée ! Aussi, le soir à une heure paramétrée, on fait un rappel de sonnerie, de même que le matin avant de partir au boulot. (Un tel oubli peut avoir de fâcheuses conséquences, aussi il me semble important de rappeler qu'un courrier est présent (ou qu'il a été déposé de nuit))
 
- D'autre part, et point critique, passé une certaine heure le soir, il est exclu de sonner pour indiquer qu'un courrier est déposé (Certainement pas par le facteur, mais par des "parasites commerciaux" de tous poils ou des politiques en mal de mandats en cette période électorale et pourquoi pas quelques gosses mal élevés qui s'amusent…)

Alors, oui, L'HEURE LÉGALE est essentielle pour apporter l'information d'un courrier présent tout en préservant la quiétude des usagers.
Si ce point n'était pas respecté, alors ce système serait vite éliminé par ceux qui l'auraient trouvé initialement intéressant, mais qui auraient vite compris que c'est un frein à la tranquillité !

Mais… Qui dit temps dit aussi calendrier, années bissextiles, jour de la semaine, changements d'horaires, nombre de jours de chaque mois, bref, bien des complications, mais c'est le prix à payer pour avertir avec une précision correcte.

La gestion du temps est un problème majeur, car il faut se raccrocher aux heures légales de fonctionnement d'une majorité d'usagers, et en cela, ce sont les "heures de bureau" qui sont presque toujours prises en référence, avec pour décalage, les heures de retour à la maison, qui varient suivant que vous habitez Paris ou "Trifoullis les Oies".
Pour ceux qui n'ont pas la chance d'avoir des horaires fixes, alors ce dispositif peut se révéler nettement moins intéressant.

Dans le projet précédent qui était juste bien avancé en mise au point mais que je vais remplacer par celui-ci, c'était des cellules et l'ULPWU (Ultra Low Power Weak Up) qui étaient utilisés pour donner le temps à partir des heures "visibles" de lever et coucher du soleil (Par l'éclairement !).
Cette utilisation est très peu précise, car les heures de lever et coucher du soleil varient avec les saisons et les heures légales d'été et d'hiver ! Selon l'état atmosphérique (Nuages, pluie etc) la variation était aussi de la partie si bien que l'heure réelle était à quelques heures près !
Enfin le temps variait aussi avec le niveau de la tension des accus à cause de l'ULPWU qui est sensible à la tension d'alimentation du PIC !

Bref après avoir tourné en long et en large le sujet, je viens de décider de mettre une horloge à quartz sur l'oscillateur LP du PIC en Timer1. Cela consomme un peu de façon permanente, mais on gagne très largement en autonomie par d'autres aspects.
En effet cette horloge m'oblige à gérer les interrupts et tant qu'à faire, à les utiliser pour la totalité des évènements, ce que je ne faisais pas dans l'ancien projet où on était obligé de scanner.

Les signaux de la BAL et le temps seront donc traités en INT, et de ce fait tout le reste du temps le microcontrôleur se reposera de sa "grande fatigue" ! Les interrupts temps seront à une fréquence beaucoup plus faible qu'avec ULPWE et à 4 secondes, par opposition au scan précédent toutes les 50ms ! On voit ainsi le peu d'utilisation du CPU relativement à la solution précédente.
(Il ne faut pas oublier non plus qu'une BAL "se repose" 99.99 % du temps d'une journée !)

De plus le temps va devenir précis à quelques secondes près alors que dans le projet précédent c'était pratiquement à 1 heure près (Si pas plus !).

1.2 Saisie date et heure

Mais pour fonctionner ainsi, et c'est d'ailleurs pour cette raison essentielle que le projet précédent avait vu le jour, il faut donner en paramètres date et heure, mais comment donner ces éléments sans aucun organe d'entrée ? et sans liaison avec un ordinateur
C'est un point important !

La saisie des valeurs de date et d'heures pourra se réaliser de 2 (voire 3) manières différentes suivant le matériel que vous possédez.

La première manière est exclusivement manuelle (switch SW0=0) et consiste à soulever légèrement le clapet pour entrer date et heure selon une suite de 11 chiffres, juste après la mise en place de l'accu. C'est la seule méthode si vous ne possédez aucun matériel, mais cette méthode à le mérite d'exister !
C'est certainement un point un peu gênant de cette réalisation, et il faut reconnaître que rentrer un total de 11chiffres en manoeuvrant le clapet est un peu rébarbatif, mais il faut relativiser, car c'est pour plus de 10 années d'autonomie, alors cette vision négative devient un peu moins dramatique ! (Cela reste beaucoup plus faible que le contrôle technique de votre voiture tous les 2 ans après les 4 premières années !!!)

Ces 11 chiffres correspondent à l'année (2 chiffres), le mois (2), le jour (2), le jour de la semaine (1), les heures (2), les minutes (2).
(Voir la remarque d'un § précédent concernant le calcul du jour de la semaine par algorithme…)

Les secondes seront forcées à 0, comme pour mettre à l'heure une montre traditionnelle. La mise à l'heure des minutes sera donc en anticipation.

A la vue de ces éléments on sait depuis longtemps que le jour de la semaine est seulement de 1 chiffre (1 à 7)… et qu'il "casse" toute la logique de saisie en plein milieu, c'est pourquoi on le placera en tête de la saisie, car il n'est pas question de rentrer systématiquement un 12ème chiffre supplémentaire qui serait toujours un zéro.
(La règle retenue est le LUNDI=1 MARDI=2...DIMANCHE=7)
"Jsem" AA MM JJ HH MM (Les espaces et les quottes sont seulement pour la clarté du texte).
(Le programme générera automatiquement, pour l'homogénéité, les dizaines du jour de la semaine)

Les chiffres seront donc tous entrés les uns à la suite des autres, mais une fois la saisie d'un chiffre commencé, il faut respecter un temps maximum de 1 seconde entre chaque manœuvre du clapet (Pour un chiffre donné).

Passé ce délai, le programme considérera le nombre d'impulsions comme terminé pour le chiffre en cours et indiquera par un bip très court (ou "toc") la fin du chiffre.
Une impulsion d'un chiffre est donnée par le bref soulèvement du clapet
(Exemple  : pour le chiffre 3 ou soulèvera légèrement le clapet 3 fois).

Vous pouvez à la fin de chaque chiffre entré (juste après le "toc") vous reposer sans limite de temps, et c'est également pour cette raison que le zéro est entré sous forme de 10 impulsions.
(Une solution de timing différent pour le zéro obligerait à entrer l'ensemble des chiffres suivant un timing plus rigide et contraignant).

C'est aussi pourquoi j'ai choisi cette solution qui permet de se corriger éventuellement sur un chiffre en cours, mais aussi de revenir en arrière, voici comment :

Si l'on a fait trop d'impulsions pour la saisie d'un chiffre, il suffit de laisser le clapet levé et d'attendre les bips à 1 s. (Et non le "toc" dans ce cas) On pourra alors recommencer le même chiffre.
Si l'on se rend compte que c'est le chiffre précédent qui a déjà été validé par 1 s atteinte, alors il suffit de laisser le clapet ouvert dès le début du nouveau chiffre pour reculer d'un chiffre.
C'est donc les deux possibilités de correction en cours de saisie.

Il serait cependant illusoire de cumuler les reculs sans vision réelle et dans le cas d'erreur éloignée il est hautement préférable de recommencer en retirant l'accu et en court-circuitant l'entrée de tension du montage, (Car le montage continue de fonctionner assez longtemps sur la charge des condensateurs d'entrée).

Le guide par buzzer permet de lever les doutes
- 1 "toc" chiffre suivant
- 2 bips pour erreur avec retry du dernier chiffre
- 3 bips pour fin de saisie.

RAPPEL:
Le chiffre zéro (Autre que celui du jour de la semaine) devra toujours être rentré, mais zéro serait l'absence d'impulsion (ce qui est impossible), alors ce seront 10 impulsions qui feront un zéro. C'est pourquoi on évitera le plus possible cette valeur très longue à "fabriquer". (Génération automatique du zéro pour le jour de la semaine)

Bien qu'entre chaque chiffre, le temps ne soit pas compté, je recommande cependant d'aligner les chiffres sur un papier et de pointer pour éviter les erreurs.

Face à cette façon peu conventionnelle de saisir des chiffres, et des risques d'erreurs, un contrôle de vraisemblance des valeurs est effectué seulement à la fin de la saisie.
Les valeurs sont seulement contrôlées ne dépassant pas les valeurs limites de chaque entité. Ainsi pour le jour de la semaine 7, pour l'année 100 (Arrêt en 2099), 12 pour le mois, et les suivants respectivement  31, 23,59.
La vraisemblance plus précise comme pour un 31 Avril !!! (Mois de 30 jours) ne sera pas effectuée.
A vous, pour une seule fois pour 10 ans ou plus de ne pas faire d'erreur de saisie et de vous aider d'un petit pense-bête papier !
Bien qu'ayant décrié ce principe de saisie, je dois dire sans m'encenser que c'est tout de même très facile d'emploi avec le timing proposé.

La deuxième méthode :
Comme l'organe d'entrée des valeurs n'est pas particulièrement rapide et facile lors de la mise au point, il a été prévu également de rentrer ces données en RS232 en se connectant avec un portable et avec une interface série TTL. (SW0=1)
Dans ce cas on rentrera de la même manière la succession de chiffres dans le même ordre que manuellement. (Programme "Terminal" de Bray++) Vitesse 19200 bps exclusivement.

Les séquences de conversion d'impulsions et de vraisemblance pour des valeurs de comptage ou de valeurs ASCII sont communes aux deux procédés et ne sont PAS assujetties à la position du switch de sélection du mode d'entrée.

Le choix du mode de saisie ASCII est effectué par le switch SW0 qui devra être positionné à 1 AVANT la mise en place de l'accu, puis remis dans la position qui conviendra et qui est en principe 0 qui élimine toute sortie RS232 et représente donc le fonctionnement normal (Mode économie d'énergie).

Le switch SW0=1 a une deuxième utilisation mais cette fois EN COURS de programme. S'il est à mis à 1 durant l'exécution du programme, alors on préparera les données de contrôle qui seront envoyées en RS232. Il est évident que ce mode est consommateur de temps CPU, et qu'en fonctionnement normal ce mode est à proscrire pour l'autonomie.

NOTA :
On se retrouve de fait dans ce mode automatiquement après la saisie date heure en RS232.

La sortie RS232 est dans le format suivant qui renseigne date et heure mais aussi sur des valeurs internes :

(Jsem) AA MM JJ HH MM SS  (CTRL0) (CTRL1) (CTRL2) (ACCU) (C4S) (INTS)

Les valeurs entre parenthèses sont des variables qui ont servi à la mise au point. ACCU est la valeur hexa qui représente le nombre de pas de la tension mesurée de l'Accu. Un double espace sépare date et heure des variables internes.

Durant ce fonctionnement après saisie initiale, l'entrée RS232 permettra donc de corriger seulement l'heure et les minutes, sans avoir à tout rentrer de nouveau. (Ce fonctionnement était essentiel en mise au point pour vérifier les heures et minutes de rappel et de contrôle de l'accu mais peut présenter un intérêt en cas de dérive de l'oscillateur)
Une "mise à l'heure" n'est pas possible en mode manuel car elle se confond avec le fonctionnement de la BAL (Clapet)

Quelle autre solution aurait elle été possible pour entrer autrement et/ou automatiquement ces valeurs ?

L'entrée automatique de la date et de l'heure par le DCF77 aurait été ultra simple, mais dans une boîte aux lettres parfaitement étanche aux ondes radio, il faudrait faire une "verrue installée sous plastique" qui ne manquerait pas d'intriguer et de faire un sujet de bêtises des gamins livrés à eux-mêmes. (Pas possible d'utiliser une antenne filaire externe de petites dimensions. Il faut un bobinage sur ferrite, et donc en externe à la BAL)
De plus utiliser une seule fois ce dispositif est vraiment un luxe inutile, alors il ne reste que la solution toute simple de rentrer des chiffres par le biais du clapet de la BAL si vous n'avez pas d'ordinateur avec RS232 (Port COM1 ou 2 ou adaptation COMx par USB) !

Enfin, en fonctionnement normal, le switch permettra le suivi du programme par la RS232 ou au contraire de ne rien faire ou tout autre chose en situation stabilisée.
Ce switch a également une action sur la vitesse d'exécution du programme, car en mode RS232 le programme fonctionne à 4 MHz et inversement à 8 MHz en mode "normal" (Non ce n'est pas une erreur du texte, voir par la suite).

Un choix assumé encore concernant le jour de la semaine… Ce jour peut être calculé par des méthodes algorithmiques, qui ont le désavantage de nécessiter addition, multiplication et division alors que dans le programme, seules des comparaisons 16 bits sont nécessaires.
Aussi devant cette complication mathématique qui serait utilisée une seule fois pour 11 valeurs, j'ai préféré la simplicité de saisie d'un seul chiffre de plus pour obtenir ce jour de la semaine. Ce chiffre sera en tête des données saisies pour des questions d'homogénéité, car autrement il devrait être accompagné d'un zéro (avec ses 10 impulsions !!!)
(Connaître le jour de la semaine est nécessaire pour pouvoir changer d'horaire automatiquement les derniers dimanches de mars et octobre)

En dernière modification, je viens d'introduire une troisième méthode d'entrée de la date et de l'heure en pensant à ceux qui n'ont pas le convertisseur RS232 avec le PC, mais qui possèdent un codeur de PIC. (Je ne pense pas qu'ils soient nombreux, mais on ne sait jamais...)
Pour ce faire, uniquement en mode manuel (SW0=0), il faut attendre 1 minute sans rien faire pour que les paramètres en EEPROM soient pris en compte. Attention cependant, car il n'y a plus aucun contrôle de vraisemblance dans ce mode réservé aux "professionnels".
L'EEPROM est toujours chargée systématiquement avant le choix du mode d'entrée de date et heure, aussi les autres paramètres inclus dans l'EEPROM sont toujours pris en compte, puisque date et heure ne représentent qu'une partie des paramètres.
A cet effet certains utilisateurs pourront préparer date et heure en EEPROM du PIC, suivant le format qui suit, (Les autres paramètres sont des délais de saisie et de temporisation et des heures et minutes de rappel)  EE_VAL_C4S est une temporisation située juste après toute levée du clapet ou d'ouverture de la boite sans courrier présent. Cette valeur est fixée à 64 secondes. (Valeur modulo 4 secondes : 4x16=64)

- Quant à EE_Dly_2son, ce délai est dû à ce que la sonnette utilisée double toujours sa sonnerie et que si l'on veut sonner plusieurs fois de façon consécutive, il faut séparer les lancements. C'est donc ce temps de séparation minimum entre deux sonneries (En secondes cette fois, qui est de 5 secondes).

;********************************************************
; preloading EEPROM locations
;
    ORG    0x2100        ; Adresse début EEPROM

; valeur pour essais EEPROM

EE_Flag_Par    de    0x00    ; Bits de paramètres 1 seule porte default
;                              Bit0    0=1 porte    1=2 portes

EE_TPS700      de    50    ; delay 1 s entre chiffres saisie manuelle (50x20ms)
EE_secondes    de    0
EE_minutes     de    0
EE_heures      de    0
EE_jours       de    1    ; mois en cours
EE_mois        de    1    ; mois
EE_Annees      de    17   ; année
EE_Jsem        de    1    ; jour de la semaine 1 à 7 avec LUNDI=1
EE_jour_mois   de    1    ; jour du mois BINAIRE dans séquence bin8_bcd

EE_M_rap_mat   de    30   ; minutes de rappel du matin
EE_H_rap_mat   de    7    ; heure de rappel du matin
EE_M_rap_soir  de    35
EE_H_rap_soir  de    19   ; idem soir
EE_M_BAT       de    30   ; minutes test accu
EE_H_BAT       de    19   ; heures test accu

EE_VAL_C4S     de    16   ; compteur pas de sonnette durant 64 secondes autobloquant (16x4s=64)
EE_Dly_2son    de    5    ; delay entre 2 sonneries 5 secondes

        END                       ; directive 'end of program'

Ces paramètres sont toujours chargés à la MST préalablement à la saisie de date et heure et seules ces dernières valeurs (Date et heure) saisies peuvent recouvrir les valeurs EEPROM. En l'absence de saisie, en mode manuel, c'est la totalité de ces valeurs qui sont prises par défaut (Y compris date et heure !).

À quoi servira cette horloge ? Simplement à comparer les heures de début et fin de rappel

Les noms sont assez évocateurs, juste quelques petites précisions :

-EE_Jour_mois est le nombre de jours CALCULÉS pour le mois en cours est n'est pas à proprement parlé un paramètre et n'a donc pas vocation à être modifié. Cette valeur est calculée juste après saisie date/heure par n'importe quel moyen et toute modification serait donc écrasée.

-EE_Flag_Par est un Flag de paramètres bits dont seul bit0 est utilisé et permet de configurer 1 ou 2 portes.
-xx_rap_mat ou soir  concerne les heures et minutes de rappel du soir ou du matin


- deux sonneries (En secondes cette fois, et de 5 secondes).

Ces paramètres sont chargés préalablement à la saisie de date et heure et seules ces dernières valeurs (Date et heure) saisies peuvent recouvrir les valeurs issues de l'EEPROM. En l'absence de saisie, en mode manuel, c'est la totalité de ces valeurs qui sont prises par défaut (Y compris date et heure !).

À quoi servira cette horloge ? Simplement à comparer les heures de début et fin de journée pour ne pas être importuné la nuit, et à permettre les changements automatiques d'horaire été/hiver. Cette horloge permet ainsi de rappeler à des heures "décentes" que l'on a oublié de prendre son courrier et/ou que l'accu est faible. C'est simple mais c'est vraiment utile.

1.3 Alimentation et précision horaire

L'accu unique de 1300 mAH et 3.7V pourra varier de 4.1Volts à 3.1 V voire 2.9V, avec pour cette dernière valeur, blocage total du fonctionnement pour économiser l'énergie et éviter de détruire l'accu par une décharge profonde.

Normalement l'oscillateur à quartz devrait garder une précision suffisante dans ces conditions de tension variable.

Pour des questions d'autonomie et de simplicité, il n'y pas de régulateur de tension. Cela est corroboré par le fait de la difficulté d'avoir une régulation efficiente et peu gourmande dans une dynamique élevée de courant de quelques µA à quelques centaines de mA (Générateur 12 Volts et Moteur de sémaphore pour les mA)

Je fais donc le pari d'ajuster au mieux la stabilité de l'oscillateur et son quartz pour qu'il garde sa précision au détriment de son temps de démarrage par exemple, puisqu'il est en fonctionnement permanent.

Il y aura une mesure analogique de la tension de l'accu, qui sera faite une seule fois par jour, à une heure paramétrable et en principe un peu avant le rappel éventuel de fin de journée. (Un écart de 5 minutes est nécessaire entre ces deux valeurs)

Si cette tension tombe en dessous de 3.1V (mais > 2.9V), au lieu de sonner 1 seule fois en journée, pour un courrier, on sonnera 3 fois. De plus le soir et le matin on sonnera trois fois systématiquement pour indiquer le problème (Avec ou sans courrier).
Cela doit se traduire par le remplacement de l'accu par un nouveau, et la recharge de l'ancien.

Au niveau des interruptions temps (TIMER1), il est évident que plus cette fréquence est élevée, plus la consommation augmente, et plus l'autonomie diminue. Aussi, c'est seulement toutes les 4 secondes qu'il y aura une interrupt horloge avec mise à jour de l'heure et si nécessaire du calendrier. Cette faible récurrence est largement suffisante pour l'application.
(C'est par le report du TIMER1 que ce réalise le réveil du PIC)

1.4 I/O

Les I/O de détermination du processus seul sont seulement affectées à un ILS lié à la manœuvre du clapet et un micro switch lié à la rotation de la serrure de porte.
Pour rester dans les choses simples, l'ILS du clapet sera un modèle parfaitement standard avec l'inconvénient qu'il est de fait de type NO au repos, mais dans sa fonction avec le clapet il sera toujours fermé et entraînera donc une consommation de quelques µA. (On augmentera largement la résistance de pull up jusqu'à 2.2 Mohms pour limiter le "désastre" énergétique… mais voir ci après)
Des ILS de type NC existent mais sont beaucoup moins répandus, et si il y a beaucoup de demandes pour ce type particulier d'ILS, je regarderai à ajouter un paramètre ou à faire une version spécifique (Me le faire savoir par les commentaires)

En ce qui concerne le switch de la serrure (Contacts NO et NC) , on a la possibilité de le laisser ouvert, BAL fermée à clef. Il ne consommera donc rien !

Une autre I/O (RC0) est utilisée pour ALIMENTER une fois par jour la référence de tension qui permet de contrôler l'accu, et la référence de tension sera alors mesurée en nombre de pas. (Variation inverse relativement à la tension)

Pour une programmation facile par ICSP, l'I/O RA1 (ICSPCLK) sera utilisée par le switch de choix RS232 ou clapet ainsi qu'en mise au point. Quant à RA0 elle est affectée à la seule mesure analogique de l'accu.
La programmation ICSP peut donc se réaliser sans aucune déconnexion ni précautions particulières et les entrées restent à un potentiel fixé pour raisons de surconsommation de toute entrée en l'air (Recommandation Microchip).

Bien entendu, les deux I/O de l'oscillateur connectées au TIMER1 seront nécessaires pour placer le quartz, résistances et condensateurs associés.

En lieu et place d'une LED précédente peu adaptée, un buzzer piezo la remplacera. Le signal à 3.2 KHz sera généré par le PIC à fréquence d'horloge interne à 31 KHz !

(A noter qu'à force de vouloir économiser l'énergie, on finit par "se prendre les pieds dans le tapis", car à basculer sans arrêt la vitesse du processeur, dans les interrupts, en RS232, dans le processus lui-même, il faut penser à sauvegarder et restaurer OSCCON, et il y a des séquences temps réel dont on ne peut pas prévoir l'arrivée !... Alors dans ces cas il est préférable de rester à vitesse "normale").

Lors de la saisie, on peut perdre beaucoup de temps à faible vitesse et les timings prévus ne sont plus du tout compatibles, alors il vaut mieux parfois rester quelques instant à vitesse moyenne et rentrer les chiffres sans devoir recommencer pour l'exemple…!

La mise au point de la première version avait été difficile vu l'absence quasi-totale d'I/O d'interface générale, et j'avais bien senti cette difficulté en utilisant la RS232 (TX) pour suivre le programme.
Pour cette version, j'ai conservé bien entendu cette possibilité et même ajouté la RS232 en input cette fois pour la saisie/modification  de l'heure du système.

Et si je conserve pour les utilisateurs non équipés, la possibilité de rentrer date et heure par le simple mouvement du clapet, il faut bien reconnaître que lors d'une mise au point cela aurait été "infernal", aussi l'input RS232 avait dans ce cadre, toute son importance.
De même, lors du suivi de fonctionnement, on peut être amené soit à surveiller ponctuellement l'heure ou l'état des variables pour avoir la certitude du bon fonctionnement, mais aussi éventuellement (Et hors sujet) de pouvoir transmettre des données par une radio dédiée.
Dans ce cas, les consommations pourraient fortement augmenter. C'est pour ces raisons qu'un switch SW0 a été ajouté pour modifier ponctuellement le fonctionnement. Il devra cependant après toute connexion être rétabli sur zéro.

1.5 Le sémaphore ou le voyant

Initialement il n'y avait que la sonnette pour indiquer qu'un courrier avait été déposé par le facteur, mais cela s'est révélé insuffisant, car si vous êtes absent, vous ne pourrez pas entendre la sonnette et rien d'autre ne vous indiquera la présence d'un courrier.
Alors il faut bien indiquer sur la BAL elle-même qu'il y a quelque chose à récupérer. C'est le rôle d'un VOYANT qui est une petite ouverture transparente sur la porte, et laissant apparaître un témoin (Rouge ou noir selon l'activité) pour indiquer qu'il y a un courrier. (Voir sur la photo de tête d'article)

Ce voyant est très simple d'un point de vue réalisation, car l'ensemble est alors fixé sur la porte et facilement accessible.BAL_US
Mais un drapeau ou SÉMAPHORE (Comme à la SNCF) permet d'être vu à une bien plus grande distance et sans que l'on soit précisément devant la porte de la BAL. (Ce système existe déjà sur les boîtes à lettres US en forme de tunnel). Tous ces dispositifs électromécaniques sont de gros consommateurs d'énergie et pour limiter cela, mais aussi être très pragmatique, ce sémaphore devra être remis à zéro (Abaissé) mécaniquement par l'ouverture de la porte de la BAL.

(Dans le cas de BAL à deux portes, ce sera par la porte côté usager)
(Une action de remise à zéro impliquerait presque toujours une inversion de polarité et donc une consommation supplémentaire mais surtout une complication de conception au niveau du schéma).

BAL16
Un point important et qui peut sembler dérisoire et peu professionnel de ces dispositifs sémaphores ou voyants est l'utilisation de fil de pêche et d'anneaux en fil de cuivre rigide 1.5² ou 2.5² qui assurent les inévitables changements de directions.
Ces éléments permettent le réarmement par l'ouverture de la porte avec peu d'énergie et pratiquement sans friction et je pense réellement que cela résout parfaitement le problème tant fonctionnellement, qu'au niveau du coût.

Comme je n'ai pas voulu démonter la platine et que je n'ai pas eu la précaution de prendre une photo avant installation, j'ai pris la photo avec une glace et fait le miroir pour la voir en haut et à gauche de la BAL.
On peut voir le moteur avec son petit tambour d'enroulement du fil, le cabestan tiré d'un côté par le moteur et le fil et de l'autre par un fil qui passe dans l'anneau cuivre en haut et à droite et qui est attaché à la porte de la BAL.

Ces fixations du fil sont réalisées avec des émerillons à agrafe dont on enlève la partie émerillon seule pour ne conserver que l'agrafe qui permet un montage plus facile sans démontage de la platine.
Sous le cabestan il y a un petit roulement prisonnier de la cage fendue et soudée sur la platine.

Voyant ou sémaphore sont des micro moteurs d'appareils photo, de scanners d'imprimante ou de rasoir électrique !.
Ceci nous dirige de fait vers le paragraphe suivant…

1.6 Sémaphore déporté

Actuellement je ne peux pas voir ma BAL depuis la maison à cause de la végétation, aussi j'avais réalisé il y a fort longtemps un petit système déporté à contrepoids avec limitation de la course, mais l'inconvénient majeur est qu'il faut accrocher un petit ressort sur une petite palette solidaire du clapet pour voir le dépôt d'un nouveau courrier.

Si l'on veut réaliser un déport automatique, à ce jour je n'ai pas d'autre solution que de déporter la commande électrique du sémaphore avec sa petite platine, ainsi que son reset par l'ouverture de la porte, mais il faut reconnaître que ce n'est pas aussi simple et que les problèmes associés à la distance, aux intempéries et à la consommation outrancière seront nombreux.

Alors je vais donc conserver mon ancien système d'origine en faisant attention qu'il n'accroche pas les autres éléments en retombant et en l'améliorant avec du fil de pêche et quelques anneaux nouvelle formule.

Lors de la récupération d'un courrier (Et dans mon cas seulement), il faudra donc toujours raccrocher manuellement le petit ressort.

Si vous ne voulez pas de sémaphore ou voyant sur la BAL, alors il vous suffit de ne pas monter la partie électronique correspondante, mais vous pouvez tout aussi bien tout monter et ne pas brancher le connecteur.
La consommation sera de fait supprimée et l'autonomie devrait alors osciller entre 10 et 15 années pour les valeurs typiques de consommation du PIC.

1.7 Le générateur 12 Volts

Comme on ne peut pas tolérer 2 sources différentes d'énergie pour un projet aussi "bateau" en apparence, le générateur va permettre d'envoyer les sonneries en alimentant le bouton de sonnette en 12 Volts créé à partir du 3.7V.
Le montage va donc créer un instant du 12V pour le bouton de sonnette qui est alimenté à l'origine par une petite pile 12V.

C'est donc l'ensemble du système déjà alimenté par une seule pile lithium de 3.7V de 1300mAH qui assurera cette fonction. (On utilisera le petit convertisseur LM2703 déjà vu dans d'autres montages)
BAL07
Après vérification des trames émises par cette sonnette, l'action du bouton consiste en l'alimentation tant que dure l'appui, avec un appui minimum théorique de 70ms représentant la durée d'une trame. Mais par sécurité de transmission radio on alimentera durant 250ms. (Trames incomplètes ou de faible énergie en début ou fin d'alimentation photo ci-contre).
On peut vérifier que sur l'oscillogramme seulement 2 trames sont réellement complètes sur un ensemble de 250 ms depuis le début de l'alimentation du bouton.

Les condensateurs associés à cette partie production de 12V sont d'assez faible valeur pour limiter l'énergie perdue en pertes au delà des 250ms. On le voit parfaitement sur l'exponentielle de décroissance des trames.

Voici en photo pour ceux qui veulent voir le type de sonnerie utilisée, la partie récepteur radio du bouton de sonnette. Ces éléments sont en principe indissociables, à cause duBAL06 codage spécifique à chaque constructeur.

Lorsque vous achetez ces équipements, ils sont toujours ensembles.

2 Schéma

Il est simple et voulu ainsi pour que tout un chacun puisse s'en sortir sans difficultés.

schema_BAL

La consommation de ce montage est de l'ordre de 10 µA permanents et monte vers 16 µA durant un court instant toutes les 4 secondes. Ces valeurs correspondent aux valeurs de surveillance et ne tiennent pas compte de la consommation du Voyant ou du sémaphore qui dépendra pour beaucoup de votre propre réalisation.
(Les 10 µA permanents sont seulement  l'oeuvre de l'oscillateur temps sur TMR1 et c'est vraiment peu)

implant_bal

Le bleu représente le potentiel de masse et/ou le pooring, le rouge le Vcc ou tensions positives et le vert les signaux.
Seule la résistance R14 près du connecteur RS232 a du être ajoutée sur le circuit d'origine. Elle est intégrée ici.
Bien que le potentiel de la majorité des zones de masse soit fixé au Zéro volts, quelques zones trop petites ou isolées ont vu leur potentiel fixé par un run vert.
(La conception est réalisée avec DIPTRACE version Lite que je maîtrise maintenant de mieux en mieux)

3 Le programme

Celui-ci n'est pas très compliqué et travaille en Interrupts. Il est écrit en assembleur et a seulement posé quelques petits soucis techniques au niveau INT sur RA3 et WUE pour la RS232. (Voir §  "particularités")

L'organigramme est un peu indigeste, et une des grandes règles est de traiter uniquementSCAN257 les CHANGEMENTS, mais cela ne suffit pas toujours.

Au niveau du temps, bien que la séquence temps avec sa mise à jour soit relativement longue, cette partie est traitée intégralement dans la réponse à l'interrupt du TIMER1.
Je n'ai pas encore explicitement précisé, mais vous avez vu le schéma avec l'oscillateur 32.768 KHz qui attaque par un pré diviseur par 2 le TIMER1. C'est donc cet oscillateur qui interrompt toutes les 4 secondes le PIC dans son "sommeil" profond.

(Le choix de 4 secondes aurait pu être encore augmenté, mais avec seulement des nombres entiers, il n'est plus possible d'avoir une minutes entière)

Dans le contrôle de la tension accu, il y a deux étapes.
L'étape ultime si la tension passe en dessous de 2.9V est l'arrêt complet du processeur par la fermeture de tout ce qui peut être consommateur y compris l'oscillateur sur le TIMER1 dont on arrête aussi  le fonctionnement.
Il n'y a alors pas d'autre solution que de changer l'accu et de rebooter avec saisie complète de date et heure.
Entre 3.1 et 2.9 V il y a seulement signalement par 3 coups de sonnette au courrier et matin soir comme déjà indiqué.

Ces valeurs limites de tension exprimées en nombre de pas du convertisseur A/D sont issues de la mesure mais sont définies en EQU, aussi si elles ne conviennent pas, il est facile de les modifier.

Vous souhaitez télécharger le programme en version BAL_INT.HEX ? alors cliquez sur le lien : BAL_INT.HEX La version en cours est 016 (décimal). On peut vérifier cela à l'instruction d'adresse 1 du .Hex qui code 3410 (0x34 étant le RETLW et 0x10=16)

Pour le code source, on verra un peu plus tard..., car les entreprises avides de profit facile ne manquent pas de feuilleter sur Internet et cela ce sont des emplois qui sont perdus...

4 Diverses particularités

C'est la première fois que je joue avec la vitesse processeur suivant les instants, mais c'est un jeu difficile qui ne manque pas de se retourner contre vous au premier oubli !
J'ai également vu que vitesse élevée du processeur n'est pas synonyme de surconsommation, car entre 4 et 8 MHz par exemple, le rapport de consommation n'est pas de 2 mais , aux alentours de 1.4, ce qui peut permettre d'autant un temps en SLEEP plus long.

Ce sujet de la BAL automatisée est un sujet déjà vu sur Internet mais je n'ai pas trouvé à ce jour de réalisations similaires. Ce sujet n'est donc pas une invention destinée à révolutionner le monde des BAL, mais il présente par ses caractéristiques spécifiques un réel intérêt.

Je signale également que j'ai eu des problèmes d'interruptions parasites sur l'entrée RA3. Après de nombreuses vérifications et essais, je n'ai malheureusement pas pu déterminer l'origine de cette anomalie. Au lieu de remplacer RA3 par RA1 et réciproquement, j'ai préféré contourner par programme ce problème (avec 3 lignes de plus).
Cela me permet de ne pas massacrer le CI et d'avoir un fonctionnement sûr.

Le clapet utilise l'interruption INT sur RA2, le switch de porte utilise IOCA avec RA3. Timer 1, Timer 0, RS232 pour TX et RX utilisent également les INT.

Là aussi en attente de données RX pour date et heure, j'aurais aimé pourvoir passer en SLEEP, mais ça n'a pas été possible à cause du bit WUE de BAUDCTL, car je n'ai pas la possibilité de générer un break de 12 ou 13 bits  pour valider le réveil automatique, et le simple front négatif ne donne rien, mais je reste dubitatif cependant....
De ce fait, il est important que lorsque l'on passe par la RS232 (SW0=1), de ne pas perdre trop de temps en saisie de la date et heure sous peine de réduire l'autonomie (Bien que la consommation de 1 ou 2 mA ne soit pas un drame en soi !)

La RS232 fonctionne uniquement à 19200 bps. Dans le datasheet, je me suis fait prendre par BRG16 et BRGH. Si SPBRG est sur 16 bits, c'est BRG16 qui l'indique (et non BRGH !)
Des commutations de vitesse processeur alors que l'on transfert en interrupt avec TX, perturbent évidemment le fonctionnement du Baud Rate Generator, et cela fait partie des écueils liés à la modification de la vitesse processeur !!! Tant pis pour moi, un homme averti en vaut deux !

La majorité des délais longs est réalisée en modulo 4 secondes, cependant certains délais, processeur en fonctionnement (pas en SLEEP) nécessitent des délais plus courts, aussi ceux-ci sont issus du Timer0.

Dans le cadre des consommations excédentaires, la résistance élevée placée sur RX en RC5 a seulement pour rôle de fixer le potentiel RC5 en l'absence de connexion RS232, ce qui évite à RC5 de "bagotter" et de faire une surconsommation en SLEEP.

Les résistances sur les gates des MOSFET servent à faire des forçages mais permettent aussi d'éviter des courants trop importants sur les sorties de PIC dont on a déjà vu que cela pouvait poser des problèmes, car ces sorties sont mal adaptées à charger les condensateurs (Capacités de Gate)

La consommation totale en mode SLEEP est de 10 µA et est seulement le fruit des quelques fuites de condensateurs, des fuites des entrées et de la résistance de 2.2M sur RA2 mais principalement de l'oscillateur sur TIMER1 qui continue de fonctionner avec son pré diviseur à 2.
(Les autres étages du pré diviseur non utilisés sont-ils actifs et consomment-t-ils ? Non précisé par le constructeur mais ce serait intéressant de savoir ?).

Au niveau du générateur 12V, celui-ci est un peu surbooké en tension pour atteindre 14V, ce qui améliore la portée radio. L'entrée SHDN* n'a pas été utilisée, car inutile dans le contexte, puisque si vous regardez le schéma, et en supposant le Vcc directement sur Vin, vous vous apercevrez qu'en l'absence de commande SHDN*, la sonnette recevrait le Vcc en permanence par le biais de la self et de la diode D1, ce qui ne ferait pas du tout notre affaire…
Il est donc impératif de commander directement l'alimentation du LM2703 par le biais du MOSFET Q1 en laissant SHDN* à 1.

Allez, encore un petit truc… N'oubliez pas avecTIMER1 actif et SLEEP que la Synchro (T1SYNC de T1CON) doit être désactivée, sinon TMR1 ne comptera pas, puisque le CPU ne fonctionne pas…. !!!

Pour le MOSFET du sémaphore, vous pouvez prendre tout élément ayant quelques Ampères en continu. Le choix n'est pas très critique et j'ai utilisé un modèle de récupération (TO252) que vous pourrez facilement remplacer par un autre (6A 20V). Évitez cependant des modèles à plusieurs dizaines d'Ampères qui peuvent avoir des fuites plus importantes.

5 Réalisation

BAL_2_versionsOn peut voir sur la photo ci-contre, les deux réalisations. Celle sur le coin de la porte est l'ancienne avec en plus son CI oblique comportant les cellules.
(Le circuit décrit ici dans cet article est en place sous le rabat de l'entrée BAL).

Le nouveau circuit est donc fixé sur la porte de la BAL, avec des colonnettes soudées à l'étain sur la porte en fer (Au fer à souder de 100W), ce qui permet une accessibilité correcte. Les connecteurs seront placés du côté de l'emplacement des différents organes :
Clapet, sonnette et sémaphore à gauche, serrure, RS232 et accu à droite.

On regrette de ne pas trouver dans le commerce, de bac de piles (accu) pour cette dimension d'accu Li-Ion

Le nez de carte ICSP pour connecteur PCI bus PC est monté sur pins, et pourra être supprimé à terme après mise au point, donnant à l'ensemble une très faible épaisseur de moins de 1cm.

Un cache en matériau plastique transparent de type blister recouvre le CI (Ouvrir la photo dans un nouvel onglet pour mieux voir)

Le buzzer sera un simple disque piezo de récupération d'une vieille montre ou autre appareil que l'on placera dans une petit boîtier faisant office de caisse de résonance et collé au dos du CI. (Ici, tout fait d'origine !)

Suivant la version que vous réaliserez, vous mettrez la platine du sémaphore en haut à gauche de la BAL ou si c'est un voyant, juste en dessous du CI au milieu de la porte. Pour ma part la BAL étant en biais je n'ai que le côté gauche utile car l'autre est visible de la rue, mais vous pouvez placer le sémaphore à droite, ce qui réduit les distance de fil de pêche !

Pour toutes ces versions, le logiciel reste identique, y compris pour les BAL à deux portes qui nécessitent seulement de mettre en // l'ILS du clapet et le switch de la porte "côté facteur".
Le switch porte sera alors exclusivement raccordé à la "porte usager".MoyenneBAL05
Pour éviter de devoir ouvrir 2 fois la serrure dans ce modèle à deux portes, un paramètre EEPROM a été ajouté qui évite l'incertitude concernant la personne qui ouvrait la BAL à une seule porte.

Sur la photo ci-contre, on peut voir le bouton de sonnette dépouillé de son boîtier ainsi que le raccordement du fil d'antenne sur la spire émettrice, et qui passe par le fond de la BAL pour remonter en extérieur verticalement pour une longueur de 23 centimètres environ et à ajuster pour la meilleure réception.

6 La précédente réalisation

Elle avait été basée sur l'optique, dans un mode de scan sans interruptions, mais elle reste opérationnelle en mode ULPWU sans horloge et avec quelques bugs.
Elle est très peu précise au niveau des temps, aussi je ne la vante pas puisqu'elle n'a pas beaucoup d'intérêt. Elle a surtout servi de prototype en mettant en exergue les différents problèmes, tant d'opérabilité que d'adaptation.

BAL14Voici quelques photos de la réalisation qui seront en petit format pour éviter de faire du remplissage puisque ce n'est plus le sujet, mais certains organes comme les micro moteurs restent d'actualité.  (photo ci-dessous)
Seulement pour info, voici le schéma d'origine avec les cellules BPW34 (1 seule représentée) et sa commande d'alimentation qui au départ alimentait un AOP OPA2348, qui a d'ailleurs été supprimé par la suite, car non impératif.

Je l'ai remplacée à ce jour par cette nouvelle réalisation mieux adaptée et surtout plus précise et qui doit beaucoup moins consommer, car la gestion en INT seulement toutes les 4 secondes est au final beaucoup plus économique en énergie que la version ULPWUE avec scan toutes les 50 ms.

 

BAL15

La nouvelle version va donc vers la simplicité et une meilleure autonomie, d'autant qu'au final je ne regardais même plus les cellules toutes les 50ms mais seulement toutes les 10 minutes pour savoir où se positionner dans le jour ou la nuit !


BAL01

Cette version avait vu en premier lieu la réalisation d'un VOYANT pour indiquer la présence d'un courrier, puis après "découverte" du fil de pêche et des anneaux, la réalisation d'une platine sémaphore mieux adaptée à mon contexte.
Cette version, ni la nouvelle n'ont cependant permis de résoudre le problème d'un sémaphore DÉPORTÉ loin à l'extérieur de la BAL avec reset mécanique par l'ouverture de porte!!!

Sur la photo ci-contre, le voyant et le MOSFET de puissance étaient situés sous la pièce métallique blanche avec les fils noir et rouge qui partent vers le sémaphore. Vous aurez remarqué également les fils jaune et noir qui pendent, car ce sont ceux du moteur VOYANT alors que ceux connectés (Rouge et noir vont au sémaphore). (Phase de Mise au point)

Les flèches de couleur Cyan indiquent la présence du fil de pêche tant pour le sémaphore que pour le Voyant. Ils sont à peine visibles ! (Ouvrir l'image dans un autre onglet)

Cette précédente réalisation m'a cependant permis de débusquer un problème lié à la canicule qui sévit en ce moment...

Les courants de fuites augmentent sensiblement avec la température et j'ai constaté une action systématique du clapet, alors qu'il n'y avait rien.
Cela est dû à la résistance élevée de 2.2 M que vous pourriez remplacer par 1.8 M voire 1.5M si vous habitiez en plein Sahara.
Il est exact qu'avec une telle résistance élevée, je ne respecte pas les spécifications constructeur, mais l'autonomie m'a seule guidée, et je ne vais même pas changer cette valeur qui joue beaucoup sur l'autonomie.

J'ai également pu vérifier un point concomitant de l'autonomie en mode SLEEP, où je ne peux même pas mesurer avec précision le courant du montage en mode SLEEP, tant il est faible, alors mettre une résistance qui n'est là que pour consommer serait vraiment dommage.

Je rappelle qu'il existe des ILS normalement fermés (NF ou NC) et que c'est une excellente solution qui nécessite cependant la modification du programme. Je n'en ai pas, et j'utilise ce que j'ai ! C'est ma réponse à l'autonomie !!!

7 Conclusions

Un petit projet utile et très amusant qui a nécessité tout de même pas mal de travail.

Je dois faire une parenthèse sur l'utilisation des accus Li-ion … J'en ai passablement assez des mauvais accus Ni_MH du commerce qui ne valent rien et qui sont même plus mauvais que les vieux Ni-Cd.

Alors j'ai sauté le pas et j'utilise le plus possible ces accus Li_Ion de 1300 mA qui sont issus de récupération de packs de PC portables…
Mais attention ces accus sont délicats et leur utilisation sans leur régulation peut être très dangereuse, comme mettre le feu ou exploser.
Aussi je déconseille aux débutants ou non initiés de les utiliser ainsi sans électronique de contrôle.
Leur destruction par décharge profonde n'est en soi pas dramatique, car ce sera seulement une question d'Euros, alors que le feu d'une maison ou d'un appartement sera certainement beaucoup plus critique !!!!

Alors si vous n'êtres pas un "pro "du sujet accus Li_Ion, laissez tomber cet accu unique et mettez donc 3 piles ou accus R6, cela fonctionnera tout aussi bien.

Vous ne serez pas surpris des 2 trous effectués sur le clapet de la BAL, car ceux-ci avaient été réalisés pour la version précédente. Ils ne servent strictement à rien maintenant et sont juste là pour inciter les curieux à poser la question !!!!!

De même le Voyant a maintenant été démonté au profit du sémaphore, mais le trou subsiste encore, et un peu de mastic et de peinture devraient (peut-être) faire disparaître ces vestiges de l'ancienne version si il me reste un peu de courage !

Je publie avant d'avoir fait des essais de longue durée en situation réelle, mais l'ancienne version m'avait enseigné sur les problèmes spécifiques, aussi comme les vérifications statiques et les premières vérifications on été concluantes, je ne prends pas trop de risques. (Temps d'essais environ 2 semaines à ce jour)

Restez quand même à l'écoute d'éventuels soucis si vous réalisiez ce projet en cochant la case "Recevoir un email lorsqu'un commentaire est publié sur ce message.", située en fin de commentaire d'un article.

Un truc ! Si vous voulez contrôler que l'horloge ne dérive pas, il vous suffit de mettre un courrier sans ouvrir la BAL, et à l'heure de rappel vous aurez un coup de sonnette dont les heures et minutes devront correspondre au paramètre en EEPROM (7h30 et/ou 19h35). C'est simple et cela permet une vérification toute simple.

Vous pouvez aussi vous inscrire à la Newsletters pour rester informé des nouveautés.

Gilbert ferme un peu ton clapet va, que je puisse en placer une ! ?

bricolsec