Digital RPM with DC-DC converter: Noise or ground loop?

Hi,

I've been looking around this forum and the Internet, and haven't got a satisfactory answer. For some problems I read the symptoms are similar but the setup is not, so I cannot conclusively say their solution will work on my problem - so forgive me if this sounds familiar.

I'm doing a digital RPM display with two 4-digit seven segment displays, each to be displayed in two separate spaces about 25m apart. The input of the system would be an IR sensor connected to Arduino Uno (let's call this ARD1), on which the main processing code resides. The processed RPM data is then sent to two seven segment displays 25m apart, and ARD1 for all intents and purposes is situated in the middle between them. Each of the seven segment display is controlled by an Arduino Nano (let's call them ARD2 and ARD3) which is programmed to take the data from ARD1 and display it on their respective seven segment display. Communication from ARD1 to ARD2 and ARD3 are achieved via a CAT-6 cable using MAX485 to RS485 module.

During trials, each ARD is powered independently using batteries and powerbanks, and had worked wonderfully.

Here's the problem:

The only available DC supply in the operating environment where this project would be ultimately installed is 110V DC. In order to keep costs down, we decided to use a small DC-DC converter that is capable of stepping down 110V to 12V. This converter would be in the same box as ARD1, and its 12V DC output would be sent out to ARD1, ARD2 and ARD3 in parallel, obviously. For ARD2 and 3, in order to minimise cable and simplify installation, we decided to "piggyback" on the CAT6 cable going to them from within the box that contains ARD1, as the serial data going to ARD2 and ARD3 only utilises two of the six wires inside. At the other end these would branch out of the CAT6 cable with two going into the receiving MAX485 TTL module, and two going to the supply terminals of each ARD. When installation is done and we turned on the 110V DC power, both seven segments controlled by ARD2 and ARD3 start spewing random and changing high value RPM readouts, even though the rotating machinery whose RPM it was supposed to measure and display hasn't started moving yet! When we tested with independent batteries and powerbanks - it worked perfectly.

After reading around, my conjecture is that this is either a ground loop problem (should I connect the negative 110VDC input to to the negative of the 12VDC output?) or noise generated by the DC-DC converter screwing around with the data ARD1 is receiving from the IR sensor. Is a filter needed then if the latter is the case?

Any light thrown on this is greatly appreciated, as as the tree said to the lumberjack, "I'm stumped!".

Experience wise , for all intents and purposes I may be regarded as completely rookie.

Thanks in advance.

20210401_222110[38385].jpg

"When we tested with independent batteries and powerbanks - it worked perfectly."

Independent batteries for each arduino ?
How about one battery instead DC / DC converter ?
Put 1000uF and0.1uF capacitors on 12V, on each arduino.

Have you used a twisted pair for the data or just picked 2 wires at random? The data should be on a pair.

I don't see any termination resistors on the end of the data pairs.

79galinakorczak:
“When we tested with independent batteries and powerbanks - it worked perfectly.”

Independent batteries for each arduino ?
How about one battery instead DC / DC converter ?
Put 1000uF and0.1uF capacitors on 12V, on each arduino.

Hi, thanks for the response.
We used the battery only for testing - because of maintenance issues we thought using battery is not practical - we are going to have the RPM monitor on 24/7 so having to replace the batteries every so often is not desirable and we prefer using an always-on and always-available power source. In the operating environment there is only 110V DC supply hence the DC-DC converter.
So with the DC-DC converter remaining, we should put two capacitors across the 12V output going to the Arduino? I’ll try that today. Thanks…

So with the DC-DC converter remaining, we should put two capacitors across the 12V output going to the Arduino?

Within reason you can't put too many capacitors across the supply. Close to the Arduino boards, all of them. If in doubt add another one.

PerryBebbington:
Have you used a twisted pair for the data or just picked 2 wires at random? The data should be on a pair.

I don't see any termination resistors on the end of the data pairs.

Hi Mr Bebbington, thanks for the response.
I think it was on a pair but can't be sure - I'll check. As regards to the termination resistor - I'll try that too but what baffles me is that it seems to work fine when working on independent battery rather than off the available (Converterd) 110 VDC supply.

Read the datasheet to find out more about termination resistors.

It could be that with batteries it was just working now it's just not working.

Twisted pairs are important. Do some research on transmission lines.

I'm assuming that you know what the pairs are.

79galinakorczak:
“When we tested with independent batteries and powerbanks - it worked perfectly.”

Independent batteries for each arduino ?
How about one battery instead DC / DC converter ?
Put 1000uF and0.1uF capacitors on 12V, on each arduino.

this is for location of interferences.

Grounding should be understood.

Is your 110VDC outputs isolated from mains power? If not is you DC/DC have isolation (most don’t). You must have isolation from the mains.

Just thinking out loud…is you signal so fast you need the Max485? Or perhaps its trivial and not of concern.

Why are you powering the 5V Arduinos with 12V? The tiny voltage regulators can only supply about 100 miliAmps after dropping 12V to 5 (7V). Power the 5V Arduinos with 5V to the 5V pin.

JCA34F:
Why are you powering the 5V Arduinos with 12V? The tiny voltage regulators can only supply about 100 miliAmps after dropping 12V to 5 (7V). Power the 5V Arduinos with 5V to the 5V pin.

Because the only available supply is 110V DC, and the only DC-DC converter I could find to step down from there outputs to 12V DC. We did something further today with an interesting outcome, elaborated at the bottom of this post.

JohnRob:
Grounding should be understood.

Is your 110VDC outputs isolated from mains power? If not is you DC/DC have isolation (most don't). You must have isolation from the mains.

Just thinking out loud...is you signal so fast you need the Max485? Or perhaps its trivial and not of concern.

The 110V DC is from a bank of lead-acid batteries. Once the rotating machinery is started by an engine, an auxiliary generator that outputs 110V DC takes over. The set up is not connected to mains AC in any way.

The reason we used Max485 was because we are not confident the Arduino (ARD1) could drive (as in provide sufficient voltage) to power two seven segment LEDs each about 13m away; even if it could, given the myriad of electrical equipment situated along the length we are not sure the signal to the seven segment would survive any potential interference.

Update today:

Okay, so we tried the terminating resistance and coupling capacitors as suggested in earlier responses. No joy.

We then decided to put a voltage regulator based on the LM7809 between the DC-DC converter and the rest of the set up: The spurious readout on the seven segments ceased - it shows '0' when there is no movement. However when triggered by movement it would give wildly fluctuating readout that is nowhere near the real RPM (we verified it with an RPM laser gun)and once the machinery stops, the display shows 0 again.

Before calling it quits for the day, we decided to power ARD1 via a separate battery (9V), and ARDs 2 & 3 as per the existing set up (from the DC-DC converter). It then works fine as intended.

By now I have a good mind to just tap 12V off one of the cells that make up the 110V battery bank, but there are two concerns - the aux. gen output might introduce interference as the DC-DC converter did, and the second one - running the relevant wiring from the cell to the location where the set up will be installed is notoriously difficult. This is still up in the air, of course. We also plan to use the serial monitor next week to see what kind of data ARD1 gets from the sensor and what it outputs over to ARDs 2 and 3 next week.
In the meantime, ideas are very much welcome and appreciated.

Hi,
How many wires in the Cat6 are you using for your gnd, I hope not just one wire.

How many free wires have you got in your Cat6 cable?

Do the 485 data lines use the one twisted pair?

Thanks.. Tom.. :slight_smile:

TomGeorge:
Hi,
How many wires in the Cat6 are you using for your gnd, I hope not just one wire.

How many free wires have you got in your Cat6 cable?

Do the 485 data lines use the one twisted pair?

Thanks.. Tom.. :slight_smile:

There are six wires.
Two used to convey power, two to convey data. That leaves two free wires. Yes, the 485 data lines use the one twisted pair.

mas9m:
There are six wires.
Two used to convey power, two to convey data. That leaves two free wires. Yes, the 485 data lines use the one twisted pair.

That means one wire for plus supply and the other for gnd return?
If so use one of each of the free wires to double up the positive and gnd wires.
With 25m of relatively thin wire you will be experiencing volt drops and any change in supply current will effect your ground return circuit.
Especially as you are also powering two lots of 4digit7segment displays.

Thanks.. Tom... :slight_smile:

mas9m:
Before calling it quits for the day, we decided to power ARD1 via a separate battery (9V), and ARDs 2 & 3 as per the existing set up (from the DC-DC converter). It then works fine as intended.

So problem is in feeding ARD1.
A - Use twisted pair for 12V ( DC/DC - twisted pair - ARD1)
B - Put 9V voltage regulator close to ARD1.
Twisted pair eliminate interferences - in or out, allows to send Video up to 5 km using similar Max.
Voltage regulator is a good filter.
Try also choke.