Using Arduino > General Electronics

voltage divider vs logic level converter?

(1/3) > >>

gerg:
I purchased an arduino which is based on 5v but I will need to drive some 3v RF modules. I was planning on using a voltage divider, built with some simple resisters. In reading about them, I found several posts which indicated voltage dividers imposed a performance hit. As such, others recommend the use of a logic level converter rather than a voltage divider. I was under the impression no such performance hit would occur since it was built strictly with resisters, having no capacitors.

1 Can someone please clarify if a voltage divider does in fact impose certain performance negatives and if so, why?

2 Can someone please clarify when one should use a voltage divider and when one should use a logic level converter?

For completeness, if I do need a logic level converter, I'm looking at these. And the RF modules I'm looking at these.

Thanks.

retrolefty:

--- Quote from: gerg on Jun 12, 2011, 04:35 pm ---
I purchased an arduino which is based on 5v but I will need to drive some 3v RF modules. I was planning on using a voltage divider, built with some simple resisters. In reading about them, I found several posts which indicated voltage dividers imposed a performance hit. As such, others recommend the use of a logic level converter rather than a voltage divider. I was under the impression no such performance hit would occur since it was built strictly with resisters, having no capacitors.

1 Can someone please clarify if a voltage divider does in fact impose certain performance negatives and if so, why?

No performance hit if the reduced voltage is for logic signal inputs for external components (like your RF module), if for providing significant current for some purpose then it's not a solution.

2 Can someone please clarify when one should use a voltage divider and when one should use a logic level converter?

Again it's about what current demand is as well as voltage level. If significant current is required then don't use resistors.

For completeness, if I do need a logic level converter, I'm looking at these. And the RF modules I'm looking at these.

Voltage dividers should work fine. Of course you only require voltage dividers for the arduino digital output pins driving the RF module. The 3.3vdc logic signal outputs from the RF module wired to the arduino input pins must be wired directly as a 3.3vdc logic high is high enough to be read as a high logic level in a 5vdc arduino board.
Thanks.


--- End quote ---

gerg:
Thank you for the clarification.


--- Quote from: retrolefty on Jun 12, 2011, 04:53 pm ---
Voltage dividers should work fine. Of course you only require voltage dividers for the arduino digital output pins driving the RF module. The 3.3vdc logic signal outputs from the RF module wired to the arduino input pins must be wired directly as a 3.3vdc logic high is high enough to be read as a high logic level in a 5vdc arduino board.

--- End quote ---


I'm not sure I entirely understand you so I'll try to paraphrase. The 3v3 out of the RF module should be wired directly to the arduino's 5v input. I read the arduino could be driven with 3v3 inputs. This is what you're saying? Perhaps this is why many recommend the logic level converter as 3.3v doesn't technically meet the 5v TTL high requirements and the converter is sure to the right thing for a small price?

Thanks,

retrolefty:

--- Quote ---I'm not sure I entirely understand you so I'll try to paraphrase. The 3v3 out of the RF module should be wired directly to the arduino's 5v input. I read the arduino could be driven with 3v3 inputs. This is what you're saying? Perhaps this is why many recommend the logic level converter as 3.3v doesn't technically meet the 5v TTL high requirements and the converter is sure to the right thing for a small price?
--- End quote ---


You paraphased correctly. The arduino digital voltage input minimum for a legal HIGH is .6 X Vcc so at 5vdc a high must be 3.0 volts or higher (to Vcc + .5vdc max), so a 3.3 volt signal will be read as a HIGH but with only .3vdc noise margin. So for industrial or commercial use one might want to use voltage level convertors for both inputs and outputs, but most arduino users have had little problems with reading 3.3v logic signals directly as inputs. Output conversion, using either convertors or voltage dividers are required when driving signal to 3.3v systems unless those 3.3v logic input pins are so called 5 volt tolerant (which some are) in those case you can wire directly also.

Lefty

RuggedCircuits:

--- Quote ---1 Can someone please clarify if a voltage divider does in fact impose certain performance negatives and if so, why?
--- End quote ---


There can be a performance issue with resistors. The reason is that all signals have capacitance on them, mostly contributed by the IC pins the signal is connected to, with a small contribution from the PCB traces themselves. The resistance you are adding combined with this capacitance forms an RC filter which smooths out the sharp edges of the digital signals, and for some receiving devices sharp edges are required for proper operation.  We've seen 1k resistors added in series with digital lines cause an SPI device to cease working, and reducing the resistor to 100 ohms restores proper operation. Some digital edges are just expected to be "fast".


--- Quote ---2 Can someone please clarify when one should use a voltage divider and when one should use a logic level converter?
--- End quote ---


One should use a voltage divider when cost is an issue and speed of signal rise/fall time doesn't matter (e.g., SPI data lines instead of the SPI clock line).


--- Quote ---Perhaps this is why many recommend the logic level converter as 3.3v doesn't technically meet the 5v TTL high requirements and the converter is sure to the right thing for a small price?
--- End quote ---


Right. Some 3.3V devices output voltages very close to 3.3V and work just fine when connected to an Arduino input. Other "3.3V devices" output voltages that are "high enough" for other 3.3V devices (e.g., 2.5V) but no longer work with a 5V Arduino.

If you're dropping money at Sparkfun anyways I don't think it would hurt to spend $1.95 to buy a little insurance. But get the resistors as well and try them -- it sounds like there's a learning opportunity here :)

--
The Ruggeduino: compatible with Arduino UNO, 24V operation, all I/O's fused and protected

Navigation

[0] Message Index

[#] Next page

Go to full version