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:
https://github.com/thomasonw/signalk-parser-OSEnergy

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!




Saturday, January 28, 2017

Major release: New hardware, firmware, doc -- and some assembled units as well!

After over a year of work, today I am posting the release of the CAN enabled Alternator Regulator, along with new firmware and revised documentation.  The CAN enabled regulator allows communication of its status over a high reliability Control Area Network (CAN), used for decades in the auto,  trucking, heavy equipment, faming,  and industrial  applications the CAN is proven robust and low cost.  For those in the marine world, it is also the basis for NMEA2000

By adding a CAN to the Alternator Regulator, it is able to effectively communicate its status – and through the application of the open source protocol RV-C is able bring a whole new paradigm to alternator regulators:  Ability to fully cooperate with other charging sources to deliver to the battery what it needs in a well coordinated and prioritized way.  Stay tuned for more about this whole new approach, which as always is opened sourced and fully documented.  Key features of the Generation 3 regulator include:
  • Continued support for 12v to 48v systems with no hardware changes
  • Continued ability to use different voltages for the field vs. the battery (Allows 12v alternator to be used as high efficiency 28v battery charger)
  • CAN communications:
    •  Reduced wiring / installation by remotely sensing the battery voltage, current, and temperature
    •  Full coordination of multiple charging sources to assure battery needs are meet
    •  Prioritization of those charging source – Let Solar finish up recharging vs. burning diesel
    • Wide range of status outputs
    • 'NMEA2000'** status messages

The Firmware has also undergone a major revision, mainly to support the new CAN capabilities, but also to assure backwards compatibility with Generation 2 regulators. The source code will make needed selections based on the target CPU you have selected for each regulator (ATmega328 for Gen2, ATmega64m1 for Gen3).  Do note that there have been several additions and some changes to the ASCII status and commands strings, refer to use users documentation under the reference tab above.

And even more news, I have a small number of assembled Generation 3 regulators on hand.  See the side bar at the right. 

Going forward look forward, look for additional details on the ‘Systems’ approach to charging sources, as well as integration with other devices such as MPPT and BMS.  Will also be working on integration to the SignalK effort, and there is even the potential for a users application to assist in monitoring and configuration the regulator.  Maybe even a 3D printed case design!  Join the mailing list to hear more!

 ** Note:  NMEA2000 is a registered trade mark of  the National Marine Electronics Association.  Though the Alternator Regulator is able to provide some data which can often be read by NMEA2000 equipment, it is not NMEA2000 certified, not offered as a 'NMEA2000 device'








Sunday, September 18, 2016

Posted Hardware Design for CAN enabled Alternator Regulator


Today I posted the hardware design files for the CAN enabled version of the Alternator Regulator.  It is the revised design I just sent off to have some blank PCBs created and I hope will be the final prototype.  I am still making some small adjustments to the source code, around integration with a remote battery monitor device, and once I have completed that will post the source code.  A side note, the new source code will auto-compile for either this new CAN enabled regulator, or the original stand alone regulator, based on the CPU type.

Some key features of the new design, and (soon to be released) firmware:
  • Same core regulator functions:  Voltage, current, temperature, engine load.
  • Same Charge Profile capability, and ASCII communications for status / advanced configuration
  • Changed USB connector to smaller Micro USB
  • Improved Stator sensor / Tachometer repeater circuit 
  • Addition of CAN ports
    • Stuffing options for CAT-5 connectors or standard wiring header
    • Outputs NMEA-2000 like status messages
    • Utilizes J1939 / RV-C to implement coordinated 'systems' approach for battery management.

Perhaps the two biggest changes are the CAN port, and the improved Stator hardware.   The CAN port is used to send out status of the regulator / alternator, and currently support NMEA-2000 like messages.  With this one should be able to integrate into existing NMEA-2000 displays, as well as translation efforts such as Signal-K    The improved Stator circuit is very sensitive and able to lock onto stator waves just from the residual magnetism in the alternators core.  This should allow for alternator connected tachometers to function almost all the time, without needing to fine-tune a small field drive..  And this regulator is the 1st of what I hope to be a series of designs which integrate with each other (via the CAN port) to approach battery charging from a 'systems' viewpoint, with all working together in a coordinated / prioritized fashion.  There is much more to come on this last topic!

You will find the CAD files, BOM, Gbr files, and schematic under the appropriate resource tabs at the top.

Finally, I only have one blank PCB left for the v0.1.4 release of the Alternator Regulator.  Once the hardware is stabilized, I want to look into the possibility of doing a short-run of the new design, but fully assembled.  There is a bit of thinking to do here, and I am also looking at porting over to the STM32 line of CPUs (lower cost, more capability) - but in the end I do know many people would find a fully assembled / programmed and tested regulator more appealing than the current blank PCB.  Watch this space over the winter, might do something like a Kick-starter campaign...