CIRCUIT NOTEBOOK
Interesting circuit ideas which we have checked but not built and tested. Contributions will be paid for at
standard rates. All submissions should include full name, address & phone number.
An alternative version of the Arduino Power Supply
I designed a slightly different version of the Arduino-based Power
Supply from the February 2021 issue
(siliconchip.com.au/Series/357). I
wanted to remove the need to physically connect the power supply to
my laptop, as that means that I need
to find a spot for the laptop on my
workbench, and there isn’t room.
To do this, I based it around an
Arduino-
compatible ESP8266 module, specifically the WeMos D1 R2
mini. The main challenge in adapting
the design to this module is that the
micro has 3.3V I/Os compared to the
5V I/Os of an Arduino Uno. The circuit
is overall similar to the February 2021
design, with the following changes.
I added two transistors (Q3 & Q4)
acting as a level shifter to switch the
relay from the D1 mini’s 3.3V digital
output.
I also had to add a TMUX1204 4:1
analog multiplexer since the D1 mini
only has one analog input. Sensing of
supply voltage, output voltage and current are all done via this mux, which
adds three extra analog inputs but
takes up two digital outputs to select
the mux channel.
I added an AMS1117 low-dropout
regulator to provide the 5V rail from
the input power supply; this can handle an input voltage up to about 12V.
Above that, a regulator with a heatsink
like a 7805 would be needed.
I enclosed all the circuitry in a Jiffy
box with a voltmeter (since the laptop
is not in the same room) and some nice
binding posts. The voltmeter is mainly
so that I can confirm it’s on the correct
voltage before connecting things.
The D1 mini module is connected
to the PCB with most of the circuitry
via 10x2-pin header CON1. This makes
creating other daughterboards possible; I also created a board for an Arduino Nano, to provide a wired alternative that’s a little cheaper than the Uno.
I have not tested that yet.
The PC software acts as a server,
waiting for the PSU to connect via
WiFi. The PSU connects to the GUI
on startup, and everything works
the same as Tim Blythman’s original
design once the connection is established.
The PSU also listens for connections
on port 23. Connecting to this allows
the user to specify the IP of the GUI
program that the PSU should attempt
to connect to.
The only other firmware modification required was to set the mux channel before reading voltages using the
analog-to-digital converter.
I discovered one flaw: for up to a
minute after initial connection, the
communication between GUI and PSU
is very slow, and the PSU responds
sluggishly. After that time, it responds
more or less instantaneously. I am
not sure why this happens – perhaps
it’s a buffering issue in the D1 mini’s
WiFi stack or a bug in the Processing
language.
Thanks for a terrific design! I learned
a lot building this, and now I have
a very convenient low-voltage PSU
which is enough for many projects.
The modified firmware and GUI code
can be downloaded from https://github.
com/gordoste/d1_mini_wifi_psu
Stephen Gordon,
Thurgoona, NSW ($150).
Editor’s note: Q4 and two 10kW resistors could be eliminated by connecting
the coil of RYL1b and D1 (D1 anode
to +5V) between +5V and the collector of Q3.
The finished PSU is composed of two
PCBs and the D1 module.
This photo shows how the main PCB
is wired into the case.
The finished Arduino PSU uses a
3-digit 7-segment digital voltmeter.
72
Silicon Chip
Australia's electronics magazine
siliconchip.com.au
siliconchip.com.au
Australia's electronics magazine
March 2022 73