Forum: Mikrocontroller und Digitale Elektronik KFZ Spannung am AVR lesen


von Ralf R. (rralf)


Lesenswert?

Moin Moin!

Ich hab vor mir nen kleinen Boardcomputer zu bauen und möchte mit diesem 
auch unter anderem die Spannung an der Batterie messen. Das ganze schaut 
ca. so aus: Ich hab nen Mini PC mit nem M2-ATX-Netzteil ( speziell für 
Autos ). Dieses liefert mir meine klares gesichertes 5V Signal für den 
Controller. Der AVR fragt gewisse Sachen über Optokoppler ab ( Zündung, 
Zentralverriegelung, ... ) und kann auch gewisse Sachen über Relais 
schalten ( Fensterheber, Lüftung, Heizung, Klima, ... ). Diese Infos 
werden dann per RS232 an den PC gesendet und endgültig ausgewertet und 
können über ein LCD mit Touchscreen gelesen werden. An sich nichts 
wildes.

Nur mein Problem jetzt: Ich möchte auch die Batteriespannung messen, so 
auf 0,1V genau.

Wie mache ich das am besten? Spannungsteiler möchte ich nicht so gerne 
verwenden, da ich ja unter Umständen im Boardnetz Spitzen bis 100V 
drinhaben kann. Gibt's so Art "Analog-Optokoppler" die mir ein Analoges 
Signal übermitteln können? Wie würdet ihr da vorgehen?

Und noch was: Schiests mir eigentlich bei solchen Spannungsspitzen die 
Optokoppler oder halten die das aus?

Danke und Gruß!

Ralf

von vlad (Gast)


Lesenswert?

kann mir nicht vorstellen, dass solche eingriffe ins Fahrzeug ohne 
Sondergenehmigung erlaubt sind.
Wie alt/neu ist denn das Auto.
Hast du zugang zum CAN?

von Sebastian (Gast)


Lesenswert?

Schutzdioden nehmen die Spitzen weg. Entweder zwei Schottkydioden nach 
dem Teiler, eine zu +5V und eine zu GND, oder eine Suppressordiode einer 
passenden Spannung (vielleicht so ca. 18V) parallel zum Teiler-Eingang.

von Zottel T. (zotty)


Lesenswert?

Mit Analogoptokopplern (HCNR200) wirds recht teuer (3€ pro Stück) und 
sie sind recht aufwändig zu beschalten (Langzeitdrift), 
Schutzbeschaltung brauchen sie auch, ohne Suppressor/Z-dioden wird as 
nix. Aber man kann sau genau messen

von gast (Gast)


Lesenswert?

Du könntest auf Fahrzeugseite eine Rechtecksignal generieren, dessen 
Pulsdauer proportial zur Bordspannung ist (PWM). Das Signal kannst du 
mit einem geöhnlichen OK trennen und die Pulsdauer per AVR messen 
(Capture Funktion)

von vlad (Gast)


Lesenswert?

>Wie alt/neu ist denn das Auto.
>Hast du zugang zum CAN?

Die Frage zieht darauf ab, dass neuere Fahrzeuge oft auch einen 
Bateriesensor haben und ein signal auf dem CAN liegt.
allerdings bedingt das zum einen natürlcih den Zugriff auf den 
Fahrzeugbus und zum anderen die Kenntnis der CAN-Signale für diesen 
Fahrzeugtyp.

von Stefan M. (celmascant)


Lesenswert?

vlad schrieb:
> kann mir nicht vorstellen, dass solche eingriffe ins Fahrzeug ohne
> Sondergenehmigung erlaubt sind.
> Wie alt/neu ist denn das Auto.
> Hast du zugang zum CAN?


Man kann (zumindest bei älteren Autos) alle Systeme verändern die
a: Nichts mit der Sicherheit zu tun haben und
b: nicht das Abgasverhalten beeinflussen.
Bei elektronischen Sachen ist darauf zu achten, dass sie normalerweise 
"eine E1 EMV Zulassung nach EU Richtlinie 95/54/EG" brauchen.
Also wenn etwas passiert, sind alle Schäden die Nachweisslich durch die 
Schaltung entstanden sind, nicht versichert.

Es gibt auch Leute in Deutschland die sich einen kompletten Bordcomputer 
mit Überwachung aller möglicher Grössen, Steuerung der Klimaanlage, 
Alarmanlage und LCD-Tacho gebaut haben.
Die einzige Auflage war ein ermitteln der Tachoabweichung und eine 
Bescheinigung das er im gesamten Messbereich mindestens 4% mehr als den 
aktuellen Wert anzeigt. Das macht so ziemlich jede TÜV oder DEKRA-Stelle 
in Deutschland für ca. 80Euro.

Zum Thema:
Hier: http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23
kannst du nachlesen, welche Anforderungen an Geräte im KFZ gestellt 
werden.
Ich würde schauen, ob es möglich ist einen Analogeingang per 
Vorwiderstand und 5V Z-Diode abzusichern. Du musst nur eine finden die 
Schnell genug ist.
An sonsten evtl. einen OPV als Signalwandler (15V auf 5V. Da gibt es 
glaube ich Typen, die kurzzeitig +/-100V am Eingang überleben.
An sonsten kann man die Spannung auch berührungslos messen.
Das gestaltet sich aber meiner Meinung nach komplizierter.

Gruss Stefan

von Ralf R. (rralf)


Lesenswert?

Schon mal danke für die vielen hilfreichen Antworten!!

Der Vorschlag mit dem Rechtecksignal, das proportional zur Boardspannung 
ist hat mir am besten gefallen. Nur wie erzeuge ich am besten das 
Rechtecksignal?
Am leichtesten würde mir folgendes gefallten:

-> Rechteckgenerierung am Auto
-> Mit Optokoppler übermitteln
-> Nach Optokoppler mit Elko Glätten und zu ner Gleichspannung umwandeln
-> Diese sollte am Besten direkt proportional zu den 12V sein ( also 
quasi (U/5)*12 )
-> Diese Spannung dann per ADC einlesen

Nur wie stell ich das am besten an?


So nen OBD-2 Diagnose Stecker hat das Auto zwar, kommt aber für mich 
nicht in Frage, dass ich den anzapfe, da dann der Tüv wahrschl. nicht 
mitspielt. Ich zapf nur Sicherheitsunrelevante Sachen an, die das Fahren 
nicht beeinträchtigen.

Gruß

Rralf

von Ralf R. (rralf)


Lesenswert?

So hab jetzt noch n bisschen das Netz durchforscht und letztendlich wärs 
mir echt das liebste, n Rechtecksignal zu erzeugen, dass proportional 
zur Spannung ist, und dass dann per Optokoppler am AVR einzulesen

Nur wie erzeuge ich so n Signal?

Vielen Dank!

von chris (Gast)


Lesenswert?

moin

habe so ein ähnliches projekt schon hinter mir und lebt immer noch in 
meinem auto. probier den rc4151 mal.

gruß chris

von Basti (Gast)


Lesenswert?

Quatsch, wenn du die Spannung nicht loggen willst, kannst du nach dem 
Spannungsteiler auch nen Elko machen. Dann noch eine 5,1V Z-Diode...

von Ralf R. (rralf)


Lesenswert?

Okay, und wie würde diese Schaltung dann genau ausschauen?

Hab mich grad mal im Netz n bisschen umgesehen. Die UF-Wandler sind 
recht teuer. Könnte man sich nicht selber ne billig-Variante 
zusammenschustern? ( evtl mit nem NE555? )

Gruß

Ralf

von 1.8T-Passat (Gast)


Lesenswert?

Hi.

Ich habe zwar nicht direkt ne Lösung für Dich. Aber ich habe seit etwa 
einem Jahr einen ATMega32 u.A. zur Spannungsmessung im Auto. Ich habe 
hier einen Spannungsteiler mit 15k und 5k und ein 10k-Poti drin. Ohne 
Schutzdioden o.Ä.
Es funktioniert super, und mir wurde noch kein Eingang zerschossen. 
Evtl. brauchst Du da gar nicht so kompliziert denken.

von Otto (Gast)


Lesenswert?

In keinem professionellem Steuergerät der namhaften Hersteller ist ein 
Optokoppler eingebaut. Einige verwenden lediglich einen hochohmigen 
Reihenwiderstand und einen EMV/ESD-Kondensator gegen GND für 
Digitaleingänge. Den Rest erledigen die chipinternen Dioden.

Ein Analogeingang besteht aus einem relativ hochohmigen (einige zig k) 
Spannungsteiler und ebenfalls einem Kondensator.

Alles andere ist Overkill.

Otto

von chris (Gast)


Angehängte Dateien:

Lesenswert?

bild 1 UF-Wandler
bild 2 Controllerschaltung zum auswerten

R2 so einstellen das bei 12V an R1 1,2V abfallen, denn der rc4151 wird 
bei >10V unlinear

C11=1nF dann 1V=10Khz
C11=10nF dann 1V=10Khz

von chris (Gast)


Angehängte Dateien:

Lesenswert?

bild 1 controller + lcd

im bild ist noch das vorgängermodell (at90s2313) aber du/ihr könnt auch 
den tiny2313 verwenden

von chris (Gast)


Angehängte Dateien:

Lesenswert?

den text von mir chris(Gast) Datum: 12.06.2009 18:40 ist fehlerhaft

bitte das hier verwenden!!!!!!!!!!!!!!!

berechnung für Khz/V findet ihr in der fig.2

R2 so einstellen das bei 12V an R1 1,2V abfallen und mit R113 denn so 
einstellen, je nach C11, das am pin3 1,2Khz oder 12Khz sind

Achtung der rc4151 wird bei >10V Messspannung unlinear

C11=1nF dann 1V=10Khz
C11=10nF dann 1V=1Khz !!!!!!!!!!!!!!!!!!!!!

von spess53 (Gast)


Lesenswert?

Hi

>Evtl. brauchst Du da gar nicht so kompliziert denken.

Muss ich dir Recht geben. Materialverschwendung. Es gibt eine AppNote 
von Atmel, bei der ein AVR-Eingang zur Nullspannungserkennung an 230V~ 
betrieben wird. Da wird er wohl gegen die +-100V im Auto zu schützen 
sein.

@Chris: Nicht, das ich die Funktionsfähigkeit deiner Variante 
anzweifele. Aber das ist mit Kanonen nach Spatzen geschossen.

MfG Spess

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.