Excessive noise on signal lines - project guidance request

Hello!

Project Background
I am building a full sized pinball machine from scratch (not reusing an existing machine/parts). I have already designed, fabricated and individually tested all the mechanisms and sensors, and now it is time to get the electronics wired up and working. Unfortunately, I have run into an issue I didn't see coming that is very frustrating. I'll try to avoid going into the weeds, but my project uses multiple generic door lock actuators, 12 volt solenoids and logic level servos to interact with the steel ball and multiple (~40) sensors (mostly switches that connect a pulled-up line to ground) spread over ~3x4 feet of playfield, necessitating relatively long wires for both signals and power to various devices from the central brains/control boards.

Problem
I am running into problems that seem to stem from excessive noise on the switch signal lines. I designed monostable 555 circuits to trigger several of the door lock actuators (TIP120 transistors) and they all like to trigger at the same time which to the best of my hobbyist-level oscilloscope detective skills is coming from noise generated by the actuators firing. The 12v and 5v rails have capacitors on them and actually look pretty good. When I put a lead on the positive end of one of the actuators (all have flyback diodes, drain to TIP120) I see the same severe noise as a lead on the signal lines from the switches.

Ideas/Attempts
I have tried a number of things, but the only thing that has shown some improvement so far is adding ceramic capacitors across the actuator leads (in parallel with the flyback diodes). Now the amplitude of the noise appears reduced and the other 555 timer circuits don't always trip, but they still frequently do. Increasing the capacitance with an additional cap in parallel seems to have diminished returns or no additional benefit. It seems that something as simple as a wire moving locations when I move the table as I'm working on things can be the difference between proper and improper function even with the caps installed.

As a non-engineer I have been thinking about the following things, each of which I don't know much about. It seems like there are a lot of rabbit holes to go down, and I am hoping someone here can give me some pointers which are really worth following. Some top thoughts on problems - ground loop problems, electromagnetic interference from inductors rather than direct current/voltage effects on the lines (I don't see a path through the lines from actuators to signals)? Some thoughts on possible solutions - low pass filters on signal lines (I've got lots of signals from different places, how would this work on SPI and other communication lines?), shielded cabling (bulky, expensive?), twisted pairs with differential signal (overkill, not reasonable for number of lines from various places). All of my ideas for solutions seem overcomplicated and address the symptoms more than the source of the problem.

I am looking for a hopefully simple and cost-effective solution to deal with the noise. I'd rather cut back on the source than try to fix all the signal lines if possible. Most of the input signal lines will be handled by the Arduino, so I do have flexibility to handle some of this in software (although I plan to use input shift registers which might complicate this). I still want 5 of the actuators to run off my 555 based control board however, and I also will need communication with peripherals like MAX72xx ICs controlling a DMD and 7 segment displays not adjacent to the main control boards and am worried about whether they will even function reliably if I don't figure this out.

As a side note - I feel like there should be a simple solution or I may be overlooking a glaring mistake I've made partly because I am not the only one who has done a similar project and I don't think others have had to do anything elaborate here. (The active custom pinball community however mostly uses commercial/"real" pinball parts, control boards, etc, so my project is different enough I actually think I will get more help in a forum like this).

Thank you very much in advance for any input that can guide me in the right direction!

Sorry this is long winded (first draft was longer). Happy to provide any additional details, schematics, scope traces, etc that seem relevant.

You did not tell us you used shielded wire with only one end of the shield ground in a star configuration, all connected to a single point. You are not likely to minimize the noise until you do.
Paul

1 Like

The route your wiring takes is critical for this kind of thing. Your power supply wiring for your solenoids and other noisy parts should be well away from signal wiring. You should keep the 2 supply wires together and put capacitors across the supply all over the place, especially close to the load. To be clear I mean at least 2 capacitors at the load, one across the supply and the one you already tried across the coils. The flyback diodes should be physically close to the switching device not the coil, although if the switching device is located right next to the thing it's switching then it doesn't matter.

Signal wires should be run together with their associated ground so the signal and its return path are together.

Personally I think you made a mistake using 555 timers, the controller should be perfectly able to turn the solenoids on then off with the required timing.

Some photos of what you have would help us to see any problems.

Nice project!

1 Like

You're right, I haven't tried shielded wire yet. When I search for this, I get bulky cables with multiple wires in each. I have lots of signals coming from all over - is a single center strand shielded wire a thing? If so how do I find it? And would I be correct in assuming I use the shield to supply ground to the switch?

Thanks!

So I think I've already got the caps where you suggest - that is, next to the SMPS and next to the devices. I actually thought the diodes would be better next to the devices so that's where I currently have them. I'm happy to add/move them to next to the power transistors, but for my understanding why is this? I thought you'd want as short a path back to the inductive load as possible?

My wiring is currently a complete mess and I don't have ground running with the signals currently - so I guess that's the first thing to try. I've got grounds for the logic stuff and actuators separate (except connected at the 12v supply of course), but I was hoping I could minimize wiring.

Do I need to have the 12v and ground run together to each actuator from the control board as well, or mostly just the signal lines? This is going to be a lot of wires!

Thanks!

Do you think if I have a hard time sourcing appropriate shielded wire and I fix the wiring to be clean and a star configuration, that twisted pairs with one of the stands carrying ground to the switch or sensor would be a decent compromise to the same effect?

Something like

You can seperate the two 'wires'. 50 years ago or so, I bought similar as audio cable for stereo systems.

Hi,
Have you got 0.1uF capacitor on each of the LM555, pin 5 to gnd?
http://neilwebber.com/notes/2017/03/18/555-timer-chip-and-the-importance-of-bypass-capacitors/
Can you post a copy of the LM555 circuit you are using?
Do the door latches share the same gnd wires as the controller and LM555?
Do you have back EMF diodes on the latch coils?

Tom.. :smiley: :+1: :coffee: :australia:

I forgot to respond regarding the 555s.

I chose to do that for a couple reasons, but if it's the wrong choice I can scrap the board I made and call it a learning experience.

The 3 pop-bumpers have two contacts that the conductive ball makes sporadic contact with to detect collisions. I measured the context time with the scope, and it was very short sometimes, but I can't remember how short (I can measure it again). The Arduino is going to have tons of stuff to do other than constant polling. I also wanted as close to zero latency as possible in the pop-bumpers and two slingshots. And I wanted these particular actuators to be up and running without the microcontroller, but that's not critical. I know about interrupts, but I thought with limited interrupt pins, in addition to a couple other thoughts I had 555 control for these particular actuators would be cleaner.

Again, I am willing to scrap that board if I can get the Arduino handling it reliably along with it's other tasks.

See reply #5 here for why the diode should be physically close to the switching device not the coil Flyback diodes and why you need them (comments here please) - #5 by Paul_B

If your wiring is a mess that's a big part of your problem. Current needs to go and come back, those 2 paths should be next to each other whether it's a signal or supply, 2 wires physically close.

Large, by which I mean maybe 470uF or so, capacitor across the supply physically close to the switching device and smaller next to the coil as you have. Twist the wires from the coil together between the coll and the switching device, see comment above about paths being next to each other.

1 Like

Okay, I should have thought to look for audio cable. Thanks!

Yes, I do have that cap.

S1 represents my switches/sensors (usually a couple feet from the central 'hub', and frequently next to a door lock actuator or 12v coil represented in the schematic as L1).

Flyback diodes are currently at the supply leads that go into the door lock actuator housing (I haven't opened them up to mess with the internals). I haven't got a chance to read up yet, but it sounds like I need to move the diodes to the switching device instead.

For clarity, the door lock actuators are this style, with a DC motor inside...
image

The ground for the actuators goes to a TIP120, and all of the TIP120s are tied together with a wire headed straight back to the 12v supply. The supply currently (not the permanent solution) has sperate + and gnd leads running to an Arduino, which currently is only functioning to output 5v and ground for the switches/sensors at this stage as I am focused on working the noise issues out before I hook anything else up. I do have a 5v SMPS already that I will install to supply 5v lighting, sensors and logic.

Hi,
Did you consider opto-couplers between in your solenoid circuit, to isolate the control circuitry?

Tom.. :smiley: :+1: :coffee: :australia:

This is gold! That would makes sense that the supply lines are causing more interference because the noise is generated at the switching side more than the load side. So I will definitely add diodes at the transistors. Is there any reason to pull the existing diodes from the load side where the ceramic caps are? It's obviously not much trouble to do so, but might as well leave them there if there's a chance there will be any benefit still once the diodes are added at the switching side.

I have 1000uf electrolytic and a ceramic next to the 12V supply, in addition to the ceramic cap in the nF range at the load.

Thanks for the clarification that both signals and power need to be paired in all cases. I thought I could have a positive 12V 'rail' for the loads with a switched ground going back to the control board, and a logic ground 'rail' to for the switches with signal lines back to the input shift registers/uC. Sounds like this is completely wrong, unfortunately. I'm sure that's basic stuff - I appreciate your patience in explaining it! Please let me know if it sounds like I am still missing something important.

I considered they might have a place, but then couldn't figure out why. Do you mean logic levels turn the opto couplers on and off, then the other side is +12V to the base of the TIP120s switching the actuators and solenoids (so the TIP120s wouldn't touch the logic circuitry)? Do you see this as a partial solution for my noise problem? If so, how? Or is there a completely separate benefit you have in mind over the logic directly inputting to the TIP120 base?

Forgive my ignorance.

Thanks!

Thank you everyone who has given me feedback already! I've got to go to work unfortunately, then will start implementing the wiring fixes and moving the diodes hopefully tonight and tomorrow night, then post an update. In the mean time, I will keep my eyes on this in case anyone else has other suggestions. I really appreciate you all sharing your expertise!

The diodes should be 1 only close to the switching device. Look what it's doing, it's the route for the current to continue from the inductor, the point is to allow it to stay in the same wires as it decays. If there are 2 diodes this doesn't happen.

On another subject do you know if those doors solenoids are up to the job? In their intended use they probably operate about 4 times a day, you are going to be operating them what? 30 times in 1 minute?

If you are asking, then you have not looked! Every electronic distributor I know of has shielded wire.
Paul

Another thought, when first replied I thought they were solenoids but since then you have clarified that they are motor driven. As they are motors do you need to reverse the polarity so as to drive them in either direction?

I ordered some this morning, should be here tomorrow!