On 2008-05-13, Tom�s � h�ilidhe <toe@lavabit.com> wrote:> A friend of mine suggested to me today to connect one of the LED pins > to the microcontroller, and the other to 2.5 V. That way, if the uC > pin is high, it will source current from 5 volts to 2.5 volts. If it's > low, it will source current from 0 volts to 2.5 volts. (Of course I'd > have a resistor somewhere).I thought that I replied to this yesterday but I can't see it here so I'll post again... There's a potential problem here. Consider what voltage you will be getting from the MCU pin. It will _not_ be 0V, 5V, or Hi-Z. Most 5V devices aim for TTL compatibility. From memory that allows a low to be up to 0.8V and a high to be as low as 2.0V. Therefore it is possible for your 'high' voltage to be below the 2.5V centre voltage. This is of course the worst case scenario, but the LED barrier voltage is also conspiring against you. This varies from device to device but is typically around 1.7V. 2.5 + 1.7 = 4.2V needed from the pin in its high state, which is asking a lot from a 5V device, particularly when you are drawing current from it. Do yourself a favour. Put an H-bridge in there. -- Andrew Smallshaw andrews@sdf.lonestar.org
Best way to get 2.5 volts from somewhere? (Vcc = 5 volts)
Started by ●May 13, 2008
Reply by ●May 15, 20082008-05-15
Reply by ●May 15, 20082008-05-15
On 2008-05-13, Tom\xe1s \xd3 h\xc9ilidhe <toe@lavabit.com> wrote:> A friend of mine suggested to me today to connect one of the LED pins > to the microcontroller, and the other to 2.5 V. That way, if the uC > pin is high, it will source current from 5 volts to 2.5 volts. If it's > low, it will source current from 0 volts to 2.5 volts. (Of course I'd > have a resistor somewhere).I thought that I replied to this yesterday but I can't see it here so I'll post again. Having news server issues at the moment. There's a potential problem here. Consider what voltage you will be getting from the MCU pin. It will _not_ be 0V, 5V, or Hi-Z. Most 5V devices aim for TTL compatibility. From memory that allows a low to be up to 0.8V and a high to be as low as 2.0V. Therefore it is possible for your 'high' voltage to be below the 2.5V centre voltage. This is of course the worst case scenario, but the LED barrier voltage is also conspiring against you. This varies from device to device but is typically around 1.7V. 2.5 + 1.7 = 4.2V needed from the pin in its high state, which is asking a lot from a 5V device, particularly when you are drawing current from it. Do yourself a favour. Put an H-bridge in there. -- Andrew Smallshaw andrews@sdf.lonestar.org
Reply by ●May 15, 20082008-05-15
On May 15, 1:52 am, Andrew Smallshaw <andr...@sdf.lonestar.org> wrote:> On 2008-05-13, Tom\xe1s \xd3 h\xc9ilidhe <t...@lavabit.com> wrote: > > > A friend of mine suggested to me today to connect one of the LED pins > > to the microcontroller, and the other to 2.5 V. That way, if the uC > > pin is high, it will source current from 5 volts to 2.5 volts. If it's > > low, it will source current from 0 volts to 2.5 volts. (Of course I'd > > have a resistor somewhere). > > I thought that I replied to this yesterday but I can't see it here > so I'll post again. Having news server issues at the moment. > > There's a potential problem here. Consider what voltage you will > be getting from the MCU pin. It will _not_ be 0V, 5V, or Hi-Z. > Most 5V devices aim for TTL compatibility. From memory that allows > a low to be up to 0.8V and a high to be as low as 2.0V. Therefore > it is possible for your 'high' voltage to be below the 2.5V centre > voltage. > > This is of course the worst case scenario, but the LED barrier > voltage is also conspiring against you. This varies from device > to device but is typically around 1.7V. 2.5 + 1.7 = 4.2V needed > from the pin in its high state, which is asking a lot from a 5V > device, particularly when you are drawing current from it. > > Do yourself a favour. Put an H-bridge in there.And for the rest of us dumb old timer (in the OP's mind), we just drive LEDs low with separate pins. Sometimes, we need to KISS up.> > -- > Andrew Smallshaw > andr...@sdf.lonestar.org
Reply by ●May 17, 20082008-05-17
In article <slrng2mo62.o5n.andrews@sdf.lonestar.org>, Andrew Smallshaw <andrews@sdf.lonestar.org> wrote:>On 2008-05-13, Tom�s � h�ilidhe <toe@lavabit.com> wrote: >> >> A friend of mine suggested to me today to connect one of the LED pins >> to the microcontroller, and the other to 2.5 V. That way, if the uC >> pin is high, it will source current from 5 volts to 2.5 volts. If it's >> low, it will source current from 0 volts to 2.5 volts. (Of course I'd >> have a resistor somewhere). > >Potential problem here. What voltage is present on the MCU pin? >5V strongly suggests TTL compatible inputs/outputs to me which are >_not_ 0V and 5V. From memory low is up to 0.8V and high is at >least 2.0V. There is a possibility that your pin could be 'high' >and delivering 2.0V which is still _less_ than the 2.5V on the >other end of the LED. > >This is of course the worst case scenario, but the LED's barrier >voltage is also conspiring against you. The exact value varies >depending on the device but typically around 1.7V is needed for >the LED to conduct. 2.5V+1.7V=4.2V which is a big ask from a 5V >device.From p.135 of the PIC16F684 datasheet: Voh min = Vdd - 0.7V at 3.0 mA and Vdd=4.5V Vol max = 0.6V at 8.5 mA and Vdd=4.5V So no problem getting 4.3V with a 5V supply. Actual values at room temperature are even better than this. A bigger concern is how he plans to multiplex the LEDs. The maximum current into/out of Vdd or Vss is 95mA. So if he's using 25mA per LED and has more than three LEDs connected in this manner, all it takes is one small glitch somewhere to turn them all on at once and there goes the CPU. This might be an acceptable risk for his hobby project but not something I would ever do in a commercial product.
Reply by ●May 17, 20082008-05-17
On 2008-05-17, Tom <tom@nospam.com> wrote:> In article <slrng2mo62.o5n.andrews@sdf.lonestar.org>, Andrew Smallshaw <andrews@sdf.lonestar.org> wrote: >> >>This is of course the worst case scenario, but the LED's barrier >>voltage is also conspiring against you. The exact value varies >>depending on the device but typically around 1.7V is needed for >>the LED to conduct. 2.5V+1.7V=4.2V which is a big ask from a 5V >>device. > > From p.135 of the PIC16F684 datasheet: > Voh min = Vdd - 0.7V at 3.0 mA and Vdd=4.5V > Vol max = 0.6V at 8.5 mA and Vdd=4.5V > So no problem getting 4.3V with a 5V supply. Actual values at room temperature > are even better than this.At 3.0mA. I would expect the voltage to drop further as the LED draws, say, 25mA. You may end up with LEDS that are lit but unusably dim. -- Andrew Smallshaw andrews@sdf.lonestar.org