I built this (https://www.sparkfun.com/tutorial/Outle … ge-v11.pdf) circuit in order to power 2 12V DC 0.6 Amp solenoids. The circuit is working well; however, I’m noticing that when the solenoid is engaged it creates a small but noticeable disruption in the voltage elsewhere in my circuit. For example the relay is being controlled via an Arduino and the other digital pins are reading about 5.25 volts instead of 5 volts. This is causing a small but noticeable problem for some sensors that require exactly 5 volts. I also noticed the supply voltage jumps to about 12.25 volts as well.
I suspect this is somewhat caused by the fact that the solenoid is an inductor. I’ve searched online for information on the subject but I’m still not really clear on the science behind this or whether it’s possible to mitigate the behavior.
I wanted to see whether anyone here has experience with this or could suggest any things to look at?
Your problem is not from the inductor but from the DC load and the voltage drops created.
There should be exactly one path available for the coil current to return to the supply ground. That should be a good fat wire from the emitter of Q2 back to the supply. If you let that current travel through the Arduino there are two problems:
Are the traces designed for these currents? Your first clue that they are not is when they act like a fuse.
Extra voltage drop in that ground return line. Is it really up to the task of carrying 1.2A?
Electrons go where they want to and sometimes this is not where you expect them.
Thank you David. So if I understand correctly what you are saying is that the arduino and solenoids power supplies should be kept physically isolated? Perhaps use an optoiscolator?
All of the grounds are tied together which means it would be possible for the return to go partially to the Arduino. However, I also have 2 servo’s that are using that same 12VDC line and when they are being controlled I do not see any change in the voltage elsewhere in the circuit. This made me suspect that the problem is somehow unique to the way solenoids function.
Attached is a full copy of the schematic, which might explain this better. The Arduino is powered separately, however, grounds are tied together.
The schematic doesn’t help because it is the details of all those ground connections that matter. The high current routes must be star connected. I seem to recall an according to Pete video from a while back that discussed PCB design and covered this topic. If you didn’t see it, look it up.
gnsortino:
For example the relay is being controlled via an Arduino and the other digital pins are reading about 5.25 volts instead of 5 volts. This is causing a small but noticeable problem for some sensors that require exactly 5 volts. I also noticed the supply voltage jumps to about 12.25 volts as well.
Voltages measured exactly between where and where ? And for how long does the above last ? For as long as the solenoid (? relay ?) is powered or just when it initially comes on ? Or off ?
As said above the “high” currents may be traveling through ground paths and causing a DC offset btw “ground” at one physical place in the circuit relative to “ground” at some other place in the circuit. Same goes for +V supply paths. You want to keep high current and low current/sensitive paths seperate, joined only at the supply itself. Use appropriate wire size/trace width for each.
Thank you both. I was not familiar with a star ground. I couldn’t find the specific “According to Pete” video but I did find this (http://www.lh-electric.net/tutorials/gnd_loop.html), which seems to explain the subject. I looked at my PCB diagram and a segment of the ground return for the solenoids does partially share the the same ground (5V rail)that the Arduino ground uses.The 7V rail to power the servos (power provided to a pololu maestro board) has a return directly to ground so perhaps that is why I don’t see the same issue with the servos.
My original suspicion was that something in the way a solenoid works caused this and but it sounds like you both suspect this is really due to the grounds not being wired correctly.
Also, answers to other questions:
Q: Voltages measured exactly between where and where ?
Measured between the ground terminal of the supply battery voltage and the output of an Arduino digital pin
Q: And for how long does the above last ? For as long as the solenoid (? relay ?) is powered or just when it initially comes on ? Or off ?
It lasts for exactly as long as the solenoid is acuated. Once the solenoid is turned off the voltage abnormality goes away and the voltage is a smooth 5V.
Q: Voltages measured exactly between where and where ?
Measured between the ground terminal of the supply battery voltage and the output of an Arduino digital pin
Q: And for how long does the above last ? For as long as the solenoid (? relay ?) is powered or just when it initially comes on ? Or off ?
It lasts for exactly as long as the solenoid is acuated. Once the solenoid is turned off the voltage abnormality goes away and the voltage is a smooth 5V.