• Welcome to Andy's Workshop Forums. Please login or sign up.
 
March 29, 2024, 01:22:55 am

News:

SMF - Just Installed!


Racing Yacht Instruments

Started by Peter Cyriax, December 11, 2015, 07:20:48 am

Previous topic - Next topic

Peter Cyriax

Hi,


New to this forum, but you look like a really helpful and competent bunch of guys.

I'm just starting work on a project to develop a complete set of instruments for a racing yacht. I have to break that down into sub-projects to make it managable, but even so I figure I can use all the advice I can get.

At it's simplist, the system consists of a whole bunch of sensors (inputs) feeding data to a central processor which uses the data to calulate more meaningful information which it then outputs to a number of displays in various formats (numbers, dials, graphs etc).

I'm happy to consider almost any suggestions, but my initial thought is to use a Raspberry Pi as the central processor (with ethernet link to a genuine Windows PC for long term data logging and complex things like route optimization) and all the sensors and displays controlled by Arduinos communicationg with the Pi using I2C.

A typical display is viewed from a distance of 2 - 5 metres so I figure about half a dozen 7" 800 x 480 TFT displays would be suitable.

The Arduinos controlling the displays (one Arduino per display, I assume) would not have to do anything except recieve data (screen format definitions and variable data) from the Pi via I2C and control their respective screens.

The combination - Arduino + Controller +Display - would end up looking like an intellgent I2C display to the Pi, so maybe ther is a better way of achieving that.

The screens themselves need to be reasonably robust and in particular the screen surface must be impervious to salt water. We'd make cutom waterproof enclosures for them in carbon fibre. They also need to be high brightness/contrast screens with a wide viewing angle, so I was thinking of using a high brightness (sunlight readable) Newhaven Display:
http://www.newhavendisplay.com/nhd43480272efasxv-p-9483.html
I know that's only 4.3" 480 x 272, but they have not produced the high brightness 7" versions yet. Newhaven claim the screen is waterproof. It's a start...

It uses a separate controller board (SSD1963), even though it already contains a controller (Himax HX8257) - I'm a bit confused about that. Does it necessarily need the SSD1963 one?
http://www.newhavendisplay.com/nhd43480272mf20-controller-board-p-2657.html


On the input (sensor) side I can easily imagine having more than one sensor connected to a Arduino, but I doubt you could connect ALL the input sensors to a single Arduino; and even if you could, it feels like an awefully dangerous design assumption. Most of the input sensors use NMEA 0183 but you never know hat you might want to connect up in the future. A look ahead sonar (depth) sensor might need a processor all to itself, for instance.

So First Question:

1. Is this basic architecture - a Pi communicating via I2C with a bunch of Arduinos - a sensible place to start?
If not, please advise...

If so, then the next two questions are:

2. Which Arduino to use?
3. What hardware to use for the Displays?

I was thinking of using the Due on the grounds that:
   It uses 3.3 v for I2C - same as the Pi
   A lot more connectors and processing power to control multiple input sensors
   Much more processing power relative to total wattage
   Possibly fast enough to drive the display without adding the additional controller card.
   The project will be much easier to control if I can standardize on one microprocessor board.

And clearly it's vital to find the best TFT display for the job


But then... what do I know?


Please tell me what you think.



Cheers



Peter


Andy Brown

Hi Peter,

Controlling multiple displays over I2C is feasible if you can change their addresses so there's no clash on the I2C bus. The main drawback though is going to be performance. At the resolutions you're quoting the update rate is going to be very poor indeed - think several seconds per screen refresh.

Have you considered an embedded Android tablet for the display? The screens can be very bright and high quality and you can talk between your PI and the tablet with bluetooth. Plus you get the whole android graphics accelerated infrastructure available to develop a cool interface.

- Andy
It's worse than that, it's physics Jim!

Peter Cyriax

Hi Andy,


No... I havn't considered that, because I'm completely new to all this and the list of things I should have considered but havn't even heard of is possibly infinite.

Typical displays on a racing yacht are about 5" - 7", and apart from being tough and waterproof, highly visible, anti-glare etc. they do very little  - often just display one number plus annotation (e.g. Boat Speed, Knots).

Luminance requirements appear to be around 1000 cd/m2.

I don't think performance will be an issue with the way I was thinking of doing it - bought some bits since my original post, but still happy to start agin if there is a better way - because all that is going up and down the I2C bus is the variable data which constitutes maybe 50 -100 different 3 digit integers updated 10 times a sec. The Arduino controlling each display would take the numbers it wanted from that lot (based on the display format it was currently displaying) and send the graphics commands to the screen controller.

Just to give you an idea, I have a .jpg of the first screen format I designed - and probably the most complex we'd have - but I can't figure out how to upload it to your site so I can refernence it within an code. Anyway, it contains 6 numbers (each using two font sizes) 20 characters of text, two dials (i.e symbols that rotate about some point), 4 bars (i.e rectangles whose height denotes a value)and two static arcs. I'll send you an invite to the project dropbox once I've set it up.

In the end though, it comes down to identifying a robust 7" or 10" high luminance display and finding a way to program a controller and send data to several of them independantly.

Bluetooth souds interesting, but you'd probably need a wired circuit for power anyway, so a wired network for data does not lose you anything.

How would I set about getting inside an android tablet? The prices seem to vary from£20 to over £150!

Or would replacing the Newhaven screen controller (SD1963 based) http://www.newhavendisplay.com/nhd70800480ef34-controller-board-p-7308.html with a controller that was also an Arduino shield like the one in your Arduino Uno R3 graphics accelerator shield article http://andybrown.me.uk/forum/index.php/topic,28.0.html be a better way to go?

Right now I'm using the Nerwhaven display and controller simply because it's the only thing I've found that claims tio be robust, waterproof and sunlight readable...


Cheers


Peter