Posts Tagged ‘LM2575’
Home made DC – DC converter for Microprocessor
One important tool when you deal with Microprocessors are, regulated power supply. To power my standalone Atmega’s and test the working I assembled a regulator in a breadboard along with Atmega. I cant relay on some thing running in a breadboard, a loose wire can create tiring troubleshooting. So I decided to build a permanent solution by creating a PCB and assembling the components.
My requirement is simple, connect a 12v adapter and I need 5v and 3.3v output. The 3.3v should provide a minimum 300mA. I have to use this power supply to power ESP8266 or any module that uses 3.3v. I am using LM2575 to provide 5v and LM1117 for 3.3v. Theoretically LM2575 can withstand upto 40v.
Below is the Schematic.
Here is the PCB I created and assembled at home.
Printed side
Lacking some soldering skills, still learning how to solder well.
I can give input voltage via the DC Jack or screw terminal. Three female pins at the right hand side provide 5v, GND and 3.3v. Forgot to include a LED to show the voltage status.
Schematic of standalone Arduino with FTDI Programming
I recently wrote a post explaining how to setup an Arduino in a breadboard. This post will show the schematic of the system. It’s a very simple system with minimal components. Here I used Atmega 32a. To program the chip I used an FTDI module.
To program the chip via FTDI module, we have to bootload it first. I used an Arduino Uno as the ISP, I have a home made board to bootload or program Atmega 40 pin family processors.
Once the chip is programmed it can be directly powered by a 9 or 12v DC Adapter. Here I used LM2575 switching regulator to step down the source voltage to 5v. Switching regulators are very energy efficient and produce very less heat compare to linear regulators like LM7805. I am powering the system using a 12v DC source. If there is no adapter then the module can be powered from the FTDI module by shorting the jumper.
Here I configured the processor to run at 16MHZ external clock. If we are using 8MHZ internal clock then we can avoid the crystal and the two 22pF caps.
Happy hacking…
Arduino system in a breadboard
After successfull completion of the first prototype of my Aeroponic controller, I decided to redesign the system with more functionalities. In the new design I need external EEPROM, WiFi and more but I am running out of extra pins in my Nano to support all the new functionalities in my mind. I cant go to Mega, as it will increase the size of my system and cost. So I decided to experiment with Atmega32a which has 32 I/O pins and can accommodate all my new requirements. But I have to run this chip standalone without all the luxury provided by Arduino board, like USB connection, Power regulation, etc.
I bought couple of Atmega32a from the market and boot loaded using the Arduino ISP Shield. Tested the chip using a blinky sketch and it worked well.
The next task is run it standalone from an external power source. Atmega32 can handle voltage upto 5.5v and my Aeroponic controller runs with an external power source of 12v. So I need to use a regulator to step down the voltage from 12 to 5v. One option could be to use LM7805 but in my experiments I could see this regulator produces a lot of heat. I come across this switching regulator called LM2575 and every one says it works really well and not produce much heat. I bought couple of these regulators with fixed 5v output.
The data sheet of LM2575 provides a schema to connect the regulator as shown below.
[Note: Above picture from the Datasheet of LM2575]
Yesterday night I decided to combine all the parts together to create a standalone board to run the blinky sketch.
I wired LM2575 as described in the above schema in a breadboard, checked the output voltage and it was 5v. I left the system for couple of hours to see any heat coming out. After the heat testing I decided to connect Atmega32a to the power source and make the standalone system.
[Note: Above picture from the Datasheet of Atmega32]
Here is the wiring.
- Atmega VCC to LM2575 5v output
- Atmega GND to common GND
- Atmega XTAL1 and XTAL2 to 16mghz crystal, and two 22pf ceramic capacitor from each leg of the crystal to GND.
- Atmega RXD to FTDI USB’s TXD
- Amega TXD to FTDI USB’s RXD
- FTDI USB’s GND to common GND.
The FTDI adapter allows me to see the debug information I am writing to the serial port. The blinky sketch I uploaded also write ‘Hello world’ to serial port.
Let’s see how to looks in a breadboard. As you can see it’s very minimal.
Now it’s a standalone board which can run Arduino sketch and can easily fit in my new board.
Next task will be to try programming the Atmega using the connected FTD USB to TTL adapter.