Hi,
I am a newbee here.
I am trying to work on Data Acquisition system using arduino and inductors. So, basically I am sending AC signal through a inductor and receive induced emf from the other inductors, There are about 8 inductors connected to a common ground in a circular loop and it works in such a way that one of them transmits while rest of them receives. actually N-1, in the first transmission if one transmits the rest receives, for the next, (i.e 2nd sensor transmits ) only 6 receives … and finally when the 7th inductor transmits, the 8th one acts a receiver. Hope I made how the transmission and receiving works!
Since the induced emf is very small in milli volts or in microvolts ,I used a Instrumentation amplifier to increase its gain and feed it to precision rectifier and send it to the adc of the arduino.
The problem is I am not sure if the measurement is done from the receiving mux which is connected to the sensors. The program I have written I checked with individual MUX and it selects the channel correctly. But the data received is not what I expected in theory.
My theory is when a inductor transmits a ac signal, the inductor which is closest in the circular loop should have its induced emf bigger compared to the others, but all their values remains the same.
I need help with the measurement part… not sure what else to say. I am attaching the coding here, hoping that I will get some advice on the topic.
Thankyou
[code
for(count=0;count<=7;count++)
{
i = pin[count];
a0 = bitRead(i,0);
a1 = bitRead(i,1);
a2 = bitRead(i,2);
digitalWrite( 3,a0);
digitalWrite( 4,a1);
digitalWrite( 5,a2);
delay(20);
Serial.print("Transmitter sensor is ");
Serial.println(pin[count]);
while(i==pin[count])
{
for(count1=count+1;count1<=7;count1++)
{
i = pin[count1];
a00 = bitRead(i,0);
a11 = bitRead(i,1);
a22 = bitRead(i,2);
digitalWrite( 6,a00);
digitalWrite( 7,a11);
digitalWrite( 8,a22);
delay(2);
Serial.print( "Receiver sensor is ");
Serial.println(pin[count1]);
//analogReference(INTERNAL);
Val = analogRead(analogPin);
Serial.println( Val*(5.0/1023.0)*(0.6/2.6));
}
}i++;
}
/code]