Hallo Leute,
ich weiß das es diverse Beiträge mit genauerer Spannungsmessung via ADC
am AVR gibt.
Allerdings habe ich mich gefragt ob man den ADC, nicht auf eine Art
"eichen" kann.
Die Vorstellung:
Der ADC soll mir im Bereich von 8V - 15V die Spannung mit einem Fehler
von <0,5V Darstellen können.
Durch einen 4:1 Spannungsteiler wollte ich die Spannung messen.
Die Widerstände sind auf 800k zu 200k festgelegt.
Im Anhang ist ein Bild des kompletten Aufbaus zu sehen.
Es wird hier die Eingangsspannung vor dem 7805 gemessen.
Für eure Hilfe bedanke ich mich jetzt schonmal
Schaltplan wäre etwas übersichtlicher als das Board selbst. Wäre gut,
wenn du den vielleicht posten könntest, dann liese sich eine Aussage
leichter treffen.
Wo ist denn das Problem, bei einer Diff. von 7V die Genauigkeit auf 0,5V
zu bekommen. Das kannste mit einem 4bit ADC machen, der 16 Stufen
unterscheiden kann. 14 brauchste nur.
Wie kommen die Bauteile unter den ATMega?
Er misst eine Spannung von 2...3,75V , also könnte er maximale Auflösung
erreichen, indem er die Analog-Referenz möglichst nahe an das maximum
annähert, machen wir mal 4 Volt daraus.
Wenn man von den 10 Bit Auflösung aber auch nur 8 benutzt kann man
trotzdem noch auf 15,6 mV genau auflösen.
Nur, mir scheint als ob du das Ding ins Auto einbauen willst, da wirst
du gut daran tun einen Überspannungsschutz dranzubauen.
Ja, die Auflösung ist kein Problem. Wenn möglich, solltest du den
Spannungsteiler allerdings etwas niederohmiger dimensionieren. Sonst
läuft die Messung langsamer, weil der Eingangskondensator im AVR nicht
schnell genug umgeladen werden kann.
Anbei nochmals der Schaltplan.
Ich habe hier ein Testaufbau gemacht und auch direkt mit nem Voltmeter
gemessen.
Das Problem war halt die recht große Differenz.
Mein Problem ist ich weiß nicht wie das genauer hinzubekommen ist.
Die Platine ist noch nicht hergestellt.
Was wäre denn ein Typischer Wert für solch einen Spannungsteiler?
Wie am Dateinamen auch schon richtig erkannt soll das ganze später im
Auto verbaut werden.
Überspannungsschutz mittels Drosselspule und Sicherung sollte kein
Problem darstellen.
Das Display wird aufgesteckt, und darunter ist recht viel Platz für den
µC und den ganzen Rest. (Entsprechende Aufbauten hab ich schon gemacht)
lg
Dominik schrieb:> Durch einen 4:1 Spannungsteiler wollte ich die Spannung messen.> Die Widerstände sind auf 800k zu 200k festgelegt.
Schau mal ins Datenblatt welchen Quellwiderstand der ADC maximal
verträgt damit er innerhalb der sampling time aufs LSB einschwingen
kann.
Außerdem solltest Du einen Kondensator parallel zum ADC-Eingang
(zwischen ADC-Eingang und Analog-Gnd) als Tiefpaß (bzw. anti-Aliasing
Filter schalten).
Nur so mal als Tipp: Wenn du 22K und 10K verwendest hast Du einen
Meßbereich von 16V bei 5V Referenzspannung.
Gruß Anja
Anja schrieb
>Außerdem solltest Du einen Kondensator parallel zum ADC-Eingang>(zwischen ADC-Eingang und Analog-Gnd) als Tiefpaß (bzw. anti-Aliasing>Filter schalten).
Danke wird behoben.
Im Datenblatt steht, das die Signalquelle eine Impedanz von 10kohm nicht
überschreiten sollte.
Also demnach wirklich zu stark dimensioniert.
Aber was sagt mir das nun über meine Genauigkeit aus?
Der ADC löst auf 10bit auf, sprich du hast 1024 Werte, die auf
meinetwegen 16 Volt aufgeteilt werden. -> minimal messbarer Unterschied
sind etwa 16 mV.
Allerding solltest du dich noch über Schutzschaltungen fürs Auto schlau
machen, sonst lebt deine Platine am Boardnetz nicht lang.
>Allerding solltest du dich noch über Schutzschaltungen fürs Auto schlau>machen, sonst lebt deine Platine am Boardnetz nicht lang.
Wird noch gemacht.
Alles klar. Danke nochmals für eure Hilfe.
Schönen Abend wünsche ich.
Die Hintergrundbeleuchtung wird über den Portpin wohl nur schwach
leuchten (210mA laut Datenblatt). Kannste also knicken. Und D0-D3
am LCD lass mal besser unbeschaltet.
Hallo,
wo ist die Filterbeschaltung für den AVcc-Pin? Dieser sollte wie im
Datenblatt beschrieben vorgesehen werden, insbesondere bei Verwendung
der voller 10bit-Auflösung des ADC.
Wenn die Hintergrund-Beleuchtung des Displays wirklich ca. 200mA
benötigt, solltest du dir Gedanken über die Verlustleistung am
7805-Regler machen.
(8V Spannungsabfall bei laufendem Automotor und 200mA Strom macht
immerhin schon 1,6W; ohne Kühlkörper bzw. Kühlkupfer wird das wohl
nichts ...)
>Die Hintergrundbeleuchtung wird über den Portpin wohl nur schwach>leuchten (210mA laut Datenblatt). Kannste also knicken.
Laut Datenblatt liegt die LCD Hintergrundbeleuchtug bei max.25mA
http://docs-europe.origin.electrocomponents.com/webdocs/06dd/0900766b806dda1c.pdf
Siehe S.3
Die Beleuchtung soll später via PWM angesteuert werden, damit sie in der
Nacht nicht zu stark blendet und tagsüber auch lesbar bleibt.
>Und D0-D3am LCD lass mal besser unbeschaltet.
Soweit ich weiß stand mal im Tut das ungenutzte PINs auf Masse zu
schalten sind. So sollen auch Störungen vermieden werden.
Auf dem EasyAVR5A der Firma MikroE ist es auch so gemacht.
Wegen der Beschaltung am Avcc werde ich mich kümmern.
Bei Verwendung der internen Referenz legt der AVR eben genau diese
Spannung auf den ARef Pin, damit man dort noch ein Filter anschließen
kann.
Wenn Du eine externe Referenzsspannung anlegst, sollte diese ebenfalls
gut enkoppelt werden:
Ferrit zwischen Vcc und AVcc, Vorwiderstand zwischen AVcc und
Referenzspannungsquelle, an diesem Punkt ARef abgreifen. Bei einem
LM4040Dxx haben sich 2k2 bewährt. Die AVcc mit 10nF und 100nF und die
ARef mit 1nF und 100nF jeweils so dicht wie möglich am AVR GNDA
entkoppeln.
Ich kenne den MCP1541 nicht, aber bezweifle, dass er einen internen
Vorwiderstand hat.
Die Massefläche für die analogen Signale nur an einem zentralen Punkt
mit der Massefläche der restlichen Schaltung verbinden.
Für Deine Messanforderungen ist das zwar etwas zu oversized, aber die
Bauteile kosten nichts und nachträglich weglassen ist einfacher und
billiger als ein neues Layout.
Alle analogen Leitungen Richtung Fahrzeug über Ferrite filtern, schnelle
Varistoren oder/ und schnelle TAZe verwenden. Das gilt auch für
Sensoren, deren Kabel lediglich eine längere Strecke neben einem
vorhandenen Kabelbaum geführt werden, auch wenn sie nicht direkt mit
diesem Verbunden sind. Für digitale Eingänge immer einen
Serienwiderstand von 10..22R vorsehen, auch hier einen schnellen
Varistor oder eine TAZ vorsehen.
Statt eines Längsreglers würde ich einen kleinen DC/DC Wandler
verwenden, am besten einen, der deutlich mehr als 24V am Eingang
verträgt. Allerdings ist das Design eines solchen nicht immer einfach.
LCD Beleuchtung kann man über PWM dimmen, die PWM wird aber auch schön
ins Bordnetz gesendet. Daher dort besser noch einen kleinen Elko und
100nF parallel hinzufügen.
Die Benennung der Stecker deutet möglicherweise darauf hin, dass hier
Kontakte der Hebel an der Steuersäule angelegt werden sollen. Diese
Eingäng unbedingt gegen potentielle 12V sichern. Also höherer
Serienwiderstand TAZ und Z-Diode von 5V zwischen Serienwiderstand und
CPU Pin.
Richtung Steuersäule auf jeden Fall mit den Signalen aufpassen, dort
liegen auch die Leitungen für die Airbag-Auslösung.
Zitat aus einem DC/DC Wandler Datenblatt von Analog Devices:
"Remeber, if you connect to a car power supply, you connect to a power
supply from hell..."
Gruß, Ulrich
Hallo Uli,
erstmal vielen für deine ausführliche Beschreibung und Hilfestellung.
Zum einen TAZs kenne ich jetzt so gar nicht, wobei ich mit Varistoren
doch schon mehrfach gearbeitet habe.
An sich hatte ich vor zur Beschaltung an sich von 5V auf 12V den IRF540
zu nehmen.
Dieser kann direkt mittels TTL-Pegel angsteuert werden und bedarf somit
keinen Vorwiderstand.
>Die Benennung der Stecker deutet möglicherweise darauf hin, dass hier>Kontakte der Hebel an der Steuersäule angelegt werden sollen.
Das siehst du richtig. An sich soll der µC z.b. beim Antippen des
Blinkers z.b. mehrfach nachblinken.
Die Innenraumbeleuchtung soll ausgedimmt werden, sobald die Zündung
eingeschaltet wurde, die Lampe aber sonst bis zu 2min brennen.
Die Fensterheber sollen so lange funktionstüchtig bleiben, bis die
Fahrertür geöffnet wird. Dafür hatte ich vor den Türkontakt abzugreifen.
Das Fahrlicht soll anstelle des Akustischen Warnsignals mit dem öffnen
der Tür abgeschaltet werden, wobei ich mir hier noch nicht sicher bin ob
ein RElais dafür die richtige Wahl ist.
Die Temperatur soll mittels dem DS1820 an 3 Stellen abgefragt werden.
Innenraum, Umgebung, Endstufe
So viel zu meinem Vorhaben.
Die Drosselspulen werde ich noch einsetzen. Allerdings stehen gerade
noch andere Dinge vor der Tür :(
Jean Player schrieb:
>den KURZSCHLUSS am AREF Pin erklärst du uns bitte mal.>Gruß
Das ist kein Kurzschluss. Ich hatte nur nicht die richtige LIB für den
MCP da. Aber das Gehäuse ist das gleiche ;)
Ist aber aus dem Layout im ersten Post ersichtlich
Ok, ok...
Also zuerst für interessierte Mitleser die obligatorische
Rechtsbelehrung:
Veränderungen an der äußeren Beleuchtungsanlage eines KFZ führen in der
Regel zur Erlöschung der Betriebserlaubnuis es sei den es werden
zugelassene Resatz- oder Zubehörteile verwendet.
Veränderungen an der Fahzeugtechnik selbst, auch Innen, führen in der
Regel zur Erlöschung der Garantie.
Damit aber genug zu diesem Thema.
TAZe sind Transienten Absorber Dioden. Diese schützen ein Signal vor
Einflüssen durch schnelle Transienten, also extrem schnell ansteigende
Störimpulse. Diese Bauteile sind sehr schnell, können aber nicht so hohe
Energien vernichten. Ein Varistor ist dafür zu langsam, kann aber länger
durchhalten.
Man bekommt diese Bauteile auch in mehreren in einem Gehäuse um z.B.
einen USB Bus zu schützen. Allerdings ist die übliche Bauform SMD
SOT23-5 oder SOT23-6 Gehäuse.
Gruß, Ulrich
Natürlich ist es mir bewusst, zumal ich an der äußeren Anlage nichts
verändere, sondern lediglich deren Beschaltung im Falle des vergessens
;)
Ausßerdem glaube ich kaum das die Garantie von dem Fahrzeug noch eine
Rolle spielt, da dieser Bj. 98 ist.
Ich werde mich mal umschauen, allerdings hatte ich nicht vor SMD Teile
zu verwenden.
Danke euch erstmal für die viele Hilfe.
lg