News:

Need a manual?  Buy a Clymer manual Here

Main Menu

Lets do something about those gauges

Started by kapiteinkoek, April 15, 2016, 01:11:11 PM

Previous topic - Next topic

kapiteinkoek

I crashed my GS within my first 1000km. Was a shame with only 17k on the counter. The front was trashed but I rebuilt it. The speedometer ceased to exist and I was dealt a shitty hand when it comes to GS500 instruments. The 3 used pairs I had were not functioning properly or failed shortly after. I was done with the whole thing so I bought myself a separate koso counter and put it int the housing of one fo the failed speedometers.



Not the prettiest but it certainly kept track of my speed and odometer perfectly. It was a tight fit which was the next problem because soon it started to suffer from fractures in the wires because they were in such a tight spot.
So I reinstalled a faulty speedometer and brought the koso outside.



I've had it running like this for a few years now but I need something else. The koso counter isn't of too great quality either. Sure it works but it has problems with being waterproof, the insides are pretty much permanently fogged up which can be trouble reading it in broad daylight.
Also: I need an oil temperature sensor to keep track of my temperatures when driving around with my mad towbar.

So I started thinking and already bought this cheap oil temperature gauge from China. The sensor goes into a hollow oil sump bolt which is convenient but where do you leave the gauge, inside the faulty speedometer?
Maybe, maybe not. Maybe it is time to change some things.

In my experience GS500 instruments are not of very good quality. Your current ones will break or give faulty readings, used ones will fail you sooner than later and brand new ones are insanely expensive. What if you can repair your own gauges with something that will last and what if you can add some more modern functionality.

I present you my concept of the kapiteinkoek cluster;







The computational power comes from an Arduino nano, one for each gauge. Analog gauges can be driven by microsteppers that you also find in car dashboards. The displays (16x2 and 8x2 character) are COG LCD displays because they are compact and have good readability in daylight conditions. Gear, speed and battery voltage displays are simple 7 segment displays. RPM can be measured from the spinning wheel inside the counter (IR Led/sensor) or be taken directly from the primary ignition coils. Oil temperature is measured in the oil sump bolt, air temperature can come from somewhere near the bottom of the gauge housing. Speed can be measured with a hall sensor at the front wheel. The gear information comes from a 7-way switch that replaces the original GS500 neutral switch.
The speedometer can also be partly analog like the tachometer but I like my speed digital so in the picture I put it like this. The speedo display also provides a clock. Background light for the gauge plates can be the stock light or COB Led rings that you also find in car headlights.

One of the main goals is lay some basework for a mechanical to microstepper drive conversion and registring mileage on a display. This conversion (stepper driven tach and speedo, display in speedo) should be able to be done for about 20-30 bucks, half of it if you do only 1. One should be able to replace the innerworks of the gauges with only some handwork and copy-pasta some code on an Arduino nano.

This should reduce problems of faulty gauges and keep our fancy bikes longer on the roads.


Well I guess thats the idea then. I figured I'd share it with you guys and will keep you posted on progress. My stuff is still in the mail as I work with parts directly from China. Keeps the cost down eh.



Daeouse

Jon "MotoSquirrel"
2009 Yamaha V-Star 950
My Blog!

Hupjai

OH.MY.GOODNESS.

Make it happen, PLEASE!  :icon_mrgreen:

Hupjai

I mean.... that's awesome!

Best of luck!

lucas


ShowBizWolf

That is super neat!!! I will be watching this one  O0
Superbike bars, '04 GSXR headlight & cowl, DRZ signals, 1/2" fork brace, 'Busa fender, stainless exhaust & brake lines, belly pan, LED dash & brake bulbs, 140/80 rear hoop, F tail lens, SV650 shock, Bandit400 hugger, aluminum heel guards & pegs, fork preload adjusters, .75 SonicSprings, heated grips

marcusk


kapiteinkoek

Mailman was busy this week stacking my doormat with Chinese envelopes. Today he brought me a pair or arduinos allowing me to put something together





My first arduino program, changes 'gear' every 1 second. Still expecting a bunch of stuff such as the gear selector switch and stuff to read the ignition.

baronduff

Awesome idea, will be keeping an eye on this!
'08 GS500F: Fairings removed, MT-03 headlight, Integrated tail light, Brisk BR12ZC plugs, chuck81's Billet Fork Brace.

lucas

How do you plan to pick up the ignition from the coil wire?

I have ambitions of logging data on my bike for tuning purposes.  So I bought an Arduino Uno kit and I'm going to be doing a bunch of reading and watching this space for updates :)

kapiteinkoek

Something like this



Found that circuit somewhere on the internet. If it doesn't work I'll resort to IR leds at the signal generator that 'see' each other once the notch has passed.

Another alternative I considered was sticking a little magnet to the side of the big rotating magnet in the tachometer and putting a hall sensor next to it. I won't have space for that though because I decided to put 2 arduino's in the tach.

Why 2 you might ask. Because one doesn't have enough pins and can't provide enough power for the LCD display, 7 segment display, stepper driver and sensors at once. Arduino's are cheap as chips and putting another arduino in is much easier than building a separate pcb with shift registers, transistors and whatnot.

kapiteinkoek

#11
https://youtu.be/kWma1YAXCvU

Work in progress. Still missing is the RTC module to keep track of time (bottom right), a button to reset the tripmeter and some practical work to build it into an old speedometer housing. Other than that it works alright. Keeps track of speed and saves odo and trip values to the memory.
Also still waiting for my stepper motors and some small parts to build the ignition pulse converter.



kapiteinkoek

#12
Arduino turns out to be too slow to run the wire library and multiplex my segment displays at the same time. It becomes so slow you can see it flicker between the numbers. Had to rethink some stuff for a bit. I figured less is more.

- no more red segment display in the speedometer
- no voltage meter either
- only a 16x2 character lcd
- tachometer gets a stepper motor and a segment display to show the gear.

Did some tryouts with my x27 stepper

https://www.youtube.com/watch?v=kXGdZERJxkM&feature=youtu.be

Speedometer software 95% complete
https://www.youtube.com/watch?v=bB6LkYyPMN8&feature=youtu.be


2 menu's for driving, rest for settings and in the future possibly engine diagnostics (e.g. exhaust temperature difference to indicate differences in mixture, manometer to detect asynchronized carbs, ignition check, etc). Oil temperature shows above 40 degree c, air temperature goes up because I grab the sensor.

When battery/charging voltage becomes too low or high, when oil temperature becomes too high or when service mileage has been reached a message is shown in the main screen. Oh and the battery voltage in the video is fake because nothing is connected.


Daeouse

Looks amazing! :o :o :o
I wish some of the intended features weren't lost, but I suppose its unavoidable? Can a discreet extra screen be added?
Jon "MotoSquirrel"
2009 Yamaha V-Star 950
My Blog!

kapiteinkoek

#14
I could still add a screen in the tachometer. Reason I now left it out is because I had space in the speedometer. Because I had to run the wire library for the time keeping module I could also use it to run the lcd screen freeing up 4 extra pins for sensors.

Functionality remains the same, in fact I can now add more as there are more free pins on the Arduinos.

-edit
speedometer code 100% complete including an additional piece of code to set the initial values for odometer, tripmeter and servicemeter. Things to do

- create code for tachometer
- order 3D printed parts and put the hardware together
- write some documentation for the internets

- find some more broken GS500 speedo/tachometer units
- use leftover parts to create additional units e.g. one that features the 8x2 lcd screen in the tachometer.


-edit 2

Tachometercode complete. Includes this fancy full RPM range sweep at power-on that you see in modern vehicles  O0
Probably requires some tweaking to increase smoothness of the needle so I'll throw in a small USB cable extension so I can hook the whole thing up to a computer and load another piece of software without taking it apart. Starts to look like a modern motorcycle indeed.

Bluesmudge

This is so cool.  :woohoo:

Makes me wish I had half the know how to accomplish something like this.

kapiteinkoek

So did I . I just figured I wanted to build this and Arduino is supposed to be a beginner platform so why not. I learned things as I go. I still am  :icon_razz:

I ran into other cool stuff too as I was googling stuff I needed to know. Apparently there is some Arduino-like platform with a nice wifi thing on it, the ESP8266. You can program it like an Arduino and it can host its own wifi network or connect to the one in your home.
Basically you could check your GS500 status from any browser like on your PC or smartphone and display things like battery voltage, mileages, outside temperature, service mileage and whatever you put on it. They are cheap like the Arduino's like in the 2 buck price range. It's not something I'm gonna build right now because I have other stuff to do but there are some mad cool possibilities out there. The ESP8266 community is still (rapidly) developing and people are building all kinds of cool stuff with it.

kapiteinkoek

#17
All code is finished. Gear sensor installed and works. Segment display has 0 visibility in direct and full sunlight but being in the Netherlands we don't get a lot of that anyway. Also expect some slight improvement after tucking it into the housing. I may reconsider this in a next build. Reading the ignition appears to work, have not tested it at higher RPMs yet but will start doing that when things are in place.



Gear sensor plugs. Connects to the original wiring harness with a fitting connector so the original neutral light keeps working.

-edit
Am already reconsidering the display.

- want to make the gear visible
- use something that is not visible in bright sunlight conditions
- optimal time to drive the bike is in bright sunlight conditions
- ??? no profit

Will have to find a way to display the gear differently using something else than backlit numbers. Already have 2 ideas:

- add an extra needle (and stepper motor) with its own 0-6 scale
- use one of those wheels with numbers from an old speedometer and rotate the numbers 0-6 depending on the gear

I'm already fond of the second option. Requires little space and is perfectly visible. Also compliments the analog-ness of the tachometer even though it is secretly very digtal on the inside.

- edit 2
Just remembered I still have the parts from my crash&destroyed speedometer



Reminder to never throw away anything  :laugh:

- edit 3
oh god yes a second needle with a dual shaft stepper motor

https://www.youtube.com/watch?v=OJdmlt30hGU

I'd be able to let the second needle point out the gear on the existing rpm scale




-edit 4

there we go



a 6mm hole will be drilled above the x1000rpm mark through which you can see the number wheel. I think it's going to be very cool to see it rotate when you pop it into gear or neutral. Almost like there is a real mechanical connection between your gearlever and the gauge.

lucas

It's going to be so cool to see the number rotate when you switch gears!

kapiteinkoek

#19
Did not clean up yet and the protective film is still on the screen. Will probably add some sticker overlay later to cover the edges of the LCD and the rest of the front. Also forgot to order the stepper motor mount because I'm an idiot so I will have to wait some more for that before building the coolest GS500 gear indicator ever.



Also messed up the bottom plate as I accidentally mirrored the voltage converter so the mounts don't fit. The cutout in the corner is for a short extension cable so I can update/program the Arduino's without taking anything apart.

Apart from my own mistakes these 3D printed parts fit totally awesome. I'm using miniature M1.4 screws to put everything together so everything is replaceable and removable.



Also adding another feature: Another temperature sensor in the cilinderhead. Will mount it under the valve cover as it requires no modification to the bike (like the oil sump sensor) and easy and quick to install. Glass thermistors are very cheap apparently and funny enough are used in heated printbeds of 3D printers. So I will have 2 values of engine temperature, oil sump (handy to check when the engine/oil is at operating temperature, specially in winter times) and cilinder head temperature (better place to check if the oil temperature is starting to get critical).




In the picture it's tripping balls because nothing is connected yet



-edit

First idea for a software update after I'm done with the initial version;

https://www.youtube.com/watch?v=MeCZi3DPNtw

Create large custom characters to display the speed on the main screen


- more edit


SMF spam blocked by CleanTalk