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...
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
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?
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
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
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.
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?
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
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
.. 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 ...
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?
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).
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
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.
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.
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
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.
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
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
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.
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
.. 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.
... sorry, man braucht noch eine 3. Routine vom Timerereignis, bei dem
eine '0' ins Erfassungsschiebregister geschoben wird, damits sich auch
abbaut. (1 ASM Befehl)
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
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
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
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
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.
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
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