ich versuche seit mehreren Monaten meinen alten VW Golf 4 Tacho am Arduino anzuschließen.
Ich habe das Projekt dann verworfen, weils nicht funktioniert hat.
Jetzt habe ich dank dieses Videos neue Hoffnung:
Habe den Ersteller schon nach dem Code gefragt aber noch keine Antwort.
Mein Stepper im Tacho hat vier Pins.
Ich habe einfach mal folgendes probiert und dabei alle Pins mal durchgetauscht:
#include <Stepper.h>
// change this to the number of steps on your motor
#define STEPS 100
// create an instance of the stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to
Stepper stepper(STEPS, 8, 9, 10, 11);
// the previous reading from the analog input
int previous = 0;
void setup()
{
// set the speed of the motor to 30 RPMs
stepper.setSpeed(30);
}
void loop()
{
// get the sensor value
int val = analogRead(0);
// move a number of steps equal to the change in the
// sensor reading
stepper.step(val - previous);
// remember the previous value of the sensor
previous = val;
}
Ich kam zu dem Ergebnis, dass sich entweder nichts tut, es rattert oder sich der Zeiger zufällig durch die gegend bewegt und dabei rattert (was er nicht sollte).
Habt ihr Erfahrung oder eine Idee wie ich das am besten umsetze?
In dem youtube Video ohne H-Brücke direkt am Arduino finde ich schon mutig
Auch wenn es sehr kleine Schrittmotoren sind es sind Spulen drin die Induktionspannungen produzieren.
Ich denke du hast nicht alle Varianten der Anschlussmöglichkeiten versucht.
Der Motor hat vier Anschlüsse. Es sind zwei Spulen drin.
Du kannst mit einem Ohmmeter schon mal messen welche Pins zu einer Spule passen.
Bei der Stepper Lib, Stepper(steps, pin1, pin2, pin3, pin4)
Pin1 und pin2 ist eine Spule - pin3 und pin4 die zweite.
Jetzt weist du nicht ob die Polarität stimmt, also Pin1 und Pin2 tauschen.
Das gleiche wäre zu prüfen mit pin3 und pin4 .
Man kann auch eine Led an die Pins der Schrittmotor anbringen, den Motor dann mit der Hand drehen um die Belegung und Polarität rauszufinden.
rudirabbit:
Ich denke du hast nicht alle Varianten der Anschlussmöglichkeiten versucht.
Vielleicht hattest du recht Danke
Habe nun folgenden Code um den Zeiger von 0 auf 260km/h zu bewegen:
#include <Stepper.h>
/* STEPS muss auf die Anzahl der Stepps des verwendeten Motors angepasst werden */
#define STEPS 130
Stepper stepper(STEPS, 8, 9, 10, 11);
void setup()
{
stepper.setSpeed(150); // setzt die Geschwindigkeit des Motors in Umdrehungen pro Minute
}
void loop()
{
stepper.step(526); // 100 Steps => 50km/h
delay(5000);
stepper.step(-526); // 100 Steps => 50km/h
delay(5000);
}
Woher weiß ich wieviele STEPS ich angeben soll und welche Geschwindigkeit ist die richtige?
Bei mehr als 130 STEPS hängt er öfters mal bei ca. 100 und 160km/h.
Bei höherer oder niedriger Geschwindigkeit rattert er lauter.
Rattern tut er aber generell... Das macht mein im Auto verbauter Tacho nicht.
Eine Idee, was ich anpassen muss? Auf dem Stepper steht: X15-589 214^03.9
JulHa:
Bei höherer oder niedriger Geschwindigkeit rattert er lauter.
Im Datenblatt steht: high speed: >600∞/s
rudirabbit:
In dem youtube Video ohne H-Brücke direkt am Arduino finde ich schon mutig
Auch wenn es sehr kleine Schrittmotoren sind es sind Spulen drin die Induktionspannungen produzieren.
Dort steht auch noch folgendes: can be directly driven by a μ-controller
"directly" sehe ich als "ohne H-Brücke". Kann diese bzw. können sonstige Freilaufdioden integriert sein?
Falls du noch den Rest des Tacho hast kannst du die Anzeigen auch per CAN Bus ansteuern, was beim Polo funktioniert sollte auch beim Golf ähnlichem Baujahres möglich sein.
Bei Interesse schau dir mal die Projektseite von Leon an: