Forum: Mikrocontroller und Digitale Elektronik Digitaler Drehzahlmesser


von Roland (Gast)


Lesenswert?

Hallo,

ihr kennt doch sicherlich diese schöne Seite

http://www.digitaler-drehzahlmesser.de/

Da wird eid Drehzahlmesser vorgestellt der von der Zündspule ein Signal 
bekommt und dann über einen LED Treiber 40LED´s ansteuert.

Hat das jemand schonmal über einen MC versucht? Ist doch sicherlich auch 
machbar...

von Jan E. (Firma: Austriamicrosystems AG) (jankey)


Lesenswert?

versuchs mal mit der "suche Funktion"

von Roland (Gast)


Lesenswert?

Naja, die suche habe ich verwendet, aber die hat soetwas nicht 
ausgespuckt

von Michael U. (amiga)


Lesenswert?

Hallo,

das hätte dann welchen gravierenden Vorteil?
Bei der Anzahl LEDS sind Portexpander o.ä. sowieso nötig, wegen der 
Anzahl Pins und der zulässigen Ströme, wenn alles leuchtet.

Es ändert sich also eigentlich nichts, nur ein Programm muß man nun noch 
dazu schreiben.

La Palome spielen muß das Ding ja vermutlich nicht beim Leuchten, daß 
würde dann allerdings eher für einen C sprechen. ;-)

Gruß aus Berlin
Michael

von Christoph (Gast)


Lesenswert?

Hallo,

würde mich auch dafür Interessieren.

Wie groß wäre der Aufwand es auf einem µC zu machen?

Das Eingangssignal könnte man ja übernehmen und so einspeissen wie den 
LED-Treiber.

Es geht hir nicht um die Billigere Lösung, sondern um die experiementier 
freudigkeit.

Würde sich noch jemand dafür interessieren?

von holger (Gast)


Lesenswert?

>Würde sich noch jemand dafür interessieren?

Ja, ich. Gib mir deinen Code und die Schaltung !

von Stefan O. (stefano)


Lesenswert?

Ja, ich habe das schon mal versucht ....

Wenn du nach "Rennbuggy" oder sowas suchst muesstest du den 
entsprechenden Thread eigentlich finden.

Das mir zugrundeliegende Signal schaut so aus --> 
http://users.loop0.org/steve/BUGGY/Drehzahl_6000_noR.jpg

Eine alte Version der Box sah so aus --> 
http://users.loop0.org/steve/BUGGY/DSC00032.JPG
Hier mit Kingbright 7Seg. zur Ganganzeige und Schaltblitz mit Led Array 
--> http://users.loop0.org/steve/BUGGY/DSC00069.JPG

In der ersten Version hab ich das Signal ueber einen Spannungsteiler auf 
max 5V Pegel gebracht, die negativen Anteile wurden mit einer Diode 
gegen GND kurzgeschlossen. Dann wurde per ADC gesamplet. Der Rest war 
Software (Nulldurchgang, Periodendauer messen --> Frequenz --> Drehzahl)

Mittlerweile entkopple ich das Signal hochohmig mit einem 
Impedanzwanderl aus OPV's und erkenne den Nulldurchgang mit einem 
"Zero-crossing-detector" ebenfalls aus OPV's aufgebaut.
Der Ausgang des "Zero-crossing-detector" liegt an einem Interupt Pin des 
AVR's. Der Rest ist wieder Software.


lg Stefan

von Christoph (Gast)


Lesenswert?

Hi Stefan,

hab jetzt eine ewigkeit gesucht, aber nichts gefunden. Hast du einen 
Link?

von Stefan O. (stefano)


Lesenswert?


von S. W. (sebastian-w)


Angehängte Dateien:

Lesenswert?

Hallo,

ich inetressiere mich für den DZM auf µC Basis... Bin neu in der
Elektrik und µC Welt, also bitte nicht gleich steinigen wenn ich etwas
falsch habe! Den Schaltplan habe ich soweit, bis auf 2 kleinigkeiten.

- Signal vom IC2 an den Mega32, da bin ich mir nicht sicher ob ich den
direkt an einem Port anschliessen kann oder noch was dazwischen muss

- Spannung vom MAX6957 auf die LED´s konnte jetzt nicht genau aus dem
Datenblatt erkennen wie das mit dem ISET PIN funktioniert

LG
Sebastian

von Gast (Gast)


Lesenswert?

Am besten du schmeisst den Entwurf gleich wieder in die Mülltone! Mehr 
ist das nicht wert

von Jankey (Gast)


Lesenswert?

naja das is der Quereinsteiger Effekt, Im endeffekt das gleiche wie die 
Leute die an der Tanke behaupten man soll in seine Lederschuhe pinkeln 
weil unsere Großväter das schon an der Front so gemacht haben um die 
schuhe passend zu kriegen ...

Ein unwissender kopiert von einem ebenfalls unwissenden der jedoch 
vorgibt wissend zu sein, naja er weiss es halt ned besser.

von S. W. (sebastian-w)


Lesenswert?

Ok, und was soll das nun bedeuten?

Was ist denn nun an dem Entwurf so verkehrt?

Kann ich nun das Signal direkt an den Mega32 anschliessen?

Und wie ist das mit dem ISET PIN?

von Stefan O. (stefano)


Lesenswert?

Jankey wrote:

> Ein unwissender kopiert von einem ebenfalls unwissenden der jedoch
> vorgibt wissend zu sein,[CUT]

Ich hoffe du willst damit nicht auf mich anspielen. Wie sich das mit dem 
"in den Schuh pissen" verhaelt kann ich nicht sagen, jedoch weis ich mit 
Sicherheit das meine Schaltung funktioniert.

lg Stefan

von Jankey (Gast)


Lesenswert?

das mit dem schuhe pissn is eine Szene aus "Manta Manta" und soll eine 
Sarkastische Laudatio auf die Autobastler sein die denken 12V 
Autotechnik hat irgendwas mit Microcontrollern gemeinsam hat.

aber nunmal sachlich, ich will bestimmt keinen hier drinnen beleidigen, 
aber ich habe vor einigen jahren die schaltung von 
digitaler-drehzahlmesser.de nachgebaut und sie is alles andere als 
"genau" und wenn man schon einen uC für 1€ zur Verfügung hat, kann man 
das Signal auch gleich Digital mit einem Zähler auswerten is VIEL VIEL 
VIEL genauer als diese Analogbeschaltung die schon mindestens 1000 mal 
kopiert wurde.

lg

von Tim (Gast)


Lesenswert?

.. mit einem AVR ist das kein Problem und läßst sich problemlos sogar 
mit einem billigen 2313 realisieren. Dieser bieten 18 IO's Pins, 
abzüglich 2 für den Quarz (Anzeige/Zählerstand soll ja genau sein), 1 
für ResetPin-Beschaltung und 1 für das Unterbrechersignal (INT0/1) ... 
verbleiben mögliche 14 Ausgänge für die LED-Ansteuerung. Man verschaltet 
nun z.B. 49 LED's zu einer 7 x 7 Matrix und steuert diese im 
Multiplexbetrieb mit hoher Wiederholungsrate an ...

von S. W. (sebastian-w)


Angehängte Dateien:

Lesenswert?

Ok, die frage ist gerade wie genau es sein muss! Bei 40 LED´s sind das
bei meinen Bedürfnissen je LED 200 Umdrehungen. Also kommt es doch nicht
so extrem darauf an wie genau es sein muss. Ein gewisser Toleranzbereich
ist da halt noch drin.

Habt ihr hierzu noch einwände?

von Gast (Gast)


Lesenswert?

Ich habe das bei meinem Uralt-Diesel so gemacht:

Per Lichtschranke zähle ich die Umdrehungen des Nockenwellenzahnrades. 
Vorteile:

1. Ich brauche mir wegen zu hohen Spannungen / negativen Spannungen vom 
Zündkabel keine Sorgen machen (hat ein Diesel eh nicht)

2. Die Messung ist so genauer. Die vielfach favorisierte Methode der 
W-Klemme der LiMa (sofern man diese Klemme hat) hat den entscheidenden 
Nachteil, das immer Schlupf zwischen Nockenwelle / Lima ist (bei 
Keilriemen) => Messung ungenau.

Achja, das Nockenwellenrad an meiner Kiste hat 13 Löcher. Macht also pro 
Umdrehung 6,5 Impulse (bzw. 13 wenn man beide Flanken zählt).

von S. W. (sebastian-w)


Lesenswert?

Ich habe diese Möglichkeit allerdings nicht! Habe einen Motor der über 
Steuerkette läuft und die läuft mit in dem Ölsystem. Also wird das um 
einiges komplizierter. Ich muss also auf die Zündspule zurückgreifen.

LG
Sebastian

von chris (Gast)


Lesenswert?

Und wieso nicht über den Bus auslesen ?

von S. W. (sebastian-w)


Lesenswert?

Du meinst am Fahrzeug direkt? Hab ich nichts zum auslesen... Kein 
Steuergerät, nichts in der art vorhanden... Primitiveste art einen Motor 
zum laufen zu bringen, das einzige was an dem Motor Elektrisch ist, ist 
die Zündung über einen Pickup zur Zündspule dann noch die 
Kaltstartautomatik für den Vergaser und der Lüfter mit Sensor für den 
Kühler. Motortechnisch ist da nicht mehr Elektrik dran.

von chris (Gast)


Lesenswert?

Ok,
um das mit einem Micro zu machen, sensor, egal wie, das lassen wir mal
hingestellt, aber digital, zu einem HW Zählereingang, dann kann man
die Leds Multiplexen, also für 20 Leds braucht man 5 Pins, ein nicht so
großer uC (pins) kann das, im Pic bereich würde ich den 12F505 nehmen,
ein AVR kostet nur 3x soviel, geht ob es +- 1 Euro mehr kostet, das
glaube ich ist hier egal.

von S. W. (sebastian-w)


Lesenswert?

Ich hab den Mega32 genommen, weil ich ihn gerade hier rumfliegen habe...

Inzwischen ahbe ich auch noch ein paar andere gefunden

- Mega8 16PU
- AT Tiny 2313 20PU
- AT Meaga 16-16PU
- AT Mega 8535-16PU


ich habe die alle mal bestellt, als ich dachte ich fange mal mit µC an. 
Bisher habe ich nohc keinen davon benutzt

von Tim (Gast)


Lesenswert?

wo ist denn jetzt noch das Problem ? ... mit einem 2313 belaufen sich 
die Bauteilkosten ohne LED's auf max. 5 Euro. Neben dem uC braucht man 
nur noch einen Spannungsregler, Quarz und ein paar R's und C's .. passt 
locker in eine Streichholzschachtel. Die LED-Matrix kann man ohne 
Vorwiderstände direkt an den AVR hängen, da diese ja nur einige ms 
aktiviert sind und die max. Verlustleistung des AVR dadurch nicht 
überschritten wird.
Gff. kann man auch noch den Quarz einsparen, wenn man den internen 
RC-Oszillator von Hand abgleicht. Man hat dann 16 I/O frei und kann dann 
sogar 64 LED's ansteuern (8 x 8 Matrix).
Die getakteten 12V von der Zündspule kann man über ein popliges RC-Glied 
bedenkenlos direkt auf den INT-Eingang des AVRs legen, auch wenn die 
Spannungspitzen vor dem RC-Glied durchaus 200-400V betragen können. 
Solange man R möglichst groß und C möglichst klein wählt (Imax<<1mA) 
passiert dem AVR da garantiert nichts, da seine internen ESD-Dioden jede 
überschüssige Spannung gegen VDD bzw. VSS ableiten. Die AVRs wurden in 
der Produktion ja einem ESD-Test unterzogen, wo durchaus einige KV auf 
die Pins einwirken. Wer dennoch Angst hat kann ja noch eine 4.7V Z-Diode 
zwischen dem R & C gegen Masse schalten, dann kann auch ohne ESD-Schutz 
nichts passieren.
Der Hardwareaufwand der Schaltung ist wirklich minimal, allerdings 
steckt die Funktionalität in der Software und die muß erstmal 
programmiert werden.
In Assembler braucht man für die Software schätzungsweise ca. 1 bis max. 
1.5kB Speicher, ein 2313 reicht also dicke und alle anderen AVR's wären 
Verschwendung.
An der Anzahl der LED's würde ich nicht sparen, der Softwareaufwand ist 
im Grunde der selbe, jedoch ist der visuelle Effekt für die paar Cent 
mehr bedeutend besser. 64 LED's bzw. eine 8 x 8 Matrix zu wählen ist für 
den Multiplexbetrieb auch viel einfacher zu programmieren, da alle Bits 
eines Byte verwendet werden.

... dann mal ran an die Software, einfacher und billiger gehts wirklich 
nicht.

von tracer (Gast)


Lesenswert?

endlich mal eine antwort mit der man auch ewtas anfangen kann und sich 
nicht alle immer die mäuler zerreißen wenn man mal ein paar fragen 
stellt. ich bin auch anfänger und habe es grad am anfang sehr schwer 
geahbt einen einstieg zu finden. da finde ich es toll wenn man mal ein 
paar leute hat die sich nicht gleich aufregen sondern wo man als 
anfänger betreut wird und motiviert. leider artet es in diesem forum 
öfter mal aus dass man am ende sich gegenseitig unhöflichkeiten an den 
kopf wirft. dass es auch anders geht zeigt der thread aus dem 
roboterforum http://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=11488

von sum (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe gerade auch einen DZM bauen dürfen. Hier ist das Ergebnis als 
Bild. Im nächsten Beitrag gibt es die Dateien (Eagle sch, brd, C Code).

Aufgabe war es, einen DZM zu bauen, der A) einfach ist, B) sicher im 
Betrieb und C) auch bei Sonnenlicht ablesbar ist aber im Dunkeln nicht 
die Nachtsichtfähigkeit beeinträchtigt (autom. Dimmen). Deswegen die 
vielen Transistoren zum ordentlichen Versorgen der LEDs.
Achtung: Die Schaltung nimmt etwa 700mA auf, bei zu großer 
Versorgungsspannung raucht der Spannungsregler ab. Es ist passende 
Kühlung vorzusehen oder die Leistung zu reduzieren.

Schoene Gruesse

von sum (Gast)


Angehängte Dateien:

Lesenswert?

Drehzahlmesser Dateien.
Unter GPLv2 veröffentlicht.

sum

von tracer (Gast)


Lesenswert?

gplv2?? was soll das denn sein?

von S. W. (sebastian-w)


Angehängte Dateien:

Lesenswert?

Hi sum,

der DZM gefällt mir. Allerdings möchte ich das ja nicht auf einer 
7-Segment anzeige sondern auf LED. So wie oben im Schaltplan gezeigt. Im 
Anhang noch der aktuelle Schaltplan.

von sum (Gast)


Lesenswert?

hallo sebastian,

ob du 7seg anzeigen einbaust oder leds in einer reihe anordenst, ist 
ziemlich egal. du musst dann nur entsprechend die framebuffer variablen 
und werte verändern... ließe sich aber sicherlich lösen. Das Prinzip 
müsste man aber beibehalten, mit dem Multiplexing, dann brauchst du 
keinen so riesigen controller und nicht soviele leitungen.

sum

von Tim (Gast)


Lesenswert?

.. nochmal zur Software für die LED-Anzeige.

Die Digital- bzw. Ziffernanzeige generiert ja einen digitalen 
Zählerstand (z.B. irgendwo im Bereich von 0..255) und rechnet diesen um 
in den eigendlich angezeigten Wert ... oder der Zählerstand entspricht 
schon der Anzeige (wohl ein rückwärtszählender Zähler, der bei jedem 
Zündimpuls ausgelesen und neu gestartet wird). Diesen 'Wert' in eine 
Leuchtbandfunktion umzurechnen ist zwar möglich aber zu umständlich und 
braucht auch mehr Sourcecode.

Viel einfacher ist es, wenn man den 'Zähler'  von vorne herrein durch 
ein virtuelles Schieberegister im Speicher nachbildet, deren Inhalt sich 
innerhalb  der 'Zählperiode'  von Vollausschlag taktgesteuert abbaut 
(einfache Schiebebefehle). Bei jedem Zündimpuls wird nun der aktuelle 
'Ausschlag' in ein zweites gleichartiges Schieberegister kopiert, 
welches die eigendliche Anzeige repräsentiert. Anschließend wird das 
Schieberegister wieder auf Vollausschlag gesetzt und baut sich bis zum 
nächsten Zündimpuls wieder ab. Je kürzer also das Zündintervall 
(=Drehzahl), desto höher der Ausschlag.

Man benötigt also 2 Programmroutinen:

INT0 Routine:

1) Schiebetakt stoppen
2) Inhalt vom Erfassungs-Schieberegister ins Ausgabe-Schieberegister 
kopieren
3) Erfassungs-Schieberegister auf Vollausschlag setzen
4) Schiebetakt wieder einschalten

(ca. 10 ASM-Befehle)

Hauptroutine:

Ausgabe-Schiebregister fortlaufend auslesen und gemutiplexed an die 
LED's ausgeben.

Mit dem 2313 würden wir bei 64 LED (64 stufiges Schieberegister, 8 x 8 
Matix) exakt den vorhanden SRAM belegen, also kein Problem.
In dem EEprom speichern wir nun noch die Kalibrierungsdaten für den 
RC-Oszillator, damits genau anzeigt.

Denke in Assembler würde man diese Funktionen mit ein paar 100Byte 
Sourcecode hinbekommen.

von Tim (Gast)


Lesenswert?

... sorry, man braucht noch eine 3. Routine vom Timerereignis, bei dem 
eine '0' ins Erfassungsschiebregister geschoben wird, damits sich auch 
abbaut. (1 ASM Befehl)

von S. W. (sebastian-w)


Lesenswert?

Hallo sum,

ich bin nicht gerade der Schaltplan king.... Aber könntest du mir deinen 
Schaltplan auf 40 LED´s abändern?

von Jankey (Gast)


Lesenswert?


von sum (Gast)


Lesenswert?

Hi Sebastian,

ich habe derzeit 4x8=32 LEDs dran, das auf 40 Zu erweitern heisst blos, 
eine weitere Stelle dranbappen. Alternativ kannst du natürlich auch 
einfach die ganzen 7Seg-Teile rausnehmen und nur LEDs einbauen.
Leider kann ich ihn dir nicht abändern, sei nicht so faul, das ist nicht 
schwer. eagle gibts kostenlos im netz fuer die groesse.

sum

von S. W. (sebastian-w)


Lesenswert?

Hi sum,

ist das gewollt, dass in deiner dzm.zip bereitgestellt hast. Bei den 
Eagle files die Transistoren übereinander liegen? Jeweils ein BC327 und 
ein 2N3906. Das iretiert mich ein wenig

von sum (Gast)


Lesenswert?

Hi Sebastian,

ja, das wollte ich so, die sind im Layout auch "übereinander", so dass 
du immer nur einen bestücken brauchst/kannst. Du kannst dir aber 
aussuchen, welchen du nehmen willst - ich hatte halt festgestellt, dass 
ich die falschen Transistoren auf dem Tisch zu liegen hatte, und dann 
noch die zweiten ins layout mitreingefrickelt.
Mein Tipp: Nimm die BC337 und BC327, die können mehr saft als die 
2N-typen.

Grüße,
 sum

von sum (Gast)


Lesenswert?

Hallo,

ich habe heute Probleme gehabt, das Programm mit dem gcc-avr-4.3.x zu 
kompilieren. Mit dem 4.1er hat es dann einwandfrei geklappt, auch wenn 
es etwas größer wurde, evtl den Boot-prozess optimieren. Alternativ 
(müsste) 4.2 gehen.

grüße, sum

von Hans-juergen R. (obertueftler)


Lesenswert?

hallo   ich suche eine schaltung-platine-oder komplett für einen 
drehzahlmesser mit 7-segment anzeige. ich benötige den drehzahlmesser 
für eine dreh und fräsmaschine zur überwachung der spindeldrehzahl. der 
messbereich sollte schon wenn möglich bei 10 umin beginnen, da bei der 
fräse die kleinste drehzahl 12 umin beträgt.würde mich freuen wenn mir 
jemand helfen könnte. eigentlich suche ich ja schon fast 4 jahre nach 
sowas-mit einigen unterbrechungen. danke im voraus für eure bemühungen.

von Hans-juergen R. (obertueftler)


Lesenswert?

hallo ich wäre an der drehzahlmesserschaltung interessiert. könntest du 
mir die schaltung eventuell übermitteln. ich habe schon im forum 
angefragt, bis jetzt ohne ergebnis. was ist der kleinste messbare 
bereich.ich möchte die drehzahl von drehmaschinenspindel überwachen.die 
aufnahme des signals ev. mit lichtschranke oder ähnlichem. danke

von White Rabbit (Gast)


Lesenswert?

Hallo Sum.
Liest du noch mit?
Ich habe in deinem Beitrag
Beitrag "Re: Digitaler Drehzahlmesser"
von deinem DZM gelesen und interessiere mich sehr füe eine Bauteilliste 
bzw einen Schaltplan. Hast du die Dateien noch bei dir rumfliegen? Wäre 
super!

Alternativ fände ich auch die Lösung von Jankey sehr gut. Auch hier 
würde ich mich über Bauteilliste/Schaltplan freuen.
Danke!
White Rabbit

von White Rabbit (Gast)


Lesenswert?

push

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.