Forum: Mikrocontroller und Digitale Elektronik Frequenzmessung für Auto


von Michael Rieder (Gast)


Lesenswert?

Hallo
ich hatte mir vorgenommen, per mC + LCD die Drehzahl- und
Ggeschwindigkeitssignale (ev. noch mehr) in meinem alten Passat
auszuwerten, um einen netten kleinen Bordcomputer zu basteln.
Ich muss dazu deren Frequenz messen. Nach einiger Einarbeitungszeit und
Rumprobieren mit meinem ATMega16 habe ich mich mit den Registern für
Ein- und Ausgänge und Timern etc vertraut gemacht und es stellt sich
mir eine Frage, die entscheidend ist, um die Software zu schreiben:
Da Geschwindigkeit und Motordrezahl gleichzeitig ausgewertet werden
sollen, hatte ich ursprünglich vor, für jedes Signal einen Interrupt zu
belegen. Könnte das ungeschickt sein, weil z.B. der ausgelöste Interrupt
der Drehzahl die Verarbeitung des Interrupts für Geschwindigkeit (der ja
in dieser Zeit auftreten könnte) sperrt? Hat schonmal jemand sowas
gemacht? Irgendwelche Erfahrungswerte zu vermelden vielleicht?
Danke

von Benny S. (b_stark)


Lesenswert?

Hab sowas ähnliches auch vor, aber mit einen alten Astra.
Der sendet 32 Signale pro Rad Umdrehung. Also ca. alle 1,8m 32
Impulse.
Das währen bei 180km/h bzw. 648m/s (hab ich das Richtig im Kopf mit
Km/h * 3,6 = m/s ?) 360 Umdrehungen und somit 11520 Impulse in der
Sekunde bzw. ca.1,2 (1,152) pro ms. Also sollte es zu keinen Problemen
kommen.

Oder hab ich mich verrechnet?

von Benny S. (b_stark)


Lesenswert?

Stop hab mich verrechnet muss natürlich Km/h / 3,6 = m/s heißen. Mir
kahmen 648m/s doch zu schnell vor ;)
Also mochmal

180 / 3,6 = 50 m/s
50 /1,8 ~= 27,8 Rad Umdrehungen
27,8 * 32 ~= 888,89 Impulse/s
bzw nichtmal ein Impuls pro Millisekunde.

Da sollten 4Mhz mehr als ausreichen um Display und weiteres
anzusteuern.
Ich Überlege nur noch wie ich das am besten an einen AVR anschließ?
"Transistor" kam mir als erste Idee ist das was gegen einzuwenden?

von Lucky Fu (Gast)


Lesenswert?

am wichtigsten ist eine vernünftige versorgungsspannung incl diversen
ableitungen einzubauen. das bordnetz eines pkw's ist ein grauen für
jede elektronik. da kommen spannungsspitzen drin vor die jeden
controller sofort dahinraffen

von Benny S. (b_stark)


Lesenswert?

Da der Astra ein TiD (nen schönes kleines alte Display)hat und das auf
einen I2C ähnlichen Protokoll bassiert musste es da drin ja irgendwo
eine halbwegs vernünftige Spannungsquelle geben. Die ich per 7805 auf
5V bekomme. Oder nicht?
Ansonsten aus Fehlernlernt man und ein neuer AVR kostet auch nicht
viel.

von Michael Rieder (Gast)


Lesenswert?

Das ist gut vielleicht können wir dann Erfahrungen austauschen. Ich habe
bis jetzt erst einmal Displayansteuerung etc. geübt, da µC's für mich
neu sind. Werde als nächstes mal Kabel von der Tachohinterseite (wo die
Signale anliegen) zum Radioschacht legen, um erste Testläufe starten zu
können.
Die Geschwindigkeit habe ich vor an der Tachowelle über einen selbst
eingebauten Hallsensor abzunehmen (hoffe das funktioniert. soviel ich
weiss hat VW so etwas für multifunktionsanzeigen vorgesehen). Die
Anzahl der Impulse würde dann natürlich abweichen (wahrscheinlich
höher). Ich werde die Programmierung mit 2 Interrupts wohl einfach
ausprobieren müssen...
Der Anschluss bereitet mir auch noch Kopfzerbrechen. Die 13V wollte ich
mit Spannungsreglern auf 5V reduzieren und direkt anlegen. Vielleicht
kann hier jemand weiter helfen, der sich besser auskennt. Es scheint ja
schon so mancher sowas realisiert zu haben...

von Tenner (Gast)


Lesenswert?

tach,
ich habe etwas ähnliches mit einem MSP430 für motorräder realisiert

http://www.speedfighter.net/mad/DSCN2399.JPG

die abweichungen die entstehen wenn ein interrupt den anderen blockiert
sind für die berechnung der geschwindigkeit bzw der drehzahl
vernachlässigbar gering.
es schadet jedoch nicht wenn man die berechnungen mit einem mittel aus
5-10 aufeinander folgenden werten durchführt.

von Tenner (Gast)


Lesenswert?

achja, zu spannungsversorgung schau dir mal die schaltpläne der
megasauirt an

http://www.megasquirt.info

von Benny S. (b_stark)


Lesenswert?

@Michael
Würd mich freuen erfahrungen mit dir auszutauschen.
Benny_Stark@online.de kannst dich ja mal melden.

Denke mal im Herbst werde ich mit dem Astra die ersten erfahrungen
machen. Den der Wagen gehört leider einen Freund und der kann ihn nicht
vorher anmelden.
Und das mit der Anzeige stimmt soweit ich weiß haben nur nicht alle das
Signal anliegen. Aber ein KFZ-Mechaniker des Vertrauens wird mir weiter
helfen können denk ich.
Apropos Anzeige ich hatte vor es darüber laufen zu lassen.

@Tenner
Sieht schön aus.
Und den Plan werde ich mir mal angucken.

von Peter D. (peda)


Lesenswert?

"Könnte das ungeschickt sein, weil z.B. der ausgelöste Interrupt
der Drehzahl die Verarbeitung des Interrupts für Geschwindigkeit (der
ja
in dieser Zeit auftreten könnte) sperrt?"


Nun beim AVR gilt:

Interrupts sind wie der Tanz auf ner heißen Herdplatte, also
schnellstmöglichst zu verlassen.

Du must ja nur den Timer auslesen und in 2 Register schmeißen.
Das Umrechnen kann man dann später bequem und in aller Ruhe im Main
machen.


Beim 8051 ist es noch einfacher, viele haben ein PCA mit dem man dann 5
Capture-Eingänge hat, d.h. einen zyklusgenauen Zeitstempel, völlig egal,
wann der Interrupt genau behandelt wird.


Peter

von Benny S. (b_stark)


Lesenswert?

@Peter
Wegen den Interrupts hab ich mir as ganze so vorgestellt.
Externer INT 0 und 1 erhöhen jeweils eine Variable
Der Timer löst nun jede 0,5 Sek einen INT aus in dem die Variablen
Umgerrechnet werden. Bei ungeraden also 0,5 wird die eine Umgerechnet
bei 1,0 sek wird die andere Umgerechnet.
Nachteil Ich rechne im Timer Interrut und dann noch mit Float Zahlen
^^

Also werrde ich es denk ich mal so lösen das der Timer Interrupt auch
jeweils eine Bit auf 1 setzt und ich dann in Main je nach Bit
umrechne.

Und wie Tenner schon sagte wenn mal ein INT verschluckt wird ist das
nicht so schlimm da das ganze dann 1/32 von 1,8 Metern währe.

@Michael
Gug mal am ISO-Stecker für den Strom am Radio. Nach viele Autos haben
dort an PIN 1 das Tachosignal anliegen für Radios und Navis.
Ansonsten guck mal unter
http://www.tachosignale.de/
Und für die Impulszahl google mal ein bisschen nach [automarke
tachosignal]. Anscheinend findet man ziemlich viel in KFZ Foren.

von Michael Rieder (Gast)


Lesenswert?

@Benny
Ich glaube kaum, dass mein Passat 32B (Bj. 1985) so etwas hat ;)
Die Tachoeinheit kann man rausnehmen (was ich auch gemacht habe). Dort
geht hinten die Tachowelle (so eine Art sich drehender Draht, der die
gefahrene Strecke bzw Geschwindigkeit weitergibt) rein - Das Ganze
läuft bei meinem also noch mechanisch ab. Der Drehzahlmesser kriegt
jedoch ein elektrisches Signal über einen Stecker (freudigerweise
beschriftete Anschlüsse z.B. auch für Handbremse wofür es bei mir keine
Warnleuchte gibt, aber das kann ja der AVR übernehmen...)
Ich habe nun vor, diese Kabel "anzuzapfen". Für die Geschwindigkeit
werde ich da, wo die Tachowelle reingeht, einen Hallsensor anbringen.
So viel konnte ich in einem VW-Forum herausfinden, dass da extra eine
Sollbruchstelle ist, wo man eine Plastikabdeckung rausbricht und einen
Sensor reinsteckt (nennt sich "Induktivgeber für Tempomat" oder so
kostet ca 17€ bei VW-Werkstatt). Wie gesagt ich werde mal nen
Hallsensor reinstecken und schauen, ob was brauchbares "rauskommt"
So viel zum Thema VW-Tachos, falls es jemanden interessiert. Falls
jemand mehr weiss, bitte melden

von Benny S. (b_stark)


Lesenswert?

@Michael
Der Astra hat auch noch einen Mechanischen Tacho mit Tachowelle
allerdings haben meine Recherchen (oder so ähnlich) in Foren ergeben
das er trotzdem schon den Signalgeber hat. Kabelfarbe Rot/Blau. Leider
ist der Astra ohne DMZ am Tacho aber es muss ein grünes Kabel am TID
oder auf der Beifahrerseite am Steuergerät vorhanden sein mit dem
Signal für den DMZ.

Könntest du mir ein gefallen tun und gucken ob der Blau/Rote Kabel bzw.
Grüne vorhanden ist ?

von Michael Rieder (Gast)


Lesenswert?

Ja werde demnächst schauen. Bin noch nicht dazu gekommen, das Auto
auseinander zu nehmen ;) Nur damit du weisst, dass ich den Thread nicht
vergessen habe

von Michael Rieder (Gast)


Lesenswert?

weder rot/blau noch grün. aber das richtige kabel für den drehzahlmesser
müsste irgendwo sein (nach dem mir vorliegenden stromlaufplan
rot-schwarz) werde morgen mal suchen.
für die geschwindigkeit habe ich nen 80-cent hallsensor von reichelt
über dem Magneten, der von der Tachowelle angetrieben wird, angebracht.
funktioniert prächtig, 4 Signale pro tachowellenumdrehung.
muss nur noch die richtigen kabel im kabelstrang raussuchen.
bleibt trotzdem noch das problem mit den 13V, die auf 5V begrenzt
werden müssen. ich habe ein paar 5V-spannungsregler, die sich bei 13V
allerdings stark aufheizen. lassen die sich durch eine metallplatte als
kühlkörper gut kühlen? was wenn nicht?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

StepDOwn (MC34063) oder Schalte ein 9V Regler vor den 5V regeler bedie
auf einen kleinen KK

von Michael Rieder (Gast)


Lesenswert?

Wie sieht es mit dem Drehzahl-Signal aus? Kabelfarbe ist rot-schwarz,
steckt im Motorraum an der Zündspule, wo auch ein grünes reingeht. Ich
habe zwischen Masse und rot-schwarz ungefähr 11 V gemessen, den
Spannungswandler hats mir aber "gebraten", das können keine 11V
gewesen sein. Was soll ich machen?

von Benny S. (b_stark)


Lesenswert?

Also die Signalleitung hatte ich vor dürch Zennerdioden runter zu
regeln. Und dann vielleicht noch dürch irgend ein 74hc244 oder ähnlich
zu lassen damit im Notfall nicht alles abraucht.
Zur Versogungsspannung wollte ich mir den von Tenner geposteten Link
angucken.

Aber mit der Hardware hab ich noch nicht angefangen.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Warum keinene einfacvhen Optokopler?

von Benny S. (b_stark)


Lesenswert?

Gute Frage :)

Wäre natürlich auch eine Möglichkeit.

von Michael Rieder (Gast)


Lesenswert?

Ich hab das optimale Signal gefunden. Am Zündverteiler ist ein
Hallsensor angebracht, der sein Signal ans Steuergerät gibt. Dieser
Sensor schaltet bei jeder Umdrehung auf Masse. Habe das Ausgangskabel
angezapft und getestet bei mir funktioniert es super. Im Leerlauf
kriege ich ca. 3000 Interrupts pro Minute. Weiss leider nicht ob mein
Leerlauf zu hoch steht oder ob ich 2 Interrupts pro Umdrehung kriege
(wahrscheinlich letzteres). Wenn ich jetzt herausgefunden habe, wieviel
Umdrehungen die Tachowelle pro km macht, ist alles bereit zum Einbau :D

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.