Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

FPGA control of an electromagnet

Hello!

I apologize if this is in the wrong board, but I thought that it may cover the area closest to what I am interested in. I am (for my sins) a biochemist working in the field of microfluidics and have (rather suprisingly) managed to program an FPGA card with LabView to collect inputs from a set of photomultiplier tubes (PMTs), make some decisions, and then output a signal to a high-voltage inverter when necessary. This all works fine, but the electrical side has been very easy so far. I would now like to control a small home-made electromagnet consisting of (at this stage) a tiny steel nail with insulated copper wire coiled around it. Sorry for the preamble, but here are my questions: is it a bad idea to power my electomagnet directly from an analogue output of the FPGA card? And does anyone here have any experience controlling electromagnets using an FPGA card?

I apologize for this stupid question, but my knowledge of electrical engineering is rather poor. I would be extremely grateful for any input.

Very many thanks, Oliver.
0 Kudos
Message 1 of 4
(6,429 Views)
Hi
What is the output voltage you want to deliver and what is the frequency?
I don't think that you absolutely need an FPGA device to control your sensor.

kamal
NIF
0 Kudos
Message 2 of 4
(6,080 Views)
Hello Kamal,

Thanks for your reply. I am using an FPGA card so that I can acquire signals from two PMTS at a rate of 100 kHz and make decisions about 50-500 microsecond events occurring in these signals. If a given event fits certain criteria then a high-voltage amplifier is activated for 100-1000 microseconds. The FPGA card was chosen to do this because of the rapid nature of acquisition/decision-making/output. If you know a cheaper way to do this then I would be glad to know!

The current setup works well, but I would like to replace the high-voltage amplifier with a very small electromagnet. As I understand it, if I have an electromagnet with a resistance of 200 ohms with 10 V DC across it then the current that flows is 50 mA. What is the maximum current that can flow from an analogue output before the FPGA blows a fuse? And would you recommend controlling the electromagnet using a separate power supply instead?

Thanks again for the reply, Oliver.
0 Kudos
Message 3 of 4
(6,060 Views)
I do not know anything about the specs of the FPGA in question. But all driver circuits for logic signals I know can handle up to 24mA (sometimes 48mA) of current. In source mode, i.e. if you just use the output pin, this current is available at a minimum output voltage of around 2.8V, or, in other words, the guaranteed minimum output voltage at maximum current load is around this value. As FPGAs usually are not designed to drive high current loads, and as 50mA would be far too much for most dedicated driver ICs I have serious doubts whether your circuit will be able to handle this.

Usually it is better to connect high current loads in sink mode, i.e. connect the load between +5V (or the supply voltage of the output driver, whichever is lower) and the output. In this case you can get an output voltage very close to the supply voltage at full current rating - but again, the current ratings I know are 48mA maximum.

In any case, when connecting any inductive load (i.e. anything which contains a coil) to electronic circuitry you should add a diode in parallel with the coil, connected with the catode to the higher potential, to breakdown reverse current which occurs when an inductive load is disconnected from the supply.
0 Kudos
Message 4 of 4
(5,914 Views)