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
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?
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?
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
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.
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...
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.
achja, zu spannungsversorgung schau dir mal die schaltpläne der megasauirt an http://www.megasquirt.info
@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.
"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
@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.
@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
@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 ?
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
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?
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?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.