www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frequenzmessung für Auto


Autor: Michael Rieder (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benny Stark (b_stark)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Benny Stark (b_stark)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Lucky Fu (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benny Stark (b_stark)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael Rieder (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Tenner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tenner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achja, zu spannungsversorgung schau dir mal die schaltpläne der
megasauirt an

http://www.megasquirt.info

Autor: Benny Stark (b_stark)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benny Stark (b_stark)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael Rieder (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benny Stark (b_stark)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Michael Rieder (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael Rieder (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

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

Autor: Michael Rieder (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Benny Stark (b_stark)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum keinene einfacvhen Optokopler?

Autor: Benny Stark (b_stark)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gute Frage :)

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

Autor: Michael Rieder (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.