PWM noise passed on to sensor reading

"How-to" questions from new engineers and designers. Please ask and respond here.
Post Reply
Posts: 2
Joined: 11 Sep 2018, 09:06

PWM noise passed on to sensor reading

#1 Post by ramosjos321 » 14 Oct 2019, 15:30

Hi all:

I'm trying to design a two gas sensor system where there is a switch to control
the heater voltage for each sensor. The heater for the sensor can switch between constant +5V
and a PWM. I'm using the PWM from D9 and D10 of an Arduino Nano at about 30 Hz.
The system works fine but when one sensor is in PWM mode and the other is in
constant +5V mode, the analog signals A0 and A1 (the two gas sensor signals) are
doing PWM. It appears the two PWM signals are coupled. I've read that this could be
a problem of the ground. I'm using the same ground throughout but I think I need
to isolate the Arduino ground. However, I don't know how to do this in DipTrace.
I'm enclosing my schematic diagram hoping that someone can point to me where my
error is. The modulation.jpg file shows the sensor results going through all four
states of modulation/constant voltage.

I took three breadboards and used one ground for the Arduino and the other two grounds for the
sensors respectively. It still doesn't work. I want to use the USB to power the circuit
if possible. The gas sensors draw 160 mA each. I would appreciate any help, as I am new to

You do not have the required permissions to view the files attached to this post.

Technical Support
Posts: 342
Joined: 09 Jun 2010, 08:12

Re: PWM noise passed on to sensor reading

#2 Post by Serg » 16 Oct 2019, 03:13

Try to place a 0 Ohm resistor or inductor between the two grounds.
This will keep the two ground nets different, but you'll be able to short them together on the real board.

Posts: 2
Joined: 11 Sep 2018, 09:06

Re: PWM noise passed on to sensor reading

#3 Post by ramosjos321 » 18 Oct 2019, 15:26

Hi Serg:

Thank you for your reply. Do you mean between the Arduino ground and the PCB ground?
I'll look at it but I can see that in the end using a 0 Ohm resistor might lead to the same problem
in the real board. I tried using one PWM from the Arduino and a square wave
from the NI ELVIS board but I see the same coupling. My next guess is to use two 555 timers to
create the two PWM's but unfortunately, that adds to the cost. I'll let you know how it goes.


Post Reply