Saturday, September 30, 2017

Firmware v1.1.1 released

V1.1.1 release of the Alternator Regulator firmware has enhancements around CAN communications, improved temperature management, and has undergone internal code restructuring to reduce size.

Make sure to also download the latest quick-start and reference guide from the documentation folder.

A note: The libraries have changed with this release; specifically there is a customized NMEA2000 support file, NMEA2000-ALT.  This lib has had unused capabilities edited out to reduce code size.  Make sure to copy all the lib support files if you are looking to recompile the source.

 New Capabilities

  • Engine RPMs via CAN message: J1939 Engine Speed - PGN 61444 

Connecting the Alternator Regulators CAN port to an engine which supports J1939  will allow engine RPMs to be picked up via the CAN.   Such RPM messages will take precedence to RPMs determinations made via the Stator wire.

There is also a new compile option: `DISABLE_ON_J1939_RPMs` in `Config.h`  When selected the Alternator Regulator will monitor engine RPMs and place the regulator into a disabled mode when RPMs fall below 400 RPMs (or are not longer measurable either via the Stator or via a PGN 61444 message).  This compile option allows the regulator to be permanently powered on (Enable always powered) and use RPMs as a way to decide if the alternator needs to be running or not.

If you use this capability, make sure to set the ENGINE-ID vai the $CCN command to match the engine ID the alternator is attached to.

  • Engine RPMs reported out via NMEA2000^TM^ like CAN message: Engine parameters rapid  - 127488L

Connecting the Alternator Regulator's CAN port to an existing NMEA2000 network will allow for the transmission of engine RPMs via NMEA2000 like messages (note, the Alternator Regulator is not a certified NMEA2000 device, though some of its capabilities are equivalent).  RPMs will be reported independent of the source: Stator derived measurement, or the above mentioned J1939 Engine Speed CAN message.

  • Engine Instance ID

Partly in support of the above, a new capability to define the Engine ID has been added to the $CCN ASCII command.


  • Alternator temperature regulation logic has been enhanced.  The PID engine has been made more responsive to detecting an approaching over-temperature situation, and additional protection has been placed in the case of massive over temperature conditions overwhelming the capabilities of the PID engine.

With the advent of low-impedance batteries, most specifically LiFeP04 technologies, one needs to be very careful not to over-stress the alternator.  Careful temperature senor placement (on the rectifiers is recommended) is strongly suggested.  It is also suggested to enable Small-Alt mode on any alternator weighing less than 25 lbs.  Small mass alternators are especially susceptible to overheating and potential damage.  Once confidence has been established in the total install, one can look to increase output while carefully monitoring.

 Code Restructuring
There has been several edits / optimizations to the code to reduce code size, including some of the supporting libraries.   Code changes have also occurred in preparation to allow for reuse in other projects, specifically the CAN and ASCII subsystems.

The Source Code has been moved to the Github repository, look here for the latest release:

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.