Sunday, September 17, 2017

Failure Analysis

I received a Gen 3 regulator from the field which had been working well, and then stopped providing any drive the Alternators field.  Over the past couple of days I have been assessing what  failed.  This is my findings:

The FET driver chip (U7).  It is able to properly create the needed gate voltage levels, but it is unable to support any load placed on it.

The FETs used are a massive overkill for this application, on purpose:  I wanted to offer good efficiency (less wasted heat) and to be able to support large frame alternators without any concern of the ability to carry current.  And I used two of them.  (The connector is actually the limiting factor - 18A rating).  These large FETs do come with a rather large input capacitance which has to be driven by the FET driver chip.  Calculations show the driver chip is able to meet the FET requirements, and measurements confirm it, though there is indeed little margin.   Even so my suspension is the driver chip is bring pushed a too hard - causing the failure.

As a corrective action I will be increasing the gate series resistors from 10 ohms to 13.7 ohms.  This will reduce gate current significantly with little impact to the turn-on time (going from 65nS to 70nS).  At the same time I will reduce the Vdd setpoint of U10 down to 10v.  Changes are:

R39:  Was 100K             →     10K
R43:  Was 1M                →   71.5K
R26, R29:  Was 10 ohm →   13.7 ohm

All regulators shipped after today will be assembled with these modifications.  If anyone wishes to refit their existing regulator the above parts may be sourced locally  (resistors are SM0603  --  1%), or I can send you the components, or you can mail the regulator back to me and I will refit and return it to them.   Please Email me if you are interested in me sending out the parts or reworking your existing regulator.

An alternative field modification may also be made to gain margin:  Remove R29. Be carefully not to damage the PCB if you wish to do the above mod at a later time.  Removing R29  will disable the redundant FET and reduce the driver load.  The remaining single FET is able to support 100's of amps peak, and is more than sufficient for any alternator application.

Thursday, July 13, 2017

Firmware v1.1.0 posted

Today firmware v1.1.0 has been posted to both the google drives under the resource tabs above, and the github repository at:
There is Users Guide has also been revised:

v1.1.0 of the firmware contains one very significant change, the units used to represent temperatures.  The have been changed from degrees Fahrenheit to degrees Celsius.   This change was made to better align with worldwide temperature units, and in preparation for a potential configuration application which would support devices beyond the Alternator Regulator.

A side effect of this update is any existing configuration changes made via ASCII commands will need to be reissued as when upgrading to version 1.1.0 of  the firmware all configurations will be set to the default state.

There are several other changes in this firmware, including:
  • Addition of a Tach-mode override to the $SCT: command
  • Bug fix with CAN Terminal mode (ASCII wrapper)
  • Better support of small alternators with large battery banks 
  • Potential solution to dual-alternator self-balancing capability.

For those interested in the details, the GitHub repository will show all changes.

Note that some of the supporting libraries have changed as well, please make sure to download new copies of:  RVCMessges.cpp and RVCMessages.h as well as the avr_can.cpp files.

Friday, February 10, 2017

Signal-K and the Alternator Regulator

Here is it!  For some time I have been working on and off with the Signal-K team to add electrical components.  Slow work, at times on the back burner  - but today I can share this with you:

What you are seeing is a simple Signal-K display showing real-time alternator voltage and current, as well as temperature (in kelvin - 308 --> ~35c/94f)  On the bottom right is the % field drive (57% at this time).

Currently the 'connection' is made via a serial port, with a javescript provider converting the ASCII status strings from the regulator into Signal-K JSON messages.  The 'provider' is located here:

The script will work with Gen 2 or Gen 3 regulators, no problem.  And if you have the blue-tooth module installed you could point the incoming ASCII steam to the script wirelessly!

It is based on the  NMEA0183 --> SignalK converter, thank you to Fabian Tollenaar.   I do have an issue right now, and perhaps folks can help:  I use a windows client for pushing files up to github.  Seems there is an issue with this where the 'executable' permission flag is lost.  The impact is if you try to run the demo on a Linux or Apple machine you will get a 'non-executable' trap.  Presently one has to change the permission of the file 'osenergy-from-file' to allow execution.   There may be a way to configure github to force this, again if there are any github experts out there - please speak up!

OK - a start.  There is still work to be done, the Signal-k spec needs to be expanded, I need to solve the global-variable issue above, and the next step will be to create a CAN based bridge.  My RPi and CAN shield are already on order!