IR Transmitter

Hi Guys,
I am trying to follow the IR Communication tutorial found here.

I implemented the circuit as instructed with the exception that I added the Max Power Circuit found here

I have attached an image of my breadboard set up so you can check my work. ( I am using the Ardweeny, and my button is a bit rigged but its working.)

The problem I'm having is with the last part (Example IRrecord.ino)
I can receive just fine, It displays:

Received unknown code, saving as raw
 m5150 s1800 m800 s950 m750 s950 m800 s1800 m800 s1800 m2550 s1800 m800 s900 m800 s950 m800 s950 m750 s950 m800 s950 m800 s950 m750 s950 m800 s950 m800 s900 m800 s950 m1650 s950 m800 s950 m750 s950 m800 s950 m800 s950 m750 s950 m800 s950 m750 s1850 m1650 s1800 m800 s950 m750 s950 m800 s950 m800 s950 m750 s950 m1650 s950 m800 s1800 m800 s950 m800

When I push the power button which should be fine.

However the TV wont pick this up when I transmit this from my board.
I can see the IR Diode transmitting with a camera. I thought it might not have enough power which is why i implemented the Max Power circuit.
I uploaded a video of my circuit LED next to my remote LED to compare power and they seem to have slightly different output power but i dont think its enough to hurt anything. You can see the video here.

Any ideas what might be wrong?

Edit: So its not letting me upload my circuit pic. But you can find it here

You have no decoupling caps on your IR receiver and the IR LED transistor looks wrong. the resistor and the LED should be on the same side of the transistor.

We need to see a schematic not a photo.

Also you have to make sure that the modulation frequency of your IR LED is the same as your TV is expecting.

Grumpy_Mike:
You have no decoupling caps on your IR receiver and the IR LED transistor looks wrong. the resistor and the LED should be on the same side of the transistor.

I hear what your sayin. I didnt catch that myself. Switched it around with no change. Its a series circuit so I didn't think it would matter too much. Maybe some transistor biasing? I also threw in a decoupling cap at a few different values. The receive still works, and i get the same code string on my serial window.

Grumpy_Mike:
Also you have to make sure that the modulation frequency of your IR LED is the same as your TV is expecting.

The IR receiver diode has an internal 38kHz band pass filter and i am receiving on it so the signal should be 38kHz. I also double checked the protocol for my model and it is indeed 38kHz which matches the example code.

Its a series circuit so I didn't think it would matter too much.

But it has a transistor in it so that means that it matters how it is wired up.

The way you have it is as an emitter follower with a collector limit resistor. You should have LED -> resistor -> collector, emitter -> ground.

Grumpy_Mike:

Its a series circuit so I didn't think it would matter too much.

But it has a transistor in it so that means that it matters how it is wired up.

The way you have it is as an emitter follower with a collector limit resistor. You should have LED -> resistor -> collector, emitter -> ground.

Gotcha. I fixed it. Still doesn't work.

However the TV wont pick this up when I transmit this from my board.

OK so the next thing to try is to get the TV right up close to your circuit, less than an inch if possible and see it that works.

If not then you are going to have to look at the signals on an oscilloscope.

I actually just did that. This is the voltage on the receiver pin of the photo diode when hit with a power command from an xbox remote. I zoomed all the way in so there are no more pulses off the sides of the screen. Note that the null state is at +5 V... Is this correct? This is inverse to what I thought.
I double checked this with a multimeter and a signal generator at 38kHz square wave for the diode.
+5V = no signal
0V = 38kHz Square Wave

Edit: I checked the data sheet. this is correct.

The transmit looks a little funny though.

For this test I did away with the max power circuit and simply connected,
5V => diode => 390 ohm resistor => ground
I placed the probe between the diode and the resistor so it would only be across one component and have a ground reference.

The arduino was set to transmit 0xa90

I had to catch this at a low zoom and then zoom in so I'm not sure if the amplitude inconsistencies are real or if they are beats phenomenon caused by low sampling frequency. Either way it doesn't look great. I am going to try to get a better measurement when i can get back to the lab.

5V => diode => 390 ohm resistor => ground

Where is the output pin in all that.

You can invert the signal by changing the driving from current sourcing to current sinking. Maybe that is why you can't get it to work because your IR is upside down.

Where is the output pin in all that.

oops I meant:
5V PWM Pin => diode => 390 ohm resistor => ground

I am going to look over the library code to see if its interpreting it like that. It is the same component used in the tutorial so I don't know.