Look at that user interface, looks pretty usable isn’t it? But it’s not - adjustment timeout is so short that manual sweep is impossible and making adjustments to voltage or current requires a lot of button presses just to start. [End of rant]. Anyway, I wasn’t planning to do much manual control. Automation FTW!
To achieve automation I need to look at the back of the device and follow the data from the USB port.
Inside I found a dedicated board for USB communication.
The RS232 side of the board is not populated but the USB side is. And it even has data line isolation with optocouplers.
Chip for USB to RS232 conversion is CP2102 - very common in cheap USB-RS232 adapters.
After figuring out that I'm dealing with a simple UART I prepared an ESP01 module with the same connector used in the device.
For more details on the preparation of this module see this post: https://makerspacelt.tumblr.com/post/624341530736459776/wifize-everything
After preparing the module, came the time to install it into the device. While following wires going from the USB board I discovered a very convenient 4 pin connector on the mainboard which contained exactly what I needed - RX TX Vcc and GND.
So the installation was extremely simple. I've just unplugged wires going to the USB board.
And plugged the esp module in the same socket.
After that, it's just a simple task of finding a place to put the module itself without a metal case interfering with WiFi signals.
At this point I thought it’s kinda done, just close the case, put the screws back and the project will be completed!
Unfortunately, communication wasn't working and I reconnected the original USB board just to figure out if it is a hardware or software problem.
As the original USB communication wasn't working either it was clear now that the problem is software-related.
Documentation is kinda simple and I chose the simplest command to test on `*IDN?` which should return the device's model. Sadly enough device did not respond to any command on any baud rate with any line ending.
Long story short - I accidentally sent characters `\` and `n` instead of new-line character and the device responded. Not sure how much more time I would have had to spend to try this intentionally :D
So in general it was a pretty easy project, hardware part simply begging for this upgrade - I didn’t even need to cut or solder anything in the device.
I also did a presentation about this project on the Hack and Tell #38 at Kaunas Makerspace.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality
Anya is LIVE right now
FREE
Free to watch • No registration required • HD streaming
KP184 is a nice and relatively cheap programmable 400W electronic load then you need an upgrade from your 35W XY-FZ35. That is after fixing shipping damage and few design bugs discussed on eevblog.com/forum.
This load can be controlled via RS232 and RS485. The programming manual can be found with enough searching. Load uses Modbus-RTU protocol but it lacks connectivity to the network. Sadly LXI is not in this price range. So I need to fix the connectivity problem and make it a WiFi-connected load.
I`m going to use the esp8266 modules I made in the previous post. Esp needs 3.3v communication so straight COM port voltage levels will not work here. After a closer look at the PCB near the communication port, we can see the isolation line going thru some chips. U23, PC10, and PC1 are used for digital signal isolation.
U23 is 1201ARZ which is Dual-Channel Digital Isolator and is used in the UART path here. This IC is responsible for protecting the device from voltages that might be present on communications port. The separated area has its own isolated power supply.
That is a good thing to know and we going to use this power source so that our communication hack won`t upset the device itself. Following the traces showed that this zone has its own regulator, rectifier, and even transformer winding.
A capacitor on the edge of PCB is used for the communications power supply.
It has about 18V DC unregulated so it can be used with esp/buck module. Note that I connect to the power before regulation as I don`t want to put extra heat on the small regulator for communications area which is not meant to drive such spiky loads as esp.
After dealing with the power problem I connected RX and TX to the isolated side of U23. For that, I reused 4.7K resistors what was used as pull-ups. Now, these resistors would be used for current limiting on data lines in case existing communication circuitry would do something funny.
Now I can place esp module in the front plastic grill as other parts of the case are made from metal.
And glue wires in place to stop them flapping in the breeze.
After assembling everything I can test the control via WiFi by sending Modbus-RTU packages with check-sums to TCP port 23 according to the device`s documentation. For easier control, I wrote this script
https://github.com/makerspacelt/fz35-cli/blob/master/load-kunkin-kp184.sh
It runs on bash and has almost no dependencies.
These electronic loads are quite useful by themselves and they are pretty cheap for a 35W digital electronic load. It’s not a precision instrument by any means - but it’s still useful for small PSU and battery testing. And it can get even better with automation!
First things first. I took the load apart to inspect everything and replaced the heatsink so that fan could be mounted in a different orientation. Not sure if it helped the cooling but with this setup load still can pull 35W for an hour or so.
I started by adding a buck regulator for a 3.3V rail as the power supply I used for the device was 12V.
After carefully adjusting output voltage I added the ESP01 module and soldered data connections to the board. Everything was attached by double-sided sticky tape.
And a layer of Kapton tape to insulate from shorting out to the display board.
Everything fits nicely in-between two boards and can be mounted back to the original case.
I designed and laser-cut a simple box so that it would resemble a real bench instrument. Before putting too much effort I decided to test thermal performance in the box. The results were less than 80 degrees C after about an hour of 35W dissipation.
I finished sanding the box.
And assembled everything inside. The thing in the green heat-shrink is a mains power supply to 12V.
Power socket with a real fuse and the fuse is rated for a load (that’s rare in DIY projects).
As the hardware part was finished I started working on the software. I was interested in testing the real capabilities of various cheap buck and boost converter modules.
I definitely could just adjust the load, measure voltage, write it down somewhere and repeat until I have all the measurements. Then I could put the data in some kind of spreadsheet and generate a visual representation of current and voltage correlation.
Buuuuuuut, there’s a problem - it sounds like a lot of work and I should repeat that for every module I want to test and maybe for several times if I want to make sure I made no mistake taking so many measurements.
Did I mentioned that I hate “a lot of work”? So I decided to do “a lot of work” and wrote a utility that lets me automate “a lot of work”. Here it is: https://github.com/makerspacelt/fz35-cli
Now I can simply connect buck or boost of interest and start the test with a simple command after which I get my results plotted on a nice graph with a resolution of my choice.
This project was the ultimate gateway-drug to test equipment automatization. From now on, some kind of communication option will be the must for any lab equipment I will consider buying.
It`s really nice to have all equipment connected to the network so that automation becomes very easy. Obviously it should be cheap and easy and reproducible in numbers.
>>> Yes, I know that I am late to the esp train for about 5 years :D
At first, the solution sounds simple - just wack esp8266 into a device. Unfortunately, there is a good chance that 3.3V rail can`t deliver enough power for esp with WiFi enabled or other devices on 3.3V rail are so sensitive that the whole device just blows up on first esp connection to WiFi or there is no 3.3V rail at all. In these situations, we need to take care of our power needs ourselves.
One way to approach the problem would be by adding 3.3v mains PSU which requires mains wiring, maybe a separate fuse, and might be somewhat bulky. Furthermore, the mains wiring requites a fair amount of effort to not make the device more dangerous than it was before.
Another way is to add a linear regulator. Which would require smaller or larger heatsink depending on the device`s supply voltage. With heatsink, this solution becomes bulky too and requires unnecessarily high power from the device`s PSU.
A better way is to use some kind of buck converter. Of course, eBay and Ali have a lot to offer but I want it cheap and small so that buck converter does not bloat the communication module too much. Here is the cheapest and smallest buck converter I could find:
At the time of writing it costs like $0.27 shipped. This device features a small trimmer-pot to adjust output voltage which is not needed here. Actually this pot is so flimsy that it can change output voltage from any vibration. To fix that I just removed pot entirely
and replaced it with 22K 0805 resistor which fits on existing pads nicely and gives about 3.4V output.
After this modification, it`s time to connect the esp board to the buck converter. I chose the esp-01 board as it is cheapest available at $1.25 delivered and is pretty small.
Before soldering everything together its a good idea to flash esp-01 with an esp-link firmware https://github.com/jeelabs/esp-link
To make everything more stable and faster I disabled mDNS and other features that are not needed in this case.
The next step is to remove esp-01 pins to save some space in the final footprint.
Now it`s time to add 1K 1/8W resistor to pull the EN pin up so that it always boots into esp-link firmware. Resistor power is not important here, it's just that 1/8W footprint fits very nicely.
I soldered wires for RX and TX to the esp board and short wires for 3V3 and GND to the output of buck converter
and soldered both boards together.
To protect power input wires from touching something they not supposed to, as it happens to be very close to esp pins, I put some heat-shrink on the power input side.
To make the module more robust and easier on the device`s PSU I added a 1000uF capacitor. 6.3V rated capacitor is enough in this situation.
Now to protect everything and act as a case I enclosed module in large heat-shrink.
The communication module is ready and can be added to many devices with various power supplies up to ~20V. It`s handy to have some of these ready for your next WiFizations project.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality
Anya is LIVE right now
FREE
Free to watch • No registration required • HD streaming