Digital dial indicator interface – parte1


Dopo una piccola premessa qualche giorno fa, ecco un po’ di documentazione riguardo le modifiche apportate al comparatore elettronico comprato dagli USA (ma made in china :D ).

Sono bastate un paio di prove per rendermi conto che fare foto non è proprio il mio forte! Volevo postare qualche immagine del dispositivo lato connettore, ma non sono riuscito ad ottenere nulla di guardabile.. Colpa delle dimensioni ridotte, o forse del cellulare (non avendo la digitale mi arrangio con il tel)… resta il fatto che le foto che faccio fanno schifo! quindi ho pensato bene di non postarle.

Analisi all’oscilloscopio del segnale digitale proveniente da un comparatore elettronico bimillesimale.

Il connettore di uscita ha 4 pin:

  • Vcc (3V)
  • GND
  • CLOCK
  • DATA

Il segnale è composto da 28 bit, ho pero’ notato che il segnale di clock non arriva a frequenza costante. Mi spiego: il treno di 28 bit arriva con un intervallo costate tra un bit e l’altro, ma tra un treno di impulsi e l’altro, non è costante l’intervallo di tempo.

Probabilmente vedendo gli shot si capisce meglio:

Questo è il segnale di clock 50ms/Div

E questi sono altri shot con l’asse dei tempi settato a 500μs/Div e a 1ms/Div:

500μs/Div

500μs/Div

1ms/Div

Se contiamo gli impulsi del clock, includendo anche gli impulsi che non sono molto chiari negli shot arriveremo a 28.

Come già detto nel posto introduttivo, il dispositivo usa una codifica bcd (Binary-coded decimal), o comunque qualcosa di molto simile.

Vengono sparati fuori dalla porta di comunicazione in formato binario i valori delle cifre riportate sul display di lettura, ecco il significato di ognuno dei bit (o meglo della maggior parte di loro :) )

ABBBBCCCCDDDDEEEEFFFFUGUNNNN (il bit piu’ importante è quello a sinistra di ogni serie da 4)

  • A => prima cifra del display, è usata solo nel caso sia selezionato il sistema di misura anglosassone; la cifra del display puo’ assumere solo i valori “0″ e “1″.
  • BBBB => codifica bcd della prima cifra del display; nel caso si stia usando il sistema metrico, questa cifra assume il valore di millesimo di millimetro (0.00B)
  • CCCC => codifica bdc della seconda cifra del display; centesimo di millimetro
  • DDDD => codifica bdc della seconda cifra del display; decimo di millimetro
  • EEEE => codifica bdc della seconda cifra del display; millimetro
  • FFFF => codifica bdc della seconda cifra del display; decine di millimetri
  • U => Unità di misura. Quando al posto delle due U troviamo degli uno, significa che il dispositivo sta mandando la lettura in formato anglosassone, quando le U prendono valore 0, il dato è in sistema metrico
  • G => Bit identificativo del segno. Quando G=1 allora il segno della lettura è negativo, quando G=0, allora la lettura ha valora assoluto positivo
  • N => Non usato

La posizione della virgola è fissa, e dipende dall’unità di misura selezionata.

Il segnale visto all’oscilloscopio:

Da quel che ho capito, treni di impulsi tipo questi stanno a significare:

0 0100 0000 0000 0000 0000 010 0000 ==> -0.002 mm

0 0100 0000 0000 0000 0000 000 0000 ==> (+)0.002 mm

0 0001 1000 0000 0000 0000 010 0000 ==> -0.018 mm

1 0100 0000 0000 0000 0000 101 0000 ==> (+) 0.00025 in

1 0100 0000 0000 0000 0000 111 0000 ==> -0.00025 in

Prossimamente codice per microcontrollore (arduino) e codice processing per la lettura da pc dei dati.

That’s all….

Vedi l’articolo successivo sul comparatore digitale

Vedi la serie di articoli equivalenti a questo in cui si parla di un calibro, ovviamente digitale.

Ed infine una a 1ms/Div:

Tag: , , , ,

Un Commento a “Digital dial indicator interface – parte1”

  1. [...] aver introdotto il tipo di codifica che usa il dispositivo in un articolo di qualche giorno fa.. ecco il codice del microcontrollore per eseguire la lettura dei dati sul nostro comparatore [...]

Lascia un Commento