Forum: Mikrocontroller und Digitale Elektronik Drehzahlmessung Fahrzeug


von Freq (Gast)


Lesenswert?

Hallo,

ich habe ein seltsames Problem.
Ich will mit einem Atmega644p-20pu die Drehzahl eines Motorrades messen.
Ich benutze dazu den Capture Mode von einem Portpin (nicht icp).

Zuhause auf dem Tisch funktioniert es mit einem Frequenzgenerator aus 
der Soundkarte.

Am Zweirad habe ich die Leitung vom Steuergerät zum Tacho abgegriffen. 
Dort liegt ein Rechtecksignal an. Sobald ich diese Leitung mit dem 
Portpin verbinde, hängt sich der µC auf. Habe die Spannung auf dieser 
Leitung gemessen - es lagen ca 6.4 v an. Also habe ich einen 
Spannungsteiler vorgeschaltet, so dass nun ca 3.2v anliegen.

Trotzdem bleibt der µC stehen, sobald die Leitung dran ist.
Masse ist mit dem Fahrzeug verbunden.

Hat jemand eine Idee?

Danke!

von Joachim (Gast)


Lesenswert?

Also bei meinem kürzlich gebauten Drehzahlmesser habe ich das Zündsignal 
nicht direkt an den AVR gelegt. Da sind ja ganz schlimm Störungen drauf 
und so. Hast du ein Scope zur Hand? Wenn ja wirst du sehen, was ich 
meine. Also nimm einen Optokoppler und schalte noch eine Z-Diode davor. 
Bei mir funktioniert das super so.
Nebenbei: ich weiß nicht, ab der CTC-Mode dafür soo geeignet ist. Das 
mag sicher funktionieren, aber ich hab bei mir immer die Zeit zwischen 
zwei Impulsen gemessen und gut.
Aber versuchs schaltungstechnisch mal mit nem Optokoppler und ner 
Z-Diode...

MfG,
Joachim

von Freq (Gast)


Lesenswert?

Hallo Joachim,

danke für deine Antwort.
Ich greife ja nicht direkt an der Zündspule, sondern an einem Ausgang 
vom Steuergerät. Laut meiner Info kommt da schon ein aufbereitetes 
Rechtecksignal raus, das wird nur noch zum Tacho für die Anzeige 
geleitet.

Ich kann mir einfach keinen Reim draus machen, warum es sich aufhängt.
Einen Scope habe ich leider nicht :(

Gruß
Alex

von Joachim (Gast)


Lesenswert?

Ja, das mit dem Abgriff des Signals meine ich auch so. Das "Zündsignal" 
ist für mich das, was aus dem Steuergerät rauskommt :) .
Das war bei mir auch nen Rechteck-Signal (was anderes macht ja auch 
nicht viel Sinn ;) ... ). Mein Signal hatte auch einen "normalen" Pegel 
von ca. 0 - 14,5 V. Da war aber auch noch ein böser Nadelimpuls von rund 
70V drauf. Das könnte dir der AVR übel nehmen, auch mit Spannungsteiler.
Ich würd es erstmal mit meinem Vorschlag von oben probieren. Den 
Vorwiderstand für die LED des Optokopplers kannst du auf zwei 
Widerstände aufteilen, wobei der eine dann auch als Strombegrenzung für 
die Z-Diode dient. Wie gesagt, bei mir gehts. Mal davon abgesehen 
solltest du so eine Beschaltung als "Must-Have" bei so einem Projekt 
ansehen!!
Auch die Schaltung des AVRs sollte solide sein, mit Blockkondensatoren, 
stabiler Spannung und so...

MfG,
Joachim

von Freq (Gast)


Lesenswert?

Hallo Joachim,

ich bin in der Hinsicht eher ein Anfänger, könntest du mir eine grobe 
Skizze machen, wie ich das mit dem Optokoppler beschalten müsste?

Vielen Dank!

von Axel K. (axel)


Lesenswert?

Hi!

Bevor du jetzt groß was bastelst schalte einfach mal in Serie einen 50K 
Widerstand zwischen Steuergerät Ausgang und PortPin. Den Spannungsteiler 
kannst du dann weglassen.

gruss Axel

von Joachim (Gast)


Lesenswert?

Hmmm, also fühl dich jetzt nicht angemacht oder so, aber das sind 
Grundlagen. Und um die zu lernen sollte der Interessierte eigentlich 
selbst zuständig sein.
Aber soviel: das Ohmsche Gesetz ist bekannt. In einem Optokoppler ist 
einfach eine LED drin. die Braucht einen Vorwiderstand (auch bekannt). 
Mit dem zulässigen Strom, der im Datenblatt angegeben ist, kannst du den 
Vorwiderstand berechnen.
Nun die Z-Diode: wie du funktioniert kannst du nachlesen. Im Groben 
begrenzt sie bei "normalem" Gebrauch erstmal die Spannung. Aber damit 
die nicht abraucht braucht die auch nen Vorwiderstand (steht auch 
überall). Diese Z-Diode benutze ich, um die LED im Optokoppler zu 
schützen. Das hat mit dem AVR erstmal noch nix zu zun. Und am "Ausgang" 
des Optokopplers hängt dann der Controller. Der kann dann da auch direkt 
angeklemmt werden (mit Pullup oder so...)
Ich mach mal ne grobe Skizze, aber lies auch ruhig n bissl selbst nach 
;)...

MfG

von Freq (Gast)


Lesenswert?

Joachim: Vielen Dank.

Axel: Aber der Spannungsteiler ist zwingend notwendig, glaube ich. Auf 
der Leitung sind ja über 6v drauf, das ist doch zu viel für den Portpin, 
oder?

von Joachim (Gast)


Angehängte Dateien:

Lesenswert?

So, die Skizze...
@Axel:
stimmt natürlich grundsätzliche. Allerdings sind die 20-100 mA, die der 
Optokoppler ausmachen würde, nicht sooo wild, wenn man bedenkt, was an 
Leistung aus dem "Steuergerät" rauskommen muß, um die Zündspulen zu 
treiben... ;)

von Freq (Gast)


Lesenswert?

Hi Joachim,

ich glaube du verstehst es immernoch falshc. Ich greife nicht die 
Leitung vom Steuergerät zu den Zündspulen ab, sondern die reine 
Drehzahl-Leitung. Die geht nur zum Cockpitinstrument :)

von Axel K. (axel)


Lesenswert?

Der Atmega hat interne Schutzdioden gegen Überspannung - allerdings muss 
man den Strom dann auf unbedenkliche Werte reduzieren.

gruss Axel

von Joachim (Gast)


Lesenswert?

@Freq:
jo, da hab ich dich auch falsch verstanden :) . Aber egal, ich schätze 
eichfach mal, daß das Signal ähnlich ist. Ich greife bei mir das Signal 
ab, was aus dem Steuergerät kommt, weil mein Auto keinen Drehzahlmesser 
hat, und ich daher auch kein "Drehzahlsignal"-Kabel finden konnte.

Aber wie gesagt, der Spannungsteiler allein wird dir nicht viel helfen. 
Versuchs mit der Methode von Axel oder von mir

von cvnc (Gast)


Lesenswert?

Wie wird die Versorgung des AVR erzeugt?

Gast

von Freq (Gast)


Lesenswert?


von Joachim (Gast)


Lesenswert?

Versorgung ist ok. Meine Schaltung sieht in dem Bereich wesentlich 
sparsamer aus. Die oben angegebene Versorgungsschaltung ist natürlich 
"high-class". Aber wenn man 3 Augen zudrückt geht es auch mit 2, 3 
Teilen weniger (reusper)...
Denk noch an die Blockkondensatoren an deinen ICs. Und dann überdenk 
deine Signaleinkopplung. Wenn es danach läuft oder immer noch nicht 
läuft sag nochmal bescheid...

von Freq (Gast)


Lesenswert?

Abblockkondesatoren sind ebenfalls dran. Dazu habe ich mich an dieses 
Schaltbild gehalten:

http://halvar.at/elektronik/kleiner_bascom_avr_kurs/stromversorgung/atmega8_anschlussplan_v02.gif

C1 ist aber nicht dran

von Ralph (Gast)


Lesenswert?

Mach einen Serienwiderstand mit > 10 K in deine Signalleitung und einen 
sehr kleinen C nach GND ==> das gibt zusammen einen Tiefpass Filter.

Dimensioniere den Tiefpass so, das die höchste Nutzfrequenz die du sehen 
willst noch mit min 60 % Pegel durchkommt. Grenzfrquenz also etwas 
oberhalb deiner höchsten Nutzfrequenz.
Danach kannst du noch einen Spannungsteiler schalten, falls notwendig.
Dieser sollte aber Werte von > 10 K haben.
Du willst ja keine Heizung.

von Freq (Gast)


Lesenswert?

Wie klein sollte der C dabei sein? 100nF ?

Ich habe gerade etwas Zweifel, dass der Widerstand in Serie was bringt - 
denn ich hatte ja den Spannungteiler dran, da war auch ein 22k in Serie 
und nach dem Abgriff noch ein 22k gegen Masse.

von oszi40 (Gast)


Lesenswert?

Wenn es nicht ein langer Draht ist, der nebenbei Zündimpulse einsammelt, 
dann Auge zu F23 Kfz-Stromversorgung
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23

von Ralph (Gast)


Angehängte Dateien:

Lesenswert?

das ganze könnte aussehen wie im Anhang.
Besser ging es gerade nicht, hab kein brauchbares Programm auf diesem 
Rechner.
Die Werte müsstest du selbst ausrechnen. Es gibt im WWW genug Programme 
um solche Sachen zu berechnen.

von Freq (Gast)


Lesenswert?

Ok, ich teste das heute nochmal. Vielen Dank

von Freq (Gast)


Lesenswert?

So Fehler gefunden.

Ich hatte einen LCD auf dem Pin konfiguriert. Komischerweise machte es 
zuhause mit dem Frequenzgenerator aus der Soundkarte nichts aus, am 
Motorrad aber schon.

Mit dem Frequenzteiler klappt nun alles!

Danke!

von Andreas (Gast)


Lesenswert?

hey,

ich möchte so ziemlich die gleich schaltung in meinem auto betrieben. 
ist es vllt. möglich, dass du mir deinen quellcode zu verfügung stellst? 
ich würde mir diesen dann auf einen c-controll mega32 umschreiben.

danke und grüße

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.