-
-
Notifications
You must be signed in to change notification settings - Fork 79
2 Hardware
This project has been developed and tested with a Raspberry Pi 3 as the base platform. Since the serial port and network are the only external ports used, the program could be used on other platforms with minor modifications and testing.
In development and testing I used the Raspberry Pi3 with built in WiFi. Depending on your WiFi signal and your generator proximity to the access point your results may vary.
Below is a list of hardware that I used. Since your generator may be different and your network will be different you will need to validate these for your setup.
- Raspberry PI 3 and SD Card. A Class 10 SD card is recommended. Speeds below a class 10 will affect performance in file system reads and writes and you may experience timeouts on the web interface with a slower card.
- Powering your Pi
- Option 1: Generator Battery to USB Power Supply - Power supply for the Raspberry Pi is attached to battery on the generator. This adapter or this one may be more applicable if you are using a Raspberry Pi4 as it has USB-C and 3A output.
- Option 2 - If you use Ethernet instead of Wifi you can power your pi via PoE with this adapter, assuming you have a PoE injector or PoE Switch.
- Option 3 - Power your Pi from the controller connector via the GPIO connector.The wiki page on making a cable has additional details on the controller pinout.
NOTE: Some people have reported undervoltage errors on the Pi 3 (not the Pi Zero) when powering through the controller connector. While this has not been reported to prevent the application from running it may not be an ideal way to power the Pi. See this issue for more details.
NOTE: If using the Battery to USB Power Supply to power your pi, you may want to consider replacing the 7.5A fuse that comes with the power supply to a lower value. I have a 2A fuse in mine. This will help protect your pi if surges occur due to a nearby lightening strike.
Regardless of the method you use to power your pi, you must ensure that you your pi and the generator controller are sharing a common ground. If you use a two prong wall adapter to power your pi you will likely see CRC errors unless you connect ground from the controller through your cable insuring your Pi and Controller share a common ground. I opted for USB power connected to the battery.
User @skipfire has created a few variants of a raspberry pi HAT (Hardware Attached on Top) that has been specially designed to use with Genmon. You can use one of these and avoid the extra wires needed to connect the pi to the RS-232 board. Using this HAT removes the need for a separate TTL to RS-232 board. There are version for both the normal sized pi and pi zero. You can purchase them here. Some of these HATs offered by @skipfire are designed to work with the HighPi case](https://www.pishop.us/product/highpi-raspberry-pi-case-for-pi4/) and have an extra connector for a fan if your Pi does not have adequate air flow. A 12 inch cable is included with the HAT, and a 1 meter cable upgrade is available.
If you use the custom HAT you should only need the Raspberry pi, SD card and enclosure (with some magnets to mount your enclosure). If you have an Evolution 1.0 or Nexus model you will need either an upgraded cable with battery terminals or an external USB power supply listed below. If you need lengths between 12 inches and 1 meter or longer than 1 meter you can get a few of these cable extensions.
User @evanevery created a 3D printed case to be used with a Pi4 and the HAT available above. You can download the design file for the enclosure here
-
This is the enclosure that is used. This may be to large for some smaller air-cooled generators:
-
Internal Panel for Enclosure This may be to large for some smaller air-cooled generators.
-
Adhesive Magnets from Hobby Lobby (used to attach enclosure to generator). I attached the enclosure to the inside of my generator housing but your generator may be different.
-
Tubing for cable (not recommended, possibly use a smaller diameter tube)
-
An alternate method for the cable sleeve is to have an inner shield for EMI protection and an outer layer for environmental protection.
The cable I used connects the Molex connector on the Generator Controller to a DB-9 break-out connector. The DB-9 break-out connector is then attached to the RS-232 to TTL converter for the Raspberry Pi. Below are the links for the items used in cabling:
-
3.3v TTL to RS232 for RPi or this one, or this one. The second one has had some quality issues (two failures reported with new hardware). The critical thing here is that the converter must support RS-232 to 3.3V TTL. If it supports RS-232 to 5V TTL only then it will not work with the Pi. In general the converter would ideally use the MAX3232 or SP3232 chip.
NOTE: This project provides an isolated RS-232 interface with external temperature sensors which genmon supports as an add on.
-
Break out DB-9 (male or female, depending on the above level converter you use)
-
I used the following Digikey part numbers for the molex connectors for the cable. The Evolution /Nexus controller uses a molex type receptacle:
This is the DigiKey part number of the connector that you will use on your cable (plug). This is required.
- Receptacle = WM3703-ND - DigiKey Link
- Female pin = WM3279CT-ND - DigiKey Link
This is the DigiKey part number of the connector on the controller (receptacle). This is for informational purposes and is not required.
- Plug = WM3603-ND
- Male pin = WM2500CT-ND
I used a molex connector on my enclosure and routed the two wires to a break-out box that a DB-9 (see link above) however there are endless ways to make the connection to your enclosure on the Pi.
NOTE: I have since created a new cable using a few of these plugged together. It works great and you do not need to purchase and crimp your own molex plugs. You can just cut one end off and screw it into the DB9 modular adapter. This method is less prone for mistakes in making your cable.
See the project wiki for info on creating a cable, including alternate methods that do not require using a crimping tool.