PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Attiny13V und Widerstand messen



wodka
21.02.2009, 11:20
Hallo,

ich habe vor eine ESD-Buchse (1MOhm gegen PE +-Toleranz) wöchentlich zu überprüfen oder vll auch ständig? Wenn es geht SleepMode. evtl?. Sollte diese Messung fehlschlagen (>2,5MOhm oder kleiner <750k), soll eine LED rot leuchten.
Die Messung soll über den ADC0 und Internal Uref 1.1V stattfinden.
Ich wollte dann noch gerne die Brown-Out Detection >2,7V zur Batteriespannungsüberwachung benutzen.Dabei geht der Controller ja in Reset.Hier fehlt mir auch noch die Idee, wie dann ein LED mit LowBat aufleuchten könnte.
Das ganze wollte ich sehr klein, handlich und batteriebetrieben sein.

Frage an euch? Lässt sich meine Idee so leicht umsetzen, wie beschrieben, oder erwarten mich da noch sehr große Schwierigkeiten? Wie lange würde der Controller Batterie betrieben laufen, was schätzt ihr? Wollte mir gerne die Netzteile sparen.

Freu mich auf eure Antworten..

Gruß

Besserwessi
21.02.2009, 13:16
Die Versorgungsspannung kann man den AD wandler Messen:
Ref = VCC und dann die Bandgap ref als Eingangsgröße. Die umrechnung ist etwas ungewöhnlich.

Besserwessi
21.02.2009, 18:01
Batteriebetrieb (3 V) sollte gut möglich sein. Bei 32 Khz im Standly (idel) kriegt man den Stromverbrauch auch auf ein paar µA. Da sollten batterien schon recht lange halten, selbst Knofzellen wären eventuell möglich.

Was noch etwas unklar ist, wie Trennt man zwischen messen und der eigentlichen Funktion als ESD Buchse. Das einzige was mir dazu einfallen würde, wäre es den 1 M Widerstand als 2 parallel 2 M Widerstände zu haben und den Test so machen, das man die beiden Widerstände in der Serienschaltung überprüft. Grobe Fehler wird man so erkennen können, eine hundertprozentiger Test ist das aber natürlich nicht. Immerhin ist der Fall eines faschen OKs eher unwahrscheinlich, denn dazu müßte der eine Widerstand hochohmiger werden und der andere Niederohmiger.

wodka
22.02.2009, 07:15
Hi,

vielen Dank für die Antwort.

Du hast recht, dass Trennen wird nicht so einfach. Ich denke, ich nehme doch ein Testtaster. Dann kann man damit auch den Controller von der Versorgung trennen und wir brauchen garkein Strom.
Man muss eh kontrollieren, ob die Messung fehlgeschlagen ist, dann kann man auch kurz einen Prüf-Taster drücken.

Mich würde nur nochmal die Frage interressieren, wie ich es mit der LowBat realisiere?

Schönen Gruß

Besserwessi
22.02.2009, 09:58
Die Batteriespannung kann man ja über den AD wandler messen. Wenn der Wert zuniedrig (z.B. <2,4 V) ist gibt man ein Signal. Brownout hilft einem da wenig. Wenn man Alkaline Batterien benutzt geht die Spannung einigermaßen langsam runter und man sollte noch genug Leistung für die low Batt LED haben.


Bei der Prüftaste muß man wohl auch aufpassen, damit man nicht beim Prüfen einen zu niedrigen Widerstand hat. Also da wohl auch noch man 1 M in Reihe.

wodka
25.02.2009, 14:43
Ich habe nochmal im Anhang die Schaltung. Würde das so gehen, den Messwiderstand zu messen? Weil das ganze ist ja ziemlich hochohmig wg. dem Messwiderstand. Wollte gerne mit der internen 1.1V Referenz arbeiten. Aber 1mv (1,1/1023) bei 10-bit Auflösung, ist das nicht ziemlich wenig?
Kann es leider praktisch noch nicht so gut testen, weil mir die Widerstände fehlen. Der ADC Eingang, soll ja aber 50MOhm betragen.
Gut die Messnung muss auch nicht supergenau arbeiten, da ist schon bisschen Toleranz drin.
Kann man das eleganter lösen? Nicht zu vergessen, das ganze soll möglichst lange batteriebetrieben funktioneren, wobei ein Prüftaster noch vor die Spannungsquelle könnte.

Freu mich auf eure Antworten, Danke!

Besserwessi
25.02.2009, 17:16
Das Problem mit dem Einganswiderstand des AD Wandlers kann man umgehen, indem man einen Kondensator von etwa 10 nF vom AD Eingang zu GND schaltet. Es dauert dann ein bischen (ca. 0.05s) bis der Kondesator geladen ist, aber dafür sollte der AD wandler besser arbeiten, denn dann kann er die Ladung aus dem Kondensator ziehen.
Für die Widerstandsmessung sollte man lieber VCC als Referenzspannung wählen, denn die Meßspannung hängt auch von VCC ab. Dabei ist es dann egal dass Vcc nicht stabilisiert ist und zwischen 2 und 3 V liegen kann. Als ander Widerstand wäre dann ein einfacher 1 M Widerstand sinnvoll. Wenn man will könnte man die Spannung auch von einem Portpin hohlen, um die Messung abschalten zu können.
Die 2 LEDs könnte man sogar über einen Portpin steuern.

wodka
25.02.2009, 17:29
Ok, dass ist eine gute Idee! Aber wenn ich VCC als Ref benutze, dann bekomme ich ja schwierigkeiten mit der Überprüfung der Bat Spannung oder?

Besserwessi
25.02.2009, 19:53
Die Referenzspannung kann man per Software umstellen. Es geht also den Widerstand mit Vcc als Ref zu messen, und die Batteriespannung mit der 1,1 V Referenz. Der Tiny13 kann leider nicht als zu messende Spannung die intere Referenz auswählen. Das wäre sonst der einfachste Weg um Vcc zu messen. Man wird also noch einmal einen Spannungsteiler brauchen für etwa Vcc/3 für Battereispannung. Da man es ja auch nicht so genau braucht, könnte es auch reichen die Spannung einer LED zu messen statt der internen Referenz.

wodka
27.02.2009, 14:39
Ich habe nochmal eine Frage zu der Auflösung eines Tiny13

Wenn er als interne Ref 1,1V hat, dann ist 1,1V/1023 = 1,07 mV pro Schritt und bei 5V/1024 = 4,88 mV.

Kann der wirklich so kleine Spannungsänderung wahrnehmen? oder habe ich einen Fehler bei der Rechnung ?

Gruß

Besserwessi
27.02.2009, 14:48
Die Rechnung sieht richtig aus. 1 mV ist auch noch keine so kleine Spannung. Man muß aber bei der sehr hochohmigen Signalquelle mit der Einkopplung von 50 Hz und anderen Störungen rechnen.

wodka
28.02.2009, 21:29
Ich habe nun nochmal ein Schaltplan erstellt und mich ein bisschen um entschieden. So nehme ich nun eine 9V Block Batterie und auch eine Gleichspannung soll anschließbar sein. So stelle ich mir nun vor, dass ich Aref = VCC nehme und die 9V Batteriespannung über einen Spannungsteiler überprüfe.

Mit dem Spannungsteiler 1,8 MOhm gegen den Messwiderstand von 750k - 3MOhm liege ich leider nicht ganz so gut im Messbereich 0-1023, 750K = 1,454 V (ADC=297) , 3M = 3,042 V (ADC=623), Kein Messwiderstand = 4,750V (ADC=972)
Das könnte man doch bestimmt noch verbessern oder, muss da unbedingt ein OPV her. Dann müsste ich ja wieder eine negative Spannung haben! ??

Besserwessi
28.02.2009, 22:37
Für einen OPV braucht man keine negative Spannung Besonders mit Rail-Rail Typen kommt man auch mit nur 3-5 V aus. Ich sehe aber nicht das man unbedingt einen OP braucht.

Ich würde bei 3 V batteriespannung bleiben. Eventuell sogar eine Li zelle, sonst wohl 2 mal AA.

Den Widerstand kann man einfach messen rund 1 M in Reihe (an der GND seite, den zu messenden Widerstand von VCC). Die messung geht dann mit VCC als Referenz, und sollte etwa 512 ergeben. Wegen der hohen Impedanz wird man wohl einen Folien-Kondensator von rund 10 nF am AD Eingang brauchen.

Die Versorgungsspannung kann man z.B. so konntrollieren, das man die Spannung am Widerstand in Reihe mit einer grünen LED mißt. Da sollte man dann VCC-ca. 2,2 V messen, also eine recht kleine Spannung. Das gibt zwar keine sehr genaue Spannungsmessung, aber zur kontrolle der Batterie sollte es reichen. Vor allem wird so die Bateriespannung auch mit Last gemessen, so dass es auch bei einfachen Zink-Kohle Batterien noch ein brauchbares Ergebnis gibt. Die Zink Kohle Batterien haben nämlich bis fast ganz zum Schluß noch die volle Leerlaufspannung, aber einen zunehmenden Innenwiderstand.

Den hauptnachteil den man bei 3 V hat, ist dass man wohl keine der hocheffizienten grünen LEDs nehmen kann, denn die braichen oft mehr als 3 V.

wodka
10.03.2009, 15:44
So, ich bin nun schon ein Stück weiter und mache Versuche vorerst mit einem Atmega32 und ein LCD...

Ich habe zwei Widerstände, ein Vorwiderstand und den messwiderstand. Das ganze mit Kondensatoren entstört, funktioniert soweit auch ganz gut..



Aufbau:

----- 4,63 V, wg Schutzdioden niedriger als VCC
|
1,82 MOhm Rv
|
|--------------------- ADC (VRef = AVCC, 4,95V)
|
Messwiderstand 750k- 3MOhm
|
|
----- Minus und mit PE Schutzleiter verbunden



Nun habe ich ein Problem, dass die Messergebnisse nicht linear Verlaufen, sondern paar Beispiele:

AD-Wert | Wert in kOhm

620 | 3000
380 | 1000
339 | 820
272 | 560
220 | 390
175 | 270
70 | 2,2

Liegt das am 50MOhm ADC-Innenwiderstand vom AVR, weil ich ja so hochohmig messe und dann niederohmiger. Gibt es noch andere Möglichkeiten das zu realisieren. Wie funktioniert das denn bei einem 10Euro teuren Multimeter, dass knnn doch nicht so schwer sein :-(
Könnt ihr mir helfen?

Gruß

Besserwessi
10.03.2009, 16:30
So ein einfacher Spannungsteiler ist nun mal nichtlinear. Für eine geht / geht nicht Test ist das aber kein Problem.
Die Multimeter können das auf 2 Methoden machen:
1. mit einer Konstantstromquelle statt den 2 ten Widerstand.
2. als Referenzspannung wird die Spannung an dem anderen Widerstand genutzt (eher selten und was für hohe Genauigkeit)

Sauerbruch
10.03.2009, 16:40
Nun habe ich ein Problem, dass die Messergebnisse nicht linear Verlaufen

Das muss auch so sein:

Rv und R bilden einen Spannungsteiler, auf den sich die 4,63 Volt im Verhältnis Rv:R aufteilen. Die Spannung über dem Messwiderstand R ist somit

4,63 V * R / (R + Rv)

und der ADC-Wert folglich

1023 * R / (R + Rv).

Das ist nun mal keine linerare Geschichte, wie Du leicht in einem Excel-Sheet ausprobieren kannst. Mit Ausnahme des Wertes bei 2,2 kOhm stimmt der Rest gut mit dieser Formel überein. Könnte Dein 2,2 kOhm-Widerstand vielleicht 135 kOhm gehabt haben?

Aber das war ja gar nicht das Problem...

Mit etwas Vorstellungskraft kann man erkennen, dass diese Formel zumindest annähernd linear wird, wenn Rv sehr viel größer ist als R. Da Dein R ja aber schon im MOhm-Bereich liegt könnte das erstens mit real existierenden Bauteilen problematisch werden, und zweitens der Eingangswiderstand des AD-Wandlers zum Tragen kommen.

Bliebt also noch die Lösung mit ausrechnen!

Dein Spannungsteiler besteht aus dem Vorwiderstand Rv und dem zu messenden Widerstand Rx. An den Widerständen fallen die Spannungen Uv und Ux ab.

Rx : Rv = Ux : Uv

Mit ein bisschen Umstellen müsste das gehen =P~

Viel Spaß & gutes Gelingen!

EDIT:

Oops - habe den Beitrag von Besserwessi nicht gesehen...

Dirk
10.03.2009, 16:54
Nun habe ich ein Problem, dass die Messergebnisse nicht linear Verlaufen
Ich habe deine Meßergebnisse mal in Excel dargestellt:
Es wird die Spannung an deinem Widerstand recht gut gemessen.

Es gibt aber einen absoluten Fehler von +0,12V (3 MOhm) bis +0,33V (2,2 kOhm), wobei ich nicht weiß, warum der Fehler nicht linear ist.

Gruß Dirk

wodka
11.03.2009, 03:43
Vielen Dank für die schnellen Antworten. Könnte man eine Konstantstromquelle für so kleine Ströme realisieren, hat jemand dafür ein kurzes Beispiel?

Danke

Dirk
11.03.2009, 16:18
Könnte man eine Konstantstromquelle für so kleine Ströme realisieren, ...
Warum denn?
Da hast doch jetzt alles gelöst, was du anfangs haben wolltest.
Du kannst den Widerstand messen/berechnen.

Was willst du mehr?

Gruß Dirk

Besserwessi
11.03.2009, 18:17
Durch die hohen Widerstände können schon mal Fehler durch Leckströme entstehen. Allerdings sollten die bei normaler Temperatur eher kleiner sein. Durch sehr schenlles Messung mit Kanalwechsel könnte auch eine Art Lechstrom entstehen.

Der große Feher bei dem 2,2 K Widerstand läßt aber eher auf ein anderes Problem schleißen: sind den GND und AGND verbunden und die Masseführung einigermaßen logisch. Da muß schon etwas ziehlich faul sein man mit den 2,2 K bein AD keinen Wert von 0 bis 4 rauskriegt.

wodka
12.03.2009, 17:02
Vielen Dank,

ja war auch mein Fehler bzw zwei Fehler! Hatte in der Berechnung ein Fehler mit der Referenzspannung, weil ich eine Diode wg Durchlassspannung vergessen hatte und bei 2,2k bin ich nun auch bei einem Wert von 2.

Die Schaltung funktioniert nun einwandfrei ;-)

Dankeschööön