User Tools

Site Tools


Notes dumping place for possible Arduino speed-log

ALL DEPENDS on proven functionality of the speed transducer- first things first, remove transducer and test…

Update 04/11/2011: The speed log transducer was removed from the boat, drilled out, and a new reed switch wired and seated, and the whole unit was then re-potted and placed back in the hull.

It seems the "Teensy" may be the best board for the jobs. The board retains a USB connector, so will be easy to update/troubleshoot.

Display Unit: the main unit should have two or three RS232 NMEA0183 inputs. First function button should scroll through those inputs, a long hold should change the number of inputs on the display (i.e. one input, two inputs side by side, two inputs vertical, three inputs, etc.). Ability to set input type (depth, speed, GPS location, GPS Speed, others?).

Speed sender: leads to the reed switch in the sender are the simplest to extend, so a teensy should be enclosed along with power toggle, and calibration momentary switches. Output of the teensy should be NMEA0183 serial over RS232.

Depth unit: should be an “intelliducer” type, which outputs NMEA0183 sentences.

Possible displays:

  • Some of the graphic displays do not have fonts, making them much more complicated.

Graphic & Non-serial

Light on dark 4-line Serial with Bell (expensive at $60)

Large Graphic, Serial, E-ink type operation (expensive at $80)

OLED two-line with Large Fonts (also expensive at $50) – I just read the OLED specs, +10C to +35C with no direct sunlight… not so good for this application.

Someone else's Arduino based speed log:

Older thoughts:

  • Planned platform is Arduino NANO with Serial LCD.
  • Arduino Mini is cheaper by %50 apparently… but requires additional USB connection- PICAXE USB cable may be suitable.
  • Important is display type- black on white is best for sunlight conditions. Backlight also required. Maybe white on blue would work well in sunlight?
  • Important is character support- LARGE NUMBERS are necessary.

Basic Functional description

  • X Buttons for functions Y
  • Calibration mode, 1 nautical mile, 1/2 nautical mile
  • For now it seems that traveling 1 mile and counting the number of transducer clicks will provide an adequate average result
  • Once the number of clicks for 1 n. mile is found, math is Distance in n. mile divided by time in hours = Speed in knots, choose a very small unit of time to count clicks for to allow fast updates of speed calculation (2s?)

Best I can get this described in ASCII:      

D = distance in nautical miles

T = time in hours

S = speed in knots

D/T = S

X = Number of clicks counted while traveling a calibration mile

Y = Number of clicks counted in a single sample period

Z = Sample period in Seconds

D = Y/X * 1 n.m.

T = Z/3600

So: (Y/X * 1 n.m.) / (Z/3600) = Speed in knots for the sample period Z

E.G. If we calibrate 1 n.m. at 2500 clicks (X=2500) and our sample/update period is 2 seconds (Z=2), and over that period we count 10 clicks (Y=10), then calculated speed would be (10/2500)/(2/3600) = S = 0.004 / 0.0006 = 6.67 knots.

Hopefully we get faster turn rates that 5 rotations per second, otherwise it won't be very precise.

Arduino LCD Code notes

Arduino Graphics LCD notes

Nano sales in sweden

rini/speed_log_notes.txt · Last modified: 2011/04/11 09:20 by ben