0
\$\begingroup\$

I’m hoping to use several QRD1113 IR proximity sensors in a device, and they work well but have higher power consumption than I would like. I’ve tested many other ones, but I haven’t found another with a combination of features that will work for me. I’m using a circuit similar to the one in the attached image from Learn.parallax.com.

My question is, would it be possible to use a series resistor between Vcc and the collector to reduce the power consumption of the sensor, assuming I don’t mind using a larger load resistor and sacrificing some speed? Would this have undesirable effects on the performance? In a quick test, it seemed like the voltage I was reading would no longer drop to zero when the transistor was dark, which I don’t completely understand.

My reason for not using a larger load resistor value is that the sensitivity then becomes too high (I need to have analog output with a high overhead so I can also sense and correct for ambient light with the LED off).

I have eight of these sensors (it’s a musical instrument where the sensors each sense a finger) and I’m already switching the LEDs at around 1 kHz with a 50% duty cycle, and only one LED on at a time. I also have the LED resistor value as high as I can comfortably make them, because I want a strong signal relative to the influence of ambient light. So, while the LEDs are a significant current sink, I don’t think I can reduce that much more. The transistors, on the other hand, pass a lot of current when not covered by a finger and are exposed to sunlight, which is my main concern. I could switch the transistors too, but I would need a lot more GPIO for that.

Basic circuit


I have eight of these sensors (it’s a musical instrument where the sensors each sense a finger) and I’m already switching the LEDs at around 1 kHz with a 50% duty cycle, and only one LED on at a time. I also have the LED resistor value as high as I can comfortably make them, because I want a strong signal relative to the influence of ambient light. So, while the LEDs are a significant current sink, I don’t think I can reduce that much more. The transistors, on the other hand, pass a lot of current when not covered by a finger and are exposed to sunlight, which is my main concern. I could switch the transistors too, but I would need a lot more GPIO for that.

\$\endgroup\$
  • \$\begingroup\$ Is that circuit what you are using? If so, it's only drawing 2.5 mA if the photo transistor is saturated. Plus whatever goes through Va3. That doesn't sound like a lot of current. \$\endgroup\$ – JRE Dec 13 '18 at 15:59
  • \$\begingroup\$ No sorry, the circuit was just an example to show the layout and try to illustrate where I was thinking if inserting a series resistor. I'm actually using 3.3 V and a 1 Kohm load resistor. That gives 3.3 mA if the transistor is saturated, which may not sound like a lot, but with a worst-case scenario with all 7 sensors uncovered in sunlight (so they would all be saturated at once), it would add 23 mA to my power budget. My entire device currently uses 20 mA, and I'm hoping to keep it in that range. For comparison, the IR LEDs draw about 8 mA total because of the 50% duty cycle. \$\endgroup\$ – Andrew Mowry Dec 13 '18 at 16:39
  • \$\begingroup\$ This sounds (excuse the pun) like you need capacitive sensors and not IR detectors. You could use I/O ports to implement this. \$\endgroup\$ – Jack Creasey Dec 13 '18 at 17:01
  • \$\begingroup\$ I used capacitive sensors on earlier prototypes, but they didn’t sense distance as accurately and were prone to grounding issues, issues with dry fingers, etc. The QRE113 sensors I’m currently using work perfectly, they just don’t have the correct form factor, hence my desire to use the QRD113 but (hopefully) reduce the power consumption just a bit. That’s why I’m wondering about the series resistor, and whether it would work to get the consumption closer to what I get with the QRE113. \$\endgroup\$ – Andrew Mowry Dec 13 '18 at 17:27
2
\$\begingroup\$

Typical forward current is shown as 1 mA with 20 mA current on the LED side.

So 5 mW consumed by the receiver.

And 24 mW by the source considering the ~1.2 V LED forward voltage. If you're just using a resistor to limit the LED current, then you'll be consuming 100 mW for the source.

Whatever power you save by reducing receiver current won't do much for your overall system budget. Also, it will reduce your sensitivity to objects at farther distances or with non-reflective surfaces.

A better way to save power, if you have a nice reflective target or only want to detect it very close, is just reduce the LED current. Then you save power on both sides.

\$\endgroup\$
0
\$\begingroup\$

This circuit will servo out the DC and some of the low frequency photonic energy, such as 60Hz or 120Hz.

schematic

simulate this circuit – Schematic created using CircuitLab

\$\endgroup\$
-1
\$\begingroup\$

The easiest way to fix your problem is to PWM the LED to reduce the power consumption.

If you modulate the LED at say 500Hz and set the PWM on time to something like 10% then you have the LED on for only 200us and then OFF for 1.8ms. The receiver (phototransistor) will not dissipate any power while the LED is off and you have a 200us ON window if there is a target in range. Update 1: You could also turn off the VCC to the phototransistors using the same PWM signal.
The real difficulty for you is that without a suitable 940nm filter to eliminate ambient/sunlight problems how do tell the difference between a fingered sensor or one getting lots of sunlight? You could try putting an additional 920-940nm filter over the sensor (it already has one) to improve you ambient rejection. There are plenty of small filters available on Ebay.

Update:
The QRD1113/1114 has a daylight filter but as with any of these devices it can be swamped by direct sunlight.

If you want to run 8 of these and have good daylight/sunlight rejection, then you'd be better using a TOF laser sensor that is used for gesture control. The ST VL53L0X has a very narrow Rx window @940nm giving it good ambient rejection since water absorption clears this area.

enter image description here

The device has an I2C interface that can be reprogrammed (read this) to support multiple on the same bus. You can select the devices by jumpers so don't need to have a lot of I/O ports.

\$\endgroup\$
  • \$\begingroup\$ My main concern is that the transistors do dissipate quite a bit of power when exposed to ambient light, even when the LEDs are off. \$\endgroup\$ – Andrew Mowry Dec 13 '18 at 4:05
  • \$\begingroup\$ Thank you—I’ve looked at the ToF sensors, but from what I understand they’re a bit slow for my application. I’m currently reading all my sensors twice (once for ambient, once with the LED on) every 2 ms, while it looks like the ToF sensors take 33 ms per reading, if I’m understanding the datasheet correctly. I’m currently using QRE113 sensors and the results are great, but unfortunately the form factor isn’t good because they have exposed leads. That’s my reason for wanting to switch to the QRD113. \$\endgroup\$ – Andrew Mowry Dec 13 '18 at 6:03
  • \$\begingroup\$ If you are sampling a human hand how do you need 2ms response time? Are you dealing with superhumans? The TOF sensors can be started simultaneously, you don't need to round robin the sensors. I'd imagine any responses below 100ms would be fine. \$\endgroup\$ – Jack Creasey Dec 13 '18 at 6:31
  • \$\begingroup\$ MIDI instruments can start to feel “sluggish” once the response time gets over 10ms. If you artificially change the latency on a MIDI host to more than 10 ms it becomes noticeable, especially on fast gracenotes like bagpipers use. Most electronic wind instruments aim for sampling all sensors in the 1-3 ms range. \$\endgroup\$ – Andrew Mowry Dec 13 '18 at 14:56
  • \$\begingroup\$ For a bit more context, a typical bagpipe gracenote has a duration of around 30-40ms. \$\endgroup\$ – Andrew Mowry Dec 13 '18 at 16:49

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.