CHOUR - Régleur de montres mécaniques / chronocomparateur d'atelier RM4
© Pascal Chour V1.0 - 2019-2022
Présentation
PC-RM4 est un chronocomparateur d'atelier destiné au réglage des montres mécaniques.
Ses principales fonctionnalités sont les suivantes :
- Sélection du nombre de battements par heure.
- Possibilité de paramétrage d'un nombre de battements non standard.
- Déclenchement, pause, reprise ou réinitialisation de la mesure.
- Mesure et affichage de la différence entre la période mesurée de la montre et la période attendue.
- Mesure et affichage de la différence entre la durée d’un « tic » et la durée d’un « tac ».
- Mesure et Affichage du nombre de secondes d’avance ou de retard par jour.
- Mesure et affichage de la différence temporelle entre la durée d'un « tic » et la durée d’un « tac ».
- Affichage graphique du signal avec calcul de l'amplitude et possibilité de régler l'angle de levée.
- Sélection des fonctions par écran tactile.
- Mode simulation pour se familiariser avec le chronocomparateur sans utiliser une montre réelle.
Sa résolution est de l'ordre de 25ns ce qui autorise une précision de mesure sur 24heure de l'ordre de 0,02s à la précision de la base de temps près (on peut tabler sur 0,01%).
Si vous faites de l'électronique en amateur, son coût de réalisation est de l'ordre d'une cinquantaine d'euros, essentiellement dus à la carte processeur (DevEBox) et l'écran LCD 320x280 pixels. Vous pouvez aussi utiliser le circuit imprimé que j'ai développé pour une vingtaine d'euros (je fournis avec quelques éléments mécaniques comme l'interrupteur, la prise jack femelle, la prise RCA et le porte-pile femelle qui se soudent directement sur le circuit imprimé).
INFORMATIONS CONNEXES
Principe des montre mécaniques
Chronocomparateur PC-RM1, une version à base d'Arduino
Capteur pour chronocomparateur pour avoir des idées sur la façon de faire un capteur.
Cartes de développement STM (ressources)
Si vous souhaitez monter ce chronocomparateur, je peux vous fournir un circuit imprimé vierge (20€ plus port).
MODE D'EMPLOI
Avertissement : certaines photos d'écran ont été prises avec l'écran 3,2", définition 320x240, d'autres avec l'écran 3,5", définition 480x320. Evidemment, ces dernières sont plus jolies mais il ne faut pas se laisser impressionner. La version 320x240 est beaucoup plus belle dans la réalité que sur les photos.
Par ailleurs, il peut y avoir de légères différences entre les photos d'écran et la réalité, le programme évoluant régulièrement mais pas les photos. Par contre, les textes de description sont normalement à jour.
Aspects matériels
D'un point de vue externe, le chronocomparateur se présente ainsi :
- Écran d'affichage graphique 320x240 avec TouchScreen.
- Entrée pour le branchement du capteur (prise jack). Vous trouverez des exemples de capteurs sur la page PC-RM2.
- Sortie permettant de récupérer le signal analogique amplifié pour le brancher sur un autre appareil (par exemple, un oscilloscope).
- Entrée via une prise DIN permettant d'injecter un signal généré par une montre qui est déjà amplifié par un autre appareil (voir PC-RM2).
- Commutateur permettant de sélectionner l'entrée pour un capteur non amplifié de celle pour un capteur amplifié.
- Potentiomètre permettant de régler le gain de l'amplification du signal reçu du capteur.
- LED qui clignote selon les battements de la montre lorsque le gain de l'amplification est correctement réglé.
- Cordon secteur avec prise de terre pour l'alimentation de l'ensemble.
- Interrupteur marche-arrêt.
Lorsqu'un capteur est connecté sur la prise Jack (commutateur en position "signal non amplifié") ou sur la prise DIN (commutateur en position "signal amplifié"), le chronocomparateur acquiert le signal reçu pour effectuer les mesures.
La LED clignote en fonction des signaux reçus. Si elle ne clignote pas, cela signifie que l'amplification est insuffisante ou que le capteur ne génère pas de signaux. Si elle clignote erratiquement, cela signifie que l'amplification est trop importante. Si elle clignote régulièrement, l'amplification est correctement réglée.
Fonctionnalités
Les principales fonctionnalités sont :
- Sélection des battements.
- Choix du mode de fonctionnement : mode de mesure réelle (une vraie montre) ou mode de mesure simulée (un générateur interne simule le fonctionnement d'une montre).
- Mesure des paramètres temporels de la montre.
- Fonction scope (affichage du signal sous une forme analogique) avec mesure de l'amplitude.
- Paramètrage (réglage de l'angle de levée de la montre (par défaut, 51°), langue (français, anglais), calibration, etc.).
- Réglage du TouchScreen.
Ces différentes fonctionnalités sont détaillées ci-après.
Ergonomie
Les différentes fonctionnalités sont proposées à travers des affichages et des saisies par boutons tactiles qui ont des caractéristiques communes :
- Les boutons non sélectionnés ont généralement un fond vert, blanc ou jaune.
- Les boutons sélectionnés ont généralement un fond rouge.
- Les boutons inactifs ont un fond gris.
- Lorsque cela est utile, la prise en compte de l'appui sur un bouton est signalé par un clignotement rapide du bouton.
- Tous les écrans (sauf celui d'accueil et le réglage du TouchScreen) ont un indicateur de synchronisation du chronocomparateur :
- Lorsqu'il est vert, le chronocomparateur est synchronisé sur un signal valide.
- Lorsqu'il est orange, le chronocomparateur est synchronisé sur un signal valide mais de temps à autre, le signal est perdu.
- Lorsqu'il est rouge ou qu'il clignote rapidement, le chronocomparateur n'est pas synchronisé avec un signal (absence de signal ou signal ayant une forme incorrecte).
- En mode simulation, l'appareil est toujours synchronisé.
Calibration TouchScreen
Lors de la première mise sous tension, l'appareil affiche un écran de calibration du TouchScreen. On sort de cet écran lorsque le calibrage est réussi.
Pour calibrer le TouchScreen, il faut appuyer avec le stylet sur les croix qui sont affichées. Si le calibrage réussit, on passe directement à l'écran d'accueil. Sinon, le programme redemande une calibration.
Les données de calibration sont sauvegardées dans une mémoire alimentée par pile (modèle CR1220, sa durée de vie est de plusieurs années).
Une fois le calibrage du TouchScreen effectué, les mises sous tensions suivantes ne proposent plus cet écran de calibration.
Ecran d'accueil
C'est le premier écran affiché lorsque la calibration du TouchScreen a été effectué.
Il est affiché pendant environ 2 secondes. Si l'on appuie deux fois sur cet écran avec le stylet durant son affichage, l'écran qui suit sera celui de calibration du TouchScreen. Sinon, on passe à l'écran de sélection du battement.
L'écran d'accueil affiche :
- la version du programme et sa date (exemple: Version 2.1 07/2022).
- Le processeur utilisé et la carte de développement (Exemple: STM32_F4VE, DevEBox).
- Le contrôleur écran et sa définition (Exemple: ILI9341 320x240).
- Le contrôleur Touchscreen (Exemple: ADS7846).
Sélection d'un battement
Cet écran affiche des boutons indiquant les battements possibles pour la montre à régler. La valeur sélectionnée par défaut est indiquée par un bouton avec un fond rouge (celle du choix précédent ou la première valeur disponible s'il s'agit de la première mise sous tension). Il donne également accès à l'écran de mesure des mesures temporelles de la montre ("Mesure") et à un écran de paramétrage du chronocomparateur ("Param.").
Pour choisir un battement, il suffit d'appuyer sur un des boutons affiché. La prise en compte de l'appui est indiqué par un clignotement du bouton qui reste ensuite en rouge.
A noter que le dernier battement proposé est paramétrable (voir bouton "Param." et écran de paramétrage). Il est signalé sur fond jaune lorsqu'il n'est pas sélectionné.
La valeur sélectionnée est conservée en mémoire sauvegardée.
Le bouton "Simulation" permet de faire fonctionner le chronocomparateur avec un simulateur de signal interne. Les mesures sont alors effectuées sur la base de ce simulateur. L'option est inactive par défaut.
Mesures temporelles de la montre
Cet écran affiche :
- DiffTicTac : la différence de durée entre un Tic et un Tac avec l'unité de mesure la plus adaptée (microseconde, milliseconde, seconde, *** si dépassement de capacité.
- Diff. Periode : la moyenne de la différence entre la durée des battements mesurés et ceux attendus avec l'unité de mesure la plus adaptée (microseconde, milliseconde, seconde, *** si dépassement de capacité. Cette moyenne est calculée sur une durée de 4 secondes.
- Moy. Periode : La moyenne de la différence entre la durée des battements mesurés et ceux attendus avec l'unité de mesure la plus adaptée (microseconde, milliseconde, seconde, *** si dépassement de capacité. Cette moyenne est calculée depuis le début de la mesure (ou depuis la dernière réinitialisation de la mesure).
- A/R Jour : L'avance ou le retard sur 24h00.
- On notera que la valeur la plus petite affichée est de 1µs, qu'il s'agisse de valeurs ou du graphique. Par contre, les calculs se font tous en multiple de la période d'horloge qui est de 23ns (nanoseconde) pour une fréquence de 42MHz.
Un affichage en nanoseconde pour une montre mécanique n'a pas semblé très utile. Pour une montre qui bat à 18000 coups par heure, un écart de 1µs sur une demi période représente moins d'une seconde de décalage par jour.
De même, l'affichage graphique de la marche de la montre est limité a un décalage de 1ms par demi-période par rapport à la marche normale. On rappelle que pour une montre qui bat 18000 coups par heure, un décalage d'une milliseconde par demi-période représente un écart journalier de près de 15mn. Il y a sans doute autre chose à faire avant de penser à effectuer un réglage de la précision de la montre. - La marche de la montre. Il s'agit de la partie graphique de la mesure qui reprend le principe du remarquable Vibrograf, qui est utilisé par également tous les chronocomparateurs de ma connaissance et auquel les horlogers sont habitués.
Pour chaque Tic ou Tac, un point ou un tiret est affiché relativement au précédent. S'il arrive plus tôt que prévu, le nouveau point sera placé plus haut que le précédent. S'il arrive plus tard que prévu, il sera placé plus bas.
Au bout de quelques mesures, on a donc le tracé d'une ligne qui donne une première indication sur la marche de la montre.
De plus, il est courant qu'il y ait une légère différence entre la durée d'un Tic et celle d'un Tac. On notera que cette différence n'a pas forcément d'impact sur l'avance ou le retard, la durée supérieure d'un Tic pouvant être compensée par la durée inférieure d'un Tac (ou l'inverse). Par contre, sur le graphique, cela se traduira par deux ligne parallèle s'il existe une différence de durée.
On a donc une représentation qui sur le même graphique donne la marche générale de la montre (orientation du tracé) et les différences éventuelles entre un Tic et un Tac que l'on doit minimiser.
La photo de la marche ci-contre provient de la mesure d'une vieille montre chinoise bas de gamme achetée dans un lot. Elle est remarquablement régulière et je n'ai pas eu besoin de sortir le mécanisme de son boitier pour faire la mesure. Il faut dire que ce mécanisme, s'il est précis, est assez bruyant et m'a également servi pour des tests de capteurs à base de microphones.
Pour résumer :- une seule ligne quasiment horizontale indique que la montre n'a ni retard, ni avance et que les durée d'un Tic et d'un Tac sont identiques. C'est le cas idéal.
- deux lignes quasiment horizontales indiquent que la montre n'a ni retard, ni avance mais que les durée d'un Tic et d'un Tac sont légèrement différentes.
- Le même raisonnement s'applique si les lignes sont obliques à la différence près que l'orientation vers le bas ou vers le haut indique que la montre avance ou retarde.
- S'il existe des irrégularités entre les Tic et les Tac qui se traduisent par des points qui sortent périodiquement de la marche normale (oblique ou droite), cela signifie qu'il y a un problème mécanique, probablement du côté de l'échappement.
Les commandes disponibles sont :
- un bouton permettant de mettre la mesure en pause. Lorsque la mesure est en pause, d'autres boutons sont affichés (retour à l'écran de battement, reprise de la mesure, réinitialisation de la mesure (toutes les données précédemment mesurées sont perdues)).
- un bouton sur fond vert marqué "Scope" qui permet d'accéder à la fonction "scope" (visualisation graphique du signal).
- Des boutons "+" et "-" que l'on pourrait qualifier de "zoom" permettent d'augmenter ou diminuer la précision de la trace (marche de la montre). Si la précision de la trace est grande (1µs par exemple) et que le décalage du battement est important, les mesures sortiront de la zone d'affichage. Le zoom permet de réduire cette précision afin d'avoir un affichage qui tient dans la zone de traçage. Inversement, une précision d'affichage trop faible (par exemple, 1ms) pour un décalage faible du battement de la montre risque de ne pas faire apparaitre les défauts de la montre.
La valeur du zoom courante est sauvegardée en mémoire non volatile et est donc restituée après chaque mise sous tension. Elle est affichée au milieu à droite de l'écran de mesure en µs. 1µs signifie que chaque point en hauteur de la zone d'affichage représente 1µs. 10µs signifie que chaque point en hauteur représente 10µs, etc. jusqu'à 1000µs. - Un indicateur de synchronisation "S" qui est sur fond vert si le chronocomparateur est synchronisé sur le signal reçu ou sur fond rouge s'il est désynchronisé. Le chronocomparateur est désynchronisé lorsque la durée d'un Tic ou d'un Tac dépasse 1,5 fois la valeur attendue. Il passe alors dans un état où il tente de se resynchroniser. Il peut également prendre la couleur orange lorque le chronocomparateur est synchronisé mais que certains Tic ou Tac sont perdus.
Quelques vues de mesures. La première série de 3 photos provient d'un mouvement Lorsa 237B qui a besoin d'une sérieuse révision. La première photo représente la mesure alors que le mouvement est horizonal. La courbe est caractéristique d'une amplitude insuffisante. Lors de la seconde mesure, le mouvement est vertical et les différences de temps entre Tic et Tac deviennent trop importants pour que l'affichage soit lisible. Il faut passer à une résolution de 1000µs pour qu'il soit de nouveau interprétable (3ème photo). Pour information, l'amplitude est de 150° !
La série de deux photos suivantes provient d'un mouvement chinois neuf 2813 (automatique et date) qui coutait environ 15€ en 2019. Pour la première photo, le mouvement est horizontal. On note une petite irrégularité périodique qui doit pouvoir se régler par un simple nettoyage dans le meilleurs des cas. Pour la seconde photo, la mouvement est vertical. La précision s'améliore légèrement mais on retrouve le défaut cité précédemment. Pour information, l'amplitude est de 272°.
Indicateur de synchronisation
Un indicateur de synchronisation comportant la lettre "S" est présent en bas à droite de l'écran de mesure temporelle et plusieurs autres écrans. Cet indicateur est de couleur verte si l'appareil a réussi à se synchroniser avec la montre, orange s'il a réussi à se synchroniser mais qu'il perd des signaux de temps en temps, ou rouge lorsqu'il n'est pas synchronisé. La synchronisation se déroule de la façon suivante :
- L'appareil recherche une absence de signal d'une durée qui dépend du battement choisi et qui se situe entre 1/4 et la moitié d'une demi période.
- Lorsqu'il en a trouvé une, il attend le premier front montant qui correspond normalement à la phase de "dégagement" de l'échappement (voir cette page si vous ne voyez pas de quoi il s'agit). A partir de ce moment, l'appareil se considère comme synchronisé.
- Il se considère comme désynchronisé si aucun signal n'apparait après 1,5 fois la demi-période d'un battement.
Fonction scope
Cet écran affiche :
- L'amplitude (en degré) du balancier et la période d'échantillonnage du signal (ce qui a une certaine importance pour interpréter les résultats). L'angle de levée pour le calcul de l'amplitude est par défaut de 51° (le cas le plus courant). Il est paramétrable (voir écran de paramétrage). Pour rappel, l'amplitude se calcule ainsi : Amplitude = (3600 * AngleDeLevée)/(T*Π*n) ou T =T1-T3 exprimé en secondes, Π est le nombre Pi et n, le nombre de battements par heure.
- La trace du signal de la montre : en abscisse, le temps, en ordonnée, la tension générée par l'amplificateur du chronocomparateur qui provient du capteur de mesure de la montre.
- Le bouton "Pause" : il permet de mettre la mesure en pause. Lorsque la mesure est en pause, d'autres boutons sont affichés (retour à l'écran de battement, reprise de la mesure, réinitialisation de la mesure (toutes les données précédemment mesurées sont perdues)).
- Le bouton "scope" sur fond rouge : il permet de revenir à l'écran de mesure des paramètres temporels de la montre.
- Les boutons de zoom ("+" et "-") : ils permettent de zoommer le signal. Un appui sur "+" augmente la largeur des impulsions de chaque Tic Tac et diminue donc le nombre de Tic Tac affichés. Inversement, un appui sur "-" diminue la largeur des impulsions de chaque Tic et Tac mais permet d'en avoir plus à l'écran.
La valeur du zoom courante est sauvegardée en mémoire non volatile et est donc restituée après chaque mise sous tension. - L'indicateur de synchronisation "S" en bas de l'écran : il est en vert si le chronocomparateur est synchronisé, en rouge sinon. Eventuellement en orange pour signaler que des Tic et des Tac sont perdus.
- Le bouton marqué "S" en haut de l'écran : Par défaut, il est en rouge (actif). Cela indique que les affichages se déclenchent sur un front montant (T1) du signal en provenance de la montre. Si le chronocomparateur n'est pas synchronisé, il ne peut pas y avoir de déclenchement et il n'y a donc pas d'affichage (ou alors, très sporadiquement).
Si l'on souhaite forcer les affichages (pour voir ce qui se passe...), on peut appuyer sur ce bouton qui passe alors en vert (inactif). Dans ce cas, le chronocomparateur affiche en permanence ce qu'il acquiert. - Le bouton marqué "F0"..."F3" qui désigne le filtre actif :
- "F0" : pas de filtre. Le signal visualisé est celui qui a été capturé. Le bouton est en vert.
- "F1" : Moyenne glissante. Le bouton est en rouge (vrai pour tous les filtres différents de "F0").
- "F2" : moyenne glissante et atténuation selon une exponentielle inverse.
- "F3" : repliement et atténuation parabolique. Les signaux descendant sont atténués selon une fonction parabolique ce qui diminue les écarts brusques entre deux signaux.
On passe d'un filtre à l'autre en appuyant sur ce bouton (après "F3", il revient à "F0").
Note sur l'amplitude
Le calcul de l'amplitude se fait en mesurant le temps entre la première et la troisième impulsion d'un Tic ou d'un Tac en considérant qu'il y a une deuxième impulsion entre les deux (voir Scope pour plus de précisions).
La première impulsion détectée par le chronocomparateur détermine T1
T3 est le front qui correspond à la plus forte amplitude dans la fenêtre de mesure (normalement, T2 a une amplitude plus faible que T3).
L'amplitude est calculée sur une moyenne glissante de mesures successives pour l'angle de levée indiqué dans l'écran de paramétrage. Cette amplitude est très sensible à de faibles décallage de T3-T1. Pour illustrer ce point, voici un petit exemple numérique :
La formule de calcul de l'amplitude est : Amplitude = (3600 * AngleDeLevée)/(T*Π*n) ou T =|T1-T3| exprimé en secondes, Π est le nombre Pi et n, le nombre de battements par heure. Pour cet exemple, on suppose que la montre bat 18000 coups par heure et que son angle de levée est de 51°.
- Une montre correctement réglée devrait avoir une amplitude d'au moins 270°. T3-T1 vaut dans ce cas environ 12ms.
- Supposons un décalage de 1ms. Avec 1ms en moins, l'amplitude sera de l'ordre de 295°. Avec 1ms en plus, l'amplitude sera de l'ordre de 249°
- 1ms peut sembler une erreur de mesure énorme (c'est de l'ordre de 8% du T3-T1 pour 270°). Si l'on considère maintenant une incertitude de mesure de l'ordre de 0,1%, on aura :
- Pour un décalage de 120µs en moins, on sera aux alentours de 273° et pour 120µs en plus, aux alentours de 267°.
Avec 120µs, on peut déjà avoir des doutes sur le fait que le mouvement est dans sa meilleure forme. En pratique, si vous observez le battement de beaucoup de montres, vous constaterez que le déclenchement de T3 peut varier bien au delà des 120µs par rapport au meilleurs T3-T1 avec comme conséquence, une moyenne de l'amplitude qui aura tendance à être pessimiste. Il faut juste avoir ce point en tête lorsqu'on interprète la valeur affichée par le chronocomparateur.
Note sur la synchronisation
Pour effectuer ses mesures, le chronocomparateur a besoin de détecter les premiers fronts des signaux générés par les tic ou les tac. Lorsque c'est le cas, l'appareil est correctement synchronisé.
Comme on le voit sur la figure ci-avant, le signal est composé d'une ligne de très faible amplitude (encadrée par les deux lignes en bleu) et de pics à interval périodique.
Pour détecter le premier front, le déclenchement de la synchronisation doit se faire pour une valeur supérieure à la ligne de faible amplitude. Si le seuil de déclenchement se fait à une valeur inférieure, l'appareil ne pourra pas se synchroniser.
La ligne de faible amplitude est un bruit plus ou moins aléatoire qui est produit par tout élément électronique. Du bruit extérieur peut s'ajouter à ce bruit interne. Par exemple, les éclairages à LED ou d'autres équipements électriques peuvent générer du bruit qui sera capté par les éléments conducteurs qui composent l'appareil, par exemple, son câble d'alimentation ou le câble qui relie le capteur au chronocomparateur.
Si le bruit est trop important, il peut noyer le signal utile. Dans ce cas, toute synchronisation est impossible. Il faut en trouver la cause et l'éliminer (par exemple, parfois, il suffit d'éteindre un éclairage à LED trop proche).
La fonction scope visualise ce bruit comme le reste du signal et permet de détecter quelque chose d'anormal.
Pour améliorer la synchronisation, le programme introduit une fenêtre d'occultation dont le principe est le suivant :
Supposons qu'un certain Tic intervienne au temps T1. Le suivant doit intervenir au temps T2 = T1+durée d'une demi période.
La fenêtre de mesure autorisée est centrée sur T2. Les impulsions ne sont prises en compte que dans la zone verte. Si une impulsion survient dans la première zone grisée en rouge (avant T2), elle est ignorée. Si l'impulsion survient au delà de la zone verte, cela signifie probablement qu'un signal a été perdu. Le chronocomparateur ignore cette donnée et tente de se resynchroniser sur une autre impulsion.
Pour une montre qui bat à 18000 coups par heure, la demi-période (durée entre un Tic et un Tac) est de 200ms. Si l'on choisit une durée d'occultation de 9/10, les impulsions ne seront prises en compte qu'entre T1+180ms et T1+220ms.
Une durée d'occultation de 9/10 de la demi-période permet d'éliminer les phénomènes parasites.
Note sur les filtres et l'échantillonnage
Le signal affiché provient de mesures qui sont faites à intervalle de temps régulier, comme sur un oscilloscope numérique. Cela signifie que certains phénomènes peuvent ne pas apparaitre si leur durée est inférieure à la période d'échantillonnage.
Supposons que l'échantillonnage soit de 50µs. Cela signifie que l'appareil prend une mesure toutes les 50µs. Entre deux mesures, les éventuels signaux qui pourraient être présents ne sont tout simplement pas pris en compte.
Si un signal a une durée de plus de 50µs, il apparaitra, parfois sous la forme d'un simple trait.
Dans une montre, il est peu probable que des signaux aient une durée inférieure à 50µS. Les ordres de grandeurs sont plutôt de l'ordre de la milliseconde. Toutefois, cette durée de 50µs varie selon le zoom que l'on utilise. Si on veut visualiser le signal sur une longue période (par exemple, 4 Tic ou Tac), le signal affichée représentera une durée de 800ms pour une montre qui bat 18000 coups par heure. Sur un écran de 360 pixels de large, chaque pixel représentera donc 2ms ce qui arrive dans les ordres de grandeurs des signaux de faibles durées sur une montre. Il y a donc plus de risques de manquer certains signaux.
On pourrait sur-échantillonner mais à un moment, il faudra bien réduire l'ensemble des mesures pour qu'elles soient affichables sur un écran d'une définition donnée. Cette réduction devra se faire via un traitement qui est en fait un filtre. Et le choix d'un filtre a une conséquence sur la représentation graphique qui est donnée du signal et qui peut ne ne pas avoir grand chose à voir avec sa représentation réelle, telle qu'on pourrait la voir sur un oscilloscope analogique par exemple. Il faut donc dire quelques mots sur les filtres, leur intérêt et leurs limites.
Un filtre est un traitement qui a pour but de mettre en évidence certains phénomènes et/ou d'en éliminer d'autres. Le résultat de l'application d'un filtre sur le signal brut modifie donc la forme de ce signal, parfois de façon très importante. Prenons quelques exemples :
- Certains signaux peuvent présenter des bruits parasites qui n'apportent pas d'information particulières. Supposons qu'il y ait des pics fins et élevés de temps en temps. Ces pics peuvent provenir d'une particularité du capteur par exemple. Un filtre pourra avoir comme objet de supprimer ces pics parasites qui gênent la lecture du signal sans pour autant modifier trop le reste du signal.
- Lorsqu'on mesure l'amplitude, ce qui nous intéresse est de déterminer T1 et T3. Un filtre pourra voir pour objet d'isoler T1 et T3 et supprimer le reste de la mesure afin de permettre la mesure de l'intervalle de temps. Le signal résultant pourra n'être constitué que de deux barres (T1 et T3), le reste du signal ayant disparu.
- Tout système de mesure introduit un bruit de fond qui en pratique, n'a rien a voir avec le signal utile. Un filtre pourra avoir pour objet de supprimer ce bruit de fond sans trop altérer le signal utile et sans faire disparaitre des phénomènes parasites proches du bruit de fond.
Il existe toute sortes d'algorithmes de filtres numériques. Mais évidemment, tous ne sont pas applicables à un domaine particulier.
Dans PC-RM4, 3 filtres sont proposés à la date de rédaction de cette page (06/2022). D'autres pourront être ajoutés par la suite s'ils s'avèrent utiles.
Le premier filtre (F0) est... l'absence de traitement (de filtre). Enfin, pas tout à fait puisqu'il faut bien mettre en forme le signal pour qu'il tienne sur l'écran. Et en pratique, l'amplificateur (analogique) a une fonction de filtre passe-bande qui élimine les signaux basse fréquence (typiquement, ceux introduits par le secteur) et les signaux haute fréquence qui n'ont rien à voir avec une montre. Néanmoins, on peut considérer que ce qui est affiché à l'écran est la représentation la plus fidèle de ce que la montre produit, à la fréquence d'échantillonnage près.
Le second filtre (F1) calcule une moyenne glissante de chaque point du signal et effectue également une symétrisation (pour un signal au dessus de la valeur moyenne, on ajoute sa contrepartie en dessous de la valeur moyenne, et inversement). Concrètement, le filtre a tendance à lisser l'enveloppe de la courbe du signal et donne les résultats visuels les plus intéressants. Il élimine également une grande partie du bruit de fond. Par contre, en conséquence, un signal de faible amplitude risquera de disparaitre de l'affichage.
Le troisième filtre (F2) applique d'abord le filtre F1 puis réalise le traitement suivant (l'explication ne considère que la partie du signal supérieure à sa valeur moyenne) :
- Si le signal à t+1 a une valeur Vt+1 supérieure à celle du signal à t (notée Vt), alors le signal affiché est Vt+1. On initialise T = t+1.
- Si le signal à t+1 a une valeur Vt+1 inférieure à celle du signal à t et notée Vt, alors le signal affiché est f(Vt) ou f est une fonction d'atténuation enVt.e(-ΔT/A) ou ΔT est le temps écoulé entre t+1 et T, A est une constante.
- et pour t+i, tant que Vt+i inférieur à Vt, le signal affiché est Vt.e(-ΔT/A) avec ΔT, le temps écoulé entre t+i et T.
- Si le signal à t+i a une valeur Vt+i supérieure à celle du signal Vt, alors le signal affiché est Vt+i et T = t+i.
Ce filtre est particulièrement efficace pour mettre en évidence T3 (et T2).
Le quatrième filtre (F3) ne visualise que la partie supérieure du signal par rapport à sa valeur moyenne (la partie inférieure est ramenée sur la partie supérieure). Il privilégie les fronts montants et leur applique une fonction d'atténuation sur leur partie descendante. Il n'est pas très intéressant visuellement mais peut aider à l'identification de T1 et surtout T3, et éventuellement, T2.
Mode Simulation
En mode simulation, le chronocomparateur génère le signal d'une montre qui a un décalage de {+100µs, -110µs} autour de sa demi-période avec des petites variations aléatoires de 10µs de part et d'autre de la valeur nominale.
Ces petites variation entraînent une différence entre le Tic et le Tac d'environ 180µs et une différence sur la période qui peut varier entre un peu moins de 10µs jusqu'à près de 2ms selon le battement sélectionné. La raison de cette différence importante vient d'un effet de bord de l'implémentation. En simulation, le temps pour la période et la demi-période d'un battement est fourni en millisecondes (alors qu'en mesure réelle, les temps sont calculés en nanosecondes). Considérons un battement de 19800 coups par heure. Le reste de la division de 3600 par 19800, 0,181818181... La partie entière de la demi-période du battement est donc de 181 en milliseconde mais vaut 181181181 en ns. On a donc une différence de 181181ns ce qui n'est pas négligeable rapporté à 24h00. Cet effet de bord a été jugé intéressant car il permet de voir comment l'affichage varie lorsqu'une montre est très déréglée.
En fonction du paramétrage (voir "Paramétrage"), il est possible de changer le sens du décalage ce qui provoque, soit une avance (le signal va se déplacer vers le haut de l'écran), soit un retard (le signal va se déplacer vers le bas de l'écran).
Paramétrage
Quelques paramètres du chronocomparateur peuvent être modifiés via l'écran de paramétrage :
- Battement spécifique : de 1 à 99999. Il apparaitra sur fond jaune dans le menu de sélection des battements.
- Angle de levée : de 10° à 90°. Pour mémoire, la valeur la plus courante est 51°.
- Orientation de la courbe de marche de la montre lorsqu'on est en simulation (haut ou bas).
- Langue d'utilisation : par défaut français. l'anglais est également implémenté en version de base.
- Ajustement (calibration) du chronocomparateur.
Pour modifier un paramètre, il suffit d'appuyer dessus avec le stylet.
Deux options de sorties sont disponibles : "Valid.", les valeurs saisies sont validées et enregistrées en mémoire sauvegardée, "Annul.", les valeurs saisies sont ignorées, les valeurs d'origine ne sont pas modifiées.
Pour les valeurs nécessitant une saisie numérique, le programme affiche un clavier basique comportant un afficheur qui affiche la valeur courante du paramètre. Le clavier comporte :
- 10 chifffres (0 à 9).
- Un bouton "V" qui valide la donnée saisie et permet de revenir à l'écran précédent.
- Un bouton "C", qui met l'afficheur à la valeur 0 (zéro).
- Un bouton "A", qui permet de revenir à l'écran précédent sans prendre en compte les éventuelles saisies.
- Selon les cas, un signe + ou -. On change le signe en le sélectionnant à l'écran. Si le signe est "+", il passe "-" et inversement.
Langage
La langue par défaut est le français. L'anglais est également implémenté. Il est très simple d'ajouter une autre langue (les textes sont regroupés dans un endroit unique) mais il faut recompiler le programme.
Ajustement (calibration)
Comme tout appareil de mesure, le chronocomparateur peut nécessiter une calibration. Dans le cas présent, il s'agit de déterminer la valeur à additionner ou soustraire au temps mesuré pour un Tic ou un Tac afin qu’elle soit correcte.
Cette valeur dépend de plusieurs facteurs qui ne peuvent être déterminés à l’avance : précision du quartz, temps de transit des signaux…
Pour effectuer l’ajustement, il faut disposer d’une base de temps sûre. Il peut s’agir :
- D’un générateur basse fréquence précis. Dans ce cas, réglez le générateur pour qu’il génère une impulsion par seconde sous une tension entre 1 et 2V crête (le rapport cyclique n’est pas critique tant qu’il reste inférieur à 50%. Pour ce qui est de mes tests, il est de 6,5%.) et injectez le signal sur l’entrée non amplifée du chronocomparateur.
- À défaut, d’une montre analogique à quartz précise disposant d’une aiguille marquant les secondes. Dans ce cas, placez la montre sur un capteur branché sur l’entrée amplifiée (si le capteur n’est pas amplifié) ou externe (si le capteur dispose de son propre amplificateur).
Effectuez une mesure temporelle et notez la différence (ou la moyenne de la différence) par rapport à la période attendue. Supposons qu’elle soit de -90.0µs.
Allez dans l’écran de paramétrage et saisissez cette valeur en nanosecondes (en complétant avec des 0). Pour -90.0µs, vous saisirez donc -90000.
Validez la saisie et refaite la mesure. Vous devriez obtenir une différence de 0.0µS. Si c’est le cas, le chronocomparateur est calibré.
La valeur est sauvegardée en mémoire permanente.
La valeur par défaut de la calibration vaut -90000 qui se trouve être celle du prototype de PC-RM4.
Que Faire si...
L'indicateur de synchronisation est en rouge. La LED en façade est toujours allumée ou éteinte.
Vérifiez que vous avez branché le capteur et qu'une montre qui fonctionne se trouve dessus.
Vérifiez que le niveau de sensibilité est suffisant (réglage par potentiomètre).
Vérifiez que vous avez sélectionné le bon battement.
Vous pouvez vérifier la présence ou l'absence d'un signal de la façon suivante :
- Sélectionnez la fonction "mesure" puis "scope".
- Dans la fonction "scope", désélectionnez l'acquisition sur synchronisation (bouton "S" en haut de l'écran qui est en rouge (actif) dans le cas général. Lorsque vous le déslectionnez, il passe en vert (inactif).
- Regardez le signal à l'écran. Si vous avez une ligne continue avec de très faibles variations, cela signifie qu'aucun signal arrive sur le chronocomparateur. Si le niveau de sensibilité n'agit pas ou s'il ne fait qu'agmenter ou diminuer le bruit de fond, il est possible que le capteur soit mal branché ou en panne (fil déconnecté dans une prise par exemple).
- S'il y a un fort signal sur tout l'écran, il est possible que le capteur soit mal branché. Il est aussi possible que l'appareil ne soit pas branché sur une prise munie d'une terre. Enfin, il est possible qu'un appareil (ou un éclairage) situé à proximité du chronocomparateur émette des parasites.
- Si vous avez un signal périodique typique d'une montre, il est probable que vous n'avez pas sélectionné le bon battement.
L'indicateur de synchronisation passe de rouge à vert en permanence. La LED en façade clignote de façon irrégulière.
Agissez sur la sensibilité en la diminuant ou en l'augmentant. Un niveau trop faible fait que certains signaux ne seront pas détectés ce qui fait perdre la synchronisation. Inversement, une sensibilité trop élevée peut introduire des signaux parasites issus du bruit de fond.
Vérifiez que vous avez sélectionné le bon battement. Si vous avez des doutes, essayez en plusieurs. Ayez en tête qu'il peut s'agir d'un battement non standard. La fonction de paramétrage vous permet d'entrer des battements non standards.
Dans l'écran de mesures temporelles, des points s'affichent n'importe-où sur l'écran.
Il est probable que le zoom est trop élevé. Appuyez sur la touche "-" jusqu'à ce que l'affichage présente une seule ligne ou deux lignes plus ou moins parallèles. Pour mémoire, le nombre affiché à gauche de l'écran dans la zone d'affichage graphique indique le nombre de µs par pixel sur l'écran. S'il affiche 1000µs, cela signifie qu'un pixel représente 1ms. S'il affiche 1µs, un pixel représente 1µs. Si au zoom minimum (100µs), les points continuent de s'afficher n'importe où sur l'écran, il est probable que vous avez une montre fortement déréglée avec un très grand écart entre le Tic et le Tac. Il faut d'abord procéder à une révision de la montre avant de tenter de régler sa marche.
Dans l'écran de mesures temporelles, la trace de la marche de la montre est presque verticale.
Vous avez une montre dont l'avance ou le retard est très élevé. Regardez la valeur "A/R Jour" pour vous en convaincre. A noter que la trace tendra d'autant plus vers la verticale que le zoom sera élevé.
La valeurs de l'amplitude semble élevée.
En zoom maximum, si le signal bouge beaucoup de droite à gauche et de gauche à droite, il est probable que la sensibilité n'est pas suffisante. Du coup, de temps en temps, la mesure se déclenche sur T1 et d'autres fois, sur T2 ou T3. Essayez d'augmenter la sensibilité.
Vous voulez régler une pendule
PC-RM4 n'est pas dédié qu'aux montres. Il peut être utilisé pour régler des mécanismes d'horloges dont on peut connaire le battement et qui génèrent un choc périodique (typiquement, au niveau d'un échappement) ou un bruit audible ou un mouvement qui peut être détecté par un capteur optique. On peut construire toutes sortes de capteurs selon les usages et les raccorder, soit à l'entrée amplifiée si le capteur génère un signal très faible (quelques millivolts), soit à l'entrée non amplifiée si la tension générée est de l'ordre de quelques centaines de millivolts. Vous trouverez un exemple de capteur piezo (PC-RM2-PZ-3) ainsi qu'un capteur optique (PC-RM2-OPT-2) utilisables par PC-RM4 pour le réglage d'un mouvement de Paris. Et cette page vous donnera quelques idées sur la façon de procéder.
REALISATION
Schéma bloc
Le schéma bloc se présente ainsi :
Alimentation
Le chronocomparateur se connecte directement au secteur avec prise de terre. L'alimentation délivre une tension continue de 5V. La consommation est de l'ordre de 200mA en continu (5V).
Module de traitement
Le bloc "traitements, affichages, saisies" est une carte de développement à base de STM32F407 accompagnée de son écran LCD avec TouchScreen. Elle est alimentée en 5V continu (rouge sur le schéma) et délivre une tension de 3.3V (orange sur le schéma) qui est utilisée pour alimenter d'autres parties du montage.
Amplificateur
Il s'agit d'un montage adapté de celui proposé par le site Watchoscope. Il utilise un quadruple amplificateur opérationnel.
Logique signal
Ce bloc transforme le signal analogique en signal logique selon un automate qui est décrit plus loin. Il est composé d'une double bascules J/K et est alimenté en 3,3V (orange sur le schéma).
Vue globale
Le signal non amplifié provient typiquement d'un capteur piezo qui réagit au chocs générés par les Tic et Tac de la montre à régler. Ce signal est très faible en tension et doit être fortement amplifié pour être exploité.
On peut brancher le capteur d'un appareil de mesure existant, comme celui associé au Vibrograf, au Bandelin tickoprint ou tout appareil équivalent. Il faudra juste mettre une prise Jack en sortie.
Si on dispose d'un capteur déjà amplifié, on peut également le connecter au chronocomparateur sur l'entrée prévue. Un contacteur permet de sélectionner, soit la sortie de l'amplificateur, soit le signal déjà amplifié comme source pour le bloc logique qui traite le signal.
Pour les signaux déjà amplifiés, on veillera à ce que la tension injectée ne dépasse pas 5V.
Le bloc logique est commandé par le module de traitement et délivre deux signaux permettant de commander le comptage des timers du microcontrôleur.
Le signal analogique en sortie de l'atténuateur est également fourni au module de traitement pour la visualisation analogique du signal (fonction scope) et est disponible sur une prise en sortie de l'appareil pour, par exemple, le visualiser sur un oscilloscope ou le traiter sur un ordinateur via l'entrée "microphone".
Schéma électronique
Cliquez sur l'image pour agrandir
Amplification du signal
Pour l'amplification du signal issu du capteur piezo, on peut reprendre le principe du schéma proposé sur le site de Watchoscope avec cependant quelques modifications. Je l'ai utilisé pour PC-RM1 et PC-RM3 et il donne entière satisfaction.
Elle fait appel à un quadruple amplificateur opérationnel LM324 (U1).
Quelques explications :
- U1A sert à générer une tensions qui vaut une portion de la tension d'alimentation (5V). La tension moyenne est donnée par le diviseur R1 et R2 et s'établie aux alentours de 2V. Pourquoi pas 2,5V (la motié de la tension d'alimentation) ? A cause de la tension de seuil des entrées du LM324. D'ailleurs, la valeur idéale pour R2 est plutôt de 90kohms mais c'est une valeur non standard.
En pratique, la tension du signal de sortie évoluera donc entre 0V et environ 4,4V avant saturation.
Avec 90kohms pour R2, la symétrie entre la partie basse du signal et la partie haute par rapport à la valeur moyenne est parfaite. Avec 100kohms, la partie haute va saturer un peu plus vite que la partie basse du signal mais c'est sans grande conséquence.
Une différence avec le schéma proposé par Watchoscope est la suppression d'un condensateur chimique de filtrage sur le diviseur qui n'est pas utile et qui peut même introduire un bruit parasite. Par contre, j'ai mis 1µF plutôt que 0.1µF pour C1. Dans tous les cas, n'utilisez pas de condensateurs chimiques pour cette partie. - U1B, U1C et U1D forment la chaine d'amplification avec un filtre actif qui élimine les fréquences basses (secteur, 50Hz) et haute (11kHz). Le schéma est proche de celui de Watchoscope aux différences près suivantes:
- Suppression d'une résistance de 33k en entrée de 1B. Je pense que le concepteur avait un capteur dont le niveau de sortie du signal faisait saturer l'amplificateur et qu'il a mis cette résistance pour éviter cette saturation. Inversement, si vous avez un capteur peu sensible, vous risquez d'avoir un signal trop faible en sortie pour qu'il puisse y avoir synchronisation.
- Contrôle de gain en sortie de U1C et non en sortie de U1D afin d'éviter la saturaton de U1D en cas de signal d'entrée élevé. Un potentiomètre de 10kohms (Log, piste B) fait très bien l'affaire. C'est la modification la plus importante et la plus utile par rapport au montage initial.
- Mise en place de diodes D1 et D2 pour éliminer les surtensions générées par certains capteurs en entrée de U1B.
Le reste des modifications est plutôt lié à des aspects fonctionnels ou conjoncturels.
- Q2 sert à générer le signal de déclenchement de la mesure (entrée "horloge" des bascules J/K U3A et U3B). La tension de polarisation de Q2 (sur sa porte) doit être réglée via RV2 entre 1,9 à 2V. Trop basse, Q2 déclenchera en permanence ou dès qu'il y aura un petit bruit sur le signal capturée, trop haut, il ne déclenchera que sur des signaux de niveau élevé.
- La résistance R14 sert à limiter la tension analogique aux alentours de 3V afin de ne pas endommager le microcontrôleur. Sa valeur (6.8K) a été calculeée sans prendre en compte l'impédance d'entrée du convertisseur analogique numérique. A l'usage, on peut descendre jusqu'à 6,4kohms.
- Il est prévu une entrée pour un capteur délivrant un signal déjà amplifié via une prise DIN dont deux broches servent à fournir une alimentation 5V. La sélection entre signal déjà amplifié et amplification interne se fait par l'interrupteur SW1.
- Une sortie du signal analogique amplifié est disponible sur une prise RCA via une résistance de 47K.
Logique pour le comptage
Une horloge interne du processeur (42 à 84MHz) fournit une horloge AB1 qui va alimenter des compteurs 32 bits (TIM2 et TIM5) du microcontrôleur, les compteurs étant pilotés par une logique de commande réalisée autour de deux bascules U3A et U3B pilotée par le microcontrôleur. C'est la principale nouveauté de PC-RM4 par rapport aux précédents chronocomparateurs PC-RM1 et PC-RM3, la commande des compteurs est indépendante de l'activité du microcontrôleur.
U3 | Microcontrôleur | ||
U3A/Q (6) | Compteur 1 | PA0 | TIM2 |
U3B/Q (8) | Compteur 2 | PA1 | TIM5 |
U3AD (2) | PA2 | ||
U3BD (12) | PA3 | ||
Horloge | U3AC et U3BC | ||
Analog | Signal analogique | PA4 | Entrée analogique |
Carte microcontrôleur
Le microcontrôleur est un STM32F407 à 168MHz. La carte de développement est une DevEBox.
Carte DevEBox, face avant
Afficheur
Pour cette carte de développement, j'utilise un afficheur 3.2" TFT LCD Color MBR3205 320x240.
Afficheur 3,2 pouces, 380 x 240 pixels, tactile
Capteur
Le capteur standard utilise un module piezo
On peut mettre ce capteur dans un étau prévu pour la réparation des montres. Avec un peu d'huile de coude, il est également possible de réaliser une mécanique adaptée telle que celle proposée sur cette page.
Circuit imprimé
A ce stade, vous avez deux possibilités :
- Faire un câblage "en l'air" et réaliser la partie amplificateur, logique pour le comptage et alimentation sur un ou plusieurs circuit d'essais. C'est une solution peu coûteuse à envisager si vous connaissez l'électronique et que vous êtes déjà équipé.
- Utiliser le circuit imprimé que j'ai fait faire. C'est la solution la plus simple. Elle limite les risques d'erreurs et facilite les interconnexions.
Par la suite, je ne détaillerai que la réalisation à base de circuit imprimé.
Circuit imprimé côté composant
Montage
Quelques informations sur le montage :
- Le connecteur "display" permet de brancher l'écran LCD via une nappe.
- J7 et J9 sont destinés à l'alimentation secteur. Il est également possible de la brancher sur J10.
- J8 est destiné au circuit de terre (indispensable).
- BT1 reçoit la pile CR1220 qui sert au maintien de la mémoire sauvegardée.
- J3 est destiné au potentiomètre de 10KB.
- J5 est destiné à la LED qui clignote selon les battements de la montre. La cathode doit être branchée côté résistance. La résistance R25 (510 ohms) est prévue pour une LED moderne. Si comme moi vous avez de vieux stocks de LED (années 1980-1990), je vous conseille de mettre plutôt une résistance de 270 ohms).
- J2 est destiné à la prise DIN pour un capteur amplifié
- FB1 à FB3 sont des ferrites. L'idée est de filtrer les éventuelles hautes fréquences qui pourraient être générée par le processeur via les alimentation. Honnêtement, je ne suis pas sur qu'elles soient utiles mais comme j'en avait plein, j'en ai mis. Vous pouvez les remplacer par de simples straps.
- Tous les composants sont traversants (sauf BT1) afin de faciliter le montage pour ceux qui ne sont pas équipés pour souder des CMS.
- La précision des composants passifs n'est pas critique. Pour les résistances, 5% ou moins, 1/4W ou plus sauf éventuellement pour R1 et R2 (idéalement 2%) et R25 (1/2 W).
- Sur l'écran (modèle MBR3205), n'oubliez pas de ponter J1 (J1 court-circuite le régulateur de tension) car il est alimenté en 3.3V.
Voici une vue du circuit monté (il s'agit de la version prototype, il y a quelques corrections sur le circuit imprimé V1 en photo).
Circuit imprimé avec ses composants
Pour les résistances et condensateurs, j'ai pris ce que j'avais en stock. Les condensateurs sont surdimensionnés (35V de tension de service pour les chimiques, 63V à 100V pour les autres). Si vous devez en acheter, inutile de prendre ces valeurs fantaisistes... La tension la plus élevée sur le circuit est de 5V. Vous pouvez donc prendre des 10V pour les chimiques.
Circuit imprimé avec ses composants et l'écran
Circuit imprimé avec ses composants et l'écran dans sa boite
Récapitulatif des composants :
Ref schéma | Boitier | Qtté | Valeur |
U1 | DIP-14_W7.62mm_LongPads | 1 | LM324 |
U2 | DeveBox STM32F407 | 1 | DevEBox_STM32F407 |
U3 | DIP-14_W7.62mm_LongPads | 1 | 74HC74 |
Q2 | TO-92_Wide | 1 | BS170 |
D1,D2,D5,D6 | D_DO-35_SOD27_P7.62mm_Horizontal | 2 | 1N4148 ou BAT85 |
LED | 1 | Modèle standard | |
C1 | C_Rect_L7.0mm_W2.0mm_P5.00mm | 1 | 1µF |
C5,C8 | C_Rect_L7.0mm_W2.0mm_P5.00mm | 2 | 470nF |
C26,C9, C6 | CP_Radial_D5.0mm_P2.50mm | 2 | 100µF 10V |
C22,C28,C18,C16,C4,C2 | C_Rect_L7.0mm_W2.0mm_P5.00mm | 6 | 100nF |
C3,C7,C13 | C_Disc_D4.3mm_W1.9mm_P5.00mm | 3 | 150pF |
R1 | R_Axial_DIN0207_L6.3mm_D2.5mm_P2.54mm_Vertical | 1 | 150kohms |
R4,R8 | R_Axial_DIN0207_L6.3mm_D2.5mm_P2.54mm_Vertical | 2 | 2.2kohms |
R11,R3,R17,R5,R2,R16 | R_Axial_DIN0207_L6.3mm_D2.5mm_P2.54mm_Vertical | 6 | 100kohms |
R9 | R_Axial_DIN0207_L6.3mm_D2.5mm_P2.54mm_Vertical | 1 | 47kohms |
R6 | R_Axial_DIN0207_L6.3mm_D2.5mm_P2.54mm_Vertical | 1 | 1kohms |
R14 | R_Axial_DIN0207_L6.3mm_D2.5mm_P2.54mm_Vertical | 1 | 6.8kohms |
R15 | R_Axial_DIN0207_L6.3mm_D2.5mm_P2.54mm_Vertical | 1 | 33kohms |
R25 | R_Axial_DIN0207_L6.3mm_D2.5mm_P2.54mm_Vertical | 1 | 510 ohms ou 270 ohms |
RV2 | Ajustable multitours vertical 3296W | 1 | 100kohms |
P1 | Potentiomètre log (piste B) | 1 | 10kohms B |
J1 | Jack_3_5_PJ316 | 1 | AudioJack2 |
J2 | DIN5 ou 3 | 1 | DIN 5 ou 3 broches (les 5 sont plus courantes). |
J6 | RCA | 1 | RCA |
J10 | TerminalBlock_MetzConnect_Type101_RT01602HBWC_1x03_P5.08mm_Horizontal | 1 | AC bornier |
SW1 | SW_SS12F23_Angled | 1 | Switch SS12F23 |
F1 | Fuse:Fuseholder_TR5_Littelfuse_No560_No460 | 1 | Fusible 200mA à souder |
BT1 | S8411-45R_1 | 1 | Porte pile CR1220 |
Con. IDC | 2 | Connecteurs IDC femelle 34 broches pour relier l'écran au circuit imprimé via une nappe. | |
Inter. Secteur | 1 | Interrupteur secteur (non représenté sur le schéma). | |
HLK | 1 | Alimentation Hi-Link HLK-PM01, 0,6A. |
CHARGEMENT LOGICIEL
ST-LINK-V2
Pour charger le logiciel dans le microcontrôleur, vous aurez besoin d'une sonde ST-LINK-V2 que l'on trouve facilement pour quelques euros.
Le branchement de la sonde à la carte microcontrôleur se fait ainsi :
ST-LINK-V2 | Microcontrôleur (J1) |
SWCLK | CLK ou SWCLK selon marquage |
GND | GND |
SWDIO | DIO ou SWDIO selon marquage |
3,3V | NE PAS CONNECTER (sauf si vous alimentez le montage par la sonde). |
ST Link Utility
Vérifiez que vous pouvez communiquer avec votre sonde ST-Link et qu'elle reconnait bien la carte de développement. Lancez l'utilitaire STM32 ST-LINK Utility qui est normalement disponible en téléchargement sur le site de ST Microelectronics.
Sélectionnez "connect to the target". Si vous avez une erreur, commencez par débrancher la sonde de son port USB, rebrancher la et sélectionnez de nouveau "connect to the target". Je fais l'hypothèse que la connexion s'effectue correctement (sinon, je ne sais pas).
L'utilitaire affiche les informations suivantes (certaines dépendent de la sonde, de la carte de développement et du moment ou vous faites la connexion).
Sonde ST-Link V2
Vous pouvez profiter que l'utilitaire est lancé pour faire une mise à jour du firmware de la sonde. Pour ce faire, mieux vaut débrancher et rebrancher la sonde de son port USB. Ceci fait, sélectionnez l'option ST-LINK dans le menu puis firmware update et laissez vous guider.
Pour charger le logiciel dans le STM32 :
- Décompressez l'archive téléchargée (le .zip). Vous devez trouver un fichier "texte" avec l'extension en .hex.
- Ouvrez le fichier à charger : "File" puis "Open file" puis sélectionnez le fichier que vous avez décompressé et qui se termine en .hex.
- Sélectionnez "Target" puis "Program & verify".
- Si tout se passe bien, le programme se lance dès le téléchargement terminé. S'il s'agit du premier téléchargement, le premier écran affiché est celui de calibration du Touchscreen.
- Avant le chargement, vous pouvez aussi faire un "Target" puis "Erase chip" (facultatif).
Logiciels à télécharger
ChargementLa dernière version spécifique à la carte DevEBox et l'écran choisi est disponible ici :
Je dispose également d'autres versions pour la carte STM43F4VE avec écran 320x240 parallèle ou écran 480x320 bus SPI. Me contacter pour plus de précisions mais ces versions ne sont pas maintenues.
J'ai mis sur cette page des informations complémentaires sur la réalisation mais elles sont plus pour mémoire pour moi.
PRECISION ET RESOLUTION
La précision et la résolution de l’appareil doivent être définies pour les 3 mesures réalisées :
- La durée d’un battement (par exemple, 400ms pour une montre qui bat 18000 fois par heure).
- L’écart entre un Tic et un Tac.
- L’avance-retard sur une longue période (par exemple, 24 heures).
L’horloge de la carte microcontrôleur utilisée a une résolution de 25ns. Sa précision dépend de celle du quartz et est probablement très inférieure à 0,01%. On la nommera P% par la suite. Dans ce contexte, on peut dire que :
- La précision de l’écart entre un Tic et un Tac est de +/-25ns à P% près.
- La durée d’un battement est mesurée en sommant la durée des demi-battements. La précision de cette durée est donc inférieure, en valeur absolue, à 50ns à P% près.
- Le fait de passer par des compteurs matériels (compteurs 32 bits du microcontrôleur) permet de garantir que la mesure n'est pas affectée par les traitements. C'est également généralement le cas pour les versions avec Arduino mais il peut y avoir des cas où des priorités d'interruptions retardent le traitement de lecture de l'horloge interne. Dans le cas présent, le processus de comptage (marche/arrêt) et de traitements sont quasiment indépendants.
Pour la mesure de l'avance/retard, on effectue la différence entre la somme des durées des Tic et des Tac mesurées et la durée attendue. Si NB est le nombre de mesures de Tic et de Tac, l'écart avec la durée attendue est Ecart = somme(durées des Tic et des Tac) - NB x durée d'une période.
Il suffit ensuite de ramener cette valeur à 24 heures pour avoir l'écart sur 24 heures.
Dans le pire des cas, la résolution de la mesure se cumule en valeur absolue sur la période de mesure. Si NB24 est le nombre de périodes sur 24 heures, alors, la résolution la plus mauvaise est NB24 * résolution. Pour une montre qui bat à 18000 coups par heure, Cette résolution est inférieure ou égale à 18000 x 24 x resolution d'une mesure soit environ 21ms.
avril 2019-septembre 2022
PROTOTYPES
La photo qui suit est la face arrière du prototype du circuit imprimé. J'avais simplement "oublié" 3 pistes (erreur de nommage sur le schéma électronique). C'est rageant ! La V1 corrige ce point.
La photo qui suit est un prototype utilisant une autre carte de développement que DevEBox. Elle a servi à l'ensemble des développements qui sont décrits sur cette page pour ceux qui veulent entrer dans le détail de la réalisation. L'écran est également différent. Dans le cas présent, il s'agit d'un écran 480x320 avec bus SPI. J'ai aussi développé la version en 320x280, bus parallèle qui est celle que j'utilise.
Les photos qui suivent montrent un exemple de mise en boitier du prototype. Il reste à mettre une petite plaque en aluminium autour de l'écran pour que ce soit plus joli.
Dans le prototype, l'alimentation et l'amplificateur ont été réalisé sur un circuit à trous.