Forum: Mikrocontroller und Digitale Elektronik Zuverlässig feststellen ob Motor im Auto läuft (natürlich mit Handycap.)


von Markus H. (cairol)


Lesenswert?

Erstmal zur Erklärung:

Ich hab mir ein Steuer-Modul für eine heizbare Sitzauflage gebaut, dass 
wie ein Zwischenstecker funktioniert.

Also man steckt das Modul an den Zigaretten-Anzünder und die Sitzauflage 
an das Modul an.
Das Kernstück ist ein AVR Tiny13 der die meiste Zeit im Powerdown-Modus 
bleibt und in Intervallen nachschaut, wie die Bordspannung aussieht.
Ich hab im Winter bei -10°C im Auto gesessen und die Bordspannung unter 
den verschiedenen Lastzuständen gemessen.
Also z.B.
- Motor aus, Zündung aus, Radio aus, Scheinwefer aus, 
Heckscheibenheizung aus
- Motor aus, Zündung an, Radio an ...
- Motor aus, Scheinwerfer an...
- Motor an, Scheinwerfer an, Heckheizun aus...
- u.s.w.

Dann hab ich als Einschaltschwelle eine Spannung über der 
Leerlauf-Batteriespannung und unter der minimalen Lastspannung gewählt.
So soll also die Sitzheizung automatisch eingeschaltet werden wenn die 
Spannung im Bordnetz z.B. >12,9V liegt (= Motor, bzw. LiMa läuft) und 
dann nach ca. 10 Minuten wieder abgeschaltet werden.

Im Prinzip funktioniert das soweit auch einigermaßen.
Aber leider ist das mit dem schalten über die Bordspannung nicht 
besonders zuverlässig, weil die Batteriespannung ja stark von der 
Temperatur selbiger abhängt und außerdem auch vom Ladezustand.
Zudem ist meine Schaltung selbst ja auch temperaturabhängig.

Wenn es 10° wärmer wird oder ich die Batterie (wie im Winter ja üblich) 
mal nachlade, stimmen die eingestellten Spannungslevel nicht mehr und 
die Heizung schaltet nicht mehr richtig...

Nun suche ich eine geschicktere Möglichkeit um zuverlässig und - ganz 
wichtig - stromsparend - festzustellen, ob der Motor läuft. (Das Modul 
soll den ganze Winter 24 Stunden im Auto angesteckt bleiben)

Ich hab da schon alles mögliche überlegt:
- Ein Mikrofon das den Krach vom Laufenden Motor im Innenraum detektiert
- Magnet und Reedkontakt am Gurtschloss
- Strommessung über Drahtwicklung an einem Kabel dass auf Zündungs-Plus 
liegt
- PIR-Bewegungsmelder der den Fahrersitz überwacht
- Druckschalter unter der Heiz-Auflage
- Bessere "Logik" für den Tiny13 i.V.m. einer ggf. modifizierten 
Schaltung um doch noch alleine mit der Bordspannung (oder darauf bei 
laufendem Motor befindlichen Störungen ect.) den Motorstatus zu 
erkennen.
und andere "exotische" Methoden.

Vielleicht fällt jemand von euch ne geschickte Lösung dazu ein.
Vorraussetzung dafür ist aber immer, dass das System komplett 
"Plug-and-Play" bleiben muss.
Ich möchte also möglichst keine Kabel durch's Auto ziehen die dort 
irgendwo verbunden werden müssen oder Sensoren die irgendwo angeklebt 
werden.
Sonst würde ich einfach von Klemme 15 den Zündungs-Plus holen und die 
Sache wäre erledigt.
Es ist aber kein "Bastel-Auto" eines 18-jährigen Hobby-Elektrikers 
sondern soll "seriös" bleiben. ;-)
Deshalb fallen viele der o.g. Methoden weg.

Bin für jeden Vorschlag dankbar!

Gruß,
Cairol

von Urks (Gast)


Lesenswert?

>Wenn es 10° wärmer wird oder ich die Batterie (wie im Winter ja üblich)
>mal nachlade, stimmen die eingestellten Spannungslevel nicht mehr und
>die Heizung schaltet nicht mehr richtig...

Nun, wenn, wie Du schreibst, die Temperatur ein Einflussfaktor ist, dann 
würde ich die Temperatur eben messen und entsprechend die 
Schaltschwellen oder sogar die Regelstrategie anpassen.

von Marco G. (stan)


Lesenswert?

Markus H. schrieb:
>
> Ich hab da schon alles mögliche überlegt:
> - Magnet und Reedkontakt am Gurtschloss

das klingt doch neben einer Umgebungstemperaturmessung recht gut.

von Michael U. (amiga)


Lesenswert?

Hallo,

Hochpass an die Spannung vom Auto und die Schwankungen/Störungen (LiMa, 
Zündung usw.) auswerten?

Gruß aus Berlin
Michael

von spess53 (Gast)


Lesenswert?

Hi

Wenn sich die Lima dreht hat die Bordspannung einen 
Wechselspannungsanteil (kann sogar zur Drehzahlmessung benutzt werden). 
Mit einem Kondensator herausfiltern und auswerten.

MfG Spess

von Tom (Gast)


Lesenswert?

Mh, wie könnte denn so eine Filterung aussehen? Wäre nett, wenn du das 
mal mit dem Kondensator genauer beschreiben könntest. ´Vielen Dank.

von Magnus Müller (Gast)


Lesenswert?

Stichwort "Ladekontrollleuchte".

von Markus H. (cairol)


Angehängte Dateien:

Lesenswert?

Na ich denke da wird ne OP-AMP-Schaltung  als 
"Wechselspannungs-Verstärker" fällig.
So in dem Stil wie im Anhang.
Ich gehe mal davon aus, dass die Bordspannung recht gut gefiltert sein 
wird, so dass die Oberwellen nur einige zig oder max. wenige hundert mV 
ausmachen.

Der Kondensator C1 ist dann der Koppelkondensator der nur AC durchlässt.
(In der Schaltung hab ich allerdings n Hochpass am Eingang.)

Hab das nur schnell mal simuliert um das Prinzip zu verstehen.

von spess53 (Gast)


Angehängte Dateien:

Lesenswert?

Hi

Ich habe dir mal ein Bild gemacht. Der Generator links erzeugt eine 
Gleichspannung von 12V mit einer überlagerten Wechselspannung von 1V 
(obere Wellenlinie). Nach dem Kondensator kann man nur noch die 
Wechselspannung (untere Wellenlinie) messen.

MfG Spess

von Winfried (Gast)


Lesenswert?

Der Tiny 13 hat doch einen Komparator. Wenn du den Eingang mit einem 
Spannungsteiler etwas unterhalb der Schaltschwelle vorspannst und dann 
über einen Hochpass (Kondensator) die Plusleitung des PKW einspeißt, 
solltest du dann Pegeländerungen per Software feststellen können. Am 
besten noch etwas Schutzbeschaltung rein, also Widerstand in Reihe und 2 
Dioden...

von Winfried (Gast)


Lesenswert?

...Nachtrag: Mit "Pegeländerungen" meinte ich die nachgewiesene 
Wechselspannung durch den Generator...

von Tim (Gast)


Lesenswert?

Wenn du doch schon die Bordspannung misst, kannst du doch auch den 
Spannungsabfall beim Anlassen und den Anstieg danach zum schalten 
verwenden.

Dann brauchst du nur die Software zu ändern :-)

von Thomas W. (wagneth)


Lesenswert?

Viele Autos habe noch einen schoenen Oeldruckschalter.
(mein umlaute funktionieren gerade nicht)

Meist sind die Dingern nach Masse schaltend.
Darüber kannst Du mit 100%iger Sicherheit erkennen ob der Motor läuft.

Einfach den Tiny mit einem Pin (und wenigstens einer Diode) an den 
Schalter.

...und dürfte auch einfacher sein, ale irgendwelche Oberwellen zu 
Messen.
Wer weiss was in Deinem Auto die noch Produziert ?!

Es sei denn Du fährst ein neueres Fzg...

von spess53 (Gast)


Lesenswert?

Hi

Viele Autos habe noch einen schoenen Oeldruckschalter.
(mein umlaute funktionieren gerade nicht)

Also am Öldruckschalter kann man erkennen, das die Lima läuft?


MfG Spess

von Markus H. (cairol)


Angehängte Dateien:

Lesenswert?

Vergesst die Schaltung von meinem letzten Beitrag wieder - die ist - 
selbst wenn sie richtig wäre (was sie nicht ist...) - nicht für mein 
Problem geeignet.

@Winfried: Du meinst etwa so wie im Anhang?
Den AC-Teil mit Vcc/2 = 2,5 V überlagern und dann in den ADC damit. Wenn 
der Wert erkennbar schwankt -> Motor ist an
sonst -> Motor ist aus.
Denke, dass ist die einfachste Möglichkeit.

Wie kann ich rausbekommen mit welchem Ripple ich da größenordnungsmäßig 
rechnen darf/soll/muss?
Mein Multimeter kapituliert bei der Messung.
Muss ich mein 20kg-Uralt-Oszi zum Auto schleppen? *'stöhn'*

@Tim:
Das mit dem messen im Anlass-Moment geht so nicht, weil der AVR aus 
Stromspargründen nur alle 8 Sekunden aus dem Powerdown-Modus aufwacht 
und nach der Spannung schaut. In den 8 Sekunden läuft der Motor aber 
schon längst ohne dass der AVR es mitbekommen würde - zumindest wenn man 
nicht gerade die paar Millisekunden erwischt in denen er aktiv ist.

@Thomas:
Öldruckschalter? Ähm, wie im Eingangsposting gesagt - ich möchte keine 
Strippen durchs Auto ziehen, sonst hätte ich einfach Klemme 15 mit 
Zündungsplus angezapft und damit juck.  ;-)

von Christian K. (christian_rx7) Benutzerseite


Lesenswert?

Ich hab mal sowas ähnliches gemacht, allerdings ging es bei mir um eine 
Steuerung fürs Tagfahrlicht.
Das mit der Wechselspannung messen hätte ich damals versucht, klappte 
allerdings nicht besonders gut.

Meine Optimallösung sah so aus:
Wenn der Motor aus ist, misst der Controller jede Minute die Spannung, 
bildet einen Mittelwert und schläft weiter (Kompensation des Lade- und 
Temperaturzustandes des Akkus).
An die Komperatoreingänge kommt jeweils ein Spannungsteiler mit minimal 
unterschiedlichen Werten, an den mit der niedrigeren Spannung kommt am 
Komperatoreingang noch ein Kondensator, somit lässt sich der 
Spannungseinbruch beim Starten sicher erkennen und den Controller aus 
dem Schlaf rütteln.
Um sehr seltene Fehlerkennungen auszuschließen, muss die Spannung 
innerhalb der nächsten 30s (da geht sich ein zweiter Startversuch auch 
noch aus) um zB.: 0,5V höher ist als deine ermittelte 
Durchschnittsspannung bei stehenden Motor, dann kannst du dir sicher 
sein, dass der Motor läuft.
Danach im Sekundentakt die Spannung messen, wenn diese bei 5 Messungen 
immer fällt und zwischen der Ersten und der Fünften mindestens 0,2V 
Unterschied sind, dann ist der Motor aus, somit beginnt das Spiel wieder 
von Vorne.

Schaltplan muss ich suchen, ist am anderen Rechner.
Nach diesen Prinzip hatte ich die Schaltung in verschiedenen Autos 
erfolgreich getestet und lief im Alltagsauto 1,5Jahre problemlos.

Christian

von Christian K. (christian_rx7) Benutzerseite


Angehängte Dateien:

Lesenswert?

Schaltplan gefunden.

von Thomas W. (wagneth)


Lesenswert?

>>Autor:  spess53 (Gast)
>> Datum: 25.07.2009 23:29
>>Hi
>>
>>Viele Autos habe noch einen schoenen Oeldruckschalter.
>>(mein umlaute funktionieren gerade nicht)
>
>Also am Öldruckschalter kann man erkennen, das die Lima läuft?
>
>
>MfG Spess

@ Spess

Ja, das kann Thomas, und auch der Rest der Welt !

Kausalkette 1: Motor steht -> Kurbelwelle steht -> LiMa steht -> 
Oelpumpe steht -> Oeldruckschalter offen.

Kausalkette 2: Motor dreht -> KW dreht -> Lima dreht wenn Keilriemen 
kraft uebertraegt -> Oelpumpe baut druck auf -> OelDruckSchalter 
betätigt.

Da die Dinger meist gegen Masse Schalten,
ziehen sie auch meinen AVR PullUp gegen Masse und ich habe mein Signal.
(Stören nur die 12V vom Kombiinstrument)

Da das Auswerten des Oeldruckschalters einfach ist,
wäre es mein Weg gewesen... ;)

Liebe Grüße
   Thomas


PS: Wenn Dein Motor läuft und er keinen Öldruck hat, geht das nicht 
lange gut, deshalb wäre es auch gut wenn die Sitzheizung die Batterie so 
schnell wie möglich leerzieht -> Motor geht aus ;)

PPS: Nur eine Leitung durch das Auto ziehen... kann nicht soviel aufwand 
sein.

von T. H. (pumpkin) Benutzerseite


Lesenswert?

Radios werden doch über ein 12V Remote Signal angesteuert. Zwar liegt 
das schon bei eingeschalteter Zündung an aber man kommt einfach ran.

von Thomas W. (wagneth)


Lesenswert?

...wenn es ein Benziner mit Rotierender Hochspannungsverteilung ist,
kann man den Massetakt der Zündendstufe bzw die Leitung zum 
Drehzahlmesser auswerten.

Man könnte ein Timeout für z.b. 850 upm vergleichen.


Das ist auch zuverlässig !

von Winfried (Gast)


Lesenswert?

@Markus: Ja, so in etwa meinte ich es, nur den Komparator benutzen, 
nicht den AD-Wandler. Ersterer sollte auf kleinste Spikes reagieren. Die 
Schaltschwelle liegt glaube ich irgendwo bei 1.2 V, musst mal im 
Datenblatt nachschauen.

Die Idee der Mittelwertbildung der Spannung, um dann geänderte 
Situationen zu erkennen, find ich auch gut. Allerdings gibt es dann 
wieder Probleme, wenn man extern ein Ladegerät an die Batterie hängt.

von Markus H. (cairol)


Lesenswert?

Die Idee von Christian hab ich vor einiger Zeit auch schon fast genau so 
ausgearbeitet.
Dann müsste ich aber wegen dem umfangreicheren Code und dem benötigten 
Komparator + ADC auf einen Mega8 mit mehr Pins und weniger 
Doppelbelegungen umsteigen. Das ist wegen dem begrenztem Platz für die 
Platine aber nicht machbar. (zumindest nicht mit der DIP-Version. Und 
SMD ist mir echt zu frickelig.)
Das ganze ist auch sehr zeitkritisch und durch die vielen 
Single-Messwerte speicherhungrig. Und man kann dann maximal den 
"Idle"-Mode verwenden, weil im Powerdown der Komparator nicht läuft.
Alles möglich, aber eben nicht so schön.
Ich behalte es aber im Hinterkopf.
Wenn das mit dem "Ripple-Auswerten" nicht zuverlässig genug ist, werde 
ich darauf zurückgreifen.

@Winfried: Dem Komparator muss ich doch aber eine fixe Schaltschwelle 
durch die äußere Beschaltung vorgeben und sicherstellen, dass beide 
Eingänge bei stehendem Motor eine auf wenige Millivolt (< 2-3 LSBs) 
unterschiedliche Spannung sehen - auch wenn sich die Platine 
ungleichmäßig erwärmt oder die Widerstände (oder in dem Fall eher 
Trimmer) leicht unterschiedliche Temp.Koeff. haben.
Nur dann kann ich so kleine Schwankungen überhaupt erkennen.
Kann mir ehrlich gesagt nicht so recht vorstellen, wie das gehen soll. 
Vielleicht versteh ich es aber auch nur noch nicht richtig....

Jedenfalls wollte ich deshalb über den ADC auswerten, ob der Pegel 
schwankt. Dann wäre es nämlich egal ob der Ripple 20 mVss, 500 mVss oder 
gar 2Vss groß ist.
Ist er messbar, hab ich meine Information zum Schalten.

von Thomas W. (wagneth)


Lesenswert?

Sind meine Vorschläge so schlecht ?
Besonders weil die Drehzahlinformation bei den meisten Kombiinstrumenten 
schon anliegt.

Da gibt es dann Garantiert keine falschinformationen...

von Winfried (Gast)


Lesenswert?

@ThomasW: Es sollen ja keine Kabel verlegt werden.

@Markus: Nehmen wir an, der Ripple beträgt mindestens 100mV, dann legst 
du die Vorspannung am Komperatoreingang z.B. 50mV unterhalb der 
Schaltschwelle. Nehmen wir an, durch Temperaturschwankungen etc. 
verschiebt der sich um 10mV, dann bist du immer noch im sicheren 
Bereich. Wenn dann der Motor läuft, bekommst du regelmäßig Impulse. Aber 
selbst, wenn du die Vorspannung sehr nahe an die Schwelle des 
Komperators legst - der hat ja eine Hysterese. Dann kann es zwar durch 
Schwankungen der Temperatur etc. passieren, dass der ab und zu kippt. 
Aber nicht in der Häufigkeit, wie bei laufendem Motor. Du musst also 
einfach auswerten, ob der z.B. 10 mal pro Sekunde kippt.

von Markus H. (cairol)


Lesenswert?

Ja, so könnte das tatsächlich funktionieren. Hab's jetzt glaub ich 
kapiert.
Wie gesagt, das ist in jedem Fall ne brauchbare Alternative falls der 
andere Ansatz nicht zum Erfolg führt.

Jetzt muss ich aber erst mal die Platine in Auftrag geben. Hab den 
Entwurf eben fertiggestellt.
Vielleicht teste ich es aber vorher noch mit meinem Experimentier-Board.
Ich melde mich dann wieder.

Schonmal "Danke!" an alle die hier Vorschläge gemacht haben.

Gruß,
Cairol

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.