08/20/2014 at 22:30 •
The Protocase website has a template generator that will create a complete assembly for use in your CAD program so you can get started right away. I chose Solidworks since that's the software I've been using.
Engineers at Protocase were very helpful and were able to use the 3d Solids directly which was great.Solidworks
Original assembly from Protocase
With the Protocase assembly generator I was able to start with a model that was 90% complete.
I attempted to import my VRML 3d PCB model directly from Kicad. Unfortunately, I never quite got that working so I ended up making a simple model of the board outline and mounting holes in Solidworks.
From the various manufacturer's websites I was able to find 3d models for the PSU, IDC Connector, and the RJ45 pass-through jack. This not only saved time but also gave me confidence in the design. I couldn't find any model for the NEMA 5-15 outlets so I made one using the suggested panel cutout drawing.
Completed Assembly Isometric
When I designed the board I included 8 relays, however when it came to designing the case it became obvious that 8 switchable outlets can't fit on the back. I thought about making the front outlets switchable, but it didn't really fit any of my use cases.
In the future I will need to spend more time on a top-down design of the project before jumping into the sub-assemblies like the electronics.
Front Back Exploded View
08/15/2014 at 20:13 •
This is what real work looks like
In order to debug I used the following:
- ICSP Programmer. I use the UsbTinyISP programmer from Adafruit.
- Network Serial Port. I use a BrainBox ES246 network serial adapter so I can access the serial console while on Wifi since I like to debug while lying in bed.
- Current Limiting Bench Power supply
- Fluke 87v DMM
- Rigol Oscilloscope
Before I could even get started debugging, I needed to create a custom boards.txt and pins_arduino.h files so the Arduino programming environment would know how to map things like the friendly "LED_BUILTIN" to the actual I/O register.
To keep thing simple, I started with the timeless "Led Blink" sketch.Wiznet W5100 Debug
Programmer, Serial Port, and Ethernet Hooked Up
I discovered a short on the 1.8V LDO output of the W5100. After some rework with the hot air and some solder wick I managed to repair the short. It looks like I made the pads extend under the device a little too far making it very difficult to clear a solder bridge under the IC.
After that, it was smooth sailing...well not exactly. The 3.3v and 1.8Vdd and 18.Vda rails all were outputting the correct voltage, and much to my surprise the Link and Activity lights on the RJ45 mag jack were lit, so at least the chip was alive.
Oscilloscope and Hot Air Rework Station
I probed around the SPI bus a bit, I discovered the SlaveSlect signal was not toggling. It turned out that the SlaveSlect pin was hard coded in the Arduino Ethernet library. Having it configured with a header or constructor would have been much better. Nevertheless, another quick hack and the Arduino Ethernet tutorial I was using was fully operational. Hello World!
08/14/2014 at 15:11 •
Layout Today I finished the layout for the Network PDU-S. I used Kicad for the entire PCB process.
The board is much bigger than I would have liked. Next time I will probably put the relays on a separate board from the logic.
Network PDU-S RevA layout
08/08/2014 at 03:59 •
The Network PDU-S will be based on the Arduino Ethernet board, however instead of the ATMega328 I'm going to use an ATMega2560. This is the same chip that is used in the Arduino Mega, and I've used it in several designs before so I've already got most of what I need to create the schematic.Schematic
For the Ethernet controller, I've chosen to use the same Wiznet W5100 chip as the Arduino Ethernet so I can take advantage of the existing code libraries.
I'm including a Max232 RS232 to TTL level converter in the design. This will be used for debugging, and possibly included in the final product to send/receive commands to RS232 compatible devices.
Here's the top level schematic designed in Kicad:
08/06/2014 at 04:02 •
(cross post from blog)Design Requirements
1. Its simplest function is power distribution. the Network PDU-S will provide a 6rear + 2front outlet power strip.Motivation for this project
2. This device includes a programmable sequencer that allows you to power equipment on/off in a specific order.
3. This device includes network control. From a webpage you will be able to configure the sequencer settings as well as toggle individual outlets on and off. The device will also be able to send commands to other sequencers allowing you to control the power-up sequence of equipment at remote locations via the internet.
1. I travel a lot for work, and sometimes I need to remotely power cycle the servers in my home data center.High Level Design Document
2. For my A/V work I need a power sequencer to turn on the sound board and amplifiers in a specific order to avoid equipment damage.
3. In some A/V venues I need to sequence equipment in the sound booth, on stage, and also back in electrical rooms.
4. I would like to get per-outlet power metering so I can closely monitor peak/average power consumption of all of my equipment.
High Level Block Diagram
I created this diagram with DIA diagram tool..
07/24/2014 at 07:16 •
check out the web log for now