Project

General

Profile

Comparateur » History » Revision 33

Revision 32 (Frédéric Blanc, 2022-03-30 11:06) → Revision 33/34 (Frédéric Blanc, 2022-03-30 11:15)

h1. Comparateur (dial gauge) 

 Un comparateur est un instrument de mesure. Le déplacement de la tige de mesure est transmis à un système d'affichage. Une mécanique de précision permet d'obtenir une pression de mesure constante sur toute la course. 

 !clipboard-202203281014-geaog.png! 
 Comparateur mécanique précision 10µm 

 !clipboard-202203281010-ukajn.png! 
 Comparateur électronique précision 1µm avec sortie numérique 

 h2. Communication 

 h3. Connecteur interne 

 !clipboard-202203281015-3bjyf.png! 
 connecteur interne comparateur 
 https://fr.aliexpress.com/item/4000860296893.html 

 !clipboard-202203281018-rhy3l.png! 
 connecteur interne pied à coulisse 

 h3. Signal 

 le signal se compose d'un bit START, 20 bits de signal et un bit de signe 

 !clipboard-202203281122-7mgu3.png! 
 exemple de trame indiquant -16 µm le bit 4 est a "1" ainsi que le bit 20. 
 il faut faire un décalage a gauche pour éliminer le bit de start    et avoir -16 = (-1* bit 20) 2^4 

 h3. Convertisseur de niveau logique 

 h4. TTL 5V 

 !clipboard-202203281307-q6kxz.png! 

 h4. 3.3 V CMOS Logic Levels 

 !clipboard-202203281309-mntaj.png! 

 h4. SparkFun Logic Level Converter - Bi-Directional 

 !clipboard-202203281038-cbjvy.png! 
 !clipboard-202203281039-m2epf.png! 

 source: 
 https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide/all 

 h3. Mise en forme du signal 

 en Entrée 
 !clipboard-202203281037-hdxpq.png! 

 en Sortie 
 !clipboard-202203281034-60dy2.png! 

 h2. Interface 

 h3. Wemos D1 mini 

 !clipboard-202203281346-bzyzl.png! 

 h4. Code 

 ce code se veux le plus simple possible, il est perfectible. Il n'utilise pas l'unité SPI en mode salve. Il utilise deux GPIO en entrée, dont une (SCLK) sensible au interruption front descendant (Falling). 
 Le délais de 100ms (temps entre deux trames) n'est pas utile, il donne juste l'information que le code de la boucle loop doit être inférieure a 100ms pour ne pas perdre de données. 
 le code est perfectible car il ne gère pas le cas ou le système démarre sur une trame en cours. Il est possible de rajouter un timer pour réinitialiser la trame si elle est plus longue que 10ms. ms. 

 Il est tout a fait possible implémenter un afficheur (OLED i2c ou Afficheur 7 segments MAX7219). 
 !clipboard-202203301113-lqkrh.png! 
 !clipboard-202203301115-incwg.png! 
 

 attachment:"wemos caliper.zip" 

 h1. Système terminé 

 !clipboard-202203291042-msihy.png! 
 Les données s'affiche en µm 

 h1. Source 

 http://robocombo.blogspot.com/2010/12/using-tis-launchpad-to-interface.html 
 https://www.instructables.com/Reading-Digital-Callipers-with-an-Arduino-USB/ 
 http://www.ccsinfo.com/calhack.php 
 https://www.instructables.com/BluMatic-a-BLE-40-Wireless-Interface-for-Mitutoyo-/ 
 https://www.youtube.com/watch?v=34IsYgL4cMw 
 https://www.youtube.com/watch?v=RIt08GJH2IA