(Difficulté : *** assez difficile)
Principe :
Nous souhaitons réaliser une horloge originale qui affiche les heures et les minutes en digital. Mais plutôt qu'un simple système à afficheur Leds, nous utilisons quatre colonnes de 5 blocs (en bois) que nous faisons pivoter (Comme dans un Rubik's cube) pour réaliser les chiffres en sept segments mais de façon mécanique.
L'horloge est alimentée en 5V par une prise mini ou micro USB. Cette prise alimente une carte Arduino Nano. La carte est reliée à 4 circuits intégrés 6612 de gestion de moteurs via 3 pins pour les 4 pôles moteur + 4 pins sélection du moteur. Chaque 6612 est relié à un moteur pas à pas 42x42x37.5, D22, axe D5x15 200pas/t.
L'axe de chaque moteur est enfoncé à force dans un tube laiton monté à force dans le bloc inférieur et l'entraîne par friction.
Tous les blocs sont munis d'une vis excentrée, sur le dessus, qui entraîne le bloc du dessus de 3/4 tour max.
Les 4 blocs supérieurs sont munis d'une encoche, sur le dessous, circulaire 1/2 t l 4 qui reçoit la vis précédente.
Tous les blocs peuvent pivoter de plusieurs tours sauf celui du haut qui est limité par sa vis et la plaque plexiglas du haut à 3/4 de tour max.
Il y a 5 blocs pour former un chiffre.
Chaque bloc peut donc exposer ses 4 face latérales (Sauf celui du haut qui n'en montre que 3).
Chaque bloc en bois est verni en clair sauf certaines parties des faces latérales vernies foncées pour former les segments de l'afficheur.
La plaque supérieure en plexiglas maintient les axes des blocs (Tige laiton D6). Elle limite aussi le déplacement de chaque bloc supérieur.
La plaque inférieure en plexiglas maintient les axes des blocs. Elle maintient aussi les 4 moteurs.
Chaque bloc est séparé de celui du dessus par une rondelle D6 qui évitent que les blocs ne frottent entre eux (Et s'entraine mutuellement en rotation).
À l'arrière, 8 courroies blanches (Les noires, en caoutchouc ne glissent pas assez) crantées (Utilisées du côté non cranté) (Ou un ruban résistant) chacune reliée à un ressort, frottent sur la face arrière des blocs (Sauf les blocs inférieurs) et ont tendance à maintenir l'alignement des faces et à éviter des rotations accidentelles.
Nota : à chaque minute, l'horloge et ses moteurs vont faire un peu de bruit : ce genre d'horloge ne convient pas dans une chambre à coucher.
Découpe des plaques en plexiglas :
Vue arrière en 3D :
Fonctionnement :
A la mise sous tension, la carte Arduino se met à compter les minutes et les heures (En démarrant à 12h00).
Chaque minute, elle actionne dans un sens ou dans l'autre le moteur des minutes en comptant les quarts de tour : 50 pas pour 1 quart de tour. Une fois que le bloc du bas des minutes a fait ses 3/4 de tour, il entraine le bloc au-dessus et ainsi de suite.
Ainsi avec une série de rotation dans un sens et dans l'autre (un peu comme un Rubik's cube) on peut positionner la face adéquate du bloc du haut, puis du suivant et ainsi de suite en descendant jusqu'à afficher 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
De même avec les dizaines de minutes, avec les heures et les dizaines d'heures
Voici les 10 chiffres et, à droite dans le rectangle, les faces à colorier :
On s'aperçoit que l'on peut afficher tous les chiffres avec seulement 3 faces à condition que :
Le 1 ne soit pas centré mais à droite
La barre de droite du 4 ne monte pas jusqu'en haut
Ce qui nous parait acceptable...
Matériel :
20 blocs 45 x 45 x 15 taillés dans une planche de bois de 310x75x15 (ou imprimés en 3D), ou 180 cubes de 15 en bois clair pour jouer, collés entre eux, numérotés et vernis en partie en foncé
1 plaque du haut en plexiglas 290 x 61 x 4 percée, découpée
1 plaque du bas en plexiglas 290 x 61 x 4 percée
1 planche bois 310 x 75 x 15 percée, vernie
8 courroies crantées 135 x 10
4 ressorts : des ressorts de traction en partie déroulés. Des ressorts peu puissants pour que le moteur pas à pas arrive à entraîner dans les deux sens les 4 blocs supérieurs d'un coup.
4 tiges filetée M4 L143
2 tiges filetées M4 L100
4 tubes laiton D6 L88
24 rondelles 6
Écrous rondelles M4
Vis écrous M3x10
Recette :
Vernir en clair ou foncé, les 180 cubes bois 15 puis les coller, percer D 6 pour les blocs inférieurs, D 6.5 pour les autres. Rainurer (Sauf les blocs du bas) sur le dessous en 1/2 cercle profondeur 4, ajouter une vis M3x10 qui dépasse de 3 et un écrou par bloc pour fabriquer 20 blocs de 45 x 45 x 15
Fabriquer la plaque en plexiglas du bas 290 x 61 x 4, percée
Fabriquer la plaque en plexiglas du haut 290 x 61 x 4, percée, découpée
Fabriquer un support en bois 310 x 75 x 15 percé, verni
Poser les 4 moteurs sous la plaque plexiglas du bas
Visser les 4x4 vis M3X10 pour fixer chaque moteur sur la plaque plexiglas du bas
Installer 4 les tiges filetées M4 avec 4 écrous M4 et 4 rondelles d4 sur la plaque plexiglas du bas
Monter 4 écrous M4, 4 rondelles d4 sur les tiges filetées
Monter 4 écrous M4, 4 rondelles d4 sur les tiges filetées
Insérer les tiges filetées dans le support en bois
Monter 4 rondelles d4 et 4 écrous M4 sur les tiges filetées
Poser 4 entretoises sur les axes du moteur pour que les blocs ne touchent pas les vis de fixation moteur
Découper 4 tubes laiton D6 L 85
Poser une petite quantité de soudure, à l'extrémité, à l'intérieur de chaque tube laiton pour créer l'entraînement avec le plat du moteur pas à pas
Coller (Araldite) chaque bloc inférieur à l'extrémité du tube laiton
Poser chaque bloc inférieur avec son tube laiton monté à force sur l'axe du moteur jusqu'à l'entretoise
Poser une rondelle M6 sur chaque tube laiton
Poser les 4 blocs suivants, les 4 rondelles d6
Et ainsi de suite
Monter les ressorts sur la tige centrale avec une rondelle M4 entre chaque ressort
Sur chaque tige filetée extérieure monter 2 écrous M4 montés en contre écrou et une rondelle 4
Idem sur la tige filetée de droite
Poser les 6 courroies crantées percées à chaque extrémité, d'un côté dans le ressort, de l'autre relié à la tige filetée L100
Visser 4 écrous M4 sur les tiges filetées puis poser 4 rondelles d4
Poser la plaque plexiglas 4 du haut
Poser 4 rondelles puis visser 4 écrous M4
Régler les 8 écrous supérieurs pour que les blocs supérieurs tournent avec un jeu de 1 mm
Connecter chaque moteur à un 6612
Connecter toutes les entrées 6612 AIN1 ensemble (Fil vert) et à l'Arduino, idem AIN2 (Fil bleu), BIN1 (Fil violet), BIN2 (Fil gris)
Connecter chaque STBY des 6612 à 4 pins Arduino (Fils marron, rouge, orange et jaune)
Il faut écrire le programme : à la mise sous tension 12 : 00, chaque minute, on lance la séquence de rotation dans un sens et dans l'autre pour passer de 0 à 1, de 1 à 2, de 2 à 3, de 3 à 4, de 4 à 5, de 5 à 6, de 6 à 7, de 7 à 8, de 8 à 9, de 9 à 0
Nota : il est plus simple de déterminer les codes de rotation une fois un premier chiffre de 5 blocs assemblé
Nota : il faut s'assurer que au moins un code envoie le bloc supérieur en butée gauche et un autre en butée droite. Ainsi, en cas d'erreur, le moteur va se bloquer en butée et l'erreur sera rattrapée (Mais ça peut prendre 24h). En théorie, on peut même positionner les blocs n'importe comment, ils finiront par se synchroniser
Construire un coffret en bois avec 4 trous rectangulaires pour les chiffres, un trou pour l'USB Nano et deux trous pour les boutons poussoir qui permettent d'avancer d'une minute ou d'une heure
Positionner manuellement (On peut le faire coffret assemblé) les chiffres à 12 : 00 si le programme le permet
À midi, brancher l'horloge : la Led clignote
Un bouton poussoir permet d'avancer de 1 mn
Un bouton poussoir permet d'avancer de 1 h
Nota : Les minutes et les dizaines de minutes ne tournent pas en même temps. Le programme fait d'abord tourner les minutes, puis les dizaines de minutes, puis les heures, puis les dizaines d'heures. Le reste du temps, les moteurs ne sont pas alimentés pour économiser l'énergie (L'horloge ne consomme alors que quelques mA sur le 5V et si l'adaptateur secteur est de bonne qualité, sa consommation est négligeable)
Programmation :
Avec les motifs que nous avons choisis pour chaque bloc, voici les séquences :
45 : séquence à envoyer pour passer de l'affichage du chiffre 4 au chiffre 5
D3, G2 veut dire : 3 quarts de tour à droite (En vissant vue de dessus) puis 2 quarts de tour à gauche (en dévissant vue de dessus).
01 : G7 (BG) D7 G5 D2 BG : Butée Gauche
12 : D5 G8
23 : D3 G2
34 : D8 (BD) G7 D5
45 : G7 D8 G3
56 : D3
67 : G8 D5 G4 D2
78 : D4 G4 D1
89 : D3 G3
90 : G3 D2
50 : G2 D2
20 : D6 G5 D2
Nota : il faut qu'une combinaison aille en butée droite, une autre en butée gauche... pour les 4 axes...
Exercice pour les matheux: trouver les motifs pour faire le moins de rotations possible -:)
Nota : le maximum : D8, G8, D6 fait 22 quarts de tour soit 1100 pas.
Les pas devraient faire entre 5 et 10 ms.
Si les pas font 10 ms la séquence dure 11 s. (Ce qui est un peu long mais acceptable)
Réalisation :
Une première version de test des 5 blocs provisoires (En bois), peints, avec la rainure semi-circulaire et la vis M3x10 et son écrou pour faire la butée.
Les 5 blocs provisoirement montés avec un axe et (Gros) moteur à courant continu provisoire :
Réalisation des blocs définitifs :
Nous avons acheté 200 cubes de 15 en bois clair
Certains cubes sont vernis clairs d'autre vernis foncés
Nous avons collé (colle à bois) les cubes en 3x3 pour former un bloc
Les blocs ainsi obtenus ont été percés D 6.5 au centre et pour la vis M3 et rainurés (Sauf les blocs inférieurs : D 6)
Les blocs ont été vernis
Les blocs obtenus sont en bois clair et foncés:
Les plaques sont découpées et percées
Et le tout est assemblé
Vue avant de l'horloge complète sans le boîtier (Il manque les circuits buffer des moteurs) :
Nous avons ensuite fait des essais et mesuré la vitesse maxi à laquelle les moteurs peuvent tourner en gardant un couple suffisant (Le couple des moteurs pas à pas diminuent avec la vitesse). Si la vitesse est trop élevée, lorsque le moteur s'arrête, un bloc peut aller, avec son inertie, au-delà du point prévu...
Visiblement un pas doit durer entre 5 et 10 ms.
Vue arrière de l'horloge complète sans le boîtier (Il manque les circuits buffer des moteurs). On voit les boutons poussoir de remise à l'heure et l'Arduino Nano avec une vis M5 pour le maintenir en place, il y a aussi une butée arrière) :
Le système de friction fonctionne bien : les 4 moteurs entraînent les blocs, même les 5 simultanément, dans les deux sens.
Il reste à installer les 4 6612, les relier à l'Arduino et tester tout ça et faire une vidéo...
La boîte (En contre-plaqué plaqué noyer) poncée et vernie...
Vue avant de l'horloge complète avec le boîtier :
Vue arrière de l'horloge complète avec le boîtier : les deux boutons de mise à l'heure et le connecteur mini USB :
Câblage :
Noir : masse
Marron : D3 AIN1 moteur 1er fil
Rouge : D4 AIN2 moteur 2e fil
Orange : D5 BIN1 moteur 3e fil
Jaune : D6 BIN2 moteur 4e fil
Vert : D7 STBYA moteur minutes actif haut
Bleu : D8 STBYB moteur dizaine minutes actif haut
Violet : D9 STBYC moteur heures actif haut
Gris : D10 STBY D moteur dizaines heures actif haut
Blanc : +5V
11 PUSHMN poussoir avance 1 minute
12 PUSHHR poussoir avance 1 heure
Pour que le 6612 fonctionne, il faut mettre les deux entrées STBY à Vcc ET les 2 entrées PWM à Vcc..
Les moteurs fonctionnent bien, pour améliorer le couple, nous les avons découplés avec 2 condensateurs en // de 4700 uF 10V...
Tout marche, l'horloge fait un peu de bruit chaque minute et le coffret en bois fait caisse de résonance...