3
\$\begingroup\$

I'm currently trying to install some IR sensors on an Arduino robot and am having issues with the sensor readings anytime the motors (2 of them) turn on.

I'm using an Arduino Uno connected to an Arduino Motor Shield. The IR sensors are Vishay IR detector modules powered from the regulated supply rail (5V) on the Arduino.

Anytime the motors are powered off, everything works just fine; that is when it detects IR the output of the sensor goes to GND.

But as soon as the motors turn on, the output keeps dropping to GND regardless. I used an oscilloscope to confirm that indeed there is high frequency (~10 MHz) noise. I'm assuming this is noise introduced into the supply by the motor/Motor Shield PWM control signal?

But isn't the whole point of a regulated 5V supply to provide a stable voltage?

I even tried connecting the sensors straight to the Battery (3300 MAh NiMh cells, so current draw isn't a problem) and it made no difference. I've also tried putting capacitors across the motor terminals, across the IR sensor Vin and GND, and also tried them across the Output and GND. No dice. So are the motors actually causing ripples on the Battery voltage?

Any insights?

EDIT:

This is the IR detector: http://www.pololu.com/file/0J19/TSOP34156.pdf

\$\endgroup\$
  • 1
    \$\begingroup\$ A part number and link to a datasheet for the IR sensors would be helpful. If you have any additional circuitry, please post a schematic. A schematic or wiring diagram would be useful at any rate. \$\endgroup\$ – Tut Mar 5 '14 at 18:47
  • \$\begingroup\$ If this is a modulated IR sensor, be aware that the detectors can be very sensitive to nearby radiated noise. Some IR detectors are not shielded. If yours is not, it may need to be. \$\endgroup\$ – Tut Mar 5 '14 at 18:50
1
\$\begingroup\$

I'm fishing around a bit and this graph is what I found. It tells you that the sensitivity of the device optically can be significantly changed in the presence of quite small variations of noise on the power line feeding it and this could be magnetically coupled or just a high-frequency loading effect the motor has on the battery which in turn gets dumped onto the sensor via its power wires: -

enter image description here

The graph tells me that as the "ripple" voltage on the power supply wires gets higher in frequency, the "effect" it can have becomes more dominant. Shown are ripple disturbances of 1kHz and 10kHz and I can envisage a scenario of 10 mV at 100 kHz having an effect. Even higher in frequency, I would say 1MHz at 1mV is likely to cause problems.

On this basis I'd consider having a local voltage regulator on the device just so the device power supply is kept as clean as possible. I don't know how long the cables are feeding the sensors but maybe if they could be shortened this might help too.

The capacitors you may have tried should not be electrolytic but rather they should be ceramic 100nF types. I'm aware that my answer may be missing the real problem but I'm just reporting worries on reading the data sheet.

\$\endgroup\$
  • \$\begingroup\$ Apparently it was the length of the sensor wires that was the issue. I plugged the sensor as close as I could to the Arduino and that fixes it. I'm going to try some ceramic capacitors and see if that helps with the longer wires. I want to avoid using a local voltage regulator if possible and so if maybe using thicker or shielded wires would help i'd rather go that route. \$\endgroup\$ – user4502 Mar 5 '14 at 20:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.