Tachymètre électronique pour machine-outil

Introduction
En fonction de leurs qualités et des conditions d'utilisation, les  forets, fraises, outils de tournage, etc doivent travailler à une vitesse adaptée au matériau.
En effet, chaque matière possède une "vitesse de coupe" optimale située dans une fourchette. La vitesse de coupe est une vitesse linéaire exprimée en m/min.
Au niveau de la pièce travaillée, elle représente une vitesse tangentielle ou vitesse circonférentielle dont l'unité internationale est le mètre/seconde.
Le respect de la vitesse de coupe du matériau permet de ne pas bruler ni ébrécher l'outil ou le foret.

L'utilisation d'un tachymètre ou "compte-tours" est donc primordiale afin de connaître la vitesse de rotation d'une machine-outil si celle-ci n'est pas équipée d'un sélecteur de vitesses mais d'un simple potentiomètre, comme dans le cas présent.


Des formules simples et des abaques permettent de trouver les vitesses d'usinage adéquates, exprimées en tr/min ( ou plus rarement en radians/seconde).
  



Réalisation
Dans le montage ci-après, la mesure s'effectue par comptage des impulsions issues d'un capteur électronique.
La fréquence des impulsions représente la vitesse de rotation.
Le capteur B1, de type inductif, détecte le passage de 3 vis (taquets) solidaires de l'arbre rotatif du mandrin.
Trois impulsions apparaissent donc à chaque tour du mandrin.

Schéma électronique
Ici la tension d'alimentation est fournie par la machine-outil, un petit tour à métaux en l'occurence.
Les impulsions générées en 12 volts sont amenées à un niveau logique TTL (0-5 volts) par le transistor T1.
Un capteur acceptant une alimentation en 5 volts pourrait être utilisé à la place.
La mesure de fréquence des impulsions et la gestion de l'afficheur LCD sont prises en charge par un microcontroleur PICAXE programmé en basic.
J'avais un PICAXE 20M2 sous la main, mais un PICAXE 14M2 aurait convenu, en regard des entrées-sorties requises pour l'afficheur dont je disposais.
Il va de soi qu'un afficheur avec une liaison série I2C aurait quelque peu simplifié la mise en oeuvre !
Le schéma suggère en option l'utilisation d'un voltmètre gradué en tours/min et quelques lignes de programme pour la conversion digitale-analog. de la vitesse.

Programme du PICAXE

symbol LSBmille=b2:symbol MSBmille=b3
symbol LSBcent=b4:symbol MSBcent=b5
symbol LSBdix=b6:symbol MSBdix=b7
symbol LSBunit=b8: symbol MSBunit=b9

let dirsb=%11111111

Table 0,(2,2,8,0,12,0,6,0,1)                            ; Paramètres pour initialisation
Table 9,(0,%01000000,0,1,%01000001,1)       ; soit 0,64,0,1,65,1 pour effacer l'écran
Table 15,($2,$0,$7,$2,$7,$0,$6,$d)                 ; Affiche " rpm" comme unité

let w0=0 : let b15=255

; Séquence d'initialisation de l'afficheur LCD
; Sort chaque instruction sur port B puis génère un front Up and Down sur E (bit6)

for bptr=0 to 8
 readtable bptr,b0
 let b1=b0 or %01000000              ; UP bit 6 du byte b1
 let pinsB=b1
 let bit14=0                                  ; Down bit 6 du byte B1 (MSB de W0)
 let pinsB=b1
next bptr

main:
count C.1,1000,w0                      ; Totalise les impulsions en 1 seconde
let w13=w0*60                            ; Calcule le nombre d'impulsions en 1 minute

if b0=b15 then                             ; Teste si l'entrée varie
 goto main                                  ; sinon l'affichage n'est pas modifié
endif
let b15=b0

; conversion de w13 en 3 chiffres Ascii
bintoascii w13,b20,b21,b22,b23,b24        ; b20=dixmille,b21=millier,b22=centaine,b23=dixaine,b24=unite

; Extraction des LSB et MSM de b21, b22, b23 et b24 (b20 inutilisé)
let LSBmille=b21 and 001111             ; 15 = mask pour LSB
let MSBmille=b21 and %11110000            ; 240 = mask pour MSB
let LSBcent=b22 and 001111
let MSBcent=b22 and %11110000
let LSBdix=b23 and 001111
let MSBdix=b23 and %11110000
let LSBunit=b24 and 001111
let MSBunit=b24 and %11110000

; Décalage des MSB en LSB
let b10=MSBmille/16:let b11=MSBcent/16:let b12=MSBdix/16:let b13=MSBunit/16

; Réorganisation des Datas = Quartets successifs
let MSBmille=b10 : let MSBcent=b11 : let MSBdix=b12 : let MSBunit=b13

; Effaçage de l'écran
for bptr=9 to 14
  readtable bptr,b14
  let pinsB=b14
next bptr

gosub Latch_LCD

goto main

; Sort chaque data sur port B puis génère un front Up and Down sur E (bit6)
Latch_LCD:
for bptr=2 to 7
 let b0=@bptr
 let b1=b0 or 100000        ; Sélectionne RS
 let pinsB=b1
 let b0=b1 or %01000000        ; Sélectionne E
 let pinsB=b0
 let bit14=0                             ; RAZ du bit 6 dans byte B1 (E)
 let pinsB=b1
next bptr

for bptr = 15 to 22                   ; Affichage de l'unité de mesure (" rpm")
 readtable bptr,b0
 let b1=b0 or 100000        ; Sélectionne RS
 let pinsB=b1
 let b0=b1 or %01000000        ; Sélectionne E
 let pinsB=b0
 let bit14=0                             ; RAZ du bit 6 dans byte B1 (E)
 let pinsB=b1
next bptr 
pause 200
return












Aucun commentaire:

Enregistrer un commentaire

Les commentaires constructifs sont les bienvenus.
Contact par mail via mon profil dans la colonne de droite.