AC Signal data acquisition using Arduino

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]

Could you show us your inductors setup - a schematics.. and its physical layout??
Is that a transformer on a toroid core? With 8 windings??

Fix your code tags

Also, what frequency are you trying to detect? The Arduino is limited to about 50kHz to properly measure a single signal. If you are muxing them, then divide that by 8. And that is at the Nyquist limit for good signal acquisition.

LsensorRSH:
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

 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++;
  }

Sorry about the late reply.

There was a more immediate problem in the circuit where the MUX is not responding properly.

So tried to work it out and come to this part later. It still has not been solved.

I have the details of the inductor and the project I am trying to do in my other post.
http://forum.arduino.cc/index.php?topic=217512.msg1596964#msg1596964.

So, if you can please make me understand what I am doing wrong.

Thanks for the help.