Pages: [1] 2 3   Go Down
Author Topic: NMEA 2000 Shield  (Read 19946 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 4
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

NMEA 2000 is a closed CAN-BUS standard for marine electronics. It would be awesome to have a shield that can accept the standard NMEA 2000 or that has a screw down terminal to accept bare wires.

NMEA 2000 supplies both power and data in it's cable. Not sure if it's adequate to power the ardunio.
http://en.wikipedia.org/wiki/NMEA_2000

If someone out there can handle the hardware and board side of things, I could help do the research.

Thanks,
-p
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 53
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

Building a CAN shield for the Arduino is quite simple. You just need a SPI-based CAN controller (ex: MCP2515) and a CAN interface (ex: MCP2551). The N2K bus typically provides 12VDC so you will need a regulator in order to power the arduino and the shield, and some kind of optical isolation between CAN interface and CAN controller if you want to stay clean. This is just for the physical side of the engine. Then you'll need to implement all the N2K protocol into the Arduino, but remember the following:

1. NMEA 2000 is a proprietary protocol. You'll surely need to purchase the specification from the NMEA association (several $1000's if I remember well).
2. If you want to certify the product, you'll need to pay for a N2K ID to the NMEA association and later you'll need to pay for the certification process.

I've worked with NMEA 2000 in the past so feel free to drop more questions if you need.

Daniel.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 4
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for the tips!

I hear you on the NMEA 2000 proprietary thing, but many are reverse engineering it... so I'm guessing it's not too difficult.

-p
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 53
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Depending on the amount of N2K nodes available on the bus and their outgoing traffic load (some N2K devices are programmed to drop CAN messages every 100 ms), you could find that your Arduino-based node is not capable to accept all the traffic load without loosing packets so If you're thinking in using the Arduino as a kind of PC gateway this could be an issue. For end-device applications the AVR should be fine.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

Did you ever get anywhere with NMEA 2k -> Arduino? I'm considering the CAN shield to start playing with it.. don't want to recreate the wheel if you've made progress.

Thanks,
Jason
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 4
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I've not heard anything more about anyone working on this...
Logged

Topsham, Vermont USA
Offline Offline
Edison Member
*
Karma: 33
Posts: 1925
... in The Woods In Vermont
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I just saw several NMEA2000 installations yesterday at the Genoa, Italy Boat Show. Immense. Many 100 foot yachts.  All NMEA2000 setups were on carpeted booths and high-end graphics.

The only DIY that crowd seemed to do was mixing drinks  smiley-mr-green

If anyone gets into NMEA-Anything start a thread on the forum... I've done a little.
Logged

Regards, Terry King terry@yourduino.com  - Check great prices, devices and Arduino-related boards at http://YourDuino.com
HOW-TO: http://ArduinoInfo.Info

Offline Offline
Newbie
*
Karma: 0
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi all,

I want to send data over NMEA 2000 bus using Arduino UNO + Sparkfun Can-Bus (http://www.sparkfun.com/products/10039).

I have some questions on NMEA 2000:

1) Is correct to use that Can-Bus board to send data??? The structure of can bus message is the same of NMEA2000 message???
2) Is there any library that I can use???

Any suggestion on NMEA 2000 would be appreciated.

Thanks a lot!

smiley-grin
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 53
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

1) Is correct to use that Can-Bus board to send data??? The structure of can bus message is the same of NMEA2000 message???

Yes, you should be able to connect an Arduino to a CAN bus through this board. However, bear in mind the actual traffic load in the bus and the limited computing power of an Arduino. If you just want to develop a "sender" application it's should be OK.

Quote
2) Is there any library that I can use???

No free or open source library if I remember well. Working with NMEA2000 typically requires you to buy their specs.

Hope this helps,

Daniel.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks a lot Daniel.

I just want to develop a Sender application on Arduino.

I have another question:
is the structure of CanBus messages (2.0b) the same of Nmea2000 messages???

 smiley-grin
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 53
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes, NMEA2000 sits on top of CAN (extended address schema).
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks a lot Daniel.

Is the message format for NMEA2000 this http://www.can-cia.org/index.php?id=496 ???
But it is bit different from CAN (2.0B) message format http://it.wikipedia.org/wiki/Controller_Area_Network#Formato_dell.27Extended_frame .

I'm wrong???

 smiley-grin
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 53
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ID A + ID B makes 29 bits. Yes, NMEA2000 is somehow a subclass of J1939 and inherits some PGN's from it in fact.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi Daniel,

I found this forum http://www.mikrocontroller.net/topic/143234 and on this forum I found this library http://www.mikrocontroller.net/attachment/53861/NMEA2000ToNMEA183.rar .

I think it is what I need...

Can you help me with it?


Thanks a lot.

smiley
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 63
Arduino rocks / OpenLCB rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

What do you need help with exactly?  My boat has a Volvo engine that sends their variant of this -- would be nice to interface to it. 

David
Logged

Dr. David Harris
OpenLCB Dev Team

Pages: [1] 2 3   Go Up
Jump to: