Cliff sensor LED question

Inside the Roomba and Scooba and more, Cool mods, Repair and Upgrades - including the all new iRobot Create Kit. Let's void that warranty baby!

Cliff sensor LED question

Postby ichris » June 25th, 2011, 6:29 pm

I'd like to permanently disable the cliff sensors on my 560. Does anyone know if the IR receiver in the cliff sensor module expects a special signal (e.g. 38 kHz square wave)? I'm thinking of removing the IR transmitters and shorting the receiver wiring to fool the Roomba into thinking it's always seeing the signal.

So I took my 560 apart and put a scope on one of the cliff sensor transmitters. I saw a 500 Hz 1.5 VDC square wave, 13% positive duty cycle. Rats!

SCOPE_00.jpg
Cliff sensor IR transmitter signal
SCOPE_00.jpg (31.94 KiB) Viewed 3240 times

But I'm not able to run my 560 in it's disassembled form, so I'm not sure I'm seeing the correct waveform.

If the cliff sensor signal is modulated, could the transmit signal be wired to the receiver to fake out the Roomba?

I'm familiar with Dajiu's excellent documentation about taping the transmitter to the receiver together here but I'd rather remove the cliff sensor receivers and transmitters.

Any suggestions?

7/2/2011 edit: corrected duty cycle. Thanks to Gorden for pointing this out.
Last edited by ichris on July 2nd, 2011, 5:34 pm, edited 1 time in total.
ichris
 
Posts: 45
Joined: February 14th, 2009, 8:52 pm

Re: Cliff sensor LED question

Postby Gordon » June 26th, 2011, 3:44 am

ichris wrote:I'd like to permanently disable the cliff sensors on my 560. Does anyone know if the IR receiver in the cliff sensor module expects a special signal (e.g. 38 kHz square wave)?
I'll say NO to that.
I'm thinking of removing the IR transmitters and shorting the receiver wiring to fool the Roomba into thinking it's always seeing the signal.
Can't do that "shorting" of receiver inputs -- the MCU is expecting a modulated input from each receiver, not dc.
... put a scope on one of the cliff sensor transmitters. I saw a 500 Hz 1.5 VDC square wave, 87% positive duty cycle. ...
Glad to see that data. I've been wondering what the 5XX's cliff-IREDs' drive signal might be. BTW, you might study the duty-cycle to see if thinking about it as 100%-87% = 13% might be more accurate for describing when the IREDs are emitting, and dark for 87% of the period.
... I'm not able to run my 560 in it's disassembled form, so I'm not sure I'm seeing the correct waveform.
If you have the harness plugged in to J11, then those Bumper loads are connected to the mobo; and by a single press of Clean the mobo circuits should be powering the bump-switch IREDs and the four cliff IREDs.
If the cliff sensor signal is modulated, could the transmit signal be wired to the receiver to fake out the Roomba?
I think that will be possible, but you might have to play with it a bit. I do not know whether you will be able to feed a single IRED-type signal to four MCU inputs daisy-chained together.

I expect that collector will swing more than the "1.4V" you measured, and that might require you to tap a voltage divider (or four) between GND and the collector so a smaller VPP signal can be coupled to the signal path that used be driven by each receiver's photo-transistor collector.
I'm familiar with Dajiu's excellent documentation about taping the transmitter to the receiver ...
That is so very much easier! You might reconsider doing that 'bundling'!
Last edited by Gordon on February 6th, 2012, 3:19 am, edited 1 time in total.
Gordon
Robot Master
 
Posts: 4109
Joined: April 6th, 2005, 2:02 am
Location: Santa Ynez, CA USA

Re: Cliff sensor LED question

Postby ichris » June 26th, 2011, 2:57 pm

Thank you very much for all your comments Gorden. If was afraid of that - the cliff sensor signals are modulated. That's probably a good engineering decision on iRbt's part, probably helps reduce interference. I'll probably just heat shrink the LED/diode together as you suggest. Wish I had more time to play with it.

All is not lost, I put together some documentation for everyone. Hope it's helpful to others.

cliff sensor.jpg
Cliff sensor module

connector even.jpg
Connector, even side

connector odd.jpg
Connector, odd side

J11 even connected.jpg
J11 connected, even side

J11 odd connected.jpg
J11 connected, odd side

You should be able to click the pictures to embiggen them.

I was not able to determine the polarity of the bump sensor LED's and diodes. The opto's are not marked. I ordered some replacement bump sensor opto's from Vic at http://vic7767.com/run-around-roomba-st ... h-9-beeps/ so I'll need to figure it out soon. Anyone know for sure?

Thanks again Gordon!

7/2/2011 edit: removed pinout pending corrections.
Last edited by ichris on July 2nd, 2011, 5:32 pm, edited 1 time in total.
ichris
 
Posts: 45
Joined: February 14th, 2009, 8:52 pm

Re: Cliff sensor LED question

Postby mfortuna » June 26th, 2011, 3:12 pm

Another possible reason to modulate the IR signal is to detect the stuck on case. If a PT was stuck on and not really working, the robot could go off into space. The firmware can detect the lack of modulation and report a fault.
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
Neato XV-11
User avatar
mfortuna
Robot Master
 
Posts: 5185
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: Cliff sensor LED question

Postby vic7767 » June 26th, 2011, 8:54 pm

I had just removed the IR components on a bumper sensor PCB when I read this thread. I connected the wiring harness to a spare circuit board and used a DMM to take some voltage readings. The meters ground lead was connected to battery ground and the positive lead was then inserted into the openings of the bumper sensor copper trace openings. Here's what I measured.
Attachments
BSPCB.gif
Roomba and Neato Mods, come visit: http://www.vic7767.com/

http://www.Robot-Doc.com/
User avatar
vic7767
Robot Master
 
Posts: 11819
Joined: January 14th, 2006, 8:31 pm
Location: Haughton Louisiana - USA

Re: Cliff sensor LED question

Postby ichris » July 1st, 2011, 8:50 am

Thanks Vic. The original parts did not have little lenses on them. The new parts you sent had little lenses on them which made determining polarity easy. Thanks again.
ichris
 
Posts: 45
Joined: February 14th, 2009, 8:52 pm

Re: Cliff sensor LED question

Postby Gordon » July 2nd, 2011, 1:51 am

ichris wrote:Thank you very much for all your comments Gorden.
You are very welcome, and I thank you for the great wiring harness pix and pin-out list. Those pix are the best ever for tracking from plug P11 round trip through the bumper electro-optics and back to P11 sockets! They are good enough to have pointed out that I, almost a year ago, intermixed the cliff & bump IRED drivers! Whoo boy! Old posts had to be corrected.

Sorry to be days tardy in replying. I had a major diversion while beginning to acquire supporting data. My guinea pig 510 PCA suffered a no-lights/no-response failure that took me down the path to a solution for that failure before I could return to this thread! (I plan to reveal in a new thread the troubleshooting that I did leading to a component replacement).

Once I got that PCA operating again I was able to acquire scope graphs of driver signals, and begin to oombine your data with my old and new findings to flesh out the way I see cliff & bump drivers (IREDs' drivers) working in the 500 series.
If was afraid of that - the cliff sensor signals are modulated. That's probably a good engineering decision on iRbt's part, probably helps reduce interference. ...
I agree. Let me show you something new about that modulation.
... I put together some documentation for everyone. Hope it's helpful to others. ...{I'll keep this one close by during this reply:}
The attachment pinout.JPG is no longer available
...
I would like to begin with some O-scope data. I was interested in revealing the start-up of both driver sections, i.e., the cliff-IREDs'
driver and the bump-SW IREDs' driver. Here is what I did, since I don't have a loose bumper harness to play with.

I had on hand a 2X8 Hirose Electric plug body and some sockets crimped onto foot-long leads, so I pushed pairs of leads into contact positions #1 & #2 and #15 & #16, followed by shunting the the 1 & 2 pair with a 220 ohm resistor (to represent four cliff IREDs in series), and an 80 ohm resistor across 15 & 16 to represent two IREDs of the Bump-SW sensor pair. Scope probes were clipped to sockets #2 (cliff) and #15 (bump), and referred to PCA GND.

A speaker was plugged in at J4; and that is the only peripheral connected! A 4XXX-APS battery was connected to the PCA's VBAT & GND spring contacts, which booted the MCU to put the PCA into what I call the STBY (standby) state. The goal was to begin O-scope sampling of the two 'signals' during that state, then press Clean to shift states to what I call the "ready-to-Clean" state. In that state both drivers are turned ON and their IREDs' driving signals can be recorded. Here is the two channel scope graph that shows those signals before and after a momentary depression of the Clean-SW:
J11-2_and-15_IREDsDrives.jpg
Notice, looking at the (BLU trace) Ch-B signal, it gets switched ON at relative time -375ms, and rises nearly to five volts. That +5V dc level is what biases the two Bump-SW IREDs into conduction -- steady state.

OTOH, the string of four Cliff IREDs become biased about 725 ms later (not that that delay means anything), and we see an ~ 4.25Hz pulse-train envelope on Ch-A (VIO). I clicked in a couple markers "1" & "2" at the root of pulse-period one (it may be going to a lower value, but that means IREDs' current is increasing and emission(s) occurring) to define the period of that pulsed wave. See the top table showing the low-frequency envelope to have a frequency of "4.234Hz" in this sample.

By using what my DSO calls a "Tracker" graph, it centers on the above marker pair to permit expansion of that dense VIOlet structure in the wave form, in a separate display, such as this plot:
TrackingGraph_512HzPulses.jpg
Now you can see the 'fine-structure' previously reported by you; a VPP = 13.5V periodic pulse (512Hz), of 87.4% duty cycle (which should be thought of as 100%-87.4% = 12.6% IREDs-ON Duty Cycle). So all of that clearly tells us the Bump-SW IREDs are dc powered, and the Cliff-IREDs are driven by a complex pulse train, which is a lot like a VWU's emission wave-form, but much slower.

I also spent hours poring over your pinout list, and mine. in an attempt to reach common ground. If your 5XX-Roomba is still dismantled for inspection, it would be good of you to help resolve differences between our two lists. I apologize that mine is not formatted as yours is. There are two major differences, mine is in the notation I use when reverse engineering a circuit, so it begins a trace at a plug socket and follows the H/W path from that point to the return socket. Another difference is: I avoid using the Hirose connector contact-position numbering scheme, and instead use a contact numbering scheme based on row-numbers & column-numbers (of a matrix). However, I have inserted the Hirose Electric numbers in the form of "HR##" after my matrix notation of [r,c].
Here is my "pin out" version (the JPEG is followed by some explanatory text):
P11-wiringOf_Electro-Optics.jpg
Well! That is unreadable, eh! I'll attach a text copy of it.

Please review your pin assignments for HR11 through HR16,

Here are explanatory notes for that 'code':
NOTES:
Cliff-module names are from 500-series Roomba SCI Users Manual.
"==>" means connects to.
"=>{wire_color}=>" means chassis harness wire connects from/to points.
"IRED"=InfraRed Emitting Diode. IRED(A)=device anode; (K)=cathode.
"PT"=Photo-Transistor;
"PTc" refers to a PT's collector pin. Signal to MCU taps off this node.
"PTe" refers to a PT's emitter pin, which returns bias current to mobo's
SIG_RTN bus.
* lower case wire color is from ichris data at:
viewtopic.php?p=96901#p96901
Assignment (above) of right, center, and left cliffs' PT connections is
based on referent ichris post.
Bump-PCB, #4132723, data stems from pix by tnoone.
"mobo"=mother_board=main_PCA.
"PCA"=Printed Circuit Assembly.
"SIG_RTN"=Signal-Return=Signal-Common=Signal-GND=System-GND, but not
"GND"=Vbatt(-). SIG_RTN may be touched at outer ends of R235//R257 shunt-
resistor pair (located near mobo "GND", also marked "J14").
Attachments
P11-wiringOf_Electro-Optics.txt
(1.85 KiB) Downloaded 110 times
Gordon
Robot Master
 
Posts: 4109
Joined: April 6th, 2005, 2:02 am
Location: Santa Ynez, CA USA

Re: Cliff sensor LED question

Postby ichris » July 2nd, 2011, 5:27 pm

Thank you for the detailed reply Gorden! I opened up an unmodified 560 and confirmed the wiring colors for the bump sensors. But I was using the wrong reference point for left-right. DUH! I've removed my pinout diagram pending correction.

I'm starting to modify (D58, vic's bump opto, siamese cliff sensors, re-grease gearboxes, clean etc) the unmodified 560 and will confirm bump sensor diode & transistor wire colors.

Thanks again for your experienced input!
ichris
 
Posts: 45
Joined: February 14th, 2009, 8:52 pm


Return to Robotic Hacking

Who is online

Users browsing this forum: bjarnewarming, mfortuna, tallio, TechGuy, vic7767 and 316 guests