-         
Ergebnis 1 bis 9 von 9

Thema: Projekt Drehzahlmesser mit Induktivem Abgriff

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    17.01.2006
    Ort
    Homberg (Efze)/Nordhessen
    Alter
    33
    Beiträge
    207

    Projekt Drehzahlmesser mit Induktivem Abgriff

    Anzeige

    Hallo zusammen,

    ich beschäftige mich gerade mit einer Schaltung für einen Drehzahlmesser bzw. anderer Module die Drehzahlabhängig in KfZ/Mopeds angesteuert werden können/sollen

    Mein derzeitiges Problem liegt noch an einer Sauberen Signalaufbereitung des Drehzahlsignals. Schaltungen für den Anschluss an die Zündspule oder den Pickup findet man ja leicht im Netz, aber ich möchte es gerne Induktiv machen (einfch ein Kabel um das Zündkabel gewickelt).

    Über eine Transistorschaltung und einen Schmitt-Trigger habe ich es schon so weit hinbekommen, dass an meinem Controller saubere Rechtecksignale ankommen. Allerdings zeigt mir mein Display nach Auswertung der Signale nur Müll an .

    Mein Programm sieht vereinfacht so aus:

    Pulsein F , Pinc , 3 , 0
    RPM = 1 / F
    RPM = RPM * 6000000

    F ist die Anzahl der 10 uS Schritte die vergeht, bis es zu einer 0->1 Flanke kommt.
    Je höher die Drehzahl, desto geringer die Zeit die zwischen zwei Impulsen vergeht, also den Kehrwert davon =1/F nehmen.
    Letztendlich noch der Umrechnungsfaktor: 6000 U/min entsprechen 100 Zündungen / sec, das heißt es vergehen 10 ms zwischen jeder Zündung, entspricht also 1.000 * 10 uS, 1/1.000 * 6.000.000 = 6000

    Ist das soweit richtig oder liegt hier schon ein grober Fehler vor?

    Mein Display ist jetzt aber leider stark am springen - mal zeigt es 50 an, mal 1100. Weiterhin verhält sich die Drehzahl antiproportional zum angezeigten wert: Höhere Drehzahl, niedrigerer wert...

    Wenn es jetzt nicht an der Software liegt (bitte prüft mal ob nicht vielleicht doch ein Denkfehler vorliegt) vermute ich dass das Eingangssignal noch zu unsauber ist. Ich vermute dass es nachschwingt und pro Zündung ggf. mehrere Impulse liefert.

    Meine Idee war jetzt die, dass man das erste eingehende Signal zählt und dann 3 ms lang alle weiteren Signale Ignoriert. Dann sollte das Nachschwingproblem gelöst sein. Nur wie umsetzen? Mit debounce geht das nicht, denn die Zündimpulse an sich sind sehr sehr kurz. Ich brauche einen Befehl der dem Controller sagt: "wenn ein Zündsignal kommt fängst du an die Zeit bis zum nächsten Signal zu zählen, ignorierst aber erst mal 3ms lang alles was kommt". Wie setze ich das in ein Programm um (Bascom)?

    Auch wenn ihr sonst noch Infos zum Thema Zündsignal induktiv abgreifen (Signalaufbereitung) habt, immer her damit
    Grüße Paul

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    17.01.2006
    Ort
    Homberg (Efze)/Nordhessen
    Alter
    33
    Beiträge
    207
    Hallo Nochmal,

    ich habe jetzt nochmal genau mit dem Oszi gemessen: Ich bekomme tatsächlich zwei Impulse pro Zündung, und zwar kommt der "Nachschwingimpuls" etwa 700 bis 1500 uS nach dem "richtigen" Zündimpuls. Ich vermute demnach dass das springende Display daraus resultiert, dass er mal die Zeit zwischen Impuls 1 und 2 misst und anzeigt (ca. 1ms) und mal die Zeit zwischen Impuls 2 und 1, also die Tatsächliche Zeit zwischen zwei Zündungen.

    Danach würde diese von mir angesprochene "Ignorationsphase" des zweiten Signals vermutlich funktionieren - wie kann man es realisieren?
    Grüße Paul

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von Crazy Harry
    Registriert seit
    15.01.2006
    Ort
    Raum Augsburg - Ulm
    Beiträge
    1.204
    das 2.signal ist negativ - stimmts ? zumindest ist das bei mir so gewesen. ich hab die schaltung von http://www.enduro-stammtisch.de/ verwendet. allerdings nach vielen versuchen und testaufbauten festgestellt, daß das ganze sehr von der anzahl der wicklungen, der dicke des zündkabels und natürlich vom motorrad selber abhängig ist. ich hab dann aufgegeben

    aber neulich ist mir ein altes elektor-buch in die hände gefallen (flohmarkt ) in dem eine solche schaltung drin ist. bei dieser wird das kabel von der cdi zur zündspule einfach durch einen schalenkern geführt.
    achsoja das buch: "Messen - was wie womit" (1991)
    Ich programmiere mit AVRCo

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    20.06.2007
    Ort
    ja
    Beiträge
    53
    Hallo,
    das Bordnetz eines KFZ (oder Moped o.ä.) ist immer fürchterlich versaut.... du hast es ja selbst gemessen.
    Erste Regel deshalb: Saubere, glatte Versorgungsspannung deiner Schaltung, Einbau in ein Metallgehäuse versteht sich von selbst.
    Zweitens: Alle Leitungen geschirmt und so kurz wie möglich (sonst Antenneneffekt).
    Drittens: Die Amplitude deines Messsignals schwingt wahrscheinlich über (Induktivität), deshalb Begrenzung durch z.B. antiparallel geschaltetete Dioden/Zenerdioden. Mit den Standard "400mW" Typen kommst du aber nicht weit .

    Zu deiner Frage mit dem "Ignorieren" von Fehlimpulsen: Zu meiner Zeit hat man noch Schaltungen "zu Fuß" entwickelt. Ich würde den Prozessor (ob er es denn kann oder nicht) nicht damit befassen, irgendwelche Signale zu interpretieren oder nicht. Stell ihm eine Hilfe zur Seite in Form eines sogenannten Monoflops.
    Der cmos Typ 4098 (oder 452 eignet sich dafür, und wenn du ein bisschen googlest, findes du auch das Datenblatt mit Berechnungsbeispielen für die zeitbestimmenden Bauteile.
    Wie gesagt, es sind alles nur Vorschläge, vielleicht kannst du ja etwas davon verwenden.

    Gruß
    m

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    17.01.2006
    Ort
    Homberg (Efze)/Nordhessen
    Alter
    33
    Beiträge
    207
    Hallo ihr zwei,

    vielen Dank für eure Posts, zunächst zu Crazy Harry: Lustigerweise habe ich es auch mit der Schaltung von Enduro-Stammtisch probiert . Ich bekomme aber kein negatives Signal raus - das hab ich nur direkt am Induktiven Abgriff durch das Nachschwingen, am Schaltungsausgang bekomme ich eine - sagen wir nicht so ganz sauberes - 5V Signal. Ich hab dahingehend etwas mit Schmitt-Triggern experimentiert und habe letztendlich festgestellt dass es eigentlich ganz einfach geht: Das beste Ergebnis erzielte ich mit Reihenschaltung aus 1M Widerstand und Z-Diode 5V die das Eingangssignal auf 5V herunterregelt, und dort kommt der Schmitt-Trigger dran an dessen Ausgang ich dann perfekte Rechtecksignale herausbekomme - nur eben noch etwas zu viele.

    Zu Magic_X: Die Versorgungsspannung für die Schaltung kommt von einer extra-Batterie die nichts mehr mit dem Bordnetz zu tun hat. Den Vorschlag mit den kurzen geschirmten Leitungen werde ich beim nächsten Versuch mal beherzigen - habe da bisher nicht drauf geachtet.
    Deinen Punkt 3 habe ich noch nicht ganz verstanden. Wie ist das mit den Antiparallel geschalteten Dioden gedacht? Warum nicht Standard 400mW Typen?

    Die Idee mit dem 4098 ist sehr gut. Ich habe glaubich sogar noch welche davon in meiner IC-Kiste liegen, werde das gleich mal ausprobieren. Wenngleich es auch wieder mehr Platz braucht.
    Ich habe es mittlerweile auch hinbekommen die Software entsprechend anzupassen, indem ich einfach gesagt habe "Wenn Eingangssignal > 300 (*10µS=3ms) dann ausgabe an Display. Voila zeigte er mir keine Unrealistischen Werte mehr an. Dennoch stimme ich dir zu Magic_X, dass man es lieber Hardwareseitig lösen sollte - das werde ich im laufe des Tages mal versuchen.
    Grüße Paul

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.08.2006
    Ort
    Budapest
    Alter
    31
    Beiträge
    563
    Die einfache Softwarevariante wäre, falls du die Signale über ein Interrupteingang empfängst: erstes Signal -- > Interrupt --> Zeitmessung starten --> Interrupts für 1500uS blockieren --> Nachschwingen löst keine Interrupts aus --> Interruptflags löschen --> Interrupts wieder erlauben --> nächster Signal löst Interrupt aus --> Zeit auslesen, und von vorn anfangen

    Bascom kann ich nicht, aber in C kann ich dir ein kurzes Beispiel schicken, falls du es brauchst.

    MfG

    pongi

  7. #7
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    65
    Beiträge
    12.469
    ich möchte es gerne Induktiv machen (einfch ein Kabel um das Zündkabel gewickelt)
    Wenn es um das Verständnis der Funktionsweise geht: Ein Messdraht der um ein Kabel mit einem Signal gewickelt ist nimmt das Signal nicht induktiv auf. Das Magnetfeld des Signals geht Ringförmig um das Kabel, parallel zum Messdraht. Die Kopplung ist damit kapazitiv.

    Ein geschirmtes Kabel nehmen und die Kopplung zum Zündkabel nicht größer als nötig machen sollte eigentlich ausreichen. Als weitere Maßnahme kann man das Signal noch mit einem Abschlusswiderstand dämpfen.

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Magge2k
    Registriert seit
    27.10.2004
    Beiträge
    163
    Hiho,

    schau mal auf http://www.walktronics.de/html/led-drehzahlmesser.html vorbei.

    Der hat sich auch so einen Drehzahlmesser gebaut.

    Gruß

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von Crazy Harry
    Registriert seit
    15.01.2006
    Ort
    Raum Augsburg - Ulm
    Beiträge
    1.204
    Zitat Zitat von Powell
    Hallo ihr zwei,

    vielen Dank für eure Posts, zunächst zu Crazy Harry: Lustigerweise habe ich es auch mit der Schaltung von Enduro-Stammtisch probiert . Ich bekomme aber kein negatives Signal raus - das hab ich nur direkt am Induktiven Abgriff durch das Nachschwingen, am Schaltungsausgang bekomme ich eine - sagen wir nicht so ganz sauberes - 5V Signal. Ich hab dahingehend etwas mit Schmitt-Triggern experimentiert und habe letztendlich festgestellt dass es eigentlich ganz einfach geht: Das beste Ergebnis erzielte ich mit Reihenschaltung aus 1M Widerstand und Z-Diode 5V die das Eingangssignal auf 5V herunterregelt, und dort kommt der Schmitt-Trigger dran an dessen Ausgang ich dann perfekte Rechtecksignale herausbekomme - nur eben noch etwas zu viele.
    wenn du dir die schaltung vom enduro-stammtisch anschaust und verstehst, was der da macht .... der triggereingang des 555 wird "vorgespannt" über die beiden R's auf einen pegel knapp über der triggerschwelle. der impuls von der spule (auch wenns keine ist ) senkt die spannung kurz ab und das teil triggert. wenn du die widerstände durch einen trimmer ersetzt, kannst du das recht genau einstellen. aber wie gesagt: das ganze ist sehr vom zündkabel, bike, ... abhängig.

    ich hab auch schon gelesen, daß manche einfach einen magnetfeldsensor aufs kabel klemmen

    ich bin inzwischen dazu übergegangen doch das unterbrecherkabel (also das kabel vom unterbrecher bzw. der cdi zur zündspule) anzuzapfen und über eine einfache schaltung an den µC zu legen. das funktioniert bisher ganz gut.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken drehzahl.jpg  
    Ich programmiere mit AVRCo

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •