Archiv verlassen und diese Seite im Standarddesign anzeigen : Spannung messen ADC Atmega 8.. Wie
Der Big E.
13.02.2010, 14:38
Hy Jungs,
ich habe mich nun ein wenig mit dem AVR beschäftigt und in der Theroie funktioniert mein Programm auch schon.
Nun bin ich am Überlegen, wie ich an den avr die spannung an den I/= Pin bringe. Ich kann den ja nicht ohne Vorwiderstand anschließen oder?
Ich hatte mir das so überlegt
Für max 15 V
|
| 12KOhm
|
o- - - - - - I/O PIN ADC
|
| 4,7Kohm
|
An dem I/O Pin würden meiner Meinung nach nun max. 4.2 V ankommen und ein Strom von 0,000125 A. Lieg ich damit richtig?
Muss ich dann noch nen Widerstand zum I/O PIN machen?
Danke schomal
Besserwessi
13.02.2010, 15:36
So wie gezeigt geht das schon, wenn der µC wenigstens 4,2 V als Versorgung bekommt. Der Schutz bei fehlender Versorgungsspannung oder größerenen Spannung ist allerdings nicht besonders gut (bis ca. 15 V ohne Vcc, bis ca. 24 V sonst). Es kann noch weiter gut gehen, da ist ds Datenblatt von Atmel nicht ganz vollständig, und da sind ja auchnur Mindestwerte angegeben.
Wenn man ganz sicher gehen will, könnte man noch kleine Dioden vom Spannungsteiler in Richtung GND und VCC und dann eine Widerstand von ca. 1-2 K zwischen Spannungssteiler und AD Pin. Die Dioden so, daß sie normalerweise sperren. Die Widerstände dürfen auch noch größer werden, wenn man die Spannungsquelle weniger belasten will.
Der berechente Strom paßt nicht so richtig. Welcher ist eigentlich gemeint ?
Hallo Der Big E.,
für max. 15 Volt passen Widerstände im Verhältnis 2 : 1 gut.
Als 1% Metallschicht gibt es passend: 12,4 kOhm : 6,20 kOhm.
Du brauchst keinen Widerstand zum ADC-Eingang.
Je nach Spannungsquelle, die man messen will, braucht es auch noch eine Schutzschaltung für den ADC-Eingang (z.B. fürs Autobordnetz).
Gruß Dirk
Der Big E.
13.02.2010, 15:54
Gut, das ich keine Schutzschaltung habe mit Z-Diode weiss ich, es ging mir um den grundsatz. Könnte ich noch einen Widerstand ranmachen vll. 10kOhm oder macht das keinen Sinn.
Wenn ich eine Spannung max. 5 V habe. kann ich diese doch einfach mit einem 10kOhm Widerstand anschließen.
Vorrausgesetzt AARF sind auch 5 V.
Seh ich das richtig?
Wie viel Amper kann eigentlich der Eingang ab
Wenn ich eine Spannung max. 5 V habe. kann ich diese doch einfach mit einem 10kOhm Widerstand anschließen.
Du kannst sie auch ohne 10kOhm Widerstand anschließen.
Wie viel Amper kann eigentlich der Eingang ab
Was ist das denn für eine Frage? Der ADC-Eingang ist sehr hochohmig, laut Datenblatt beträgt der Eingangswiderstand typisch 100MOhm.
Bei Vref von 5 Volt (soviel Spannung darst du ja max. anlegen) fließen in den ADC-Eingang sage und schreibe 50nA (= 50 Nano-Ampere, das sind 0,00000005A).
Gruß Dirk
Besserwessi
13.02.2010, 19:35
Im mittle sind die AD Eingänge wirklic hochohmig ( 100 MOhm Bereich). Wenn der AD wandler abtastet wird aber in relativ kurzer Zeit der Kondensator (ca. 10 pF ?) zum Abtasten der Spannung geladen. Deshalb soll der Wiederstandswert, den de AD Eingang sieht nicht größer als 20 K Ohm sein. Sonst kann es beim Umschalten zwischen Kanälen zu Fehlmessungen kommen.
Noch einfacher als gezeit geht es also nicht .
An den Eingängen sind Schutzdioden jeweils nach AVCC und GND. Diese dioden können etwas Strom ableiten und so verhindern das die Spannung zu groß wird. Der Strom darf da allerdings nur maximal 1 mA betragen !
Wenn der µC mit Spannung versorgt wird (vor allem wenn die relativ hoch ist) und mehr Strom fleißt, besteht die gefahr eines Latchup und damit Schaden am µC. Mit einem Widerstand von 10 K vor dem Pin liegt die maximale Spannung bei ca. 15 V. Der Messbereich geht aber trotzdem nur bis zur Spannung an AREF.
Sorry dass ich das Thema wieder ausgrabe, aber ich habe einen sehr ähnliches Problem: Wenn ich am ADC Spannungen bis 30V anliegen habe, wie muss ich dann den Spannungesteiler mindestens dimensionieren (Gesamtwiderstand oder kleinster Widerstand. Das Verhältnis rechne ich mir schon selber aus), damit der ADC keinen Schaden nimmt?
Hält der dann dauerhaft die Belastung aus, oder sollte lieber nach einer anderen Möglichkeit suchen?
Danke
Martin
Du musst den so dimensionieren, dass am Widerstand der paralell zum ADC liegt, 5V abfallen. Also bei 30V Eingangsspannung wären die 5V 1/6 der Gesamtspannung. Also nimmst du z.B. einen 10k Widerstand paralell zum ADC und der Widerstand vor dem 10k wäre dann ein 47k + 3,3k dann kommst du auf etwa 50k.
Wenn du das so machst also einen 3,3k, einen 47k und einen 10k in Reihe schaltest und den 10k dann mit GND verbindest und dann den ADC zwischen den 10k und den 47k schaltest, fallen am 10k Widerstand bei 30V 4,975V (Ergebniss ohne Toleranzen!!!!) ab.
da habe ich wohl meine frage falsch formuliert. Besserwessi hat hier schonmal geschrieben, dass am ADC Pin auch Spannungen >5V anliegen dürfen. das ist bei mir der Fall. Nur sollter der Widerstand von der SPannungesquelle zum ADC Pin groß genug sein, damit die Überspannung ihn nicht grillt. Diesen Widerstandwert bräuchte ich.
DAnke
Martin
@Martin:
Nur sollter der Widerstand von der SPannungesquelle zum ADC Pin groß genug sein, damit die Überspannung ihn nicht grillt. Diesen Widerstandwert bräuchte ich.
Du willst ja 30 V messen.
Die Werte für einen passenden Spannungsteiler hat dir doch Kampi geliefert. Was brauchst du noch?
Gruß Dirk
Ich baue ein Voltmeter für ein Schaltnetzteil, dass Spannung im Bereich von 0 bis 30V messen soll. Zur erhöhung der Genauigkeit unterglieder ich das in vier Spannungsbereiche. 0..1V, 1..5V,5..15V und 15..30V. Dazu benutz ich einen nichtinvertierenden Verstärker bzw. Spannungsteiler mit unterschiedlichen Verhältnissen. Die sind alle an unterschiedliche ADC Pins angeschlossen. Der Spannungsteiler mit dem 5:1 Verhältnis für 15..30V macht dabei nie Probleme. Aber zum Beispiel der Spannungsteiler für 5..15V, also ein 2:1 Verhältnis würde bei Spannungen über 15V jedoch ein ADC Pin Potential von über 5 Volt liefern, dass maximal 10V wird. Eine Zener-Diode möchte ich wegen messgenauigkeit nicht verwenden.
Tut mir leid, dass ich diesen Thread gerade zu Mülle. Ich habe ja selber ein Thema erstellt: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=55517&highlight=, aber hier wurden die Punkte ja schon angesprochen
So wie gezeigt geht das schon, wenn der µC wenigstens 4,2 V als Versorgung bekommt. Der Schutz bei fehlender Versorgungsspannung oder größerenen Spannung ist allerdings nicht besonders gut (bis ca. 15 V ohne Vcc, bis ca. 24 V sonst). Es kann noch weiter gut gehen, da ist ds Datenblatt von Atmel nicht ganz vollständig, und da sind ja auchnur Mindestwerte angegeben.
Wenn der µC mit Spannung versorgt wird (vor allem wenn die relativ hoch ist) und mehr Strom fleißt, besteht die gefahr eines Latchup und damit Schaden am µC. Mit einem Widerstand von 10 K vor dem Pin liegt die maximale Spannung bei ca. 15 V. Der Messbereich geht aber trotzdem nur bis zur Spannung an AREF.
Wenn ein 10k Widerstand vor Spannungen bis 15V schützt, welcher Widerstand muss ich mindestens verwenden um vor SPannungen bis 30V zu schützen.
Also nochmals entschuldigung dass ich hier einen Thread missbrauche!
Danke
Martin
radbruch
10.08.2010, 13:37
Hallo
Ich denke, dein Konzept funktioniert nicht:
Symbol Parameter Condition Min(1) Typ(1) Max(1) Units
Clock Frequency 50 1000 kHz aha!
AVCC Analog Supply Voltage VCC - 0.3 VCC + 0.3 V
VREF Reference Voltage 2.0 AVCC V
VIN Input voltage GND VREF V
Aus dem Datenblatt des Mega8 Seite 248. Die angelegte Spannung am Eingangspin darf nicht größer als die Versorgungsspannung des Mega8 sein!
Gruß
mic
Das habe ich auch immer gedacht. Bis heute als ich hier erfahren habe, dass mit dem richtigen Widerstand es klappen sollte. War das nicht auch die Aussage von Besserwessi im zweiten Zitat? AREF lass ich im übrigen bei 5V. Ich möchte ja nicht den Messbereich auf 30V erweitern, sondern nur abschneiden, was über 5V ist, ohne den Atmega zu vernichten.
Gruß
martin
@Martin:
Geh mal davon aus, dass an dem ADC-Pin unter allen Bedingungen nicht mehr als 5V (AREF) anliegen dürfen.
Wenn du also den Messbereich von 30 Volt aufteilen willst (warum eigentlich?), dann darfst du für die Bereiche bis 5, 10, 15 V keine eigenen Spannungsteiler (auch wenn sie für DEN Bereich "richtig" berechnet sind) DIREKT an 30 V legen!
Poste doch mal deine komplette Mess-Schaltung, dann kann man mehr sagen!
Gruß Dirk
Das eigentliche Thema um mein Schaltnetzteil ist ja hier:
Keine Angst, der letzte Beitrag ist eigentlich der wichtige, weil da nochmal der Schaltplan steht. Jeder ADC Kanal ist ein eigener Messbereich.
https://www.roboternetz.de/phpBB2/viewtopic.php?p=514012#514012
Danke
Martin
Wenn ein 10k Widerstand vor Spannungen bis 15V schützt, welcher Widerstand muss ich mindestens verwenden um vor SPannungen bis 30V zu schützen.
Es wurde ja schon erwähnt, die (inneren) Schutzdioden könner
max 1 mA ab. 30 V / 0.001 A = 30000 Ohm = 30k mindestens.
Allerdings sollte man auch nicht zu hoch gehen, je höher der
Eingangs R je schneller fängt man sich Störungen ein.
Gruß Richard
Besserwessi
10.08.2010, 17:07
Durch die internen Schutzdioden ist man halt bis etwa 15 V noch auf der sicheren Seite bei 10 kOhm Impedanz des Spannungsteilers. Viel Hochohmiger als 10 K für den Ausgang sollte der Spannungsteiler nicht sein. Damit hat man also eine Reserve bis zur etwa 3 fachen Spannung wenn man den Spannungsteiler auf 10 K Ausgangswiderstand auslegt. Wenn der Teiler bis 30 V geht, wäre das also bis etwa 90 V am Eingang.
Der Teiler müßte dann etwa aus 12 K und 60 K bestehen. Gängigere Werte wären wohl 15 K und 75 K.
Die internen Schutzdioden sollte man aber nicht überbelasten, die sind normal nur als letzte Reserve gedacht, auch gegen ESD und ähnliches. Wenn man die Dioden schon normal vorbelastet kann z.B. die ESD-Beständigkeit sinken. Wenn öfter größere Spannungen auftreten, sollte man einen externe Diode und einen zusätzlichen Widerstand von etwa 2,2 K zum AD Eingang vorsehen. Damit ist man dann auch besser gegen ESD geschützt.
Genau auf die Antwort habe ich gewartet!
Aber stören die Dioden dann nicht meine Linearität des ADC? Oder kannst du da bestimmte empfehlen, bei denen die Störwirkung sehr gering ausfällt?
Wird dann die Diode in Reihe mit dem 2,2k Widerstand vor den Eingang geschalten?
Spannungsteiler
|
|
2,2k
|
|
Diode
|
|
AD Eingang
Besserwessi
10.08.2010, 21:41
Die Diode kommt nicht in Reihe, sondern geht vom Spannungsteiler (Ausgang) nach Vcc. Der 2,2 K Widerstand kommt zwischen den AD Eingang und den Spannungsteiler.
Solange die Spannung kleiner als Vcc ist, sperrt die Diode und stört nicht. Wenn die Spannung größer wird, verhindert die Diode, dass die Spannung um mehr als etwa 0,6 V größer als Vcc wird. Der 2,2 K Widerstand begrenzt dann den Strom bei der Spannung von Vcc+0,6 V auf irgendwas in der Größenordnung 0,1 mA.
Drei kleine Fragen noch:
1. Gibt es für die Schottky-Diode irgendwelche empfehlungen? Ich habe mal die BAT 41 rausgesucht. Wäre die ausreichend?
2. Ist es sinnvoll um die Messgenauigkeit zu erhöhen einen sehr hochohmigen Spannungesteiler zu verwenden und dann einen Impedanzwandler mit ca. 15k vor den AD Pin (immernoch mit der Diode) zu schalten, oder ist das oversized?
3. Passt dann die Schaltung soweit?
Vielen Dank!
Martin
Achja: VCC ist ja in dem Fall 5V Versorgungsspannung des MC. Wenn am Spannungsteiler dann 30V anliegen würden, müssten ja dann an der Diode 24,4V in etwa abfallen oder?
Hubert.G
11.08.2010, 11:54
Die Werte des Spannungsteiler hast du wohl vertauscht.
An den ADC-Pin noch einen Kondensator, etwa 1n.
Wenn es sein kann das der Kontroller ohne Strom ist aber die 30V anstehen, dann in den Fuses BODEN aktivieren.
Stimmt das habe ich vertauscht. Aber der Ausgangswiderstand ist doch der zwischen meiner Spannungsquelle und dem ADC Pin. Also bei mir der obere. Wenn der ungefähr 10k max. sein darf und ich ein 5:1 Verhältnis haben möchte, dann ist ja oben ein 10k Widerstand und unten ein 2k Widerstand. Dann habe ich ja als gesamtwiderstand des Spannungsteilers nur 12k. Ist das nicht ein bisschen wenig? Wenn ich eine Last mit ein paar kOhm habe, dann ist doch der Fehler viel zu groß? Darum auch meine Frage, ob ich nicht die Impedanz wandeln soll?
Besserwessi
11.08.2010, 17:33
Die Beiden Widerstände sind vertauscht. Der 15 K Widerstand gehärt nach Massse, der 75 K zum Eingang. Der Größere Teil der Spannung soll doch an dem Widerstand am Eingang abfallen.
Der Spannungsteiler mit 75 K und 15 K hat einen Ausgangswiderstand von etwa 12 K, gerade so viel wie die Parallelschatung der beiden Widerstände. Das ist auch zusammen mit den extra 2,2 K noch niederohmig genug für den AD Wandler.
Wenn man einen Kondensator am AD-eingang haben will, sollte dieser größer als etwa 10 nF sein, sonst gibt es Probleme bei größeren Sprüngen (z.B. beim Kanalwechsel). Bei einem kleineren Kondensator kann sich die Spannung duch den S&H-Kondensator im µC schon um mehr als ein LSB ändern.
10 nF und der Spannungsteiler (ca. 15 K) geben immer noch eine Grenzfrequenz von etwa 1 kHz, also etwa Passend für eine Abtastrate von 3-10 kHz.
Wenn es schneller sein soll, müßte man den Spannungsteiler niederohmiger machen, den Kondensator an einen zusätzlichen abgriff des Spannungsteilers verlegen bzw. ganz weglassen, oder ggf. einen Impedanzwandler dazu nehmen.
Edit: Bei der Diode ist ein geringer Leckstrom wichtiger als eine kleine Flußspannung. Also lieber eine 1N4148 statt einer Shottkydiode. Wenn auch negative Spannungen möglich sind, dann noch eine 2te nach GND dazu.
Ah vielen Dank, jetzt ist wirklich alles geklärt!
Hubert.G
11.08.2010, 21:12
Du kannst die Widerstände so lassen. Den Ausgleich macht der 1n Kondensator.
IOtechnician
02.10.2010, 14:43
Hallo zusammen,
ich bin auf euer Forum gestoßen da man hier meist kompetente Antworten bekommt ohne viel schnick schnack und sinnlosen Kommentaren, und hoff das ihr auch eine Antwort für mich auf Lager habt.
Ich realisiere ebenfalls eine Spannungsmessung mit einem ATmega.
Die Spannungsversorgung für den ATmega kommt von einer USB Schnittstelle eines Laptops da dieser auch Daten vom Atmega abrufen soll. Die ADC Eingänge werden an Messumformer (max 5V DC) angeschlossen. Somit liegt an den ADC Eingängen immer Spannung an, jedoch ist der ATmega nicht zu jeder Zeit mit Spannung versorgt. Kann dies Probleme bereiten oder macht es dem ATmega nichts aus wenn er Spannungslos ist jedoch an den ADC Eingänge Spannungs anliegt?
Gruß
Hubert.G
02.10.2010, 17:37
Hallo im Forum
Es kann Probleme geben, da der Kontroller dann über die Schutzdioden an den Pins mit Spannung versorgt wird.
Wenn die Eingangsbeschaltung hochohmig ist, dann kann dem ATmega nichts passieren.
Es kann aber leicht sein das er in einen undefinierten Zustand gerät.
Auf jeden Fall BODEN aktivieren mit BODLEVEL 4V.
IOtechnician
03.10.2010, 13:24
Erstmal danke für die schnelle Antwort.
Wenn ich das richtig verstanden habe verkraftet der Kontroller das, wenn ich vor die Pins z.B. einen 20k Ohm Widerstand vorschalte damit der Strom über die Internen Schutzdioden auf max 1mA begrenzt wird? Oder sollte ich selbst noch Dioden vorschalten?
Hubert.G
03.10.2010, 13:59
Wenn nicht sehr schnelle Änderungen der Spannung erfasst werden müssen, dann kannst du mit dem Widerstand auch noch höher gehen.
Dann allerdings noch einen 1n Kondensator vom Pin nach GND schalten.
PS: Es ist nicht gut, sich an einen alten Thread an zu hängen, diese werden oft nicht mehr richtig beachtet.
Besserwessi
03.10.2010, 16:08
Die internen Dioden beben schon einen gewissen Schutz, auch wenn es dann ggf. zu Störungen auf anderen Kanälen kommen kann. Wenn man ganz sicher gehen will, muß man extra externe Dioden als Schutz vorsehen. Die aber nicht direkt am µC, sondern nochmal mit einem Widerstand (z.B. 1 K) getrennt.
Wenn man nur den einen Kanal mißt, geht es mit dem 1 nF Kondensator. Wenn im Wechsel mehrere Kanäle gemessen werden sollen, sollte der Kondensator wenigstens 10-20 nF groß sein. Der Sampling-kondesator im µC (etwa 15 pF) kann die Spannung am 1 nF Kondensator bei einem großen Sprung schon merklich verändern.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.