Seite 1 von 3

Arduino - Drehzahlmesser mit Schrittmotor

BeitragVerfasst: Mi 23 Jan, 2019 14:19
von andi
Straßenschrauber hat geschrieben:Wie löst Du das Problem mit der Stromversorgung?


DC DC Wandler für den Arduino, und alle Verbindungen rein oder raus mit Optokoppler.
Die Versorgung des DC DC Wandler mit StepUP und Down in Serie, damit bekommst du so ca. ab 4V bis 60V eine kostante aber galvanisch nicht getrennte Eingansspannung.
So ist die Idee.
Die notwendige Hardware aus China liegt im einstelligen € Bereich incl. Versand :-D
p.s. Ich sags ja die Probleme sind eigentlich schon alle gelöst :omg: jetzt noch durchhalten und fertigbauen :gnack:

Der Code noch nicht bereinigt, aber funktioniert schon.
Drehzahlmesser_mit_28BYJ48_10v23-01-2019.zip
(3.6 KiB) 283-mal heruntergeladen


p.s. Entwickelt mit der Arduino IDE
lg
Andi

Re: Arduino - Drehzahlmesser mit Schrittmotor

BeitragVerfasst: Mi 23 Jan, 2019 15:10
von Straßenschrauber
Klasse!
Und danke für's Teilen.

Re: Arduino - Drehzahlmesser mit Schrittmotor

BeitragVerfasst: Fr 25 Jan, 2019 11:00
von andi
Einen Fehler bei der Erkennung von zu kurzen Eingangssignalintervallen.
Kann man wahrscheinlich auch weglassen :wink:
Drehzahlmesser_mit_28BYJ48_11v25-01-2019.zip
(3.45 KiB) 223-mal heruntergeladen


und jetzt bastle ich am Tacho, aber erstmal ein Woche Urlaub
lg
Andi

p.s.
Für die Simulation verwende ich einen zweiten Uno der mir die Drehzahlimpulse liefert. das macht es einfacher.
Ganz primitiv :wink:
Drehzahlsimulation.zip
(773 Bytes) 216-mal heruntergeladen

Re: Arduino - Drehzahlmesser mit Schrittmotor

BeitragVerfasst: Do 31 Jan, 2019 19:26
von koarrl
daschauher.
ich hab da mehrere sachen angefangen, die bis dato halbfertig rumliegen.
1. zeigerinstrument (Drehzahlmesser) mit mikro-modellbauservo
Vorteil: impulsbreite codiert Drehwinkel, reine tabellensache
Nachteil: Drehwinkel wenig mehr als 180°
2. Schrittmotor
Nachteil: mein verfügbarer hatte zu grobe winkelschritte
Nachteil Nr 2: beim startup braucht er eine fahrt auf den nullanschlag, und hoffentlich verliert er nie Schritte im betrieb
3. pervers: dc-motor mit Getriebe spielt tachowelle
Vorteil: Motoren habi in der.Firma
tacho/dzm bleibt unmodifiziert
Nachteil: drehzahlrückmeldung nötig (Kälte, Reibung..)
ich mach all.das.mit cypress psoc1, geiles teil, aber leicht exotisch.

zur Zeit: andere Sorgen, muss zum TT :-)

Re: Arduino - Drehzahlmesser mit Schrittmotor

BeitragVerfasst: Mi 06 Feb, 2019 13:44
von andi
Servus, darüber hab ich mir auch Gedanken gemacht,
Nachteil Nr 2: beim startup braucht er eine fahrt auf den nullanschlag, und hoffentlich verliert er nie Schritte im betrieb

Das mit der Fahrt auf die 0 Position ist kein Problem.

Das er einen Schritt "verliert" sollte eigentlich nicht passieren.
Ich habe den Schrittmotor nicht fix an die zu erreichende Position gekoppelt.
Der Schrittmotor fährt der Position ständig nach, sprich ich hab die Berechnung der Zeigerposition unabhängig von der Position des Schrittmotors gemacht.
Heißt es könnte sein das die angezeigte Drehzahl nie stimmt, was aber wahrscheinlich völlig egal ist.
Die Tendenz ist erkennbar, und wenn die Drehzahl bezogen auf die Geschwindigkeit des Schrittmotor lange genug konstant bleibt, erreicht der Zeiger auf mal die gewünschte Position auf der Skala.
lg
Andi

Re: Arduino - Drehzahlmesser mit Schrittmotor

BeitragVerfasst: Mi 06 Feb, 2019 14:10
von koarrl
ich hatte mal einen VW Sharan, dessen Tacho & DZM waren erkennbar auch mit Schrittmotoren realisiert.
Nach jedem Akku-Wechsel sah man, wie die Zeiger erst auf den Endanschlag und dann zurück auf Null fuhren.
Vermutlich hast du recht - Schritte zu verlieren ist bei der "Belastung" durch nur einen Zeiger kein Thema.

Schade, die Modellbau-Servo-Lösung ist mechanisch kwasi fertig, aber irgendwie find ich sie jetzt schon selber krank.

Werd mal beim Pollin oder so wg. feinschrittigen, mechanisch kleinen Schrittmotoren gucken.
Aus historischen Gründen hab i nur eine Bordspannung von 5,5 .. 7,4V.

Oder eben den dauerlaufenden DZM-Wellen-Ersatzmotor andenken. Auch irgendwie krank, oder?
Wenn da nicht das geniale Feature, das Instrument selbst nicht modifizieren zu müssen, wäre...

hmmmm.

wir werden das im Frühling bei einem Bier besprechen müssen, Andi!

P.S. Phobiker machen einen "recalibrate"-Zyklus .. immer wenn Drehzahl unter sagma 1000/min fällt, mach i dann eine kurze Fahrt auf li Anschlag und zurück bis zur Standgasdrehzahl-Anzeige.
Fällt net auf und macht sicher. I mag kane mitgeschleppten Fehler, lieber öfter mal nachjustieren.
... du sagst:
"Der Schrittmotor fährt der Position ständig nach, sprich ich hab die Berechnung der Zeigerposition unabhängig von der Position des Schrittmotors gemacht."
versteh i net ganz .. es gibt ja einen fixen Faktor Schrittzahl pro angezeigte n/min.
Also: linker Anschlag ist 0, 1000/min entspricht der Skala gemäß zB 17 Schritten, 2000/min also 34 Schritte weg vom li Anschlag etc etc
die zuletzt aktuell gemachten Schritte solte man sich halt merken...
Und - i glaub, der Schrittmotor kann den Zeiger schneller drehen als der Motor eine Drehzahländerung schafft.

Bewältigbare Aufgabenstellung :-)

Re: Arduino - Drehzahlmesser mit Schrittmotor

BeitragVerfasst: Mi 06 Feb, 2019 18:18
von Richy
Also,

bei meinem Tacho verwende ich Schrittmotoren von der Firma Switec, die speziell für diese Aufgabe entwickelt worden und eben in fast jedem Auto drin sind.

Hier mal zwei Bezugsquellen:
https://www.exp-tech.de/motoren/schrittmotoren/7980/automotiver-gauge-schrittmotor-x27.168
https://www.ebay.de/itm/Schrittmotoren-SWITEC-R-Modell-310-446-3-Stueck-/222694120656

Angetrieben werden sie von einem normalen Treiber (bei mir ein L293DD).

Bevor ihr also mit Modellbauservos oder anderen kruden Dingern rumspielt, besorgt euch sowas. Schritte gehen nie verloren, ich habe beim Einschalten eine kurze Sequenz, die den Zeiger in Richtung Anschlag (links) fährt, wo er ja normal immer schon ist. Anfangs hatte ich noch eine Sequenz drinnen, die den Tacho im Stillstand (bei 0km/h) ebenfalls gegen den Anschlag fährt, aber das habe ich nie benötigt und daher wieder rausgeworfen.
Bei den käuflichen Tachos wird immer erst einmal komplett nach rechts und wieder zurück gefahren, mir gefällt das aber optisch nicht, daher habe ich es wie oben beschrieben gelöst. Natürlich klappt das nicht, wenn der Zeiger mal durch einen Spannungsausfall ziemlich weit rechts stehenbleibt, da muss man halt ein paar Mal ein- und wieder ausschalten, damit er links ankommt. Aber wie oft kommt sowas vor?

Edit: Denkt dran, dass beim Drehzahlmesser die Spannungsversorgung beim Drehen des Zündschlüssels normalerweise sofort weg ist, während der Zeiger noch nicht auf 0 steht. Also entweder eine Dauerspannungsversorgung oder einen Supercap einbauen.

Re: Arduino - Drehzahlmesser mit Schrittmotor

BeitragVerfasst: Mo 11 Feb, 2019 08:30
von andi
koarrl hat geschrieben:wir werden das im Frühling bei einem Bier besprechen müssen, Andi!

"Der Schrittmotor fährt der Position ständig nach, sprich ich hab die Berechnung der Zeigerposition unabhängig von der Position des Schrittmotors gemacht."
versteh i net ganz .. es gibt ja einen fixen Faktor Schrittzahl pro angezeigte n/min.


Dafür gibt es eine geniale Funktion :-D
RPM_stepp = map(Drehzahl, 0, scala_max, 0, max_stepps);

Ich weis das der Schrittmotor 2048 Schritte für eine Umdrehung braucht, also rechne ich mir aus wie viele Schritte ich brauche für das abfahren der Scala (max_stepps).
Dann übergebe ich noch die maximal anzuzeigende Drehzahl (scala_max) an die map Funktion und erhalte als ganzzahliges Ergebnis die Schritte die der Position der Drehzahl auf der Scala entsprechen.

Den Schrittmotor bewege ich nur in Einzelschritten und zähle dabei mit.
Ich überprüfe immer nur in welche Richtung der Schrittmotor drehen soll.

Dann Entscheide ich noch wie groß die Änderung der Drehzahl sein muss, damit ein neuer Wert an den Schrittmotor weitergegeben wird.
Weil ob 8000 U/Min oder 8050 U/Min wird egal sein ;-) 8100 lass ich schon wieder berechnen.

if (Drehzahl <= 1500) { delta = 10;}
if (Drehzahl > 1500 && Drehzahl <= 2500) {delta = 50;}
if (Drehzahl > 2500 ) {delta = 100;}
lg
Andi

Re: Arduino - Drehzahlmesser mit Schrittmotor

BeitragVerfasst: Mo 11 Feb, 2019 09:10
von schnupfhuhn
Wollts nicht noch einen Encoder hinten drauf pappen und das Ganze closed loop machen? ;)

Re: Arduino - Drehzahlmesser mit Schrittmotor

BeitragVerfasst: Mo 11 Feb, 2019 19:56
von Richy
schnupfhuhn hat geschrieben:Wollts nicht noch einen Encoder hinten drauf pappen und das Ganze closed loop machen? ;)

:-D
Man könnte sagen, dass das dann ein wenig over-engineered wäre...

Re: Arduino - Drehzahlmesser mit Schrittmotor

BeitragVerfasst: Di 12 Feb, 2019 15:09
von andi
Richy hat geschrieben:
schnupfhuhn hat geschrieben:Wollts nicht noch einen Encoder hinten drauf pappen und das Ganze closed loop machen? ;)

:-D
Man könnte sagen, dass das dann ein wenig over-engineered wäre...


+1

Ich hab den Code jetzt durchforstet und meine der is schon ganz OK, natürlich kann man alles immer ein wenig besser machen :wink:
Drehzahlmesser_mit_28BYJ48_12v12-02-2019.zip
(3.26 KiB) 198-mal heruntergeladen


Jetzt schreib ich das um auf einen Tacho.
Die Idee die km Anzeige mit einem Schrittmotor anzusteuern find ich genial :smt023 ich werd versuchen das mit einzubauen.
Mit so einem möglicherweise ?
https://www.neuhold-elektronik.at/catsh ... ts_id=6198
oder
https://www.neuhold-elektronik.at/catsh ... ts_id=7288

Re: Arduino - Drehzahlmesser mit Schrittmotor

BeitragVerfasst: Di 12 Feb, 2019 16:59
von Richy

Hahaha, das ist genau der, den ich auch verwende.

Danke, jetzt habe ich wieder eine Bezugsquelle! :-)

Hast du deinen DZM schon in der Praxis erprobt?

Re: Arduino - Drehzahlmesser mit Schrittmotor

BeitragVerfasst: Mi 13 Feb, 2019 07:36
von andi
Richy hat geschrieben:

Hahaha, das ist genau der, den ich auch verwende.

Danke, jetzt habe ich wieder eine Bezugsquelle! :-)

Hast du deinen DZM schon in der Praxis erprobt?


Beim Neuhold musst zuschlagen, wenn er was hat, der verkauft Restposten :wink:
Aber bei 45 Cent das Stück ist das ja kein Problem.

Nein ich hab den DZM noch nicht in der Praxis erprobt, ich hab ja noch gar kein Gehäuse dafür.
Ausserdem mache ich solche Sachen, weil mich interessiert wie man das umsetzen könnte, und mit der Arduino Umgebung bekommt man eine kostengünstige Entwicklungsumgebung.
Schaun wir mal, derzeit steuere ich die a) mit einem zweiten UNO an und b) mittels Hallsensor und Printbohrmaschine.
Beides funktioniert, Maximale Drehzahl war 34000 U/Min.
lg
Andi

Re: Arduino - Drehzahlmesser mit Schrittmotor

BeitragVerfasst: Mi 13 Feb, 2019 09:38
von andi

Hahaha, das ist genau der, den ich auch verwende.

Danke, jetzt habe ich wieder eine Bezugsquelle! :-)
[/quote]

Wie steuerst du den an ?
Hast du ein Datenblatt dazu ? Pinbelegung ?

Bei meinem Schrittmotor war ja gleich der Treiber dabei, damit war das Ansteuern mit dem Uno ja kein Problem, ausserdem ist dieses Sett bestens dokumentiert :wink: z.B. http://www.arduino-projekte.de/index.php?n=63 und noch 100erte andere Beispiele.

lg
Andi

Re: Arduino - Drehzahlmesser mit Schrittmotor

BeitragVerfasst: Mi 13 Feb, 2019 19:26
von Richy
andi hat geschrieben:Wie steuerst du den an ?
Hast du ein Datenblatt dazu ? Pinbelegung ?

Ich verwende einen normalen Treiber (Doppel-H-Brücke), ich glaub L493 oder so.
Datenblatt hatte ich zum Motor keinen, den hatte mir ein Kollege mal so in die Hand gedrückt, da er wusste, dass ich kleine Schrittmotoren brauche.
Pinbelegung habe ich einfach gemessen (Widerstand) und dann so lange an den Pins gewackelt, bis das gewünschte Ergebnis rauskam. So ohne weiteres finde ich das jetzt auch nicht mehr raus, das richtige Platinenlayout in eagle ist grad abgängig...

Bei meinem Schrittmotor war ja gleich der Treiber dabei, damit war das Ansteuern mit dem Uno ja kein Problem, ausserdem ist dieses Sett bestens dokumentiert :wink: z.B. http://www.arduino-projekte.de/index.php?n=63 und noch 100erte andere Beispiele.

Ich fragte eher wegen der Signalquelle für das Drehzahlsignal. Bei meinem Tacho hätte ich vermutlich nur eine FFT auf der Signalleitung oder der Spannungszuführung machen müssen, um auch gleich die Drehzahl mit rauszufischen. :ugly: Die Zündung hat so derbe gestört, dass es nicht mehr feierlich war. Daher denke ich, wenn man tatsächlich die Drehzahl haben will, muss man sich da was einfallen lassen.