Dernière mise à jour :
09/04/2017
Présentation
Les deux montages proposés ici (004 et 004b)
reposent sur un PIC 16F628A. Le premier (004) permet de s'assurer que
la valeur de fréquence d'un signal
nominal de 50 Hz (ou vitesse de rotation de 3000 RPM) est comprise
entre deux valeurs limites de 48,5 Hz (2910 RPM) et 51,5 Hz (3090 RPM).
Le second (004b) permet un fenêtrage de contrôle autour de 700 RPM
(entre 11,65 Hz et 11,68 Hz).
L'indication dans/hors fourchette est assurée par plusieurs LED.
Schéma 004 (3000 RPM)
J'aurais préféré ne pas mettre de quartz, mais on n'est pas toujours maître de ses émotions.
Indications
Trois LED indiquent en
permanence si la fréquence du signal à surveiller est dans la
fenêtre, en-dessous ou au-dessus.
- LED1 (passage sous seuil bas) : s'allume si la fréquence à surveiller
est inférieure au seuil bas;
-
LED2 (entre les deux seuils) : s'allume si la fréquence à
surveiller est comprise entre les deux seuils bas et haut;
- LED3 (passage sur seuil haut) : s'allume si la fréquence à surveiller
est supérieure au seuil haut.
Et deux autres LED donnent des indications suplémentaires/complémentaires.
- LED4 (dépassement seuil central) : s'allume si la fréquence à surveiller
est supérieure à 50 Hz (3000 RPM).
- LED5 (absence signal) : s'allume si le signal d'entrée est de fréquence trop basse ou absent
Principe de fonctionnement
Le principe repose sur le comptage d'événements réguliers (issus d'une horloge de fréquence fixe et connue) entre
deux transitions du signal logique dont on souhaite surveiller la
fréquence. Pour ce faire, un compteur
est régulièrement incrémenté par une horloge interne réglée à 100 us
(interruptions TIMER1). Le comptage commence sur un front montant du
signal extérieur et s'arrête sur le front montant suivant. Le montage s'apparente donc
à un périodemètre, qui s'avère être d'une bien plus grande
précision que celle d'un fréquencemètre, quand il s'agit de mesurer des fréquences basses ou très basses.
Entrée signal à surveiller
L'entrée
se fait directement sur la broche RB0 du PIC, configurée en entrée.
Comme le signal appliqué sur cette entrée peut être entaché de petits
défauts (petites surtensions par exemple), une diode zener écrête
toute amplitude trop généreuse, le courant dans la diode zener étant
limité par R6.
Indication par LED
La
comparaison de fréquence du signal entrant par rapport aux seuils bas
et haut est très simple. On compare le nombre d'impulsions
comptabilisées entre deux transitions montantes, avec les nombres
d'impulsions qui correspondent aux seuils bas et haut. Sachant
que la fréquence du signal d'horloge utilisé pour le comptage
est de 10 kHz (période 100 us), calculons le nombre d'impulsions N qui
seront comptées pour différentes fréquence du signal d'entrée F.
- pour F = 47,0 Hz / 2820 RPM => période = 21276 us (21,2 ms) => N = 212
- pour F = 48,0 Hz / 2880 RPM => période = 20833 us (20,8 ms) => N = 208
- pour F = 48,5 Hz / 2910 RPM => période = 20618 us (20,6 ms) => N = 206
- pour F = 49,0 Hz / 2940 RPM => période = 20408 us (20,4 ms) => N = 204
- pour F = 50,0 Hz / 3000 RPM => période = 20000 us (20,0 ms) => N = 200
- pour F = 51,0 Hz / 3060 RPM => période = 19607 us (19,6 ms) => N = 196
- pour F = 51,5 Hz / 3090 RPM => période = 19417 us (19,4 ms) => N = 194
- pour F = 52,0 Hz / 3120 RPM => période = 19230 us (19,2 ms) => N = 192
- pour F = 53,0 Hz / 3180 RPM => période = 18867 us (18,8 ms) => N = 188
Le procédé est simple et permet une précision au
quart de Hertz (0,25 Hz). En passant, les fins observateurs que vous êtes
auront noté que le nombre N est en relation directe avec la période du
signal à mesurer, ce qui est normal puisque la base de temps est de 10
kHz. On aurait bien sûr pu faire beaucoup mieux au niveau de la
précision, ne serait-ce qu'en utilisant le module CCP1 du PIC. Ce sera
pour un prochain article ;-)
Nous avons donc pour résumer :
- La LED1 qui s'allume si F < 48,5 Hz (vitesse rotation < 2910 RPM)
- La LED2 qui s'allume si F >= 48,5 Hz et <= 51,5 Hz (vitesse rotation >= 2910 RPM et <= 3090 RPM)
- La LED3 qui s'allume si F > 51,5 Hz (vitesse rotation >= 3090 RPM)
- La LED4 qui s'allume si F > 50,0 Hz (vitesse rotation >= 3000 RPM) (*)
- La LED5 qui s'allume si F est très basse, ou en cas d'absence du signal d'entrée
Et tout cela avec un minimum de composants !
(*) Dans la dernière version du logiciel (16/09/2016) cette LED
s'éteint
si F > 50,0 Hz. Le demandeur souhaitait en effet commander un relais
via un transistor NPN, le niveau logique de RA4 a donc été inversé et
une résistance de rappel vers VDD a été ajoutée (elle remplace la LED4).
Petits détails...
- Le connecteur J3/ICSP permet de programmer le PIC "in situ", c'est à dire sur la carte même où le PIC est implanté.
- La sortie Test délivre un signal de 10 kHz (interruptions Timer1).
- Les LED peuvent être des modèles standard quelconque (voir
alim LED pour calcul résistances).
- Le condensateur de découplage d'alimentation C3 doit être placé au plus près de U1 (PIC 16F628A).
-
Les lignes d'entrée SetLo (RB4) et SetHi (RB5) pourraient servir, dans
un avenir plus ou moins proche, à ajuster les seuils haut et bas, par
exemple dans une fourchette allant de 45 Hz à 55 Hz.
Schéma 004b (700 RPM)
Même principe de fonctionnement que précédement, mais "seuil de bascule" fixé à 700 RPM.
L'horloge
interne qui sert à compter les évènements externes conserve la
même période de 100 us. Le nombre d'impulsions comptées entre deux
fronts du signal entrant est donc plus élevé (environ 4 fois plus).
Logiciels du PIC
Logiciels non disponibles sur ce site.
Circuits imprimés
Non réalisés par mes soins.
Historique
09/04/2017
- Ajout schéma 004b (contrôle de vitesse 700 RPM).
18/09/2016
- Première mise à disposition (schéma 004, contrôle de vitesse 3000 RPM).