Connecting SEN-08554 IR receiver to netduino

fll-freak:
One good possibility is that the micro pin the receiver is connected to is still set as an output.

That was my Secret Squirrel guess. :mrgreen:

So, I connected the output of the 08554 to the netduino ground via a resistor (rather than the interrupt pin), and measured the voltage across the resistor - its 3.3v

Then, when I press a button on the remote, I get my signal as a voltage reduction (towards zero)

Note: ground on the scope is the A (specifically the one with the underscore)

My scope images were created by measuring across the interrupt pin and ground. If I measure between the interrupt pin and Vcc then I get a nice grounded signal, that pulses when I hit the IR button - but thats not the right way to measure what the interrupt pin is receiving is it?

I am not sure where Joeisi’s request was coming from. A crucial test is to measure the voltage swing with the output not connected to anything. I beleive that your micro pin is set up as an output. Two outputs tied together is BAD.

You should measure the signal with the ground clip of your scope tied to ground and the probe to the signal of interest. Do not connect the ground clip to anything other than ground as you can easily blow things up if you do. The exception is if your circuit under test has an isolated power supply or you have arrange for the scope to be isolated. If you do not understand this last paragraph then do not connect the ground clip to anything other than ground. There is a good video at www.eevblog.com on this exact issue.

nimble:
So, I connected the output of the 08554 to the netduino ground via a resistor (rather than the interrupt pin), and measured the voltage across the resistor - its 3.3v

Then, when I press a button on the remote, I get my signal as a voltage reduction (towards zero)

Note: ground on the scope is the A (specifically the one with the underscore)

My scope images were created by measuring across the interrupt pin and ground. If I measure between the interrupt pin and Vcc then I get a nice grounded signal, that pulses when I hit the IR button - but thats not the right way to measure what the interrupt pin is receiving is it?

There’s no need for the resistor between the output and ground. Adding one makes a divider that will reduce the logic 1 voltage sensed by the Netduino. Assuming you’re using the Netduino to provide the 3.3 V Vcc, just connect the 3.3V to Vcc on the board and Netduino ground to the board ground and scope ground. Then measure the board output. For the moment, don’t connect the board output to the Netduino.

If that’s what you did above (but with the added resistor), what was the logic 0 (low) voltage ? It should be < 0.3 V.

You say you measured the voltage from the output to ground but why is the scope showing below ground voltages ? Something looked fishy there. Also did you really use 10x probes or just clip leads ?

… but thats not the right way to measure what the interrupt pin is receiving is it?

Yes, that is the right way to measure it. Now all you need to do is make sure the I/O pin is set (via software) to be an input and not an output.

Hi Mee_n_mac,

Firstly, thank you for putting the time to help here - it must be obvious I’m quite new to this, I am, however, surprised that this setup isnt just basically plug’n’play, as I thought (as was said previously in the thread) that this device was supposed to output Ground when not detecting an IR signal, and a modulated voltage when receiving a signal…

I definitely have the port set as an input in code (InputPort pp = new InputPort(Pins.GPIO_PIN_A1, false, Port.ResistorMode.Disabled)).

So, as you can see Im using A0 as my interrupt pin - so I’ll refer to it as A0.

Here are my measurements (with the board attached) - which is kind of the reverse of what I was expecting:

          3V3 Gnd
        -------------
A0    | 0v   3.3

Here is a picture of my setup, and the scope output. It seems, no matter what I do, the base voltage is 3.3, and the signal is an approximate 1v reduction in this DC level - which, of course, fails to trigger an interrupt. (Yep, I fixed the scope scaling. 1 segment is now 1v).

http://img821.imageshack.us/img821/3999 … dscope.png

  • on the netduino, from left to right, the connections are 3V3, Gnd, A0

  • on the board, 3V3, Data, Gnd

http://img812.imageshack.us/img812/3774/circuitb.png

OK, the o-scope data now looks sensible. BTW … kudos on all the good info and pics ! It’s a rare thing when “we” get this much info to debug a problem. Far too often we must perform Carnac-like diagnoses.

ATM I don’t see anything grossly wrong with the setup. Let me percolate some more on it. I still advise measurements made on the IR receiver board output w/o any connection to the Netduino. Divide and conquer, simplify, simplify, simplify are the standing orders to debug most any problem.

Cheers - Its in my best interests to make my stuff-ups as obvious as possible to everyone!!

Unfortunately, the netduino is the only power supply I have.

If I connect the 3v3, and ground, to their appropriate counterparts - then scope between the data pin (without connecting that to the netduino - so its just floating), and ground on the netduino - I get exactly the same output as the above scope screenshot. 3.3v baseline with a 1v modulation.

I recompiled my program to use A0 as an output pin, and set it to true, and a simple multimeter test showed 3.3v on it - so when I am using it as an interrupt port it is definitely 0v…

Im thinking maybe I should just order another chip. Bummer is that I live in New Zealand, so it takes a week to get here. I knew I should have ordered two )-:

The test Mee_n_Mac wants (as well as me) is simply to leave the whole set up as is, but just disconnect the jumper to the input pin at the micro. Now connect the ground clip to ground and the probe to the now dangling output jumper wire. This will tell us if the problem is in the micro or your receiver.

Hi fll-freak, that’s what I did in my last post.

If I connect the 3v3, and ground, to their appropriate counterparts - then scope between the data pin (without connecting that to the netduino - so its just floating), and ground on the netduino - I get exactly the same output as the above scope screenshot. 3.3v baseline with a 1v modulation.

I’m guessing you’re saying that this means there’s something wrong with my sensor board?

Ok, so now its my term to be a space cadet.

If you have indeed connected ground to ground, 3v3 to 3v3, the ground clip on your scope to ground, and the probe tip to the receiver output, than the likely hood is high you have a bad sensor.

But, you still have a few possibilities.

  1. Do yo trust your scope and your ability to use it? Perhaps everything is working, but your scope is lying to you. Have you tried it on a test sketch that just generates a fast square wave on your micro? Are you sure you have the right probe attenuation? Are you sure the probe is not busted?

  2. Are you really getting 3V3 to the receiver? Can you double check it at the board with a volt meter. I have not looked at the datasheet recently, does the board work down to 3V3?

  3. Can you check for 3V3/ground at the pin on the chip rather than the board? Perhaps a bad trace?

If none of the above pans out, I think you have a bad sensor.

Hi,

Thanks guys for the help - I have come to the conclusion that I did indeed have a bad board. Ive tested my scope with PWM output from my netduino, and it reports correct data. Its a Fluke 199C and while it has functionality far beyond my understanding, I’m pretty sure I’ve got it sussed for this reasonably simple stuff.

Anyway, I shot over to JayCar and bought this part this afternoon: http://jaycar.co.nz/products_uploaded/ZD-1952.pdf and dropped it in as a replacement. This is the signal I get out of it when receiving an IR packet:

http://img849.imageshack.us/img849/8751/dataz.png

It oscilated between 0v and 4v - a full swing - so its PLENTY to trigger the interrupt. I have also now written some code which interprets these interrupts and records ‘macros’ - when it ‘sees’ the same key sequence again it flashes the LED light. Working perfectly - including a keybounce tolerance (which seems to be pretty important with IR).

So, again, thank you very much for the help, this has been a HUGE learning experience - next my task is to wire up a circuit to the netduino (http://highfieldtales.wordpress.com/201 … -netduino/) so I can ‘replay’ recorded macros and control my appliances… that will probably be even harder - but Im getting there!

Thanks