Go Down

Topic: NMEA 2000 Shield (Read 111967 times) previous topic - next topic

timolappalainen

I still expect hw problem also on rx side. DataDisplay2 does not anything than catches data and shows it directly. As an alternate you could try with ActisenseListener either with Actisense NMEA Reader or by uncommenting line NMEA2000.SetForwardType(tNMEA2000::fwdt_Text); so that you will see data in clear text.

Just for checking that hopefully you have not forgot bus 120 ohm termination resistors, which you should have at both end of the bus. That has happed happened to me with test bed on disconnecting bus from wrong place.

mavromatis

#241
Jul 13, 2017, 04:42 pm Last Edit: Jul 13, 2017, 04:50 pm by mavromatis
I still expect hw problem also on rx side. DataDisplay2 does not anything than catches data and shows it directly. As an alternate you could try with ActisenseListener either with Actisense NMEA Reader or by uncommenting line NMEA2000.SetForwardType(tNMEA2000::fwdt_Text); so that you will see data in clear text.

Just for checking that hopefully you have not forgot bus 120 ohm termination resistors, which you should have at both end of the bus. That has happed happened to me with test bed on disconnecting bus from wrong place.
120ohm termination resistors are on -- but I'll try uncommenting the fwdt_Text line.

Below is the circuit I'm using with the MCP2551, could be that is incorrect (based it on one I found online that is sold on eBay as a MCP2551 breakout) -- I'll also swap the MCP2551 for a MCP2561 and a MCP2562 to see if that changes anything...


timolappalainen

It should be ok. It is same as I have with Mega (or CAN bus shield) https://github.com/ttlappalainen/NMEA2000/blob/master/Documents/ArduinoMega_CAN_with_MCP2515_MCP2551.pdf. Except I do not have RC filter on CAN-H and CAN-L

With  MCP2562 connect pin 5 to 3.3V as in my drawing https://github.com/ttlappalainen/NMEA2000/blob/master/Examples/TeensyActisenseListenerSender/Documents/Teensy_Actisense_listener_sender_schematics.pdf

mavromatis

#243
Jul 14, 2017, 06:36 pm Last Edit: Jul 14, 2017, 06:45 pm by mavromatis
With  MCP2562 connect pin 5 to 3.3V as in my drawing https://github.com/ttlappalainen/NMEA2000/blob/master/Examples/TeensyActisenseListenerSender/Documents/Teensy_Actisense_listener_sender_schematics.pdf
Will do and report back findings... thx.

mavromatis

#244
Jul 22, 2017, 01:54 am Last Edit: Jul 22, 2017, 02:02 am by mavromatis
Will do and report back findings... thx.
Built another board and used a MCP2551 and that one works.

Thanks!
Danny

mavromatis

@timolappalainen -- First, thanks for your help!

I've got everything mostly working and now I'm only the final stretch (you can see my progress HERE).

I can't seem to get "ENGINE ROOM TEMP" updates... is there something I need to add or enable deeper in the code/library?

timolappalainen

Are you sure you have engine room temperature sensor and some device sending data from it?

Engine roome temperature will be sent either by PGN 130312 (obsolte) or 130316. Temperature source field will be then set to N2kts_EngineRoomTemperature.

So as in DataDisplay2, it handles those messages by function Temperature (130312) and TemperatureExt (130316). So if you have device sending engine room temperature with PGN 130312, you use it as in function Temperature:
    if (ParseN2kTemperature(N2kMsg,SID,TempInstance,TempSource,ActualTemperature,SetTemperature)  && !N2kIsNA(ActualTemperature) && TempSource==N2kts_EngineRoomTemperature ) {
  SetTempGauge(ActualTemperature);
}

mavromatis

#247
Jul 30, 2017, 07:07 pm Last Edit: Jul 30, 2017, 08:14 pm by mavromatis
Yes, I have one of these on the device network setup as Engine Room Temperature sensor (http://www.lowrance.com/en-US/Products/NMEA-2000/temperature-sensor-en-us.aspx) -- it shows up on the Lowrance HDS screen just not seeing any messages show up in the output screen.

timolappalainen

Do you mean that it does not show on DataDisplay2?

You could program ActisenseListener - if you do not have any Actisense NGT-1  - to your Teensy connected to N2k bus and then listen data with Actisense NMEA Reader. Then you can see, what message your sensor is sending.

Rinkelein

Just a question. I have been able to read all N2K messages from my Raymarine i70 backbone using a Due, and even transmit them in NMEA 0183 format via WiFi (UDP) to be used in OpenCPN. However sending (Windmonitor) to the backbone does not work, even not with the NMEA simulator. Serial output tells me that PGN'S failed. I've not changed anything to Timo's most recent sketches. Simulator was connected  to the SerialUSB.

Any suggestions are highly appreciated.

mavromatis

Do you mean that it does not show on DataDisplay2?

You could program ActisenseListener - if you do not have any Actisense NGT-1  - to your Teensy connected to N2k bus and then listen data with Actisense NMEA Reader. Then you can see, what message your sensor is sending.
Yes, doesn't show using DataDisplay2 -- I will try programming ActisenseListener to see what type of messages that sensor is sending... will report back.

timolappalainen

Any suggestions are highly appreciated.
I just tested WindMonitor with my own DUE and it works OK. I made tests with old NMEA2000_due/due_can and new version of both (just released on my GitHub few minutes ago). So I think the problem is not with library.

If you can read, but TX fails, there is some problem with your TX side. Have you checked TX pin is connected? Are terminal resistors OK? Maybe tranceiver does not work on TX?

Rinkelein

Many thanks Timo. We will check the terminal resistor and back with the result. I used a SN65HVD230 and didn't use a 120 Ohm terminator resistor. Also I will use the latest libraries.

mavromatis

Many thanks Timo. We will check the terminal resistor and back with the result. I used a SN65HVD230 and didn't use a 120 Ohm terminator resistor. Also I will use the latest libraries.
If it helps -- I was having issues with the TX side of things (RX worked fine) and put together another board and that one worked perfectly.  Not sure why yet, I thought it was related to a bad MCP2551 but most likely caused by bad solder joints or some other passives I soldered on the board. 

mavromatis

#254
Aug 01, 2017, 08:53 pm Last Edit: Aug 01, 2017, 09:01 pm by mavromatis
Do you mean that it does not show on DataDisplay2?

You could program ActisenseListener - if you do not have any Actisense NGT-1  - to your Teensy connected to N2k bus and then listen data with Actisense NMEA Reader. Then you can see, what message your sensor is sending.
Timo, I installed the ActisenseListener and ran Actisense NR -- if I set the temp sensor to Water I get the values showing up under Name: Temperature and Name: Environmental Parameters -- if the sensor is set to anything else, there is no active data under those items that were updating when set to Water in Actisense NR -- but, the weird bit -- the data showing correctly on the Lowrance HDS and data under the Lowrance Device List.   Are they doing something non-standard?

Here is what I get on the Lowrance:

Go Up