When I moved in to my new place, I'd hoped to install a commercial CHP unit (Combined Heat and Power) - but suppliers and circumstances conspired against me and I ended up
building my own instead. I also had to build something to handle the starting, stopping and monitoring of the engine etc.
Without having finished the genset itself, there was a lot of guessing what I might need. And without the inverter, or having lived in the place, I had no real idea what I needed, what timings might be etc. So it was all "seat of the pants" stuff. A few ideas I did have were that I wanted it to keep track of the run-hours so I'd know when to change the oil at least!
So I picked a suitable processor of the day and set about making a prototype. I intended to make a proper one once this had run for a while and I knew what else I really needed it to do. Well, that was 7 years ago, and the prototype is still running...
I built it on veroboard - doesn't everyone do prototypes this way? I don't usually use sockets, but I figured that this thing might be easier if I could drop out a chip and replace it with one with a different version of the code. (As I built it, I added an in-circuit programming connector, so I never ended up popping the chip either)
![](http://house.albury.net.au/31aug2005/MVC-393X.JPG)
The underside is a mess. But it worked.
![](http://house.albury.net.au/02sep2005/MVC-397X.JPG)
When completed, the top of the board looked pretty messy too
![](http://house.albury.net.au/02sep2005/MVC-398X.JPG)
I poked it into a box along with the display and a switch to select auto/manual(stop)/manual(run)
![](http://house.albury.net.au/07jul2005/MVC-072X.JPG)
Bit of a squeeze.
![](http://house.albury.net.au/02sep2005/MVC-399X.JPG)
It mounts on the genset frame, along with the fuse and relay panel, governor and AFR controller.
![](http://house.albury.net.au/08sep2005/MVC-426X.JPG)
Typical displays (it cycles through several)
![](http://house.albury.net.au/31oct2005/MVC-522X.JPG)
The cold sensor wasn't connected on this photo, but has been ever since.
![](http://house.albury.net.au/02sep2005/MVC-402X.JPG)
![](http://house.albury.net.au/02sep2005/MVC-401X.JPG)
The controller monitors engine temperature in several places, RPM and alternator frequency, oil pressure and inverter signals to request start/stop. It also controls the (electric) water pump, which runs whenever the engine is running, and continues to run while the system can extract useful heat from the engine and/or exhaust. It controls the governor for speed control, does all the cranking control, will attempt a start only (x) times. Will lock-out if there's a problem. Calls for help if the temperature is getting high for any reason, and shuts down if it gets over-temperature or low oil pressure, or the engine RPM is too high or low.
On shutdown it drops the load, then throttles down to idle and has a 30-second cool-down before turning off.
Does other things too that I can't remember now - it just sits there and does its job. If you've got any questions, just ask. I'm sure I'll know (or can check the code to remind me!)