So after a year of being busy, I finally got around to putting together the electronics and testing out my circuit. Everything worked first go, though I had to remember a few things about the design when getting the software running against it.
One important change to the design so far, is that we are no longer building a Raspberry Pi Power Board, but instead an Arduino Power Board.
One thing I discovered during testing was that the 5V delivered by the 10W iPhone charger was still low-power. Apparently I need to hook some resistors through to the data lines to instruct the iPhone charger to run in high-power mode if I want to drive more than 2 of my relays.
Here’s a video of a single module of the board running off the Arduino
In the demo, you can see me disconnect the Arduino from power, indicating the circuitry is completely self-sufficient, and the Arduino is able to recover state accurately at any time, regardless of power outages.
Next steps are to update the Arduino software to run off ethernet instead of the Game-controller break-out board, and to expand it to multiple modules.
I’m also considering building my own rectifier and using a stepping regulator to deliver my 5V, rather than relying on an iPhone charger. Or I can just use a pre-built 5V PSU…
The ball is in motion!
I’ve just placed an order at DigiKey for all the components I’d require to build the 16 latching circuits for my programmable power board.
There’s a back order on the power relays, so I don’t expect my package to arrive any time this month.
I also changed the parts I’m using for the port selector, as I’m currently investigating some other options, using the SPI, and I2C interfaces on the raspberry pi, which would allow up to 128 ports to be controlled, instead of just the 16 in my previous design.
As a result, I’ve ordered 8 MCP23S17 and 8 MCP23017 chips, and will experiment with those to get my circuit working.
I also placed an order for a DSO Nano V2, over at Australian Robotics, so I should be able to start measuring and observing the various signals that I’ll be getting out of my raspberry pi, especially when working with the new SPI and I2C components.
I’ve decided that I’d like to build a programmable, modular power board to control the power in my lounge room. Hopefully this will allow me to do things like turn off the stereo system when the receiver is not in use, and other nifty magic like that.
Below you will find my first circuit simulations for my designs.
A is a GPIO input from the raspberry pi. It is used to cycle through the available ports.
B is a GPIO output to the raspberry pi. It is used to calculate how many ports are currently enabled.
The line connected to the reset terminal enables the user to adjust the number of ports supported by the program.
This circuit is duplicated, 2 times per module.
A is an output from the Port Selector.
B is a GPIO input from the raspberry pi. It is used to turn on a port, and is common between all modules.
C is a GPIO input from the raspberry pi. It is used to turn off a port, and is common between all modules.
D is an optional GPIO output to the raspberry pi. It is used to detect the current state of a port at any given time (e.g. when recovering from a reboot)
The relay is a G5LE-14 DC3 power relay from Omron Electronics
The diode is a 1N4004
The transistor is a BC548 NPN
You can also download the Yenka schematics