Introduction: Superb Lab Power Supply

Picture of Superb Lab Power Supply

From my point of view one of the best ways to get started in electronics is to build your own laboratory power supply. In this instructable I have tried to collect all the necessary steps so that anyone can construct his or her own.

All the parts of the assembly are directly orderable in digikey, ebay, amazon or aliexpress except the meter circuit. I made a custom meter circuit shield for Arduino able to measure up to 36V - 4A, with a resolution of 10mV - 1mA that can be used for other projects also.

The power supply has the following features:

  • Nominal Voltage: 24V.
  • Nominal Current: 3A.
  • Output Voltage Ripple: 0.01% (According to the specs of the power supply circuit kit).
  • Voltage measurement resolution: 10mV.
  • Current measurement resolution: 1mA.
  • CV and CC modes.
  • Over current protection.
  • Over voltage protection.

Step 1: Parts and Wiring Diagram

Picture of Parts and Wiring Diagram

Apart from the Image, I have attached the file WiringAndParts.pdf to this step. The document describes all the functional parts, icluding the ordering link, of the bench power supply and how to connect them.

The mains voltage comes in through an IEC panel connector (10) that has a built in fussible holder, there is a power switch in the front panel (11) that breaks the circuit formed from the IEC connector to the transformer (9).

The transformer (9) outputs 21VAC. The 21 VAC go directly to the power supply circuit (8). The output of the power supply circuit (8) goes directly to the IN terminal of the meter circuit (5).

The OUT terminal of the meter circuit (5) is connected directly to the positive and negative binding posts (4) of the power supply. The meter circuit measures both voltage and current (high side), and can enable or disable the connection between in and out.

Cables, in general use scrap cables you have in house. You can check the internet for appropriate AWG gauge for 3A but, in general the thumb rule of 4A/mm² works, specially for short cables. For the mains voltage wiring (120V or 230V) use appropriately isolated cables, 600V in USA, 750V in Europe.

The series pass transistor of the power supply circuit (Q4) (12) has been wired instead of been soldered to allow an easy installation of the heatsink (13).

The original 10K potentiometers of the power supply circuit has been replaced with multiturn models (7), this makes possible a precise adjustment of the output voltage and current.

The arduino board of the meter circuit is powered using a power jack cable (6) that comes from the power supply circuit (8). The power supply board has been modified to obtain 12V instead of 24V.

The positive pin of the CC LED from the power supply circuit is wired to the mode connector of the Meter Circuit. This allow it to know when to display CC or CV mode.

There are two buttons wired to the meter circuit (3). The Off button “red” disconnects the output voltage. The On button “black” connects the output voltage and resets OV or OC errors.

There are two potentiometers wired to the meter circuit (2). One sets the OV threshold and the other sets the OC threshold. These potentiometers do not need to be multiturn, I have used the original potentiometers from the power supply circuit.

The 20x4 I2C alphanumeric LCD (1) is wired to the meter circuit. It shows the present information about output voltage, output current, OV setpoint, OC setpoint and status.

Step 2: Power Supply Circuit Kit

Picture of Power Supply Circuit Kit

I bought this kit that is rated as 30V, 3A:
http://www.ebay.com/itm/Vkmaker-0-30V-2mA-3A-Adju...

I am attaching an assembly guide I found in the Internet and an image of the Schematic. Briefly:

The circuit is a linear power supply.

Q4 and Q2 are a Darlington array and form the series pass transistor, it is controlled by the operational amplifiers to maintain the voltage and the current at the desired value.

The current is measured by R7, adding this resistance in the low side makes the ground of the power supply circuit and the output ground different.

The circuit drives a LED that turns on when the constant current mode is on.

The circuit incorporates the Graeth bridge to rectify the AC input. The AC input is also used to generate a negative biasing voltage to reach 0V.

There is no thermal protection in this circuit, so appropriate dimensioning of the heatsink is very important.

The circuit has a 24V output for an “optional” fan. I have substituted the 7824 regulator with a 7812 regulator to get 12V for the Arduino board of the meter circuit.

I have not assembled the LED, instead I have used this signal to indicate the meter circuit if the power supply is in CC or CV.

Step 3: Power Supply Circuit Kit Assembling

Picture of Power Supply Circuit Kit Assembling

In this circuit all parts are through hole. In general you must start with the smallest ones.

  • Solder all the resistors.
  • Solder the rest of the components.
  • Use pliers when bending diodes leads to avoid breaking them.
  • Bend the leads of the DIP8 TL081 op amps.
  • Use heatsink compound in when assembling heatsinks.

Step 4: Meter Circuit Design and Schematic

Picture of Meter Circuit Design and Schematic

The circuit is a shield for Arduino UNO compatible with R3 versions. I have designed it with parts available at digikey.com.

The output of the vkmaker power supply circuit kit is connected to the IN terminal block and the OUT terminal block goes directly to the binding posts of the power supply.

R4 is a shunt resistor in the positive rail valued 0.01ohm, it has a voltage drop proportional to the current oputput. The differential voltage R4 is wired directly to RS+ and RS- pins of IC1. The maximum voltage drop at maximum current output is 4A*0.01ohm = 40mV.

R2, R3 and C2 form a ~15Hz filter to avoid noise.

IC1 is a high side current amplifier: MAX44284F. It is based in a chopped operational amplifier that makes it able to get a very low input offset voltage, 10uV at maximum at 25ºC. At 1mA the voltage drop in R4 is 10uV, equal the maximum input offset voltage.

The MAX44284F has a voltage gain of 50V/V so the output voltage, SI signal, at the maximum current of 4A, will value 2V.

The maximum common mode input voltage of MAX44284F is 36V, this limits the input voltage range to 36V.

R1 and C1 form a filter to suppress 10KHz and 20KHz unwanted signals that can appear due to the architecture of device, it is recommended in page 12 the of datasheet.

R5, R6 and R7 are a high impedance voltage divider of 0.05V/V. R7 with C4 form a ~5Hz filter to avoid noise. The voltage divider is placed after R4 to measure the real output voltage after the voltage drop.

IC3 is MCP6061T operational amplifier, it forms a voltage follower to isolate the high impedance voltage divider. The maximum input bias current is 100pA at room temperature, this current is negligible to the impedance of the voltage divider. At 10mV the voltage at the input of IC3 is 0.5mV, much bigger than its input offset voltage: 150uV at maximum.

The output of IC3, SV signal, has a voltage of 2V at 40V input voltage (the maximum possible is 36V due to IC1). SI and SV signals are wired to IC2. IC2 is an MCP3422A0, a dual channel I2C sigma delta ADC. It has an internal voltage reference of 2.048V, selectable voltage gain of 1, 2, 4, or 8V/V and selectable number of 12, 14, 16 or 18bits.

For this circuit I am using a fixed gain of 1V/V and a fixed resolution of 14bits. SV, and SI signals are not differential so the negative pin of each input must be grounded. That means that the number of available LSBs are going to be half.

As the internal voltage reference is 2.048V and the effective number of LSB are 2^13, the ADC values will be: 2LSB per each 1mA in the case of current and 1LSB per each 5mV in the case of voltage.

X2 is the connector for the ON push button. R11 prevents the Arduino pin input from static discharges and R12 is a pull-up resistor that makes 5V when unpressed and ~0V when pressed. I_ON signal.

X3 is the connector for the OFF push button. R13 prevents the Arduino pin input from static discharges and R14 is a pull-up resistor that makes 5V when unpressed and ~0V when pressed. I_OFF signal.

X5 is the connector for the overcurrent protection set point potentiometer. R15 prevents the Arduino input pin from static discharges and R16 prevents the +5V rail from a short circuit. A_OC signal.

X6 is the connector for the overvoltage protection set point potentiometer. R17 prevents the Arduino input pin from static discharges and R18 prevents the +5V rail from a short circuit. A_OV signal.

X7 ins an external input that is used to get the constant current or constant voltage mode of the power supply. As it can have many input voltages it is made using Q2, R19, and R20 as a voltage level shifter. I_MOD signal.

X4 is the connector of the external LCD, it is just a connection of the 5V rail, GND and I2C SCL-SDA lines.

I2C lines, SCL and SDA, are shared by IC2(the ADC) and the external LCD, they are pulled up by R9 and R10.

R8 and Q1 form the driver of K1 relay. K1 connects the output voltage when powered. With 0V in -CUT the relay is unpowered, and with 5V in -CUT the relay is powered. D3 is the free wheeling diode to suppress negative voltages when cutting the voltage of relay coil.

Z1 is a Transient Voltage Suppressor with a nominal voltage of 36V.

Step 5: Meter Circuit PCB

Picture of Meter Circuit PCB

I have used the free version of Eagle for both the schematic and the PCB. The PCB is 1.6 thick double sided design that has a separate ground plane for the analog circuit and the digital circuit. The design is pretty simple. I got a dxf file from the Internet with the for the outline dimension and the position of the Arduino pinhead connectors.

I am posting the following files:

  • Original eagle files: 00002A.brd and 00002A.sch.
  • Gerber files: 00002A.zip.
  • And the BOM(Bill Of Materials) + assembly guide: BOM_Assemby.pdf.

I ordered the PCB to PCBWay (www.pcbway.com). The price was amazingly low: $33, including shipping, for 10 boards that arrived in less than a week. I can share the remaining boards with my friends or use them in other projects.

There is a mistake in the design, I put a via touching the silkscreen in the 36V legend.

Step 6: Meter Circuit Assembling

Picture of Meter Circuit Assembling

Although most of parts are SMT in this board, it can be assembled with a regular soldering iron. I have used a Hakko FX888D-23BY, fine tip tweezers, some solder wick, and a 0.02 solder.

  • After receiving the parts the best idea is to sort them, I have sorted capacitors and resistors and stapled the bags.
  • First assemble the small parts, starting with resistors and capacitors.
  • Assemble R4 (0R1) starting with one of the four leads.
  • Solder the rest of parts, in general for SOT23, SOIC8, etc. the best way is to apply solder in one pad first, solder the part in its place and then solder the rest of the leads. Sometimes solder can join many pads together, in this case you can use flux and solder wick to remove the solder and clean the gaps.
  • Assemble the rest of through hole components.

Step 7: Arduino Code

I have attached the file DCmeter.ino. All the program is included in this file apart from the LCD library “LiquidCrystal_I2C”. The code is highly customizable, especially the shape of progress bars and the messages displayed.

As all arduino codes it has the setup() function executed first time and the loop() function executed continuously.

The setup function configures the display, including the specials chars for the progress bar, inits the MCP4322 state machine and sets up the relay and the LCD backlight for first time.

There is no interrupts, in each iteration the loop function does the following steps:

Get the value of all the input signals I_ON, I_OFF, A_OC, A_OV and I_MOD. I_ON, and I_OFF are debounced. A_OC and A_OV are read directly from the Arduino´s ADC and filtered using the median part of the last three measurements. I_MOD is read directly without debouncing.

Control the turn on time of the backlight.

Execute the MCP3422 state machine. Each 5ms it polls the MCP3422 to see if the last conversion finished and if so it start the next, successively gets the value of voltage and current present at the output.

If there are fresh values of output voltage and current from the MCP3422 state machine, updates the status of the power supply based on the measurements and updates the display.

There is a double buffer implementation for faster updating the display.

The following macros can be adjusted for other projects:

MAXVP: Maximum OV in 1/100V units.

MAXCP: Maximum OC in 1/1000A units.

DEBOUNCEHARDNESS: Number of iterations with a consecutive value to guess it is correct for I_ON and I_OFF.

LCD4x20 or LCD2x16: Compilation for 4x20 or 2x16 display, the 2x16 option is not implemented yet.

The 4x20 implementation shows the following information: In the first row the output voltage and the output current. In the second row a progress bar representing the output value relative to protection set point for both voltage and current. Int the third row the current setpoint for overvoltage protection and overcurrent protection. In the fourth row the current status of the power supply: CC ON (On in constant current mode), CV ON (On in constant voltage mode), OFF, OV OFF (Off showing that the power supply went off because of a OV), OC OFF (Off showing that the power supply went off because of a OC).

I have made this file for designing the chars of the progress bars: https://drive.google.com/open?id=1ych5bmo9lfsu44W...

Step 8: Thermal Issues

Using the right heatsink is very important in this assembly because the power supply circuit is not self protected against overheat.

According to datasheet the 2SD1047 transistor has a junction to case thermal resistance of Rth-j,c = 1.25ºC/W.

According to this web calculator: http://www.myheatsinks.com/calculate/thermal-resi... the thermal resistance of the heatsink I have purchased is Rth-hs,air = 0.61ºC/W. I will assume that the actual value is lower because the heatsink is attached to the case and the heat can be dissipated that way too.

According to the ebay seller, the thermal conductivity of the isolator sheet I have purchased is K = 20.9W/(mK). With this, with a thickness of 0.6mm, the thermal resistance is: R = L/K = 2.87e-5(Km2)/W. So, the thermal resistance case to heatsink of the isolator for the 15mm x 15mm surface of the 2SD1047 is: Rth-c,hs = 0.127ºC/W. You can find a guide for these calculations here: http://www.myheatsinks.com/calculate/thermal-resi...

The maximum allowable power for 150ºC in the junction and 25ºC in the air is: P = (Tj - Ta) / (Rth-j,c + Rth-hs,air + Rth-c,hs) = (150 - 25) / (1.25 + 0.61 + 0.127) = 63W.

The output voltage of the transformer is 21VAC at full load, that makes an average of 24VDC after diodes and filtering. So the maximum dissipation will be P = 24V * 3A = 72W. Taking into account that the thermal resistance of the heatsink is a little bit lower due to the metal enclosure dissipation, I have assumed it is enough.

Step 9: Enclosure

Picture of Enclosure

The enclosure, including shipping, is the most expensive part of the power supply. I found this model in ebay, from Cheval, a Thay manufacturer: http://www.chevalgrp.com/standalone2.php. In fact, the ebay seller was from Thailand.

This box has a very good value for money and arrived pretty well packaged.

Step 10: Mechanizing Front Panel

Picture of Mechanizing Front Panel

The best option for mechanizing and engraving the front panel is using a router like this https://shop.carbide3d.com/products/shapeoko-xl-k... or making a custom plastic cover with PONOKO, for example. But as I do not have the router and I did not wanted to spend much money I decided to make it the old way: Cutting, trimming with file and using transfer letters for the text.

I have attached an Inkscape file with the stencil: frontPanel.svg.

  • Cut the stencil.
  • Cover the panel with painter tape.
  • Glue the stencil to the painter tape. I have used a glue stick.
  • Mark the position of drills.
  • Drill holes to allow the fret saw or coping saw blade get into the internal cuts.
  • Cut all the shapes.
  • Trim with a File. In the case of round holes for potentiometers and binding posts it is not necessary to use the saw before filing. In the case of the display hole the file trimming must be the best possible because this edges ar going to be seen.
  • Remove the stencil and the painter tape.
  • Mark the position of the texts with a pencil.
  • Transfer the letters.
  • Remove the pencil markings with an eraser.

Step 11: Mechanizing Back Pannel

Picture of Mechanizing Back Pannel

  • Mark the position of the heatsink, including the hole for the power transistor and the position of the holding screws.
  • Mark the hole for accessing the heatsink from the interior of the power supply enclosure, I have used the insulator as a reference.
  • Mark the hole for the IEC connector.
  • Drill the contour of the shapes.
  • Drill the holes for the screws.
  • Cut the shapes with cutting pliers.
  • Trim the shapes with a file.

Step 12: Assembling Front Panel

Picture of Assembling Front Panel

  • Strip out a multiconductor cable from scrap to get cables.
  • Build the LCD assembly soldering the I2C to parallel interface.
  • Build the “molex connector”, wire and shrinkable tube assembly for: potentiometers, pushbuttons and LCD. Remove any protuberance in potentiometers.
  • Remove the pointer ring of knobs.
  • Cut the rod of potentiometers to the size of the knob. I have used a piece of cardboard as a gauge.
  • Attach the push buttons and power button.
  • Assemble the potentiometers and install the knobs, the multiturn potentiometers I have bought have a ¼ inch shaft and the one turn models have a 6mm shaft. I have used washers as spacers to trim the distance of potentiometers.
  • Screw the binding posts.
  • Put double sided tape in the LCD and stick it to the panel.
  • Solder the positive and negative wires to the binding posts.
  • Assemble the GND terminal lug in the green binding post.

Step 13: Assembling Back Panel

Picture of Assembling Back Panel

  • Screw the heatsink to the back panel, although paint is a thermal isolator, I have put heatsink grease to increase the heat transfer from the heatsink to the enclosure.
  • Assemble the IEC connector.
  • Position the adhesive spacers using the power supply kit circuit.
  • Screw the power transistor and the insulator, there must be thermal grease in each surface.
  • Assemble the 7812 for powering the arduino, it is facing the case to allow heat dissipation, using one of the screws that hold the heatsink. I should have used a plastic washer like this http://www.ebay.com/itm/100PCS-TO-220-Transistor-... but I ended up using the same insulator as the power transistor and a bent piece of the case.
  • Wire the power transistor and the 7812 to the power supply circuit.

Step 14: Final Assembly and Wiring

Picture of Final Assembly and Wiring

  • Mark and drill the holes for the transformer.
  • Assemble the transformer.
  • Stick the adhesive legs of the enclosure.
  • Stick the DC meter circuit using adhesive spacers.
  • Scrape the paint to screw the GND lug.
  • Build the mains voltage wire assemblies, all the terminations are 3/16” Faston. I have used shrinkable tube to isolate the terminations.
  • Cut the front part of the holder of the enclosure in the right side to get space for the power pushbutton.
  • Connect all wires according to assembly guide.
  • Instal the Fuse (1A).
  • Put the output voltage potentiometer (the VO potentiometer), to the minimum CCW and adjust the output voltage the closest possible to zero volts using the multiturn fine adjusting potentiometer of the vkmaker power supply circuit.
  • Assemble the enclosure.

Step 15: Improvements and Further Working

Improvements:

  • Use grower style washers to avoid screws get loose with vibration, specially the vibration from the transformer.
  • Paint the front panel with transparent varnish to prevent letters to be wiped out.

Further working:

  • Add a usb connector like this: http://www.ebay.com/itm/Switchcraft-EHUSBBABX-USB-... in the back panel. Useful for upgrading code without disassembly or for making a small ATE controlling the On Off functions, get status and measuring using a PC.
  • Make the 2x16 LCD compilation of code.
  • Make a new power supply circuit, instead of using the vkmaker kit, with digital control of the output voltage and current.
  • Perform the adequate tests to characterize the power supply.

Comments

mbunjes (author)2017-07-21

So my meter circuit pcb's arrived. I don't actually need ten pcb's so if anyone wants one for the price of a stamp let me know

Mkkki (author)mbunjes2017-11-10

I am interested in one meter board. Do you have any left? Bob

mbunjes (author)Mkkki2017-11-10

yes I do. In which part of the world do you live ?

Martin

MikeRich made it! (author)2017-07-30

I have had one of these boards for sometime and wanted to make a nice case for it. I used a slightly smaller case than you did so I had to get creative. The case is a little shorter so I put the P/S board on the floor and made a platform for the UNO so it sits above it. This also allowed me to cut a hole in the side for the USB connector external access. The front panel labeling, I did by printing in reverse on transparency materia, turned if over which protects the lettering l and glued it on with contact adhesive. I also added a main power indicator and an Output Enabled indicator to the front panel. Thanks for the inspiration to get this done!

danielrp (author)MikeRich2017-08-03

Hi MikeRich, I am amazed!! Your power supply looks fantastic!! Congratulations!. Definitively the display in blue is cooler.

Regards,

Daniel.

andrei101 (author)2017-07-11

Good work!!! but I'm not convinced by the current measurement, I've tried to get 1mA accuracy with a 10 milliohm resistor before but it swings far too much with temperature to make it viable. Have you measured the output?

danielrp (author)andrei1012017-07-11

Hi andrei101, thanks. I have tested it the best that I can it works good. The circuit doesnt have the problem of the pad impedance in the sensing resistance (R4) because it has a Kelvin connection. Also the MAX44284 has a very low input offset voltage.

andrei101 (author)danielrp2017-07-12

Ahhh, very nice! will have to give it another go next time

throbscottle (author)2017-07-11

There seems to be a glut of psu projects using this kit, but I like what you've done with it. I'm quite impressed with your meter and it's little "sliders" - really cool!

Great work on the case cutouts too, really nicely done.

One small suggestion, look into using waterslide transfer film (decal film) for your text. It's what I'll be using on a project of my own, it's really good because you can print a sheet as big as your front panel, slide it on and your text and other print is in just the right place and any colour you like!

danielrp (author)throbscottle2017-07-11

Hi throbscottle. Thank you for your comments!! I didn't know about the existence of waterslide transfer film. I think it is a great idea, I will try it in my next project.

jfernandez3 (author)2017-06-30

Congratulations excellent work!

If possible sell me a meter PCB and components?, please no have time to make a PCB.

Please contact in jafernandez.sevilla@gmail.com

BEST REGARDS and THANKS

danielrp (author)jfernandez32017-07-04

Thanks jfernandez3. It is currently not possible.

Best regards.

kratzkr (author)2017-06-08

Hey danielrp,.
Got the problem solved with PCBWay... well, at least the order is being reviewed! I have all my bits 'n bobs either collected or ordered... Still having issues with the Arduino IDE compiling the sketch.. it keeps bombing saying that it can't compile it for the Uno, and also for my Due... the Uno is an R3 (I double-checked) and the NewLiquidCrystal library is installed in the IDE and included in the sketch. Apparently this getting old stuff slows down the brain.... again. what am I doing wrong?

Kyle

danielrp (author)kratzkr2017-06-10

Hello Kyle,

can you compile other sketches?? I had a problem when uprgadin from arduino 1.6.9 to 1.8.3. I solved it with this: https://forum.arduino.cc/index.php?topic=420348.0 hope it helps.

Daniel

kratzkr (author)danielrp2017-06-12

Daniel,

I was going thru the schematic and board layout of the DC Meter board and noticed that the molex connectors have some challenges (but I think you've already addressed and corrected the issues...): the 3 pin Molex should be X5 and X6, and the 4 pin Molex should be X4. No big deal, just thought I'd throw that your way!

Still gathering bits and bobs.... I'm ready to start building! Still trying to sort out the DC Meter sketch.. I'll keep you informed.

Thanks again!

Kyle

danielrp (author)kratzkr2017-06-12

Hi Kyle,

where the names were wrong?

Best regards,

Daniel.

kratzkr (author)danielrp2017-06-12

The identifiers in the BOM didn't quite match the labels on the board as fa a some of the molex connectors went. Oh, and traced my compiling problems to the SoftI2CMaster.h file in the NewLiquidCrystal library. Now... if I can just remember how to decompile a hex file..... this getting old stuff isn't what it's cracked up to be!

Regards,

Kyle

danielrp (author)kratzkr2017-06-13

I have updated the BOM. Thank you for yout help.

Regards,

Daniel.

kratzkr (author)danielrp2017-06-13

Just a note to let you know that I received my boards (I ordered 10 as well, so if you should run out.....) from PCBWay today.. awesome! They look great and I can't wait to start populating it! Excellent job on the design!

Kyle

danielrp (author)kratzkr2017-06-13

Thank you very much Kyke!! I am amazed and very happy you are making the project! I hope you assemble the SMD parts without any problem. With the nine remaining boards you can make meters for other projects for years, or share them..

Daniel.

kratzkr (author)danielrp2017-06-17

Daniel,

Ready to start building the physical part of the project, but still having issues with the firmware. The Arduino IDE keeps bombing during the verification process (as well as the upload process...) due to issues with the SoftI2CMaster library (SoftI2CMaster.h). I've not been able to locate the *.cpp file to take a look at it, but I do have a printout of the resultant error messages. Any thoughts?

Regards,

Kyle

danielrp (author)kratzkr2017-06-18

Hi Kyle,

I do not know what is happening. It seems that the constants of I2C (pin names etc.) are missing, they are defined in Wire.h, may be this ??

Regards,

Daniel.

kratzkr (author)danielrp2017-06-21

Daniel,

Just a note to let you know that I got the DCMeter.ino file to compile. I downloaded a new copy of it from your instructable and, low and behold, it compiled like a champ!! I'm currently at a week long horse show with my niece and grand-niece, and have brought the power supply kit and the meter shield stuff with me... hopefully I'll have time to get at least one together. I'll keep you posted! Thanks for your support and encouragement.... it's greatly appreciated!

Regards,

Kyle

danielrp (author)kratzkr2017-06-21

Fantastic!! I hope you have a good time with your nieces and building the power supply!

Regards,

Daniel.

kratzkr (author)danielrp2017-06-26

Daniel,

Ok, quick update. I have most all of the pieces here now and the PS board is pretty well completed... next comes the DC Meter shield! While sitting there at my workbench, having a cup of coffee and letting my mind gather cobwebs, I got to thinking that I want to look at making some modifications. Basically, I want to combine the Uno with the Meter shield and, perhaps, even with the power supply and have only one board and a transformer as internals for the unit. My only question is (and I think I already know the answer, but humor me...): can the 328 be "updated" (new sketches downloaded to) while remaining attached to the shield? I'd like to do a "stand-alone" 328 with the bootloader and sketch installed, but would then have to remove the 328 from the system and install it in an Uno to update it, or come up with a way to use an ISP to hit it from the back panel of the instrument.. Your thoughts?

Thanks again for your help and inspiration!!

Regards,

Kyle

danielrp (author)kratzkr2017-06-27

Hello Kyle,

This design is very popular, and has the arduino microcontroller built in: http://www.eevblog.com/files/uSupplyBenchRevC.pdf. I have never done this but I think it is necessary to burn the "328" with the arduino bootloader first and later, with the serial port and a FTDI cable or built in serial to USB circuit you can use the arduino IDE as always. https://www.arduino.cc/en/Hacking/Bootloader.

I am actually thinking in making something similar.

Regards,

Daniel.

kratzkr (author)danielrp2017-06-14

I'm looking forward to playing with the SMD parts.. this will be the first time that I've attempted to work with them, so this will be an interesting and challenging new experience! I'll try to take pictures as I'm playing away building this project to share with you... I also hope there are others out there enjoying the fruits of your labors as well!

Kyle

kratzkr (author)danielrp2017-06-13

Glad I could "contribute"! After all, your excellent instructable has given me a great deal of pleasure so far, and I haven't even started the build yet!! I'm still trying to work out what the problem is with the sketch/library errors....

Cheers,

Kyle

kratzkr (author)danielrp2017-06-10

Daniel,

Yes, I can compile other sketches for my Uno, Due and Nano.... I've printed the sketch out and am going thru it line by line to see if I have inadvertantly injected an error.... My parts are slowly being delivered, so I'm in no particular hurry at the moment. Besides, I am looking forward to building the project, although I am a bit "nervous" about the SMD parts as I've never soldered them before.

Thanks for all your input and assistance!

Kyle

jbernardis (author)2017-06-13

Nice work!! I am trying to make my own, but I don't want to use an Uno - I'm debating between using a nano, or perhaps even designing my own board around a bare ATMega 328 chip. No particular reason - I just want to challenge myself a bit.

In any event, I have a question. What is component S1 in your arduino shield. The description says it's name is PUENTE from the drio library, neither of which I am familiar with. Also, I can't locate the site on the board for this component. I assume it has something to do with the two different ground planes. Perhaps some kind of bridge between the two? I see on the board, that you actually interconnect the two planes on the bottom layer, right beneath the "X1" silk screen. Is there a reason for doing this? Is that what S1 is doing. Perhaps this was supposed to be a solder bridge and you later chose to make a hard connection?

Thanks

In any event, I have a question

danielrp (author)jbernardis2017-06-13

Thank you jbernardis! This is a common practice in PCB design softwares, you do not want the two ground planes to be the same net but you want them to electrically connected. S1 is a component that is phisically a track with two leads, and each lead is connected to one of the two ground planes.

The name of the part is PUENTE, bridge in Spanish, it may be the only word in Spanish in the whole project. It is located in the bottom layer near X1 text.

Daniel.

asfi235 (author)2017-06-10

This is an amazing project. So many electronics instructibles are noobs-(mis)leading-the-noobs so it's great to see an exception to all that.

Looks like you're using only one of the primary windings on the transformer. Probably not an issue since it's got a lot more VA than you're drawing from it.

I'm really tempted to build your meter shield even though I've already got a big stack of incomplete projects I ought to build first..... :/

danielrp (author)asfi2352017-06-10

Thank you for your compliment asfi235. Actually the transformer primaries should have been wired in parallel for 120V and in series for 230V, it is a mistake, I did not realized it, thanks for detecting it. Wiring just one of the primary windings will make the transformer able to give just 2.5A, not the rated 5A. I am fixing it.

danielrp (author)danielrp2017-06-10

I have updated Step 1 with a new wiring diagram..

nevans2 (author)2017-06-08

Awesome. I realy want to do this. This is the perfect project. Well done indeed.

danielrp (author)nevans22017-06-10

Thank you nevans2!

Shahid Khattak (author)2017-06-08

Great to see this detailed instructables

danielrp (author)Shahid Khattak2017-06-10

Thank you Shahid!

the_3d6 (author)2017-06-02

Wow, great design actually!
What was a total cost of this unit?
Have you measured noise at different loads and voltage ranges?

JohnC430 (author)the_3d62017-06-08

this is a linear supply. what kind of noise are u thinking of? from what source?

danielrp (author)the_3d62017-06-02

Thank you the_3d6, the price of all the parts is around $150. I still having to characterize the power supply properly.

ve6cmm (author)2017-06-06

I think this is probably the best Instructable that I have ever seen. You've covered everything, and your photos are very, very good. I haven't seen this kind of detail in any other project. You actually rival Heathkit's manuals!!

I doubt that I will build this supply as I have several already, however, you have given me a very nice look at PCB and Cabinetry suppliers. Thank you for that. I just purchased 20 PCBs that are 1"x2" from another source that I have been using for years, and the total came to $404.00!!!

The PCB supplier that you used appears to make very nice product at a terrific price.

JohnC430 (author)ve6cmm2017-06-08

yeah. the company is in China. i just priced my pcb with them and they wanted $5 for 10 boards and 21 for shipping. it still beats the price of 3 for $75 including $14 for shipping in USA. local USA pcb houses cannot compete with that.

danielrp (author)ve6cmm2017-06-06

Hi ve6cmm, thank you very much for your comments. It has been the first time I ordered a PCB in this supplier, the price is terrific and the quality is ok.

JohnC430 (author)2017-06-08

even though I may also enter the contest, you did such a good job of the 'ible that I voted for you. Good luck. You seem to know power supplies very well, so why did you not go for a switcher?

JohnC430 (author)2017-06-08

This is a very good 'ible. really goes into the nitty gritty of the power supply.

thanks for sharing.

John T MacF Mood (author)2017-06-07

I agree with "Replicator", BRILLIANT work!

I wish someone would come up with a kit that had a 30A max. I am into Amateur Radio and my radio at full wattage out can peak momentarily at 22 to 25 amps. Perhaps a search of eBay with that in mind would do the trick for me. I'm stuck with a slightly underpowered commercially made 20A supply, and I run at most about 80% wattage out some of the time. I usually only go to 5 watts out and try for maximum miles per watt out... One time I got 2600 miles out of only 35 watts at 145 Mhz. Ever since they dropped Morse code from the requirements to get the good privileges, the hobby/avocation has grown wildly, regardless of FaceTime and Skype.

if you add some large value capacitors on the output of your power supply, they will supply the surge and u wont have to buy another power supply. your 20 Amp supply will be adequate for the spikes.

kratzkr (author)2017-06-08

Excellent Instructable! I'm gathering the bits and bobs for the project as we speak.. the only questions I have are: 1) are the files in the ZIP file (gerber files) sufficient to export the PCBway the way they are or do they need further processing for them to use, and 2) using the Arduino software (version 1.8.3), I can't seem to compile the DC meter code for my Uno R3... what am I doing wrong?

Thanks for your efforts! Good Job

danielrp (author)kratzkr2017-06-08

Hello kratzkr, in pcbway you need to get a quote first, in the quote form you must specify the thickness (1.6mm), the size (2,1"x2.2" - 53.34mm x 55.88mm), the quantity, and that it is double side. After this there is another form wher you can choose the color, and other parameters but the default settings are ok. Later, at some point during the payment, you must upload the .zip.

The problem with Arduino may be that there is a third party library for the LCD that must be included, the link is written in the code, is this: https://bitbucket.org/fmalpartida/new-liquidcryst... You can dowload the file NewliquidCrystal_1.3.4.zip and import it from the Arduino IDE.

I hope it helps.

About This Instructable

30,711views

465favorites

License:

Bio: DIY in general, woodworking and electronics enthusiast.
More by danielrp:Milliohm MeterSuperb Lab Power Supply3D Printed Holder for IKEA FRÖER Flowerpot
Add instructable to: