SHDesigns: Embedded Systems Design, Consulting and Developer Resources Page hits:

Sample Project 12

Generac / Guardian 8000W Generator Control board

The Problem:

The control board in my house generator failed. Replacement would probably be expensive. There was also some things I did not like about the generator. It ran for 20 minutes every week. That used up a considerable amount of natural gas. It also had no external monitoring interface. I had plenty of parts and processor modules; I figured I could design a board cheaper than a replacement.

The solution:

The above board is the exact size of the Generac Control board with connectors in the same place. It uses a Rabbit Semiconductor RCM3700 module. This includes a 22mHz R3000 CPU, an Ethernet interface 512k of Flash for program storage, 512k of RAM and 1-Meg of file storage via serial Flash.

The board was a bit over-designed; the heat sink is not even needed I did not know the worst-case currents, so the design is overly cautious. The design uses the Ethernet interface for updating firmware via the Resident Download Manager, viewing the logs and providing a web page. The web page is shown below:

The web page allows running tests, manual start/stop, log file view setting the oil change. The page includes statistics for: Run Time, Time since last oil change, Hours since last oil change, Firmware version, A/C voltage, Battery Voltage and total Run time. It also lists 6 different oil filters that fit, air filter part numbers, battery model number, spark plugs and recommended oil types.

The entire project took only a 2 days to design the board and lay out PCB's. Boards were ordered, built and tested. Software took about a day or so.

The board works great. Now I schedule the self-test once a month. I'll know when to change the oil and the web page includes all the service info.

The software was written using Softools C. Code including the web pages was about 160k. With 512k of RAM, there is plenty of room for expansion.

 


Return to main page Back to Project list