YAPP: DIY outboard rev counter and hour meter

AngusMcDoon

Well-Known Member
Joined
20 Oct 2004
Messages
9,045
Location
Up some Hebridean loch
Visit site
Yet Another Pointless Project...

Can't think why anyone would want to know how fast their outboard engine is running, or how long it's run for, but big boats usually have this information available, so why not outboard powered boats too?

There are devices that you can buy to do this, so I thought I'd have a go making one for less than a fiver. The method of measuring rpm and hence hours is to detect when a spark fires. This can be done by simply wrapping a wire around one of the HT leads like this. The free end is just left to dangle - the signal still gets through...

t4.jpg


As you'd expect, the signal that comes out of this kind of sensor is pretty ropey. It looks like this on a scope...

t5.jpg


That is neither useful nor safe to pipe into a microprocessor, so the signal needs some conditioning. Using filters, a thyristor and a 555 timer circuit, after conditioning it comes out like this...

t1.jpg


which is just dandy for being able to fire an interrupt in a PIC processor. I used a 16F883 because 1) it's good enough, 2) it's cheap, and most importantly, 3) I had one in my bits box.

The hardware is the usual rat's nest of wires...

t3.jpg


The signal conditioning bit is at the right hand end. The rest doesn't comprise much - a display, a processor and a few other bits. Power supply is currently coming from the black lozenge.

Once the interrupt in the processor from the spark signal is firing, and a timer keeps track of time, it really is quite simple in this case to work out RPM and total hours (a lot easier than AIS calculations, the previous YAPP). Total hours is recorded into the PIC's eeprom every minute. It ends up displaying this...

t2.jpg


Currently there's no way to switch the LCD backlight on, no way to clear the total hours, and the rpm will be a factor of 2 out for engines that use the lost spark ignition system - mine doesn't. All that could be added as an improvement.

Cost of all the bits is less than £5. Sauce code and schematic (when I've drawn it) to anyone who's interested, which is probably not very likely.
 
Well done, that is actually a really nice neat way of showing a RPM display and hour counter. Hats off to you for spending the time, the interest and the motivation into building and designing the unit.
now is there anyway your project could be modified to measure the RPM of a single cylinder Yanmar 1GM10 diesel engine? If so, I'd definately be up for buying that kit!!
 
I am not going to need this, but please keep posting your projects. They are fascinating. I hope that PBO will spot you and publish some of your kits to rise the level of their rubbish magazine too often concentrating on toilets service and pointless shabby small boat improvements.
 
Is there anyway your project could be modified to measure the RPM of a single cylinder Yanmar 1GM10 diesel engine?

The easiest way to do this is to glue a tiny magnet on the flywheel and use a magnetic detector (a hall sensor) to detect the magnet going past. The sensor needs to be within a few mm of the magnet, so the hardest bit is probably mounting the sensor.

I had this working a while ago for a tachometer for an electric motor. The picture shows the sensor and the magnet. The magnet really is tiny.
 
Just to be pedantic

this is sauce

tomato_sauce.jpg


and this is source

Code:
#include <EEPROM.h>
#include <Time.h>  
#include <TimeAlarms.h>
#include <Wire.h>  
#include <DS1307RTC.h>  // a basic DS1307 library that returns time as a time_t
#include <String.h>

#define STATIONID      0
#define STATIONIDLEN   16
#define DESTNUMBER     20
#define DESTNUMBERLEN  20

const float C1=-4.0;              // for 12 Bit
const float C2=+0.0405;           // for 12 Bit
const float C3=-0.0000028;        // for 12 Bit
const float T1=+0.01;             // for 14 Bit @ 5V
const float T2=+0.00008;          // for 14 Bit @ 5V

#define STATUS         0
#define ALARM          1

#define RESENDTIME   3600

#define COP          0
#define SOP          1

#define MAINSMON     12
#define SHTCLOCK     11
#define SHTDATA      10

You put the former onto chips and the latter into PIC chips!

:D:D:D:D:D:D
 
Top