In addition to my completed NMEAtor project I'm building a waterproofed wind display. It has to replace the current 25 year old Robertson Wind display.
The main goal is to read the NMEA0183 data from the wired network, interpret the data SOG, COG, AWA and AWS and show this in a wind display accordingly. Since the display is part of a daisy chained network it has to write the data it has read to the wired network again.
ProgressIn the current version NMEA data is read and COG, SOG, AWA and AWS are displayed on the gauge, basically doing what it is supposed to do.
Current software release is v 1.0 and ready for usage on board
NextAlthough the setup is tested against 5 minutes of real live data sampled during a sailing trip and played back via Cool Term.
The next step is to physically connect the display in the network on board and test in real life.
15-08-2020; The pre-FAT was successful, so software is now ready for use in release 1.0.
Waterproofing the display in a box is the last step before installation on board.
Finalisation
The boxes are in and I used the one sized 120 x 70 x 20 mm. Cut out a frame as spect on the Nextion site (https://nextion.tech/datasheets/nx4832k035/) as 73.44 mm(L)×48.96 mm(W). Glued 4 nylon bolts into the lid to hold the Nextion PCB which I screwed down with nylon nuts. Open cell rubber is used to waterproof the screen fitting and as a seal between the lid and the box. Drilled a 6 mm hole in the back to lead the wires through. The idea is to mount the Arduino Nano in the center at the back so it fits the circular opening already available in the console from the old display.
The display is personalized with the name and the logo of my yacht, just because it can.
Last step: mount it on board.
Update 23-08-2020:
Installed the display on the console, but the after a few minutes the display seems to get stuck in a boot loop from the processor. Although the Nano clone is spect for input voltages up to 15 Volts, I suspect it is getting to hot (almost burnt my finger on the onboard voltage regulator I think). So I de-installed it again and have to shop for Buck down converter to regulate back to, let say 6 or 7 Volts.
That was not the only problem I was encountering. Initially the display booted but didn't show any data. After a long search I found that the RS-422/485 to TTL level converter, used in my previous project, caused a big voltage drop from 4,5 Volts down to 1.68 Volts leaving no juice for the display to see any NMEA data. So I've replaced this unit for a RS-232 to TTL converter and now there should be enough juice left on the data signal (2.58 Volts) to work properly if not overheating...
Update 14-09-2020:
The Buck step-down converter is operational but even now the systems stalls after 15-20 minutes of operation. The display can still be operated, i.e. you can still modify the brightness via the 2 button on screen. So the Arduino Nano is the suspect.
I've seen similar issues in the NMEAtor project, where internal RAM seems to flood. Better memory management resolved that problem. In this Nano version, I can't find a reason why the RAM should be suffering.
So instead of debugging the Nano, I've decided to port this project to the ESP32-WROOM-32D board. With a little luck I can fit it in the same box where the Nano resided. The source compiles and runs, when powered by the USB port.
Powering the Nextion form the 3.3V pin on the the ESP is working.... The Buck converter is set to convert down from 12 V to 6.8 V driving the ESP on the 5V pin.
The system is currently running a 'table test' for several hours. Next step is again mounting it on board.
Conclusion:
The on-board test took about 6 hours and did not fail. My conclusion is that the Arduino Nano suffered from lack of free memory during is plausible. Local variables can put a strain on the heap, hence running low and eventually running dry.
Unfortunately the season is coming to an end for this year which gives me time to build a system with a bigger screen (7" Intelligent Nextion) and more room for additional pages to show data.
Follow up:
November 8; The 7 inch Intelligent NX8048P070-11R Nextion is now up and running in a kitchen table test. Due to the bigger screen size, I'm able to show more data. This also resulted in a modification in how the ESP 32 is sending its data to the display. In the 3,5 inch version I was using a 32 bit integer to send 4 parameters at once with a single command. Some bit-shifting was involved together with some logical algebra to mask the results I want to display. This put some limitations on the data. Decimal numbers was one of the things I'd offered in preference of data transmission simplicity and speed. At the time decimal numbers didn't mean a lot in relation to the speed and direction. However when using more data-fields I has to rethink on how to process the NMEA data. All numbers where represented with at least 1 decimal. And since the whole NMEA stream is ASCII text I've decided to transmit text in preference of numbers. So as with this 7" version all data is send with a single command to the Nextion with a limit of 255 characters for the string. The format is as follows "<sentence 1>=<value 1>#....<sentence n>=<value n>#". The order of sentences is arbitrate.
This string is then interpreted by the Nextion and split into the nr of sentences that are present in the string. The values are then displayed as text in their representing fields in the display. So no number crunching anymore, except for the needle position and historical speed and depth values. And I even created a night mode :-)
Code for the 7" version on Github to be found here.
Next thing I had to do is designing an enclosure for the display. I used Tinkercad for this, which is very easy to learn. Design files (.stl) to be found here. It consists of a base-box (black) and a display bezel (yellow). A sun cover (white) is also needed to protect de display when not in use. To make sure I had the dimensions right I also created the Nextion Display(grey/red) based on its design drawings.
I'm now waiting on the delivery of the enclosure from the 3D print service.....
Dec 30st, 2020: I finally had the time to give an update on the final stage. The display is fitted with the 3D printed enclosure. The enclosure is made out of PETG in white to better protect it against warming up due to sunlight.
Comments
Please log in or sign up to comment.