Can arduino handle my circuit? What do i need?


I have built the below circuit with a breadboard.

The bottom power supplies 5v is supplied by arduinos digital out port for 100ms and then off for 1 second.

The top battery is just a 9 volt battery.

I have an analog read coming from just above the 50 ohm resistor on the very right, and its signal pattern is displayed in the bottom right chart.

Basically, i want to be able to read a stream of voltages as the inductors flyback decays to zero.

The trouble is, when simulating the circuit with my software, using a 400uH coil (which is what i use in the real circuit) decays too quick, in microsecond territory, so i have to use a coil with larger inductance in the sim just so i can see the flyback decay pattern when i turn the circuit off.

Anyway, what would i need to do to make the flyback signal readable by arduino?

I currently recieve 0 when i run it as is so obviously the analogread is too slow to capture some of the flyback voltage.

Any help getting this working would be greatley appreciated.

If i could just take 3 or 4 samples before flyback voltage reaches 0 volts that would be good enough for now.


By the way, its for a pulse induction metal detector

The time constant for an inductive circuit like yours is L/R where L is the inductance and R is the resistance. So you need to use lower value resistors (but that will increase current drain on the battery), or a higher value inductor (= more turns on your metal detector coil).

PS - bear in mind that R includes the resistance of the inductor itself. Currently, you have a time constant of about 20us. The Arduino ADC takes about 100us to take a reading in the standard configuration.

PS2: (a) inductance goes as the square of the number of turns
(b) alternatively, use an external fast DAC.

Great info :slight_smile:

Thanks for that

btw there is another way to measure the current decay of your L-R network that doesn't involve the ADC, which is to use the analog comparator instead. I think that's how this capacitance meter works (it's measuring voltage rise or decay in a R-C network rather than current decay in a L-R network).

Yet another possibility: use the L-R network to make a free running oscillator with a 555 timer IC, and use the Arduino to measure the frequency.