Monthly Archives: October 2016

IR Light Follower for Wall-E2, Part III

Posted 29 October 2016

In my last post, I described the evolution of an IR ‘sunshade’ for the OSEPP IR follower board.  The version 3 shade did indeed cut out most of the direct IR term from the overhead lighting, and most of the high-elevation multipath as well.

So, I set up some directional tests on my bench using an IR LED clamped in a small vise, with the OSEPP board sitting on a pad of post-it notes to achieve the proper elevation relative to the IR diode.  I then wrote a short Arduino program to print out the IR detector analog values, to see if the board was directive enough for use as part of a IR homing setup.

Benchtop directionality testing setup

Benchtop directionality testing setup.  The transmitting IR LED is visible in the background, clamped in my bench vise

Unfortunately, the initial test results were not what I hoped for.  Directionality response was erratic, with LED 1 (3 O-clock using the connector strip as 6 O-clock) responding better when the board was oriented directly toward the IR led than when boresighted on the IR emitter.

Board orientation for max response on LED1 (LED1 is oriented toward 3 O-Clock)

Board orientation for max response on LED1 (LED1 is oriented toward 3 O-Clock)

By moving an opaque 1/2″ mixing stick around, I was able to discern that the odd response angle It appears to be caused by IR energy being reflected from other internal structures on the board, although this doesn’t explain the lack of response on-boresight.  So, I decided to add some internal isolation vanes to the sunshade in a ‘vane attempt’ (pun intended) to suppress internal reflections, as shown in the following image.

Sunshade V4, with detector isolation vanes installed

Sunshade V4, with detector isolation vanes installed

02 November 2016 Post:

As it turned out, the above sunshade wasn’t quite big enough, so I wound up going through two more versions before arriving at one that completely blocked overhead IR sources.  The final design is shown below:

'Final' sunshade design

‘Final’ sunshade design

'Final' sunshade design. Note the manually cut away portions to clear PCB components

‘Final’ sunshade design. Note the manually cut away portions to clear PCB components

Final (hopefully) version of the sunshade, incorporating the PCB component clearance cutouts

Final (hopefully) version of the sunshade, incorporating the PCB component clearance cutouts

 

 

IR Light Follower for Wall-E2, Part II

Posted 28 October 2016

In my last post on this subject, I described the OSEPP IR Follower circuit I found at MicroCenter a few days ago, and my thoughts about incorporating it onto Wall-E2, my wall following robot.  After a few tests, it became apparent that the OSEPP circuit is quite sensitive to IR, and in fact the LED track lighting in my lab puts out enough IR to swamp out the signal from my test IR emitter.  So, I set about developing an ‘IR Shade’ to shield the detectors from elevated IR emitters (this turns out to be harder than I thought, due to IR multipath effects, but I digress).

So, my first attempt was a 3D printed ‘sunshade’ as shown below

IR Shade V1 - Top View: 1 mm thick, with approx 5 mm overhang

IR Shade V1 – Top View: 1 mm thick, with approx 5 mm overhang

IR Shade V1 - Side View: 1 mm thick, with approx 5 mm overhang

IR Shade V1 – Side View: 1 mm thick, with approx 5 mm overhang

This shade was 1mm thick, with about a 5 mm overhang on the IR detectors.  The shade is supported via two posts that mate with mounting holes on the OSEPP board.  When I tested this shade with my LED bench lamp, it basically didn’t do much.  Apparently 1mm is nowhere near enough material :-(.

Next, I tried placing some black electrical tape on the shade, as shown below.

IR Shade V1 with black electrical tape - Top View

IR Shade V1 with black electrical tape – Top View

The black electrical tape helped significantly, which is how I found out about the IR multipath problem.  Not only am I having to contend with blocking the direct path, reflections from nearby objects can also cause problems.

To address the direct path problem, I modified the shade design to be 3 mm thick, with 80% fill density vs the original 40%.  Hopefully this will be enough to cancel out the direct path, leaving only the multipath issue.  I don’t think there is much I can do about the multipath, other than assume that the field (i.e. the hallways in my house) won’t have that problem, as the lighting is mostly incandescent, and the ceilings are mostly 10 ft (3.3 m) away – we’ll see.

IR Shade V2. 3mm thickness, 80% fill

IR Shade V2. 3mm thickness, 80% fill

Even this one didn’t work as well as I’d hoped, so on to version 3 – with a larger overhang – about 8 mm.  This one blocked all the direct path IR and most of the multipath as well.  I’ll stick with this on for now, and move on to some steering tests.

The version 3 IR 'sunshade' with 7-8 mm overhang

The version 3 IR ‘sunshade’ with 7-8 mm overhang

 

 

IR Light Follower for Wall-E2, Part I

Posted Oct 26, 2016

As I was browsing among the aisles in my local MicroCenter store the other day, I ran across the OSEPP ‘IR Light Follower’, an Arduinio-compatible board featuring 6 IR photodiodes arrayed in a semicircle, as shown in the following screen grab.

IR follower description from the OSEPP website

IR follower description from the OSEPP website

After a moment of thinking ‘what the heck would you do with this?’, it hit me – I might be able to use this device to get Wall-E2, my wall following robot, to home in on my planned charging station by placing an IR emitter on the station, pointed along a likely wall-following approach route.  Then, when Wall-E2 detects the IR emitter, it could transition from wall-following to IR homing mode, and voila – capture by the charging station!  So, I decided to buy one and give it a whirl.

When I fired this guy up on my bench, I was surprised to find that ALL the small blue ‘IR detected’ LEDs lit up, as shown in the following photo

IR Follower on my bench.  Note all the indicator LED's are ON due to IR emissions from overhead LED lighting

IR Follower on my bench. Note all the indicator LED’s are ON due to IR emissions from overhead LED lighting

After a bit of head-scratching, I realized that the sensor board’s optics were being ‘flooded’ by my lab’s overhead LED track lighting (I had noticed this behavior on an earlier IR-related project, so it wasn’t too big of a leap).  After turning the room lights off, and rigging up an IR emitter a few inches away, I got the following results

Had to turn off the lights to eliminate IR flooding.  The blue LED at upper left is the power-on indicator.  IR emitter is at far right

Had to turn off the lights to eliminate IR flooding. The blue LED at upper left is the power-on indicator. IR emitter is at far right

At first blush, these initial results are very encouraging.  the board is obviously sensitive enough to detect the output from a single IR LED emitter at a distance of about 6″, and has what appears to be reasonable directivity, but that’s about all I know at the moment. I have no idea whether or not that will translate into sufficient tracking accuracy for charging station capture, but I do plan to find out!

The current idea is to mount the board on the front ‘shelf’ of the robot, as shown in the following photo

Planned location for the IR follower board.  I'll have to build a 'sunshade' to prevent IR flooding from overhead lights

Planned location for the IR follower board. I’ll have to build a ‘sunshade’ to prevent IR flooding from overhead lights

Of course, I’ll have to build some sort of sunshade to keep the sensor from being flooded by overhead lighting, but that’s what 3D printers are for ;-).

Stay tuned,

Frank

 

OSU/STEM Outreach Pulse Detector Project, Part II

Posted 22 October, 2016

In my last post on this subject, I discussed a modification to the OSU STEM Outreach’s Pulse Detector schematic to eliminate the dual 9V battery supply in favor of a single one, taking advantage of the LM358 op-amp’s single supply operation capability.  However, before actually recommending that the new arrangement be adopted, I wanted to make sure that it would work properly with the OXO ‘Soft-Clip’ finger clip module instead of the one I created for testing in my lab.  It should work, but as a long-time engineer I have been bitten more than once by the difference between should and would! ;-).

So, Prof Anderson was gracious enough to bring a spare OXO clip to our next Outreach session, and since then I have had the opportunity to test this clip with my new circuit, as shown in the following photo.

OXO 'Soft-Clip' finger clip with new circuit in background

OXO ‘Soft-Clip’ finger clip with new circuit in background

After fiddling with the tension screw a bit, I got the Soft-Clip tension set properly for my finger, and lo-and-behold, the pulse detector circuit worked out quite nicely, as shown in the following short video clip (as you watch the clip, note that the IR beam from the IR LED is visible as a blue-white glow).

At this time I also made one other minor change.  In the original OSU circuit, the DC blocking capacitor (C2 in the schematic) was a 0.1uF, but in my circuit this value was changed to 0.01uF, because that’s all I had on hand.  In the meantime, however, I got some 0.1uF’s from Mouser, and so my final circuit as shown above incorporates a 0.1uF vice the original 0.01.

The next step in this project is to transfer the detector circuit from plugboard to a more permanent version on perfboard.  This will allow me to demonstrate the new circuit to Prof Anderson and the rest of the OSU STEM Outreach team, to lend credence to the idea of modifying this project’s documentation to eliminate the now-unneeded second supply.  Stay tuned!

Posted 10/24/2016

So, tonight I had the time to finish transferring the pulse detector circuit from my old trusty plugboard to a more permanent medium – i.e. perfboard.  The idea here is to provide the OSU STEM Outreach team with a working pulse detector circuit running from a single 9V battery, as a working example of my recommended modifications to the circuit being used presently.  The image below shows the perfboard arrangement, and there is also a short video clip of the new pulse detector circuit in action.

The astute observer might notice there are only three wires going from the OXO ‘Soft-Clip’ assembly to the pulse detector circuit.  While I was wiring up the perfboard version, I realized I could eliminate one wire by simply moving the 100-Ohm IR LED current-limiting resistor from the anode (positive) side of the diode to the cathode (negative) end. This allowed me to connect the IR LED anode to the PhotoDiode cathode, and both to the +9V lead.  Implementing this change for all of the current stock of OXO clips may be more than the OSU STEM Outreach crew wants to take on, but I thought I would mention it ;-).  The finished schematic (with the transposed 100-Ohm resistor) is shown below

Final pulse detector schematic.  Note change to IR LED current limit resistor, and DC blocking capacitor

Final pulse detector schematic. Note change to IR LED current limit resistor, and DC blocking capacitor

 

Perfboard version of the single-supply pulse detector circuit

Perfboard version of the single-supply pulse detector circuit

The next (and hopefully final) step in all this is to 3D print a small box for the perfboard circuit.  Because I can’t help myself, I have decided to try printing a transparent box – not a trivial undertaking for 3D printing.  Stay tuned!

Posted 10/25/2016

As mentioned above, 3D printing a transparent box is a non-trivial undertaking, at least with the current hobbyist FDM (Fused Deposition Modeling) materials and techniques.  After a number of iterations, the best I could do without a lot of post-processing was a semi-transparent (but still pretty neat) container for the perfboard version of the ‘new-and-improved’ OSU Pulse Detector circuit.

As I have noted previously, the current 3D printing technology makes it easier, faster, and cheaper to go through a number of test cases (literally in this ‘case’!) on the way to a final product, rather than trying to design a final product all in one crack.  Each test takes about 15-30 minutes and just a few cents’ worth of material, and quite often the iterative process illuminates a design problem or opportunity that wasn’t obvious (or even considered) at the start.  In this case, it became apparent after about the 4th iteration that the perfboard should be mounted to the ‘lid’ via printed-on standoffs rather than to the ‘bottom’.

The TinkerCad model for the box and the lid is shown below, as well as the finished product and some of the precursor test boxes.  And, as usual, a short video of the final product.

Pulse Detector Box and lid. Note printed-on standoffs

Pulse Detector Box and lid. Note printed-on standoffs

OSU Pulse Detector Box and precursors

OSU Pulse Detector Box and precursors

Frank

 

 

OSU/STEM Outreach Pulse Detector Project

 

Posted 10/16/2016

A week or so ago I participated in an OSU STEM Outreach program that showed high-school students how to build a working pulse detector circuit, using a commonly available op-amp and an IR LED/Photodetector pair.  After an initial presentation, the students were given step-by-step instructions for building the circuit on a small plugboard, and I helped when students ran into trouble.  By the end of the one-hour session, most students were successful, and were able to see the output LED illuminate in time with their pulse – cool!

As I helped out with the class, I was a bit shocked to see that the circuit being build by the students required two 9V batteries wired in series to create a +/-9V supply for the op-amp. At the time I just assumed somebody forgot to spec the op-amp to be one with a common-mode range including ground, and the extra battery was the ‘field-expedient fix’ for the problem. When I asked Prof. Betty Lise Anderson about this, she said that a single supply had been tried at one point, but ‘didn’t work out’ for unspecified reasons.  This piqued my interest, so decided I would investigate the problem a bit further in my home lab.

As it turned out, the op-amp being used in the students’ circuits was the ubiquitous dual-LM358 in an 8-pin DIP, and this unit does indeed have a common-mode range including ground, so the single-supply idea should have worked.  Here’s the original OSU circuit (transcribed into DipTrace’s schematic capture format)

Original OSU Pulse Detector circuit.  Note the dual 9V suppies

Original OSU Pulse Detector circuit. Note the dual 9V suppies

And here’s my final single-supply detector circuit

Final single-supply Pulse Detector schematic

Final single-supply Pulse Detector schematic

Comparing the two, the only real difference is the addition of the 470K resistor from the inverting input to ground.  In the original circuit, the inverting input was tied directly to ground, while the non-inverting input had a 470K to ground.  This can be a problem, as the input bias current for the LM358 can be on the order of 100 X 10-9 (100 pico-Amp), which means that the DC voltage at the non-inverting input due to bias currents could be as much as 50mV or so.  Since this is on the same order of magnitude as the photo-diode signal at this point, there is a real chance the op-amp would never toggle the output.  The dual-supply setup eliminates this problem, but at the cost of a second battery.

The final circuit, as laid out on my plug-board, is shown below.

Pulse Detector circuit with my 3D-printed finger socket

Pulse Detector circuit with my 3D-printed finger socket

Final Pulse Detector circuit

Final Pulse Detector circuit

And, because I can, here’s a short movie showing the pulse detector in action ;-).