Electronique > Réalisations > Minuterie 001

Dernière mise à jour : 22/05/2022

Présentation

Cette minuterie a été développée pour usage en cuisine, mais elle peut trouver sa place ailleurs (salon, cave ou terrain de foot).


minuterie_001_pcb_3d_a minuterie_001b_pcb_3d_a    

 

Elle dispose d'un affichage allant de 00:01 (1 seconde) à 99:59 (99 minutes et 59 secondes). Comme en pratique on a souvent besoin des mêmes temporisations, j'ai pensé qu'il serait pratique de disposer de touches "preset" qui appelleraient les temps de cuisson les plus fréquents. Par exemple une touche pour minuterie 3 minutes pour les oeufs à la coque, une autre touche pour minuterie de 4 minutes pour les croquemonsieurs, une autre touche encore pour minuterie de 7 minutes pour les pâtes, etc. Bien entendu, chaque preset doit pouvoir être modifiable à volonté, et on doit pouvoir spécifier n'importe quelle valeur sans appeler un preset.

Voici donc le descriptif d'une telle réalisation, qui se base sur un microcontrôleur PIC 18F2520. L'affichage du temps se fait sur des afficheurs LED sept segments dont le câblage est multipléxé. La fin de la temporisation en cours est signalée par une petite mélodie. 


Schéma 001

Un PIC, quatre afficheurs LED 7 segments et un "clavier" de 16 touches. Plus deux, trois choses à remarquer, à gauche ou à droite.


minuterie_001

Principe général de fonctionnement

Lorsqu'on met la minuterie sous tension, la dernière valeur de temporisation a avoir été utilisée est rappelée, mais le décomptage ne démarre pas. Il faut :

N'importe quelle valeur comprise entre 00:01 et 99:59 peut être enregistrée dans un des huit presets disponibles.


Coeur du montage

Le plus gros du travail repose sur l'emploi du PIC 18F2520, qui sait comme d'habitude se mettre au centre de la conversation et parfois même au centre des schémas. Ce composant exécute à la queue leu leu les instructions qu'on lui a fait ingérer, à la vitesse de base de 8 MHz, fréquence fixée par le quartz externe X1 (soit 2 MHz en interne, parce que c'est comme ça, un point c'est tout).

Si on y regarde de près, on ne réclame à ce microcontrôleur que peu de choses. D'un côté on lui demande de surveiller l'état des boutons-poussoirs SW1 à SW16 et de réagir quand l'un d'eux est enfoncé. D'un autre côté, on lui demande d'afficher une valeur temporelle sous forme de minutes et secondes. C'est peut-être cette tâche qui est la plus compliquée à écrire, à comprendre ou à imaginer. Ah si, une troisième fonction lui incombe : délivrer une petite mélodie pour annoncer que les carottes sont cuites.


Lecture des boutons poussoirs

On dispose de seize boutons-poussoirs dont deux broches sont câblées, on a donc besoin de 8 fils. Logique puisque 16 x 2 = 32 et que 8 est un sous-multiple de plein de nombres. Sérieusement, on utilise ici le principe de la matrice 4x4 (quatre rangées de quatre boutons, ou quatre colonnes de quatre boutons, cherchez la différence) qui permet de diminuer le nombre de liaisons entre les boutons et le microcontrôleur, le tout sans consommer d'essence. Un must ! 
   

minuterie_001_pcb_3d_keyboard  
   

Quatre lignes du PORTB du PIC envoient régulièrement des signaux tandis que quatre autres lignes du même port regardent si les signaux envoyés reviennent (ce qui n'arrive que si on appuie sur au moins un bouton). Un classique, qui ne l'est évidemment pas pour celui qui découvre ce procédé. Sans ce principe de matriçage (multiplexage), il aurait fallu 16 lignes au PIC pour y raccorder les 16 boutons-poussoir.

Important : n'ayant pas prévu de diodes de protection sur la matrice de boutons-poussoirs, il ne faudra pas presser plusieurs boutons en même temps, sous peine d'endommager le microcontrôleur ! (ceci dit, une erreur sur mon second prototype a mis en court-circuit tous les boutons-poussoirs, et le PIC est toujours opérationnel après correction).


Affichage du temps

L'affichage peut être assuré par quatre afficheurs individuels à cathode commune de type D350PK (comme indiqué sur le schéma 001), soit par un bloc d'affichage 4 digits où le multiplexage des broches est réalisé en interne, comme le HDSP-B09G (cathode commune) utilisé pour mon affichage LED 007 ou le CC56-21SURKWA (schéma 001b ci-après).

 
afficheur_leds_7_seg_4_digits_001a

   

Schéma 001b

Schéma identique au précédent, excepté pour la partie affichage où les quatre afficheurs 7 segments individuels ont été remplacés par un unique bloc d'affichage 4 digits.
   

minuterie_001b

   

Utilisation

-

Programmation d'un preset

La procédure à suivre pour enregistrer une durée donnée pour un preset donné est la suivante.

1 - S'assurer que la minuterie est en mode arrêt, c'est plus pratique.
2 - Utiliser les touches Min-, Min+, Sec- et Sec+ pour spécifier le temps désiré.
3 - Appuyer sur la touche SW16/Save, l'afficheur indique alors "Pr--"
4 - Appuyer sur la touche de preset désirée.

Ce n'est pas compliqué, il faut juste s'en souvenir.


Démarrage d'une minuterie

Pour une minuterie dont le temps est déjà programmé dans un preset, il suffit d'appuyer sur le bouton correspondant, puis d'appuyer sur le bouton START. Pour ma part j'ai adopté des temps allant croissant, depuis le premier bouton de preset jusqu'au dernier : Preset #1 pour réchauffage café pendant 30 secondes, Preset #2 pour bol de lait durant 1 minute, Preset #3 pour oeuf à la coque, etc.

Pour utiliser une durée qui n'est enregistrée dans aucun des presets, il suffit d'utiliser les touches Min-, Min+, Sec- et Sec+ et d'appuyer sur le bouton Départ. Notez que cette façon de faire permet l'usage d'une durée qui ne sera conservée dans aucun des huit presets, mais qui est tout de même sauvegardée et rappelée lors de la remise sous tension suivante (on pourrait l'appeler Preset #0).


Mélodie de fin de parcours

Quand le temps de la minuterie est écoulé, une petite mélodie se fait entendre dans un transducteur piezo. Le fait d'utiliser une séquence de plusieurs notes de hauteur différente permet d'entendre la mélodie même en présence de bruits parasites.


Sortie de commande

La sortie Out est à l'état bas quand la minuterie est en route et passe à l'état haut quand l'affichage arrive à terme (à zéro). Vous pouvez brancher sur cette sortie ce que vous voulez du moment que la chose ne consomme pas plus de 20 mA sous 5 V (une LED ou une interface pour lampe de puissance, par exemple). De mon côté, je n'utilise pas cette sortie.


Prototype

Deux prototypes de mon cru et un autre de Sébastien B., qui a légèrement complété la machine ;)

 
Mon prototype #1

Le montage a été testé avec succès avec ma platine de développement EasyPic7. Une petite plaque d'expérimentation sans soudure fait le lien entre la platine EasyPic7 et le clavier et circuit d'affichage à LED. Un seul composant sur cette plaque sans soudure, le réseau des résistances câblées sur les lignes du PIC qui vont au clavier matricé 4 x 4.


minuterie_001_proto_001a minuterie_001_proto_001b minuterie_001_proto_001d

Pour la partie affichage, j'ai utilisé mon affichage LED 007 qui intègre déjà les résistances et transistors de commande des digits. Logique, je l'avais justement fait pour me simplifier la vie lors de mes essais.

 
Mon prototype #2

Réalisation sur PCB pro avec 4 afficheurs 7 segments séparés (version 001).

   

minuterie_001_proto_rm_002a  minuterie_001_proto_rm_002b  minuterie_001_proto_rm_002d  minuterie_001_proto_rm_002c  

   

Les deux premières photos ci-devant ont été prises à 22 secondes d'intervale, un exploit que je suis en mesure de prouver. La troisième photo montre le système alors que je m'apprêtais à enregistrer une configuration dans le preset #3, une heure trente plus tard. La quatrième photo montre le transducteur piezo économique et extra-plat que j'ai installé pour l'avertissement sonore de fin de temporisation et dont le niveau sonore est ridicule (croyez-vous que cela ait un rapport avec son très faible prix - 1 euro les dix ?).

Avant que ce prototype fonctionne correctement, j'ai du corriger à la pince coupante et au cutter une erreur de routage au niveau des 16 boutons-poussoirs. J'avais en effet câblé ces derniers de telle sorte que toutes les liaisons de la matrice clavier 4x4 étaient en court-circuit ! Je ne comprenais pas pourquoi la minuterie se mettait en route dès la mise sous tension, alors que normalement elle devait attendre une action de ma part. Autre détail qui m'a troublé plusieurs minutes, il était impossible de programmer le PIC in situ (ICSP) et j'ai dû le programmer avec un  support extérieur. J'ai vite compris qu'un court-circuit franc entre les lignes PGC et PGD (à travers l'inénarrable matrice clavier) contrariait le programmateur... Le fichier PCB mis à disposition a bien entendu été corrigé.

    

Prototype de Sébastien

Plus qu'un simple prototype, puisqu'il s'agit d'une réalisation complète, duement mise en boîte.


minuterie_001_proto_sb_001a minuterie_001_proto_sb_001b minuterie_001_proto_sb_001c minuterie_001_proto_sb_001d

Commentaire de Sébastien : Le biniou pilote un four électrique (environ 16A) commandé par un petit contacteur avec une isolation galvanique (4n25) pour isoler le 12V= (relais) de la sortie microcontrôleur qui est en 5V= au cas où le transistor de sortie (BC557) viendrait à faiblir je n'aurai pas de court-circuit entre le 5V= et le 12V=. J'ai ajouté un petit ampli mono à la sortie buzzer pour qu'on l'entende de loin. De tout cœur je te remercie pour toute l'aide que tu m'as apportée pour le montage et ses modifications.

Merci Sébastien pour ces retours et photos ! A noter que pour cette minuterie, le logiciel du PIC a été légèrement revu, pour diffuser en boucle une petite mélodie de fin qu'on doit arrêter manuellement. Pratique quand on s'est absenté quelques minutes... ou quand comme moi on met parfois la musique un peu forte (la musique me donne du courage pour le ménage, le repassage et la vaisselle).

   

Logiciel du PIC

Fichier binaire compilé (*.hex) prêt à flasher dans le PIC et code source MikroPascal Pro (V5.30), dans l'archive zip que voici :

Minuterie 001 - 18F2520 (version du 19/11/2015)

Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

   

Circuits imprimés (PCB)

Réalisé en double face pour les versions 001 (quatre afficheurs 7 segments séparés) et 001b (bloc afficheur 4 x 7 segments).

 
minuterie_001_pcb_components-top  minuterie_001b_pcb_components-top  

   

Circuits imprimés (PCB) au format PDF - versions 001 et 001b du 21/05/2022

   

Historique

22/05/2022
- Ajout photos du second prototype de la version 001.
- Correction circuit imprimé (PCB) des deux versions 001 et 001b, au niveau des 16 boutons-poussoirs.

30/01/2022
- Ajout schéma avec bloc d'affichage unique à 4 digits (001b).
- Ajout dessin de circuit imprimé (PCB) pour les deux versions 001 et 001b.

05/05/2019
- Ajout photos réalisation de Sébastien B., que je remercie pour ses retours.

22/11/2015
- Correction bug sur sortie principale (sortie non activée en fin de temporisation).

15/04/2012
- Première mise à disposition.