Wednesday, September 30, 2015

Igaging Micrometers and Calipers

I've added the Igaging SpeedMic and OriginCal to our list of Arduino connected Mitutoyo measurement equipment (Micrometer, Caliper, Dial Indicator, and DRO Scale). I made some improvements to our Mitutoyo Instructable to facilitate connection to the Igaging equipment. The Igaging SPC enabled gear is Mitutoyo compatible, using the same 52 bit data stream. It even uses a Mitutoyo SPC cable for connection (not the same cable as our Mitiyoyo Coolant protected Micrometer).

Igaging SpeedMic and OriginCal

Cable for Arduino

Discuss (Yahoo)
Discuss (Facebook)

Schematic






Now comes with a new professionally made board!







Order interface Boards (one for each axis):


Options:

Code:



int req = 5; //mic REQ line goes to pin 5 through q1 (arduino high pulls request line low)

int dat = 2; //mic Data line goes to pin 2

int clk = 3; //mic Clock line goes to pin 3

int i = 0; int j = 0; int k = 0;

byte mydata[14];

float num;

void setup() {

Serial.begin(9600);

pinMode(req, OUTPUT);

pinMode(clk, INPUT_PULLUP);

pinMode(dat, INPUT_PULLUP);

digitalWrite(req,LOW); // set request at LOW

}

void loop() { // get data from mic

digitalWrite(req, HIGH); // generate set request

for(i = 0; i < 13; i++ ) {

k = 0;

for (j = 0; j < 4; j++) {

while( digitalRead(clk) == LOW) {// hold until clock is high

}

while( digitalRead(clk) == HIGH) {// hold until clock is low

}

bitWrite(k, j, (digitalRead(dat) & 0x1)); // read data bits, and reverse order )

}

// extract data

mydata[i] = k;

}

// sign = mydata[4];

// decimal = mydata[11];

// units = mydata[12];

// assemble measurement from bytes

char buf[7];

for(int lp=0;lp<6;lp++)

buf[lp]=mydata[lp+5]+'0';

buf[6]=0;

num=atol(buf); //assembled measurement, no decimal place added

Serial.println(num/1000, 3); //add decimal

}


No comments:

Post a Comment