Go Down

Topic: Nixie speedometer for a classic VW bug. Work in progress (Read 1 time) previous topic - next topic

rednas

What's better than having a fun hobby? Two hobby's!
My first is my VW bug. The second is fiddling with electronics and Arduino.
So…why not combine the two?! (I know.. bugs and electronics don't go well together usually)

My VW is off course an old-timer. Well over 40 years old, but still running.
Electronics are as basic as they get in a car. A battery, some lights and knobs, a starter engine and a few spark plugs…that's about it.

So I started thinking… what if VW had not waited for the 80's to arrive to add a digital speedo to their cars. Should be possible…and it's done by others more than once.
But, in stead of a flashing new LCD with all the bells and whistles, I wanted something that could've actually existed in the 60's or early 70's: Nixies!

I already have a lot of the project running in a (sloppy) prototype, but I thought I'd share some of the process and maybe get some advice on the other things I'm trying to figure out.

So.. Here's my Work In Progress Nixie speedometer for my bug. Currently it just displays speed, but I have other plans.



What I have so far:

Display
3 Nixies. Nothing fancy, nothing you can't easily find online from detailed blogs from others. Just had to hit ebay to order some nixies and chips from some former USSR state and got it up and running. 3 Nixies, since I'm in the Netherlands where we use Kph in stead of Mph…and believe it or not: A VW bug can easily go over a 100 Kph.

Speed
The first challenge was how to read the speed. At first I thought about using GPS.
But I ended up sticking more closely to the available technology.
Most classic speedometers are eddy current types. That is actually pretty impressive technology, but more important: It uses a rotating magnet!
After taking apart and old speedo, I ended up with the part that holds the rotating magnet.
On the other end you connect a cable that is hooked up to one of the front wheel hubs.
I picked up a 4$ Hall effect module and screwed this in place.
As it turns out, I get 2 pulses for each rotation.
A bit of math later….and voila: speed.



Here's a video of me using a drill to simulate the rotating cable and displaying the speed on the nixies. Success!
youtube video

Things to do
I currently calculate speed after every 2 pulses (1 rotation) and that causes some quick small changes in speed of course. The hall effect module is connected to an interrupt pin, so every 2 interrupts I calculate the speed.
Time used for 2 pulses equals the time used for one rotation of the wheel.

I plan on smoothing the readings, but not sure what the best way is yet.
I'm thinking about only updating the speed every 250ms and calculate the average for that period.
If anyone has some great ideas for the best way to do the smoothing, please let me know!

Fuel
By ditching the old speedo, I lost something which is actually pretty important: A fuel gauge.
(It wasn't functioning anyway… But still..)
The original fuel gauge is again a pretty nifty peace of technology, but it basically comes down to a simple Potentiometer. The sender is nothing more than a variable resistor.
One side connects to ground trough the fuel tank.
Plan is to use a voltage divider and read the voltage between a known resistor and the fuel sender and feed that to the Arduino.
I will have a small button on the display to toggle between the functions.
If fuel level gets below 10% (4 liters, still over 50Km to go) I want to display the fuel level in stead of speed and blink like crazy  :)
 
Oil temperature
If I can display speed and fuel with 3 digits….what else can I do?
One of the drawbacks of driving a bug in hot summer, is that it's an air-cooled engine. No water, no radiator…just air flowing by to cool it. Oil temperature can sometimes become an issue, and the only warning you get originally is a blinking oil lamp telling you the oil's become so hot, the engine can't even hold pressure…oops…to late...  :o
I found an aftermarket solution in the form of an oil dipstick that is actually a temp sensor.

After some searching I found the datasheet from VDO and some smart people on forums here and elsewhere have already figured out that you can calculate the temperature with 1 formula. I've simulated this in an excel file and it seems to be correct..
Now for the real thing while connected to an Arduino..
 
Power
Everything will be powered from the 12V car battery. For the Nixies I have a small pcb that provides the needed high voltage.
I will however probably need something to power the Arduino as well... I have a Buck-boost pcb that I will try first. This one can be set using a trimpot to a certain (12) voltage. I hope that will prevent the spikes that occur in automotive electronics. If anyone has any bright ideas....
Also...I would like the Arduino to stay on while cranking the engine. This causes a considerate voltage drop and I don't think the buck-boost will be able to manage that. Could something simple like a condensor or simple circuit help there?

I'll keep posting updates as I go along.
If any of you have other ideas or can help with the issues I'm sure I will encounter.. I appreciate the help  :)

Kiwi_Bloke

A dumb question, but are you sure its 12 Volts, I have a customer who has an old VW Bug, his is a 6 volt system...

rednas

Not a dumb question at all. VW's early bugs where 6Volts.
It's a '73 bug (most of it anyway), with a 12V circuit. 

PaulS

Quote
I'm thinking about only updating the speed every 250ms and calculate the average for that period.
That's a much better approach.

Quote
If fuel level gets below 10% (4 liters, still over 50Km to go) I want to display the fuel level in stead of speed and blink like crazy
An LED coming on, when the level is low, is lower tech, but better, IMO.

Quote
If I can display speed and fuel with 3 digits….what else can I do?
Tachometer.


Quote
I have a Buck-boost pcb that I will try first. This one can be set using a trimpot to a certain (12) voltage. I hope that will prevent the spikes that occur in automotive electronics.
That's why capacitors were invented.

Quote
Also...I would like the Arduino to stay on while cranking the engine. This causes a considerate voltage drop and I don't think the buck-boost will be able to manage that. Could something simple like a condensor or simple circuit help there?
That's why capacitors were invented.
The art of getting good answers lies in asking good questions.

rednas

I'm a big fan of LED's... but not in my Bug :)
I want to try and keep it time period correct(ish)... So from the outside it would look as something that was possible to achieve in the late sixties or early seventies.

But small light bulb are perfectly fine. I think you're richt about it being easier to see a light come on.
I guess I could control the standard 12V bulbs trough a transistor.

Tacho is a good idea!
Looks pretty complicated though from what I've.seen so far. V2.0?

Capacitors...
Can a capacitor manage the 2-3 second drop in voltage while cranking the engine?
How would I set that up?
I like puzzling and have a background in coding...electronics is a whole other game :)
Was hoping the buck-boost convertor I got can handle it, but haven't tested it in the car yet.

Any ideas on the circuit /parts I would need if I want to try it with basic electronics?

One other question: The fuel sensor is a variable resistor from 10-75 Ohms.
The 'sensor' would be connected to 12V...the voltage divider would bring it down to <5V for the arduino.   
 If I use a voltage divider and read the voltage with an input on the arduino, should I worry about the current?
I know there's limits to how much you can source or sink...but if I use an input to read voltage, I'm asuming current is not an issue?

 

Paul__B

Can a capacitor manage the 2-3 second drop in voltage while cranking the engine?
No.  Not of any convenient size.  That is where you do need a buck-boost regulator.

If I use a voltage divider and read the voltage with an input on the Arduino, should I worry about the current?
No.  Compared to 70 ohms, the 10k and 15k resistors draw trivial current.

MrMark

I'm a big fan of LED's... but not in my Bug :)
You've got high voltage for the nixie tubes so NE-2 or some such would seem like the obvious way to go.

Quote
Capacitors...
Can a capacitor manage the 2-3 second drop in voltage while cranking the engine?
How would I set that up?
I like puzzling and have a background in coding...electronics is a whole other game :)
Was hoping the buck-boost convertor I got can handle it, but haven't tested it in the car yet.
If the buck converter is giving you 5 volts for the Arduino directly (implying ~7 V minimum into the converter), I'd be really surprised if the battery voltage sagged enough while cranking to give you a problem.  Even if you go buck converter to the regulator input to the Arduino, I'd expect it to work with a battery sufficiently healthy to start the car.

rednas

You've got high voltage for the nixie tubes so NE-2 or some such would seem like the obvious way to go.
Good thinking :).

Quote
If the buck converter is giving you 5 volts for the Arduino directly (implying ~7 V minimum into the converter), I'd be really surprised if the battery voltage sagged enough while cranking to give you a problem.  Even if you go buck converter to the regulator input to the Arduino, I'd expect it to work with a battery sufficiently healthy to start the car.
The buck-boost is used to regulate the 12V since I need regulated 12V for the high voltage DC-DC converter.
The arduino (nano) is powered with 12V
I haven't tried it in the car with starting the enige yet. The lights always dim a bit :)
Worst case, the arduino would reboot and that wouln't even be an issue I guess...

No.  Compared to 70 ohms, the 10k and 15k resistors draw trivial current.
I was planning on using 12V and a 150 Ohm resistor.
The voltage divider consist of the 150 Ohm resistor, and the fuel sender resistor.
Voltage would be between 0 and 5V.. Current would be up to 80mA

12V  ---  150     ---|---  10R-70R   ---  GND
                            |
                            |                     
                 Arduino input

Is this possible?


Paul__B

I was planning on using 12V and a 150 Ohm resistor.
The voltage divider consist of the 150 Ohm resistor, and the fuel sender resistor.
Voltage would be between 0 and 5V.. Current would be up to 80mA

Code: [Select]
12V --- 150 ---|--- 10R-70R --- GND
               |
               |                      
            Arduino input

Is this possible?
It would appear so, but you still need a 4k7 protective resistor between that voltage divider and the Arduino input, and preferably a diode "pointing" from the Arduino pin to its VCC.

Your 150 Ohm resistor must have a rating of at least 2 W and be mounted free of the PCB.

dorvakta

For the arduino power, you should consider a cheap phone-charger for cars. The output regulated 5v and also often, they wil provide power while the engine is cranking.

Jason1976

I don't see a way to just follow a thread? I really just wanted to follow along without making a comment. But since I'm here. I have a VW bug and I would like to display oil temp, oil pressure, (CHT) cylinder head temperature, etc, etc, etc on android tablet via the Torq Pro App using an Arduino.

fall-apart-dave

Sorry to wake up an old thread, I am very interested in this. Did you ever manage to get it working well?

I'm currently on a very similar project, perhaps you might be interested?

https://forum.arduino.cc/index.php?topic=536369.0

I would very much appreciate a few pointers and advice from you! :)

Go Up