Microcontroller circuit


I am using a Stellaris EK-LM4F120XL for a project.
The project includes an LCD module, servo motor, ultrasonic ranger and a numpad.
The LCD, servo and ranger are rated at 5V operating voltage, and the Stellaris at approx. 3.3V.
To have the project powered as a stand alone unit, I have a battery pack for 2x9V batteries. I will hook these in parallel to offer a longer running time. Then they will flow into a voltage-regulator, LM317, to provide 5V to the peripherals..

Then I will use this 5V source thru a non-inverting hex-buffer, CD4050BE, to then power the microcontroller.. I understand that no matter what voltage is input – the difference between Vcc and GND is output. Although, does that mean for a buffer you need to have a voltage-in, and a desired voltage-out – but also need to supply a Vcc voltage to maintain the desired output?

Therefore, if I have my 5V source from my regulator, do I really need to create circuitry using a resistor-divider or transistor voltage-drop, to get my 3.3V – then input this into the hex-buffer..? What a waste of current, no?

Why not utilise another voltage-regulator with voltage-divider resistors like I used to get my 5V..?

What about a single-channel linear-regulator – LP2950-N, of 3.3V variation..?
Or LM2936-3.3…?
Why use buffers at all then.. instead of regulators..?

I have diodes/resistors/PNP BJTs/opAmps on hand..
I am using transistors, BC548, to operate my 'loads' that are in parallel with diodes already.. And will ground everything to the same point – negative terminal of the powerpack..

To clear it up – I need 5V for all peripherals, and approx. 3.3V for the uController..

Cheers 🙂

(I have circuit diagrams but cant add pics..?)

Best Answer

The CD4050 is a digital logic buffer that can be used to shift signal levels from high to low voltage. It is not a voltage regulator - however you don't need one anyway because the EK-LM4F120XL already has an on-board 3.3V regulator. But perhaps what you are really worried about is the signal levels between your 3.3V MCU and 5V peripherals.

The LM4F120 has 5V tolerant I/O, so you needn't worry about blowing up its inputs. However its outputs can only go up 3.3V, which may not be high enough for devices that expect to see 5V. A standard CMOS logic gate powered by 5V could require a logic high level of least 3.5V for reliable operation (at 3.3V it might still work, but with greater propagation delay and lower noise immunity). Unfortunately that means that the CD4050 is not suitable for level shifting from 3.3V to 5V.

Most servos work fine with a 3.3V input signal, however the LCD display and ranger (and keypad?) might have problems. Check their data sheets to find out what logic levels they require. To level shift outputs from 3.3V to 5V You can use a buffer with TTL compatible inputs, eg. 74HCT4050 (note the 'T' which indicates TTL). If you are using a bidirectional bus such I2C then you may need special level translators that are designed to work in both directions at once.