NMEA-2000 PGNs

1,124 views
Skip to first unread message

Al Thomason

unread,
Sep 11, 2015, 12:10:30 PM9/11/15
to smar...@googlegroups.com

Kicking this off here.  Today I posted a simple bridge based on the Arduino Due to take the Arduino Alternator Regulators ASCII status strings, parse them and rebroadcast them onto a CAN bus in a way that MIGHT be compatible with the NMEA-2000 standard.

 

See more here:  http://arduinoalternatorregulator.blogspot.com/2015/09/very-rough-nmea-2000-bridge-source.html

 

It needs testing, and I also am interested in some ideas for which PGNs to include.  Hence this Email thread.

 

Looking over available docs, this seems like the core of what might be appropriate:

127506 - DC Detailed Status

127507 - Charger Status

127508 - Battery Status

127510 - Charger Configuration Status

http://www.nmea.org/content/nmea_standards/messages_pgns.asp

www.nmea.org/Assets/july%202010%20nmea2000_v1-301_app_b_pgn_field_list.pdf

 

 

Right now I have DC Detailed Status and Battery Status stubbed in.

 

So, ideas on which PGNs should be included, and how the fields should be filled out?

 

-al-

 

Viking Star

45' Monk Sr. / McQueen

mvVikingStar.blogspot.com

 

 

 

 

 

Alex Wetmore

unread,
Sep 12, 2015, 9:29:01 AM9/12/15
to Smart Alternator Regulator
On Friday, September 11, 2015 at 9:10:30 AM UTC-7, thomason.al wrote:

Looking over available docs, this seems like the core of what might be appropriate:

127506 - DC Detailed Status

127507 - Charger Status

127508 - Battery Status

127510 - Charger Configuration Status

http://www.nmea.org/content/nmea_standards/messages_pgns.asp

www.nmea.org/Assets/july%202010%20nmea2000_v1-301_app_b_pgn_field_list.pdf

 



Have you looked at the project canboat?  It has a large XML and JSON file which includes a bit for bit description of the PGNs (mostly figured out through reverse engineering).  They do include all of the PGNs above.

canboat is designed primarily to listen to NMEA 2000 and output the data in more structured ways.  However I've written code that emits NMEA 2000 using their definitions and can confirm that it works with the Raymarine stuff on my network.  My code is all written in Python (running on a Beaglebone Black), so it isn't directly usable.  I haven't done much with it in the last 6 months, but had a pretty good understanding of NMEA 2000 at that time and would be happy to help if I can.

I haven't built my Smart Alternator yet, but it is on my mind since my current 3-stage alternator regulator is acting poorly when my solar panels are also installed.

alex 

Al Thomason

unread,
Sep 12, 2015, 5:59:14 PM9/12/15
to Smart Alternator Regulator

Alax,

 

Thanks – and waiting to hear when you assemble your boards J

 

I have found the CANboat guy, and used his info to draft out the details in my sample effort:

https://github.com/canboat/canboat/blob/master/analyzer/pgn.h

 

As well as some of his comments results:

http://www.keversoft.com/downloads/packetlogger_20120415_explain.txt

 

And   I have this summary for perhaps the most interesting PGNs from the overall NMEA list from:

http://www.nmea.org/Assets/july%202010%20nmea2000_v1-301_app_b_pgn_field_list.pdf

 

 

127506 DC Detailed Status

Field # Field Description

Provides parametric data for a specific battery, indicated by the battery instance field. Used primarily by display or instrumentation

devices, but may also be used by battery management controls.

1 SID

2 DC Instance

3 DC Type

4 State of Charge

5 State of Health

6 Time Remaining

7 Ripple Voltage

 

 

127507 Charger Status

Field # Field Description

Any device capable of charging a battery may transmit this message.

1 Charger Instance

2 Battery Instance

3 Operating State

4 Charge Mode

5 Charger Enable/Disable

6 Equalization Pending

7 Reserved

8 Equalization Time Remaining

 

 

127508 Battery Status

Field # Field Description

Provides parametric data for a specific DC Source, indicated by the instance field. The type of DC Source can be identified from the

DC Detailed Status PGN. Used primarily by display or instrumentation devices, but may also be used by power management.

1 Battery Instance

2 Battery Voltage

3 Battery Current

4 Battery Case Temperature

5 SID

 

127510 Charger Configuration Status

Field # Field Description

Any device capable of charging a battery may transmit this message.

1 Charger Instance

2 Battery Instance

3 Charger Enable/Disable

4 Reserved Bits

5 Charge Current Limit

6 Charging Algorithm

7 Charger Mode

8 Estimated Battery Temp - When No Sensor Present

9 Equalize One Time Enable/Disable

10 Over Charge Enable/Disable

11 Equailize Time

 

At this point, it seems these are the only potential NMEA-2000 packets that have any sort of relevance.  Once I get the ability to display some NMEA-2000 messages, will test things myself.  of course, if someone has a DUE around and wants to pop in what I have now J  I guess once there is some indication the current software works at a fundamental level, can get into more details about which PGNs to populate.

 

 

And, BTW:  that whole interaction between your solar controllers and the alternator regulator is what is driving my idea of a coordinated set of charging sources communication via a CAN bus and working towards a common goal set by the battery and its needs…   But that is the ‘next step’ of projects.  Still a ways to go, but have been working on the basic components:  Battery monitor, MPPT controller, Can enabled Alternator Regulator, as well as an open-sourced CAN protocol that will enable good coordination.

 

But all that is another story…

 

-al-

 

 

 

 

 

Viking Star

45' Monk Sr. / McQueen

mvVikingStar.blogspot.com

 

--
You received this message because you are subscribed to the Google Groups "Smart Alternator Regulator" group.
To unsubscribe from this group and stop receiving emails from it, send an email to smart-alt+...@googlegroups.com.
To post to this group, send email to smar...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/smart-alt/a3f83b59-8620-4993-922d-bb79fbcb4e8e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages