Pages: [1]   Go Down
Author Topic: NMEA 2000 EP-60R flow sensor serial to Arduino  (Read 2295 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 1
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey I am having problems trying to figure out how to output the NMEA 2000 binary messages to an Arduino/PC via serial rx. I have found that many people have been successful with GPS, however, the ones that have been successful have used the NMEA 0183 communication format. The NMEA 0183 uses a baud rate of 4800, but the NMEA 2000 uses a much higher baud/bit rate (250kbit/s). The NMEA 2000 EP-60R (http://www.lowrance.com/Products/Marine/LowranceNET-Marine-Networking-System/Product-Guide/Electronic-Probes-EPs/EP-60R-Fuel-Flow/) has no technical specifications and so it's very tough to work with. Using any baud rate with a serial communicator to a PC gives a bunch of garbled characters that make no sense:
4800 baud-
T>[’I<HT>’’i<HT>’’<SOH>J’I<HT><HT>[’i<HT>’’i<HT>š’<SOH>J’I<HT>[
9600 baud-
<CAN>’<DLE><BS><DLE><DLE>’<CAN>’’’<CAN>’<DLE><BS><DLE>’’’<CAN>’Ã<CAN>’’’<CAN>’<DLE>˜<D
38400 baud-
DÄd@g3¢fDdBç3âfDF@ç3¢DÄd@ç3¢fÄdBç3âfDÆ@ç3¢dÄd@Æ@ç3¢dÄd@Æ@ç3¢dÄd@dB
115200 baud-
><SOH>7<NUL>‰ßK$Ò<SOH><NUL>¾Û<DC2><SOH>7<N

There are 4 wires from the sensor: white & blue (high, low NMEA out, respectively), and red & black (12v power, ground)
The NMEA outputs must be "terminated" with a 60ohm resistor to ground. So far I have the 60 ohm from the white (NMEA high out) to ground and I'm looking at the 250kHz binary signals on an oscilloscope. The binary output is from 0 to 3 volts. 

Any help or suggestions would be great.

Thanks
Logged

Fl
Offline Offline
Newbie
*
Karma: 2
Posts: 13
Arduino just like Linux ... Just smaller and crunches when you chew it.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

If you are trying to hook this to you Pc Serial port you will need a RS-232  level converter.
They convert the PC RS232 (+/- 12v) to TTL (0-5V). The Arduino Serial uses TTL (0-5v).
If the unit puts out 0-3 V it might be advisable to level convert 3v to 5v.
Spark fun and Adafruit have level converters for these.

Another issue is baud rate. Your test appear to be 4800 to 144000 baud. You need to have device and micro running at same baud rate.
Logged

16 Mhz Arduino.... 8 times bigger then an Altair 8800 smiley!

Offline Offline
Newbie
*
Karma: 1
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

If you are trying to hook this to you Pc Serial port you will need a RS-232  level converter.
They convert the PC RS232 (+/- 12v) to TTL (0-5V). The Arduino Serial uses TTL (0-5v).
If the unit puts out 0-3 V it might be advisable to level convert 3v to 5v.
Spark fun and Adafruit have level converters for these.

Another issue is baud rate. Your test appear to be 4800 to 144000 baud. You need to have device and micro running at same baud rate.

Ok, thanks for the input. In the end I want to make it run only on the Arduino, but in the mean time I want to use the computer since the process for figuring things out is a little faster. The problem is that I don't know what baud rate the device runs at. It does transmit 250kbit/sec (by lookin at the oscilloscope) so what is that in baud?
So for the Arduino alone to understand what the NMEA 2000 signal is saying I need this level converter? Or is the level converter only for the PC? It uses binary sentences, apparently always starting with a "$". I do not need to send the flow sensor any data, only receive it (I have the NMEA 2000 blue wire low tied off). Would the Arduino pick up the signal if it went from 3->5 volts?

Thanks
Logged

Fl
Offline Offline
Newbie
*
Karma: 2
Posts: 13
Arduino just like Linux ... Just smaller and crunches when you chew it.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

OK I try to answer But remember I'm a Newbie  smiley-wink

You will need a Level converter for the RS-232 (PC) Test. If you don't use one you may fry your Flow Meter or Arduino.
I agree with your methodology decoding with the PC first.

As far as the Fuel sensor to the Arduino 0-3 volts should work (Standard TTL Levels).
If I remember back from years ago < .7 Volts is a zero (low). > 3 Volts is a one (high).
If you O'scope is correct you may be in a gray zone. Just be aware. These level issues wont fry anything

As far as the Baud rate to 250K Bits.  I'm sure google can help.
But since you have an O'socpe available you can use the time period of say 56K Baud and mathematically compute the Baud of you single from the flow meter.

In this forum some users were saying the Aruduino can do 1 mbs to 2 mbs thoughput.
If true that is awsome.

If anyone has guidance on these issues please chime in. I'm learning too.
Logged

16 Mhz Arduino.... 8 times bigger then an Altair 8800 smiley!

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

This looks like a cool device to interface with.  Any updates on how far you have got with this?
Logged

Pages: [1]   Go Up
Jump to: