From: Rick W. <ri...@sa...> - 2003-01-08 06:28:38
|
What are the generic names for the transistors you used? The only parts I have available are from radio shack. I already have an unreliable circuit using radio shack parts... I think I need the higher and lower values for my serial to detect dcd stuff correctly..... I'm quite the beginner at this type of electronics work! Are they just NPN and PNP transistors, or are they something special? > here are some notes about the commonly used LIRC serial receiver and a > suggestion for an improved but still very simple circuit. > > Caution ? technical stuff to follow ;-) > > Some people reported strange problems using the current circuit > (http://www.lirc.org/receivers.html). This circuit relies on the fact |
From: eric p. <par...@ho...> - 2005-11-30 03:04:27
|
Just ran across this posting and it looks like this would be the solution to my problems. I am guessing that my laptop (IBM 600x) is not putting out a constant enough RS232 serial port voltage and that is the issue. Does anyone have the schematic that is mentioned in this post from 2002? Or a similar IR schematic that has been used with a laptop successfully? I have the parts for the advanced schematic mentioned on the lirc site but not sure that will work for me. Here is the post from Thomas Breuer: Hi everybody, here are some notes about the commonly used LIRC serial receiver and a suggestion for an improved but still very simple circuit. Caution ? technical stuff to follow ;-) Some people reported strange problems using the current circuit (http://www.lirc.org/receivers.html). This circuit relies on the fact that the threshold level of most modern RS232 line receivers is somewhere around +1...2 volts. Therefore, a simple asymmetric supply of 5 volts is sufficient and the usual RS232 signal levels of +5V...15V (Space) and ?5V...-15V (Mark) can be ignored (at least for a direct connection without long cables). But there is a problem related to the pullup resistor connected to the output of the IR receiver chip. The datasheets (I will only refer to the SFH5100-xx and the TSOP17xx here) specify external pullup resistors to be larger than 10k. This might be too small to pull up the signal as the line receivers have around 7k input impedance. Therefore, a 4k7 resistor is used. But this value is already critical (especially with the SFH5100) as now the internal output transistor may not pull the signal fully down anymore. Some RS232 receivers fail to read this as a valid low level so that it works on one PC while failing on another. Also, temporary failures may occur due to the influence of temperature and/or power load changes on the output and threshold levels. In other words: it may work, or it may not ;-) Another problem with this resistor is that a lot of power is wasted when the output of the IR chip goes low. This lowers the available output voltage swing. As mentioned above, the value of this resistor can not be increased as this would also lower the output voltage swing. So choosing the correct value is quite difficult and depends on the IR receiver chip and the RS232 line receiver of the connected PC. The following circuit suggestion eliminates this problem. It may even work with EIA-562 interfaces used in modern notebooks where the output voltage swing can be as low as +/- 3.7 volts. I couldn?t test this as my notebook doesn?t even have a serial interface :-( However, I simulated such a low voltage interface by reducing the supply voltage down to +/- 3.7 volts. The circuit was still working with an output swing of +/- 3 volts. The new circuit --------------- My suggestion for the improved circuit requires only three additional transistors. Here is a link: http://home.t-online.de/home/tb_electronic/vdr/lirc/lirc_rx.html The lirc_serial driver obviously sets RTS positive and DTR and TXD negative. So we can get a positive (as used in the standard circuit) and a negative supply. The circuit draws only about 1.5mA (SFH5110 used) out of these pins, causing only a slight voltage drop. Details: - Using a LP2950CZ5 instead of a normal 78L05 (pin-compatible). This draws only 0.1mA quiscent current and has less than 0.1V dropout voltage. - Using a Schottky diode (e.g. BAT46) for protecting the regulator. The voltage drop is only 0.2V at 1.5mA. BAT46 and LP2950 are available at http://www.reichelt.de - The voltage regulator is connected between RTS and DTR instead of GND. Therefore, even with only +/- 3.7 volts there is still enough input voltage. - A simple push-pull output stage (T2/T3) is added. This saves a lot of power (well, compared to the limited power available from the driver lines). This would otherwise be wasted in the pullup resistor, lowering the available supply voltage significantly. Now only R1 (100k) of the level shifter T1 adds 0.2mA quiescent current. Additional 1.4mA (@ +/-10V) will flow into the RS232 receiver input (usually around 7k input impedance). Notes: * The two capacitors at the input *and* output of the LP2950 regulator are mandatory (applies also to the 78L05). Without, voltage regulators will oscillate. * The labels with the voltage levels in the schematic are based on +/- 10 volts at RTS resp. DTR (with the circuit connected). * As T1 inverts the signal, the output of the receiver is active high. LIRC will autodetect this anyway. * For clarification, the internal output transistor and pullup resistor of the SFX5100-xx/TSOP17xx chip are shown in the schematic. * Anxious people may add a zener diode (27 volts) across C1 to protect the LP2950 (maximum 30 volts input) as the RS232 specs allow up to +/- 25 output level. However, no modern interface will exceed +/- 12 volts. With the suggested components the circuit should work under most conditions (please test it on notebooks with EIA-562 interfaces!). You may use a 78L05 instead of the LP2950 and a normal diode if the circuit is connected to a desktop PC. The output voltage swing will be reduced by 2 or 3 volts, but this is still more than enough. Hopefully, this suggestion is useful to some of the desperate LIRC users who couldn"t find any explanation for the strange reaction of their receivers. I myself encountered this problem when starting to build my VDR box. Meanwhile, I have developed a small IR Controller for this project (www.tb-electronic.de/vdr/ir_controller.html) where this is also fixed by using a simple level shifter. Thanks to all the LIRC developers for the great software! Thomas |
From: Bob S. <rm...@gm...> - 2010-04-21 06:16:59
|
Thomas Breuer wrote: > The lirc_serial driver obviously sets RTS positive and DTR and TXD > negative. So we can get a positive (as used in the standard circuit) > and a negative supply. That's not what I am seeing on the serial port of my desktop computer running MythDora 12.23. With LIRC set to use the the lirc_serial driver (labeled COM1/Iguanaworks) and nothing connected to the serial port, what I see is that as MythDora boots, the polarity on the RTS line changes from -10.5V to +10.5V. And when I connect a homebrew IR receiver <http://www.lirc.org/receivers.html>, the LIRC initialization changes the voltage on RTS to +4.5V, meaning that the circuit will not work. Also, both DTR and TXD are at 0V. I would like to follow Mr. Breuer's design that uses TXD as a negative voltage source <http://www.tb-electronic.de/vdr/lirc/lirc_rx.html>, but the voltages on DTR and TXD are negligible. How do I get lirc_serial to set RTS positive and DTR and TXD negative? And how do I keep it from reducing the voltage on RTS? Bob Shanteau |
From: <li...@ba...> - 2010-04-24 07:54:59
|
Hi! Bob Shanteau "rm...@gm..." wrote: > Thomas Breuer wrote: >> The lirc_serial driver obviously sets RTS positive and DTR and TXD >> negative. So we can get a positive (as used in the standard circuit) >> and a negative supply. > That's not what I am seeing on the serial port of my desktop computer > running MythDora 12.23. With LIRC set to use the the lirc_serial driver > (labeled COM1/Iguanaworks) and nothing connected to the serial port, > what I see is that as MythDora boots, the polarity on the RTS line > changes from -10.5V to +10.5V. And when I connect a homebrew IR receiver > <http://www.lirc.org/receivers.html>, the LIRC initialization changes > the voltage on RTS to +4.5V, meaning that the circuit will not work. That just means that your circuit draws so much current that the voltage on the serial port breaks down. Either your circuit is totally broken or your serial port does not provide sufficient power. Christoph |
From: Bob S. <rm...@gm...> - 2010-04-25 00:17:50
|
Christoph Bartelmus wrote: > Bob Shanteau "rm...@gm..." wrote: >> With LIRC set to use the the lirc_serial driver (labeled >> COM1/Iguanaworks) and nothing connected to the serial port, what I >> see is that as MythDora boots, the polarity on the RTS line changes >> from -10.5V to +10.5V. And when I connect a homebrew IR receiver >> <http://www.lirc.org/receivers.html>, the LIRC initialization changes >> the voltage on RTS to +4.5V, meaning that the circuit will not work. > That just means that your circuit draws so much current that the > voltage on the serial port breaks down. Either your circuit is totally > broken or your serial port does not provide sufficient power. I am confident that my circuit is not "totally broken". When I hook it up to a 9V battery, the current draw is less than 0.1ma. I even replaced the 78L05 voltage regulator specified in the lirc.org circuit diagram with an LP2950CZ-5.0 low power, low dropout voltage regulator and I get the same result. And when I press a button on the remote control, my voltmeter shows a slight drop in voltage between the output of the IR receiver module and ground, which is consistent with the 0V pulses being sent to DCD. The serial port on my computer (HP DX5150) appears to be OK, because an IR receiver that I bought from irblaster.info works fine with it. The circuit of the irblaster.info receiver is almost identical to the homebrew except that it (1) uses a different voltage regulator (an M2954-03WS <http://www.micrel.com/_PDF/mic2954.pdf>), (2) leaves out the protection diode, and (3) uses an IR receiver module that I don't recognize. The voltage between RTS and GND for this circuit is 9.4V. The voltage across the 4.7K pullup resistor with no button pressed on the remote control is 4.8V, meaning that the current being drawn by DCD is about 1mA. When I press a button on the remote control, my voltmeter shows the expected slight drop in voltage. I have no oscilloscope so I cannot see the pulses, however. To figure out why my homebrew circuit wasn't working the same way as the irblaster.info circuit, I tried disconnecting the output of the IR receiver module in my circuit from both the pullup resistor and DCD. After lirc_serial initialized the serial port, the voltage between the RTS and GND was 7.8V and the voltage between the output of the IR receiver module and GND was 5V. OK. Next I inserted the 4.7K pullup resistor between the output of the IR receiver module and RTS. This time the voltage between RTS and GND was 7.8V and the voltage between the output of the IR receiver module and GND was 7.3V. Workable, maybe. But when I connected the output of the IR receiver to DCD, the voltage between RTS and GND was only 4.5V! That was a surprise! After all, the irblaster.info circuit has no problem driving DCD, so why should the homebrew circuit have a problem doing the same thing? I suppose I could build EXACTLY the same circuit as the irblaster.info receiver, but the IR receiver module they use appears to be key, and I don't know which one it is. Another way to go is to use a transistor to drive DCD instead of using the output of the IR receiver module. I found a circuit that does exactly that <http://wa6rzw.homelinux.net/myth/remote.html>. With that circuit, the voltage between RTS and GND is 9.2V, so it should work, right? But when I press a button on my remote, MythTV doesn't respond. I'd like to compare the pulses from the irblaster.info receiver with the wa6rzw circuit, but without an oscilloscope I can't see them. So it appears that either the homebrew and wa6rzw circuits are incompatible with my serial port or the way that lirc_serial initializes it. This is where I'd like to go to Thomas Breuer's circuit, since it provides both positive and negative pulses using transistors, but to do so it relies on the -10V he found on TXD whereas I find +10V instead. Is there a way to get lirc_serial to initialize the serial port so that TXD is negative? BTW, when I hook up the homebrew circuit to the serial port on a second desktop computer, the voltage between RTS and GND dropped to only 2.4V. And again, the irblaster.info receiver works on the same serial port. I'm mystified. Any ideas? Bob Shanteau |
From: <li...@ba...> - 2010-04-25 08:45:41
|
Hi! Bob Shanteau "rm...@gm..." wrote: > Christoph Bartelmus wrote: >> Bob Shanteau "rm...@gm..." wrote: >>> With LIRC set to use the the lirc_serial driver (labeled >>> COM1/Iguanaworks) and nothing connected to the serial port, what I >>> see is that as MythDora boots, the polarity on the RTS line changes >>> from -10.5V to +10.5V. And when I connect a homebrew IR receiver >>> <http://www.lirc.org/receivers.html>, the LIRC initialization changes >>> the voltage on RTS to +4.5V, meaning that the circuit will not work. >> That just means that your circuit draws so much current that the >> voltage on the serial port breaks down. Either your circuit is totally >> broken or your serial port does not provide sufficient power. [...] > This is where I'd like to go to Thomas Breuer's circuit, since it > provides both positive and negative pulses using transistors, but to do > so it relies on the -10V he found on TXD whereas I find +10V instead. Is > there a way to get lirc_serial to initialize the serial port so that TXD > is negative? > > BTW, when I hook up the homebrew circuit to the serial port on a second > desktop computer, the voltage between RTS and GND dropped to only 2.4V. > And again, the irblaster.info receiver works on the same serial port. > I'm mystified. Any ideas? Now I'm pretty sure that your circuit is the culprit. My guess is that you confused the serial port lines somehow. I.e. you think that you connect to DCD, but it's not DCD. You think that you look at TXD, but it's not TXD. On standard 16550 serial ports it's not possible to initialize TXD to anything, because it's driven by the FIFO when sending data. In idle state it's set to 1, which means -10V. You should check again what you're looking at and where you're connecting your circuit to. Christoph |
From: Bob S. <rm...@gm...> - 2010-04-26 03:16:53
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> </head> <body bgcolor="#ffffff" text="#000000"> Christoph Bartelmus wrote: <blockquote cite="mid:BNWAUUPojFB@christoph" type="cite"> <pre wrap="">Bob Shanteau <a class="moz-txt-link-rfc2396E" href="mailto:rm...@gm...">"rm...@gm..."</a> wrote:Christoph Bartelmus wrote: </pre> <blockquote type="cite"> <pre wrap="">BTW, when I hook up the homebrew circuit to the serial port on a second desktop computer, the voltage between RTS and GND dropped to only 2.4V. And again, the irblaster.info receiver works on the same serial port. I'm mystified. Any ideas? </pre> </blockquote> <pre wrap=""><!---->Now I'm pretty sure that your circuit is the culprit. My guess is that you confused the serial port lines somehow. I.e. you think that you connect to DCD, but it's not DCD. You think that you look at TXD, but it's not TXD. On standard 16550 serial ports it's not possible to initialize TXD to anything, because it's driven by the FIFO when sending data. In idle state it's set to 1, which means -10V. You should check again what you're looking at and where you're connecting your circuit to.</pre> </blockquote> <br> I checked my connections again and you're right. I'm so embarrassed. I found that I had reversed the wires to pins 1 (DCD) and 5 (GND) on the DB9 connector. When I connected those wires correctly, the homebrew circuit works as advertised, at least for 2 of the 3 IR receiver modules I tested: Vishay TSOP39338 and the module in the irblaster.info receiver. But when I used a Sharp GP1U27, I found that I had to keep a button pressed to get a response.<br> <br> Once I had corrected my wiring error, I remeasured the voltages to the other pins on the DB9 connector after MythDora boots up. This is what I found:<br> <br> <tt>Pin 3 (TXD) +10.7V<br> Pin 4 (DTR) -10.6V<br> Pin 7 (RTS) + 8.8V<br> <br> </tt>(The voltages on the other pins were negligible.) <br> <br> I know that both you and Thomas Breuer say that TXD should be -10V, and I do get that initially, but early in the boot process the polarity switches to positive.<br> <br> Thanks for the help.<br> <br> Bob Shanteau<br> </body> </html> |
From: Bob S. <rm...@gm...> - 2010-04-21 06:07:07
|
Thomas Breuer wrote: > The lirc_serial driver obviously sets RTS positive and DTR and TXD > negative. So we can get a positive (as used in the standard circuit) > and a negative supply. That's not what I am seeing on the serial port of my desktop computer running MythDora 12.23. With LIRC set to use the the lirc_serial driver (labeled COM1/Iguanaworks) and nothing connected to the serial port, what I see is that as MythDora boots, the polarity on the RTS line changes from -10.5V to +10.5V. And when I connect a homebrew IR receiver <http://www.lirc.org/receivers.html>, the LIRC initialization changes the voltage on RTS to +4.5V, meaning that the circuit will not work. Also, both DTR and TXD are at 0V. I would like to follow Mr. Breuer's design that uses TXD as a negative voltage source <http://www.tb-electronic.de/vdr/lirc/lirc_rx.html>, but the voltages on DTR and TXD are negligible. How do I get lirc_serial to set RTS positive and DTR and TXD negative? And how do I keep it from reducing the voltage on RTS? Bob Shanteau |
From: Rick W. <ri...@sa...> - 2003-01-08 06:44:28
|
On Wednesday 08 January 2003 01:26 am, Rick Warner wrote: I just googled on the term "push-pull output stage schemeatic" and found that the transistors are indeed just normal npn and pnp transistors... my question is what t1 is for? why can't the output of the ir module just go right to the bases of the npn and pnp transistor? > What are the generic names for the transistors you used? The only parts I > have available are from radio shack. I already have an unreliable circuit > using radio shack parts... I think I need the higher and lower values for > my serial to detect dcd stuff correctly..... I'm quite the beginner at > this type of electronics work! > > Are they just NPN and PNP transistors, or are they something special? > > > here are some notes about the commonly used LIRC serial receiver and a > > > > suggestion for an improved but still very simple circuit. > > > > Caution ? technical stuff to follow ;-) > > > > Some people reported strange problems using the current circuit > > (http://www.lirc.org/receivers.html). This circuit relies on the fact > > ------------------------------------------------------- > This SF.NET email is sponsored by: > SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! > http://www.vasoftware.com |
From: Thomas B. <tb...@tb...> - 2003-01-08 11:44:02
|
On 08/01/2003 08:24 Harald Milz wrote: > I tried a BC546 (NPN type) but it seems that with the resistor value within > thr TSOP module (80K pull-up) the base current will no be high enough to > switch the transistor. Even a parallel resistor of ~ 15K didn't help. This is a simple basic transistor circuit. If it doesn't work, there is definitely something wrong, so please check your components and the connections. The inverter/level shifter T1 gets a base current of approx. 4.4V / 80kOhms = 0.055mA. With an average current gain of 250, the collector current could be up to 14mA. Only 0.2mA (20V/100kOhms) is actually needed. Even a 10MegOhms base resistor would be sufficient (switching times would be very long, of course) if a BC548C with a gain of >450 is used. So with 80k virtually every small power npn Transistor will work. Thomas |
From: Thomas B. <tb...@tb...> - 2003-01-08 11:44:01
|
On 08/01/2003 07:42 Rick Warner wrote: > I just googled on the term "push-pull output stage schemeatic" and found that > the transistors are indeed just normal npn and pnp transistors... > my question is what t1 is for? why can't the output of the ir module just go > right to the bases of the npn and pnp transistor? T1 forms a level shifter. The output voltage swing of the IR receiver chip is only 0 to 5 volts (referenced to the GND pin of the voltage regulator). At the collector of T1 you will get (almost) the full voltage swing supplied by RTS and TXD (usually around 20 volts for desktop PCs). The push-pull stage increases only the output *current* capability, but as it is a voltage follower by principle, it requires full input voltage - hence, T1 is needed. As a side effect, T1 also inverts the signal. Referenced to the RS232 GND pin (5), the output swing is then +/- 10 volts. Note that the voltages will vary depending on the RS232 hardware of the connected PC. Thomas |
From: Rick W. <ri...@sa...> - 2003-01-08 23:09:18
|
On Wednesday 08 January 2003 06:41 am, Thomas Breuer wrote: OK, I have this built now and it seems to be working.. i get pulses and spaces when using mode2.. but irrecord does not seem to be working(!?) As for the ir receiver, I have tried both a sharp gp1u52x and an everlight irm8100-3-n with the same results? > On 08/01/2003 07:42 Rick Warner wrote: > > I just googled on the term "push-pull output stage schemeatic" and found > > that the transistors are indeed just normal npn and pnp transistors... my > > question is what t1 is for? why can't the output of the ir module just > > go right to the bases of the npn and pnp transistor? > > T1 forms a level shifter. The output voltage swing of the IR receiver > chip is only 0 to 5 volts (referenced to the GND pin of the voltage > regulator). At the collector of T1 you will get (almost) the full > voltage swing supplied by RTS and TXD (usually around 20 volts for > desktop PCs). The push-pull stage increases only the output *current* > capability, but as it is a voltage follower by principle, it requires > full input voltage - hence, T1 is needed. As a side effect, T1 also > inverts the signal. > > Referenced to the RS232 GND pin (5), the output swing is then +/- 10 > volts. Note that the voltages will vary depending on the RS232 hardware > of the connected PC. > > Thomas > > > > > > > ------------------------------------------------------- > This SF.NET email is sponsored by: > SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! > http://www.vasoftware.com |
From: Rick W. <ri...@sa...> - 2003-01-08 23:18:52
|
On Wednesday 08 January 2003 06:08 pm, Rick Warner wrote: HOO HOO! it's just irrecord that's screwed up! the receiver works! using ircat, I get reliable output from my cable remote (a config file already existed for it). My question now- how do I generate the config file for other remotes if irrecord is broken? > On Wednesday 08 January 2003 06:41 am, Thomas Breuer wrote: > OK, I have this built now and it seems to be working.. i get pulses and > spaces when using mode2.. but irrecord does not seem to be working(!?) > > As for the ir receiver, I have tried both a sharp gp1u52x and an everlight > irm8100-3-n with the same results? > > > On 08/01/2003 07:42 Rick Warner wrote: > > > I just googled on the term "push-pull output stage schemeatic" and > > > found that the transistors are indeed just normal npn and pnp > > > transistors... my question is what t1 is for? why can't the output of > > > the ir module just go right to the bases of the npn and pnp transistor? > > > > T1 forms a level shifter. The output voltage swing of the IR receiver > > chip is only 0 to 5 volts (referenced to the GND pin of the voltage > > regulator). At the collector of T1 you will get (almost) the full > > voltage swing supplied by RTS and TXD (usually around 20 volts for > > desktop PCs). The push-pull stage increases only the output *current* > > capability, but as it is a voltage follower by principle, it requires > > full input voltage - hence, T1 is needed. As a side effect, T1 also > > inverts the signal. > > > > Referenced to the RS232 GND pin (5), the output swing is then +/- 10 > > volts. Note that the voltages will vary depending on the RS232 hardware > > of the connected PC. > > > > Thomas > > > > > > > > > > > > > > ------------------------------------------------------- > > This SF.NET email is sponsored by: > > SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! > > http://www.vasoftware.com |
From: Rick W. <ri...@sa...> - 2003-01-08 23:09:45
|
On Wednesday 08 January 2003 06:41 am, Thomas Breuer wrote: OK, I have this built now and it seems to be working.. i get pulses and spaces when using mode2.. but irrecord does not seem to be working(!?) As for the ir receiver, I have tried both a sharp gp1u52x and an everlight irm8100-3-n with the same results? > On 08/01/2003 07:42 Rick Warner wrote: > > I just googled on the term "push-pull output stage schemeatic" and found > > that the transistors are indeed just normal npn and pnp transistors... my > > question is what t1 is for? why can't the output of the ir module just > > go right to the bases of the npn and pnp transistor? > > T1 forms a level shifter. The output voltage swing of the IR receiver > chip is only 0 to 5 volts (referenced to the GND pin of the voltage > regulator). At the collector of T1 you will get (almost) the full > voltage swing supplied by RTS and TXD (usually around 20 volts for > desktop PCs). The push-pull stage increases only the output *current* > capability, but as it is a voltage follower by principle, it requires > full input voltage - hence, T1 is needed. As a side effect, T1 also > inverts the signal. > > Referenced to the RS232 GND pin (5), the output swing is then +/- 10 > volts. Note that the voltages will vary depending on the RS232 hardware > of the connected PC. > > Thomas > > > > > > > ------------------------------------------------------- > This SF.NET email is sponsored by: > SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! > http://www.vasoftware.com |