Riders Of Vision

General => TechTalk => Topic started by: Extent on June 13, 2011, 10:09:09 PM

Title: Digital dash build log
Post by: Extent on June 13, 2011, 10:09:09 PM
So I'm finally graduating this week, and now it's time to start reclaiming some of my life :p  So I thought I'd take a bit of break and pick up a project that I've been wanting to work on for a long time, replacing my Sigma bike computer with something that looks nicer, and is a lot more functional.

Design goals are to have a core unit with a component cost that should come in well under 50 dollars (excluding the display), and it should be a drop in replacement for the existing vision speedo module with as little new wiring as possible.  I'm building the prototype with a daylight readable OLED display, but I want to keep the code modular enough that it could interface with any other display type, like cheaper LCD screens, or even really cheap character LCD and 7segment displays.

Feature set for the initial prototype:
Speedometer
Settable odometer
Resetable trip counter
Resetable ride timer
Max speed attained
Overall average speed
Rev counter
Voltage monitor
Realtime Electrosport test (trigger test points automatically based on RPM while riding)
Battery drop-out warning ( <10V while cranking )
Gear position indicator
Log ride data to SD card

Potential future ideas:
Dimable power tap for LED gauge light replacements with daylight detection
GPS for data logging and speedo auto-calibration
IMU for data logging
- lean angle indicator with peak hold
- Acceleration and braking G meter with peak hold
- Accelerometer dyno
Misc sensor logging
- Coolant temperature display/log
- Oil pressure
- Oil temperature
- Steering angle
- Throttle position
- Braking force
- Clutch position
- Suspension travel
- Neutral switch
- Exhaust temp
- Regulator temp
- Ambient temp
- Airbox vacuum
- Float level
Shift light
Programmable rev limiter ( launch control? )
Turn signal pulser with auto-cancel
Bluetooth for configuration and log download
Rev gauge intercept for log playback
1/4 mile timer


I've already been testing the individual parts on their own, so now it's time to start pulling them all together and having them do something useful.  Hopefully in the next few days I'll have the beginnings of a benchtop prototype.
Title: Re: Digital dash build log
Post by: Re-Vision on June 13, 2011, 10:27:23 PM
I'll be amazed if you can do all that for under $50. Good luck!     BDC
Title: Re: Digital dash build log
Post by: shoetbus on June 13, 2011, 10:56:23 PM
That would be awesome hope it works out I will be in that line, That is assuming you plan to sell a few.
Title: Re: Digital dash build log
Post by: Extent on June 14, 2011, 02:41:01 AM
Quote from: Re-Vision on June 13, 2011, 10:27:23 PM
I'll be amazed if you can do all that for under $50.

Ha ha, no just the brain for that amount, sensors and connectivity are on top of that, but that's where all the heavy lifting occurs.  The fully assembled dev boards for that + LCD and 7seg add up to about that much, so I'm pretty sure I'll be able to do parts for a dedicated board for cheaper.

I will be posting schematics and source when it's built, and I'll probably have to batch order the PCBs, so I'll have extras.
Title: Re: Digital dash build log
Post by: Lucky on June 14, 2011, 06:54:32 AM
Oh God, Please tell me your doing my concept Guages!!..  
http://www2.snapfish.com/snapfish/thumbnailshare/AlbumID=5654142013/a=123944610_123944610/otsc=SHR/otsi=SALBlink/COBRAND_NAME=snapfish/ (http://www2.snapfish.com/snapfish/thumbnailshare/AlbumID=5654142013/a=123944610_123944610/otsc=SHR/otsi=SALBlink/COBRAND_NAME=snapfish/)
Title: Re: Digital dash build log
Post by: YellowJacket! on June 14, 2011, 10:58:20 AM
Like this?

(http://i99.photobucket.com/albums/l299/xz550rj/DSCF0196.jpg)

David
Title: Re: Digital dash build log
Post by: kev10104 on June 14, 2011, 01:53:47 PM
That's neat
Title: Re: Digital dash build log
Post by: The Prophet of Doom on June 14, 2011, 04:10:58 PM
Could you add display/logging for a couple of wideband O2 sensors and a knock sensor while you are at it.
I think some of those sensors need 5Volt, so a circuit for that would be handy as well.
Title: Re: Digital dash build log
Post by: Lucky on June 14, 2011, 06:29:12 PM
Quote from: roro on June 14, 2011, 04:10:58 PM
I think some of those sensors need 5Volt, so a circuit for that would be handy as well.


and of course, 5V is USB, add Bluetooth & a bottle opener & yer all set!
;D ;D ;D ;D :D :D ::) ::)
Title: Re: Digital dash build log
Post by: Mid Life Crisis on June 15, 2011, 07:43:32 AM
and of course, 5V is USB, add Bluetooth & a bottle opener & yer all set!

While you are at it, perhaps tire pressure monitor, ambient temp guage dvd and of course sat tv.  Then we could call it a yamaha "Cadill-Vision"  ;D

Seriously,  That is COOL!
Title: Re: Digital dash build log
Post by: Walt_M. on June 15, 2011, 04:00:19 PM
I'm not sure when this post became sarcastic?
Title: Re: Digital dash build log
Post by: Lucky on June 15, 2011, 05:17:10 PM
I weasn't being sarcastic, (note the
;D ;D :D :D ::) ::)
)
I think it's TERRIFIC!  :)
Title: Re: Digital dash build log
Post by: Re-Vision on June 15, 2011, 05:42:48 PM
Think maybe you ought to enroll at whatever school Shoetbus is graduating from. Lol. I'll buy one when you get them in production.     BDC
Title: Re: Digital dash build log
Post by: Lucky on June 15, 2011, 06:06:05 PM
QuoteThink maybe you ought to enroll at whatever school Shoetbus is graduating from.
what does that mean?
Title: Re: Digital dash build log
Post by: Walt_M. on June 15, 2011, 06:25:33 PM
I thought it started with the first
Title: Re: Digital dash build log
Post by: Re-Vision on June 15, 2011, 07:39:10 PM
It means that you'll likely get your concept gauges when you build them.   BDC
Title: Re: Digital dash build log
Post by: Lucky on June 15, 2011, 11:06:26 PM
do a search of 'guages', you'll see why i'll never build them
Title: Re: Digital dash build log
Post by: Extent on June 17, 2011, 08:47:20 AM
(http://rovmedia.dyndns.org/forum/download/file.php?id=2243&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2243&mode=view)

Finished doing the whole display interface library, which ended up being just over 1,200 lines of code alone.  I won't need even half of the functions it supports, but I figure better to have them.

Almost all of the chips I'm using require 5v supply, so that won't be a problem.  I should have about 3A to play with on the supply, but I don't expect I'll use more than a half amp at most.

Basicaly the same things that the Veypor does, or the one that YellowJacket posted, but without the big fancy custom LCD.

I'm not building directly with Lucky's guages as a design, but I'm trying to keep them in mind as I do my own.  Plain bar graph LEDs should be quite a bit easier to interface with than a graphic panel
Title: Re: Digital dash build log
Post by: Lucky on June 17, 2011, 08:02:19 PM
Awesome! your my hero!!
Title: Re: Digital dash build log
Post by: The Prophet of Doom on June 17, 2011, 10:47:09 PM
Great progress.   I think the LED are a better choice than LCDs anyway - easier to read and more in keeping with the period.
If it fits in the stock housing I'd be very keen for one of these.
Title: Re: Digital dash build log
Post by: Extent on June 19, 2011, 09:41:26 AM
Testing the input (http://www.youtube.com/watch?v=XRJVaYxz53U)

Have it displaying live data now, hooked up to a tone generator to stand it for a tach signal.  Still just slowly pulling components together so the current feed is over filtered and less than accurate  :-\ but baby steps.

I had forgotten how annoying it is to do graphics on a display without a back buffer.  The video doesn't show it but the screen flickers like crazy.  Clearing the entire display and drawing each new frame is far too slow, so the only viable option is to erase each section of the screen just before you draw it (ie: practically 1 letter at a time)
Title: Re: Digital dash build log
Post by: Lucky on June 19, 2011, 11:29:56 AM
Tuxfoooord is funny!
Title: Re: Digital dash build log
Post by: Extent on June 22, 2011, 06:06:37 AM
Ya funny story.  Tuxford is a developer on Eve Online.  One day he was working on his code and was logged in to their test server when he issued the shutdown command to deploy a new version.  Except he wasn't logged into their test server but the live public server during peak hours with somewhere between 45 and 50k people online.  Thankfully the 60 second emergency reboot was canceled before it went through, but he still managed to become a meme in the community used any time that the servers crash or otherwise go down out of their regular maintenance schedule.

Progress slowly continues.  Power regulation I have breadboarded according to National Semiconductor reference designs.  I also started playing with Eagle to do get a board layout.  I'm a little concerned about ripple, but the microcontroller doesn't appear to be bothered by any that is there, and I'll have to buy an oscilloscope and build a printed board before I can really test what's there.
(http://rovmedia.dyndns.org/forum/download/file.php?id=2244&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2244&mode=view)

Powerdown control is also tested, using a 1F capacitor I can shut down the screen and still get an extra 6 seconds of runtime out of the processor once main power is cut.  This is important to prevent powering down the dash from damaging the OLED screen (needs minimum 100ms to execute a shutdown) and to write changed data like the odometer out to EEPROM.
Title: Re: Digital dash build log
Post by: Lucky on June 22, 2011, 07:04:44 AM
you speekee mumbo jumbo, but the picture has pretty colors!
Title: Re: Digital dash build log
Post by: lexx790 on June 22, 2011, 07:53:54 AM
Quote from: Lucky on June 22, 2011, 07:04:44 AM
you speekee mumbo jumbo, but the picture has pretty colors!

Yes but it's interesting Mumbo jumbo.
Keep plodding on and keeping us informed, don't be afraid to baffle us with your science.
Title: Re: Digital dash build log
Post by: spectre on June 22, 2011, 08:07:25 AM
Quote from: lexx790 on June 22, 2011, 07:53:54 AM
Yes but it's interesting Mumbo jumbo.
Keep plodding on and keeping us informed, don't be afraid to baffle us with your witchcraft.
Fixed it for ya.  ;D
Seriously though, it looks cool, I can't wait to see the finished product! :)
Title: Re: Digital dash build log
Post by: Extent on July 02, 2011, 04:58:16 AM
had some time off work to push forward a little bit more, actually tested the proto board hooked up to the bike.  Power regulation works perfectly, and the wheel sensor works alright as well, although it looks like I'm going to need to do some debouncing on the input to prevent multiple triggers each time the magnet passes by the sensor from effecting the count.

RPM input is a no go at this point, it's working fine in the test bench but I'm getting all kinds of wild readings when it's hooked up to the tach input, it seems to be triggering so much noise that it triggers the wheel sensor reading even when that's tied directly to ground :/  I ordered a little hobby oscilloscope just so I can see what's really going on there.

Code wise more things are in place now.  Startup and shutdown code is blocked in to save system settings and odeometer values, basic speedo is hooked up, and odometer is working.  I still have a lot of floating point math to try and get rid of, and more intelligent handling of slow speeds. 
Title: Re: Digital dash build log
Post by: Extent on July 06, 2011, 12:47:09 PM
Wheel sensor debouncing is worked out now.  The ATmega microcontroller is supposed to have built in schmidtt triggers on it's inputs, but a slowly ramping input value still gets into an undefined state somehow and will fire off dozens of interrupts for a single trigger  :-\  Dropping a 7414 in line cleans that right up so we're back in business.  I'll probably experiment with the proper CMOS version of that chip when I finally get down to actually assembling a board.

Knocked out some gremlins in the power regulation as well (note to self, a switching regulator hates being built on a protoboard)  It seemed to be running fine but it was causing the processor to trigger spurious interrupts and randomly crash.  I soldered the reference design together on a clean board and it's all running stable again.  This is probably what was causing the problems with reading the tach signal, but I'm gonna just wait the two days for the oscope to come before testing that again.  In the meantime I'll update the schematic work more on the software side of things.
Title: Re: Digital dash build log
Post by: Hartless on July 06, 2011, 01:45:41 PM
Quote from: Lucky on June 22, 2011, 07:04:44 AM
you speekee mumbo jumbo, but the picture has pretty colors!
i was wondering.if i was the only one that didnt understand any of this hahaha
Title: Re: Digital dash build log
Post by: QBS on July 06, 2011, 03:50:36 PM
Extent, I love your reports.  They make me stretch and learn.  I mean, who knew that dropping a 7414 in line would fix malfunctioning schmidt triggers?  I feel your pain about switching regulators.  They really do hate being built on protoboards.  That's always a good thing to avoid if possible,....like chain drive on a motorcycle.

Seriously, your writing has led me to see electronic design in a whole new light.  Kinda like very complex, high pressure fluid flow.  Thank you and keep up the excellent work.  Cheers.
Title: Re: Digital dash build log
Post by: YellowJacket! on July 06, 2011, 03:51:16 PM
Quote from: Extent on July 02, 2011, 04:58:16 AM
had some time off work to push forward a little bit more, actually tested the proto board hooked up to the bike.  Power regulation works perfectly, and the wheel sensor works alright as well, although it looks like I'm going to need to do some debouncing on the input to prevent multiple triggers each time the magnet passes by the sensor from effecting the count.

RPM input is a no go at this point, it's working fine in the test bench but I'm getting all kinds of wild readings when it's hooked up to the tach input, it seems to be triggering so much noise that it triggers the wheel sensor reading even when that's tied directly to ground :/  I ordered a little hobby oscilloscope just so I can see what's really going on there.

Code wise more things are in place now.  Startup and shutdown code is blocked in to save system settings and odeometer values, basic speedo is hooked up, and odometer is working.  I still have a lot of floating point math to try and get rid of, and more intelligent handling of slow speeds. 

I had the same problem with the tach on my electrosport tach.  Soldering a 56k resistor inline on the sensor wire fixed it for me.

David
Title: Re: Digital dash build log
Post by: Extent on July 06, 2011, 11:49:09 PM
Quote from: Hartless on July 06, 2011, 01:45:41 PM
i was wondering.if i was the only one that didnt understand any of this hahaha

You and me both, I am quite literally learning this all as I go along  ;D

I'm already running the tach signal thru a voltage divider to bring it down to a safe input level for the micro, but I may have left too much headroom for it (20v to 5v) and I think that the positive signal may be too low to be properly seen.
Title: Re: Digital dash build log
Post by: Extent on July 07, 2011, 09:41:02 AM
The meter was delivered early so I did that instead today, and quite lad I did too, the results have been enlightening!

The following shots are all of the tach signal read straight off the back of the instrument cluster.  The green horizontal line is the trigger level (Tr 10.4V) that's the level that's used to detect the frequency of the pulses.  The two white horizontal lines (hard to make out, but there is a small white arrow on either side of the screen to highlight them) are user set lines.  Those are what are showing the delta V of 13.2V on the bottom of the display, the bottom line I had roughly at .4V I think.

The signal is basically 13.5V that drops low on each ignition pulse.
1k rpm
(http://rovmedia.dyndns.org/forum/download/file.php?id=2247)
(http://rovmedia.dyndns.org/forum/download/file.php?id=2248)
2.5k rpm
(http://rovmedia.dyndns.org/forum/download/file.php?id=2251)

That graph is starting to look a little small so let's zoom in 4x to get a better view of the individual pulses
(http://rovmedia.dyndns.org/forum/download/file.php?id=2249)
(http://rovmedia.dyndns.org/forum/download/file.php?id=2250)

Wow, that is a crap ton of bounce!  You'll notice how when the signal is returning to its high value that it overshoots very high, and then back down very low.  Those little glitches are still enough to trigger the computer to count, even though it's just noise!  Not to mention the tiny high peaks are nearly at 50V every pulse, with an occasional one all the way up to 74V, I've definitely got to do some extra filtering to protect the electronics here.  I'm thinking a 15v zenner diode to cap off the peaks, and then a similar debounce circuit to what I'm using for the wheel sensor running into the hex inverter to get a nice pristine square wave again.

Here I zoomed in on the pulses while letting the bike idle.
(http://rovmedia.dyndns.org/forum/download/file.php?id=2252)
(http://rovmedia.dyndns.org/forum/download/file.php?id=2253)

In the last image I moved the two time markers (white vertical lines with arrow markers) to approximately cover the time the bounce starts to when it ends, you can see that at idle it doesn't return to a clean flat pulse for about 15ms at worst.
Title: Re: Digital dash build log
Post by: Brian Moffet on July 07, 2011, 01:36:51 PM
If you're looking at just the voltage, perhaps a capacitor to remove the high-frequency bounce?  Or possibly a 555 timer set to one-shot mode to get rid of the bounce?

Brian
Title: Re: Digital dash build log
Post by: Extent on July 08, 2011, 09:26:09 AM
Ya that's basically what I'm doing, a 555 is an option, but I've still got 5 inverters on the 7414, so if I can make use of those without adding another 8 pin IC I'd like to.

Here's the current schematic.  The new RPM filter circuit is bench tested but still needs to be proven, my biggest worry is that the pulse width at high RPM may get too short (<2ms) and be eaten by the filter.  I'm pretty sure I'll be able to remove one resistor and one diode from the circuit as well if I can get a value close enough to 3k ohm for the top side of the voltage divider, but this is done with parts I've got immediately on hand.

(http://rovmedia.dyndns.org/forum/download/file.php?id=2254&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2254&mode=view)

This is actually getting pretty close to done hardware wise, just needs a couple of buttons and the SD card socket and I'll be ready to finish boarding the rest of the on bike prototype.
Title: Re: Digital dash build log
Post by: YellowJacket! on July 08, 2011, 10:42:47 AM
This is an absolutely cool build project!  Thanks Extent.   ;D

David
Title: Re: Digital dash build log
Post by: The Prophet of Doom on July 08, 2011, 05:30:36 PM
Cool indeed - I am saving my pennies so I can buy one of your boards
Title: Re: Digital dash build log
Post by: Extent on July 09, 2011, 08:43:23 AM
Updated schematic, assuming that the provisional sections actually check out when tested on the protoboard this is now "feature complete" for the hardware on the initial feature set.  I'm left with 4 digital I/O pins, and 4 digital/analog I/O pins unused.

Now what's left is a lot of software.

--edit--
an automated bill of materials from this schematic comes out to just about 20$ so far, figure another 10 bucks for the PCB and there's still plenty of wiggle room.

(http://rovmedia.dyndns.org/forum/download/file.php?id=2255&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2255&mode=view)
Title: Re: Digital dash build log
Post by: JohnAMcG on July 13, 2011, 09:43:35 AM
This all sounds and looks very cool and is very interesting.  All these graphs and charts and PCB diagrams make me think one thing.  I can't afford it.  I do hope you are planning on making several, I am sure you will make the money back and then some.  I just hope it's not too out of reach for us common folk.  I'll need to have my girl read this thread around my birthday.  That gives you a few months to start production.    ;)
Title: Re: Digital dash build log
Post by: Extent on July 14, 2011, 10:23:04 AM
Mostly frustration tonight, spent a bit of time tuning the RPM input circuitry, had it to a point where I thought it was ready to all get wired up and test it above 6k rpm.  Went to turn on the processor and... zip.  Chip is dead >:(.  Now I've got extras, but I didn't have the foresight to program them beforehand so now I've got no programmer and a bunch of blank chips.  So a few more days waiting time now on FedEx :p

doing a 555 oneshot is looking more and more like what I'll need to do.  I found resistor values that work fine at idle, but as I get near 5-6k rpm it looks like they start eating into the signal.  I can still try some more aggressive values that will bounce more but still stay above the threshold.

In progress news input button code is done, so I now have software to support all of the hardware.  So I just have to see how much code I can work on while I don't have a working test unit for the next few days (and hope that the chip was killed while I was poking around with the circuit, and not due to my design somehow)
Title: Re: Digital dash build log
Post by: Extent on July 24, 2011, 05:31:13 AM
Been having lots more problems with long traces on the proto board picking up interference and messing everything up  (fun fact, I once had the circuit completely disconnected from the bike, powered by a 9v battery, and sitting on the tail seat, and it was perfectly counting the RPM  :o )  So I started to build it up for real on a bit of breadboard

(http://rovmedia.dyndns.org/forum/download/file.php?id=2257&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2257&mode=view)

Lower left is the voltage regulation, with a 5v tap right at the output for testing and voltage sense resistors in the lower right.  Upper left is the Oled header w/ control bits.  The middle is the microprocessor, timing crystal, and various support capacitors, upper right is the super capacitor to let it gracefully shutdown when power is lost.  Lower right is the wheel sensor debounce circuitry and 2pin header for the sensor, and the hex inverter/Schmidt trigger.

With it built up this way it runs stable on it's own no problem, but issues resurface as soon as I plug in a lead to connect the tach signal.  Even a 6" wire not connected to the bike is enough to trigger spurious interrupts on all inputs (not just the tach input) eventually leading to a complete crash.  Even just attaching my test leads to the output pins I can pick up very clean 1.5v spikes in time w/ the tach pulse.

I'm rethinking my whole approach to the tach sense circuit right now.  The thought had occurred to opto isolate it, but I'm not sure how much that would gain me with a shared ground.  Instead I think I'll try to put the signal through an NPN transistor.  Since a transistor is a current controlled device it doesn't care about the voltage spikes, and it should give me a perfectly clean 5v signal without all the voltage dividers and diodes, and debouncing should be much simpler.
Title: Re: Digital dash build log
Post by: Extent on July 25, 2011, 03:23:22 AM
And the winning answer for all the "interference" problems?  Ground loop!  New tach sense circuitry is simpler and more tuneable.  Here's the direct output of the now cleaned up tach signal.

(http://rovmedia.dyndns.org/forum/download/file.php?id=2258)
All the bouncing and spikes are gone, there's still a little bit of noise but not enough to cause false triggers (it could probably be filtered even less and still be good enough)

The now updated schematic
(http://rovmedia.dyndns.org/forum/download/file.php?id=2259&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2259&mode=view)

And the changes on the actual prototype.
(http://rovmedia.dyndns.org/forum/download/file.php?id=2260&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2260&mode=view)

The board hooked up to the bike for testing
(http://rovmedia.dyndns.org/forum/download/file.php?id=2261&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2261&mode=view)

And a video (http://www.youtube.com/watch?v=y6mVniw9RwE) of it all running.  First part shows the tach reving up and down, with a couple of quick blasts up through the range.  I also show it running side by side with an inductive tach running off the rear cyl.  It's a little hard to read all the numbers through the flaring, but it's dead accurate.  At the very end it shows the speedo and odometer ticking up while I spin the front wheel by hand (which is why this part is extra shaky, but the big number is still readable :p )

Aside from a couple of very tiny simple tweaks (button network, ICSP header, Vin diode, wheel sensor ground, SD Card) this board is roadworthy.  Now just mounting it and software to write...
Title: Re: Digital dash build log
Post by: The Prophet of Doom on July 25, 2011, 05:17:13 AM
This is amazingly cool.
The OLED is fairly small - that would leave a lot of empty space in the dash.  Are there larger units available?
Title: Re: Digital dash build log
Post by: The Prophet of Doom on July 25, 2011, 05:18:57 AM
Another question - do you have any plans for the turn signal self cancellation? this is one of the great features of the XZ, but does need a pulse from the speedo to work
Title: Re: Digital dash build log
Post by: QBS on July 25, 2011, 02:48:32 PM
I watched the video.  Your bike sounds likes it's running very well.
Title: Re: Digital dash build log
Post by: Extent on July 25, 2011, 06:04:15 PM
It idles alright, but the YICS is a little wonky and the exhaust is in terrible shape flow-wise.  I don't mind the tone of the SV can, but I've still got a lot of work to do to get it to run right.

The display is very small, but it's the same size as the Sigma display that I've been using for years, so it seemed like a good balance of size/price to start off with.  Unfortunately it's not quite as daylight readable as I had hoped (not bad in daylight, unreadable in direct sunlight :/ )  so I've got to find a better display to upgrade to eventually.  There are larger ones from other manufacturers, I've just got to do more research and rewrite the code.

I hadn't been thinking about the turn signal cancel because I haven't had that working in years.  I was thinking about replacing the entire blinker circuit internally, but when I mount it up I'll see if I can find an old speedo around somewhere and duplicate it, shouldn't be that hard.
Title: Re: Digital dash build log
Post by: Mid Life Crisis on July 27, 2011, 10:40:42 PM
Nice!  I want One!
Title: Re: Digital dash build log
Post by: Extent on July 29, 2011, 06:45:26 AM
http://www.youtube.com/watch?v=0hyH8rG7l6s (http://www.youtube.com/watch?v=0hyH8rG7l6s)

video walk thru of the menuing system.  I can now useably reconfigure settings on the fly without having to reflash the entire software from the computer.

As a sign of how crappy my code is I'm already using 2/3 of the program space, and 3/4 of the RAM of the micro with just this.  Program space I don't think will be a problem since most of the large chunks of code are done, but with less than 500 bytes of RAM left that may come and bite me not too far in the future :/

Thankfully the only large bit of software that's still not in it is the SD card library, so I should be able to manage doing a bit of cleanup and getting everything to fit.  It does mean that for future hardware revisions I will probably have to bump up to the next grade of microcontroller (+10$, and no DIP package available), but we'll see how much we can squeeze out of this one first.

This weekend hopefully I'll start looking at mounting the thing up in the gauges and giving it a real live test.
Title: Re: Digital dash build log
Post by: vadasz1 on July 29, 2011, 10:39:35 AM
Cool display.

What is the physical size of the OLED you are using?  Can you make it twice as big easily.
Title: Re: Digital dash build log
Post by: Lucky on July 29, 2011, 11:10:22 PM
I hereby nominate Extent for Visionary Of The Year!!
Most Awesome!!!!
Title: Re: Digital dash build log
Post by: fret not on July 29, 2011, 11:44:07 PM
For the next miracle there will be an improved TCI box! :o ;) :D (hint hint)
Title: Re: Digital dash build log
Post by: The Prophet of Doom on July 30, 2011, 01:13:07 AM
Quote from: fret nut on July 29, 2011, 11:44:07 PM
For the next miracle there will be an improved TCI box! :o ;) :D (hint hint)

Lots of the germans use and recommend these
www.ignitech.cz
Title: Re: Digital dash build log
Post by: fret not on July 31, 2011, 12:22:00 AM
Thanks for that.   :D
Title: Re: Digital dash build log
Post by: Extent on August 01, 2011, 03:27:44 AM
The screen is 1.5", there is a slightly large one available, but it's only a few pixels wider.  This manufacturer does have a 2.8" screens, but the price starts skyrocketing.  I'm also not convinced that this will be the best screen tech, so I'm not going to take it any further until I get some more testing and research done.

I have thought about the TCI before, and I do want to try fuel injection in my long term plans so there's always a possibility.  Those IgniTech units look pretty nice tho.  Maybe I'll just save the headache and buy one of them :p


Test ride today with mixed results.  Tach sense problems raised their ugly head again.  It seems to operate normally at idle for a period of time, but slowly starts to pick up fake wheel sensor triggers and eventually locks up completely.

Good news is with the tach input disconnected everything seems to run perfectly, so I've at least got a speedo and that's what I really need working to ride the bike :D

2nd bad news is that the bike itsself is running extremely poorly.  Gutless to the point of stalling off the line, bucking and surging at low speed, and with YICS capped an extremely slow return to idle (even thou it passes carb cleaner spray test)  She's really getting back at me for neglecting her for so long :/  So gotta go back to basics and attack the carbs from scratch (and hope that I haven't compromised the CDI somehow with some of my early test circuits)

Updated prototype, with the button resistor network in the upper right now.
(http://rovmedia.dyndns.org/forum/download/file.php?id=2264&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2264&mode=view)

Fitting the board.  It just barely works.  Thankfully I should be able to make it like half the size when I make a real PCB and change the whole design over to surface mount.  Also will gain tons of extra room by replacing the volt and temp meters eventually.
(http://rovmedia.dyndns.org/forum/download/file.php?id=2263&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2263&mode=view)

All wired up and getting ready to go.
(http://rovmedia.dyndns.org/forum/download/file.php?id=2265&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2265&mode=view)

All the components pushed in and the cover replaced.  Nothing fancy yet.
(http://rovmedia.dyndns.org/forum/download/file.php?id=2266&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2266&mode=view)

--edit--
20second video (http://www.youtube.com/watch?v=PTmZ6OnrE1Q) of the thing running while the bike was warming up.

Source code is finally posted here (http://code.google.com/p/visionary-digital-dash/)
Title: Re: Digital dash build log
Post by: The Prophet of Doom on August 01, 2011, 07:12:45 AM
Love your Volt meter - never seen it done like that before!

Microsquirters seem to have similar issues with noise generating false signals.  One common trick seems to be to wrap HT leads in a few layers of grounded aluminium foil, or to use shielded HT leads.
Title: Re: Digital dash build log
Post by: Extent on August 01, 2011, 09:21:47 AM
hmm, it's not just a false signal tho, it's effecting the entire micro and causing it to behave erratically and crash.  And it's nothing that I've been able to see with the scope hooked up to the input pins (when the input was floating previously and it was picking up tach signal out of the air I could observe ~1.5v spikes, the current circuit shows nothing)

The VOM I quite liked as well, unfortunately it was just a cheap Autozone meter and the needle is very light so it bounces around unreadable so basically when at anything other than a dead stop with the engine off :p  I still have to do electrical tests with my hand meter.
Title: Re: Digital dash build log
Post by: Extent on August 05, 2011, 09:57:42 AM
No big development to report so far, still doing a lot of debugging.  It seems that ignition interference is still the name of the game afterall.  Good(ish) news it it doesn't look like the board or processor is being effected too badly, the bad news is the interference is causing the screen to crash.  I'm going to have to start playing with shielded cables and enclosures.  It should improve a lot when I get the design printed up on a real board, but I still need to get a workable prototype in the meantime.

The shame is outside of this interference problem I think the soft/hard design is proving pretty solid.  I've just run two 24 hr tests back to back of the display code, and it just keeps on chugging, no problems.

Hooked up a 2nd screen for testing.  Both screens are equally effected by the interference (just not always at the same time)  The character LCD is also looking like a much much more likely contender for the "usable in the daylight" issue.  A transflexive char LCD just like this one is only 10-15 bucks.
(http://rovmedia.dyndns.org/forum/download/file.php?id=2272&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2272&mode=view)
Title: Re: Digital dash build log
Post by: Hartless on August 13, 2011, 07:00:41 PM
so hopefully im not jacking your build thread, but i had an interesting idea and i dont know how possible it is...... i was wondering if there would be some way you would be able to integrate this into a helmet to make a heads up display... then there would be no need to look down thus causing you to take your eyes of the road.....maybe just have a wire that attaches to your helmet or bluetooth that transfers it to a lens screen..... idk just sounds like a cool idea to me, but i dont know anything about that kind of stuff. maybe they already have one idk haha, i just figure you out of anyone would know if it is possible
Title: Re: Digital dash build log
Post by: Extent on August 14, 2011, 05:37:35 AM
There was one a few years ago, but it was expensive and looks like it's dead now.
http://www.motionresearch.com/sv.php
http://www.webbikeworld.com/heads-up-display/

HUDs are extremely difficult to do, I wouldn't count on that happening :p  The closest thing I've ever thought about would be like a single warning indicator (imagine the fringe of your visor glowing red if your radar detector triggered for instance)
Title: Re: Digital dash build log
Post by: Hartless on August 15, 2011, 02:37:10 AM
Quote from: Extent on August 14, 2011, 05:37:35 AM
There was one a few years ago, but it was expensive and looks like it's dead now.
http://www.motionresearch.com/sv.php
http://www.webbikeworld.com/heads-up-display/

HUDs are extremely difficult to do, I wouldn't count on that happening :p  The closest thing I've ever thought about would be like a single warning indicator (imagine the fringe of your visor glowing red if your radar detector triggered for instance)

ahhh, i see. well, you sound pretty tech savy so i figured id ask :P
Title: Re: Digital dash build log
Post by: The Prophet of Doom on September 02, 2011, 03:50:20 AM
Have you given up on this?  I'm still really really keen to get one of these on my bike
Title: Re: Digital dash build log
Post by: Extent on September 02, 2011, 05:04:37 AM
Still working on it, progress has just been very very slow with plenty of distractions by work.  Since last update I've patched up a couple of very minor software bugs, been through 2 complete different revisions of a shielded housing, added temperature sensing, and switched the character LCD for a very daylight readable transflexive display.  I've also redone most of the schematic in a different software package and am getting ready to do a board layout to send out to get one printed.  Lots of cleanup stuff but just not a lot to show.  Temp circuit brings in too much interference and needs to be changed, and I've got some more software filtering things to do to improve results in general.  That's about where I'm at right now. 

The shielding problem really just stuck a massive wall in front of things :/  Catch-22, No point in ride testing something that will constantly crash because of interference, so I've got to build a production unit to see if the design works as needed.
Title: Re: Digital dash build log
Post by: Extent on September 20, 2011, 05:57:34 PM
Still haven't done any more physical testing, but I've got a first revision of a board laid out.  Still some decisions to make about a couple of things, but it's mostly there.

The board is now dual processor, mainly to allow the software to be updated with an SD card (instead of requiring a chip programmer)

Only a few more footprints to check and I'll probably order a small run of parts.  I need to get the parts in hand to check against a printout of the circuit board to make sure everything lines up before I send the board out to get manufactured.

I also need to figure out a good way of mounting the thing.  Unfortunately the second microprocessor makes the board bigger, so now it's about 3.7" by 2" or so.  I don't think that will fit without modifying the dash ( my general prototype requires removing the stock temperature guage and snapping off the center column that supports the middle vanity plate)  The dual LCD display version will almost certainly require removing the temperature gauge for clearance, but I really want to try and shift things around so that you don't have to modify the stock chassis at all.

Board layout
(http://rovmedia.dyndns.org/forum/download/file.php?id=2275&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2275&mode=view)

Schematic
(http://rovmedia.dyndns.org/forum/download/file.php?id=2278&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2278&mode=view)
Title: Re: Digital dash build log
Post by: QBS on September 20, 2011, 11:44:10 PM
Temperature guages are your friend.
Title: Re: Digital dash build log
Post by: Extent on September 21, 2011, 12:43:23 AM
There is a temperature gauge in the digital dash, it only means that it would be mandatory to use the digital one, rather than optional.
Title: Re: Digital dash build log
Post by: QBS on September 21, 2011, 12:50:00 AM
Sounds like temp info is covered.
Title: Re: Digital dash build log
Post by: Extent on October 16, 2011, 11:33:24 PM
Haven't really made a lot of progress recently, been spending all my time getting ready for a job hunt, but I'm doing final fitting of the board right now and with any luck I'll be sending it out for manufacture sometime tonight.  I already have all of the components to build it (and a couple spares).

Still really behind on the software though, the new hardware layout requires quite a bit of additional code that I haven't even started on.  Hopefully I'll finish my portfolio soon and then have another good opportunity to take a bit of a "vacation" and finish it all up.

(http://rovmedia.dyndns.org/forum/download/file.php?id=2279&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2279&mode=view)
(http://rovmedia.dyndns.org/forum/download/file.php?id=2280&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2280&mode=view)
Title: Re: Digital dash build log
Post by: Lucky on October 16, 2011, 11:47:14 PM
Just Awesome! :)
Title: Re: Digital dash build log
Post by: NewVisionGuy on October 17, 2011, 12:12:42 AM
There's more than a few people that would buy one.  This is just AMAZING!
Title: Re: Digital dash build log
Post by: Lucky on October 17, 2011, 06:26:08 AM
QuoteThe dual LCD display version will almost certainly require removing the temperature gauge for clearance, but I really want to try and shift things around so that you don't have to modify the stock chassis at all.

Extent,
If the digital has tach & temp capabilities, why not use the whole housing?  I have spare housings & will happily mod them as needed (or supply one for the first prototype)
Also, is there an option (plug in or lug screw) for the stock fuel sender?
Title: Re: Digital dash build log
Post by: Extent on October 17, 2011, 09:48:28 AM
I figure anyone who really wants to replace their entire gauge cluster would just buy a veypor :p

But really, I just want to remain as un-invasive as possible, so that someone who's just looking to replace their speedo can do that without mangling the rest of their gauges.  The display board is where you really get all of your options, and that could easily be the size of the entire cluster.  This board is built to drive up to 3 displays out-of-the-box, and with some very minor cable hacking I could drive 4 displays without doing a new PCB revision.  That's plenty to completely fill the entire stock housing, but only if you want to.

My regular cluster is already cut up to make all the room I need, and I have an unmodified spare that I'm using to develop this board on.

Once I can get some real solid real-world testing in and prove that the build is fully accurate and absolutely reliable then I'll have the confidence to start thinking about completely replacing critical time-sensitive instrumentation like the tach, but until then I like having my analog meter working.

No fuel sensor for this version, I definitely don't want to be sending power into the gas tank blind with no reference at all.  Once what I have here is all working perfectly then I can do a bit more research and get some measurements from people and fuel level should be easy enough to work into the next revision of the board.  I'm assuming it works on a similar principal to the temp sender.
Title: Re: Digital dash build log
Post by: Extent on November 02, 2011, 08:12:51 PM
The boards just came in the mail today  ;D ;D  I really should focus on work, but I'll probably take a break later tonight and start populating one of them.

(http://rovmedia.dyndns.org/forum/download/file.php?id=2281&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2281&mode=view)

--edit--

Total parts cost including the board right now comes up to aprox 40.16
Title: Re: Digital dash build log
Post by: NewVisionGuy on November 02, 2011, 10:17:22 PM
Looks way too complicated for me.  I'm glad there are folks like you out there who "get" this stuff.  Otherwise,  I wouldn't own a single piece of electronic equipment. 

Can't wait to see it finished!

Title: Re: Digital dash build log
Post by: Extent on November 04, 2011, 12:25:21 AM
Finished assembling the unit, it was much easier to do than I expected.  The chips have the smallest pins, but are actually the easiest to solder.  It only takes about 3 seconds to do each entire row of pins once it gets tacked down.  I think I'll have to replace the connector on the bottom of the board with a right angle connector or else it will stick up too high to fit screens in the cluster at the same level as the other gauges.

I still haven't actually tried to power it up yet, I've got to make some changes to the software.  It'll have to be a project for another day, but I'm extremely hopeful.


(http://rovmedia.dyndns.org/forum/download/file.php?id=2282&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2282&mode=view)
(http://rovmedia.dyndns.org/forum/download/file.php?id=2283&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2283&mode=view)
(http://rovmedia.dyndns.org/forum/download/file.php?id=2284&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2284&mode=view)
Title: Re: Digital dash build log
Post by: Extent on December 21, 2011, 06:10:51 AM
So I took a little break from productive work and started writing the firmware for the slave controller.  The more I think about it the more complicated it gets, but we'll just take it one step at a time.  I've got basic 1 way communication going on, the beginnings of a command structure and some extremely rudimentary fault tolerance.

To round this session out I threw the code onto the actual board with my spare screen.  It all works great so I can be sure that all of the board related to the processors, their interconnects, and all of the display ports are all working.  Testing the power supply and the sensor inputs will come later, but I'm feeling confident after how well this came together.

What you're seeing here is the screen on the left having been written to while the slave controller was starting up, the screen on the right being constantly refreshed by the master controller through the slave controller, and the screen in the middle being written to directly by the master controller.

(http://rovmedia.dyndns.org/forum/download/file.php?id=2286&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2286&mode=view)

(http://rovmedia.dyndns.org/forum/download/file.php?id=2287&t=1) (http://rovmedia.dyndns.org/forum/download/file.php?id=2287&mode=view)

The two main screens could be any 4bit parallel LCD screen, so they could both be 4 row displays potentially.  The one in the middle is the one that's unreadable in direct sunlight, but it's just a generic serial device, so that plug could easily be a PC hookup or a port for a GPS receiver.  That'll all get integrated down the line, but for now I've got some nice options for experimenting without having to do a new revision of the mainboard right away.
Title: Re: Digital dash build log
Post by: YellowJacket! on December 21, 2011, 11:01:08 AM
That is absolutely AWESOME!

David
Title: Re: Digital dash build log
Post by: Extent on January 05, 2012, 05:25:11 AM
Been working on firmware, have the display code and drivers mostly completed with a good bit of robustness.  Slow progress but progress all the same. 

A short video showing off the controller running through a command test of all it's built in functions.
http://www.youtube.com/watch?v=giUEn0HwUYw
Title: Re: Digital dash build log
Post by: The Prophet of Doom on January 20, 2012, 05:34:25 AM
If you are running short of room, could you put one processor in the boot for sensor pickup/logging, and the other processor in the dash for display only.  That way you could have multiple bikes, move the dashboard and keep individual bike data in memory

Title: Re: Digital dash build log
Post by: Extent on January 20, 2012, 07:56:17 AM
Possibly, but I would really worry about running highspeed signal lines over such a large and noisy distance.  I'm hoping to be able to hit up to 4mhz clock rate between the two chips, and currently the lines aren't longer than 2".  That's actually the first part of the board that I layed out, and all of the routing for other components was done around it.

Storing multiple profiles for different bikes would be trivial though on the SD card, with either one card per bike or a menu to let you choose between different settings on a single card.

If I physically run out of room for stuff I can just stack multiple daughter boards on top of the main PCB.  That I'm not too worried about yet.
Title: Re: Digital dash build log
Post by: Extent on February 19, 2012, 04:30:13 AM
Quick progress update.

Proxy SD card access - fully tested and working
Simple buffered log writing - complete and compiles, but untested
Code update file parsing, error checking - complete and tested
ICSP programming - mostly done, still needs to be integrated into the greater codebase

Still to do:
Simple file reading
General performance - hoping for 10x performance increases in certain portions of the code
SPI mode URART interface for SD card - more performance updates
High speed liquid crystal interface


The current codebase is using 31k out of 32k total program space available on the chip, so it's going to be a really tight fit if I can't find some big obvious section of code that can be removed (I have some ideas)

Full code is now online on google code for both aspects of the project
http://code.google.com/p/utility-controller/
http://code.google.com/p/visionary-digital-dash/
Title: Re: Digital dash build log
Post by: Extent on September 21, 2014, 10:15:26 PM
Sooo... being busy looking for work turns into being busy with work, and then being busy working on a 2nd project after hours from the original work.  Two years later... well a co-worker going for his M1 has re-inspired me to put fresh gas in the tank and hit the road again.  And to do that requires a working speedo (the sigma long since run out of batteries)

So now with a simpler set of goals, this has finally been road tested.  Hacked together a bunch of the gnarly old code to make the new screen work on its own without the OLED to support it (since it was impossible to read most of the time)  Didn't bother hooking up the tach or temp sensor just to avoid interference for now, and no real screen space to display it anyway. 

I needed to modify the filter network to deal with the very low duty cycle  (pulse time is only about 4ms at 50mph)  But now it reads accurately against GPS, and no more false readings or crashing.

Still need to figure out how to physically squeeze a bigger (or 2nd) display in there and rewrite all the menuing systems.  But the groundwork is all in place and doing what it needs to.

Here's a couple pictures showing the current dash assembly
https://www.dropbox.com/sc/aapgudlmoj81pf5/AACdrFzPAunjbVYbyeB0R28Ya
Title: Re: Digital dash build log
Post by: The Prophet of Doom on September 23, 2014, 02:25:29 AM
Welcome back Extent - hard to believe you've been gone two years
Title: Re: Digital dash build log
Post by: Rikugun on September 23, 2014, 08:07:21 AM
I had to go back and re-read the posts just to jog the memory!