PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Stromstärke gleichmäßig wiedergeben?



Rohbotiker
19.07.2007, 18:49
Hallo,

Ich habe ein Bauelement, das gibt im Wechsel zwei Stromstärken aus, diese sind mittels Adc auch gut unterscheidbar (20 Bits bei 1024Bit Auflösung), ich möchte dieses Ergebnis aber über einen digitalen Port mittels Interupt auswerten, heißt ich muss dieses Signal verstärken, so dass es eindeutig wird. Meine erste Überlegung war, einfach den Strom mittels irgendeines Bauelements zu speichern, dann wiederzugeben, und dann mit OP auf 0 und 5V zu wandeln. Wie mache ich das, oder gibt es noch eine andere Möglichkeit?

Noch was: Mit Potentiometer geht die Einstellung der Stromstärke nicht, da die Ausgabe Ortsabhängig sein kann, und ich nur bedingt gerne immer wieder an einem Potentiometer drehen würde.

wkrug
19.07.2007, 19:50
Ich verstehe deine Fragestellung nicht so ganz.
Ein 20 Bit A/D Wandler der 10 Bit Werte ausgibt, die analog verstärkt werden sollen um auf 0..5V zu kommen ????

Welchen Controller verwendest Du ?
Viele der ATMEL AVR (z.B. der ATMEGA 8 ) Controller haben einen Analog Komperator - könnte der nützlich sein ?

Kannst Du mal ein Blockschaltbild von deinem Aufbau machen ?

Rohbotiker
19.07.2007, 21:07
Ich nutze einen Atmega.

Der ADC hat eine Auflösung von 1024 Bit. Die obere Spannung liegt 20 Bits (Spannungsstufen=Einheiten) über der niedrigeren. Diesen Unterschied möchte ich Digital auswerten, um mit Interupts die Zeit zwischen den Flanken zu messen.
"Analog Komperator", sind damit die ADC Eingänge gemeint?

Yossarian
19.07.2007, 21:47
Hallo
Du meinst wahrscheinlich eine Auflösung von 10bit.
Damit teilst Du Deinen Wertebereich in 1024 Teile.
Mit freundlichen Grüßen
Benno

Rohbotiker
20.07.2007, 10:44
Ja genau, 10 Bit

wkrug
20.07.2007, 19:35
Der Analog Komperator ist eine art Operationsverstärker mit einem - und einem + Eingang.
Er kann Interrupts triggern.

Meine Idee wäre den einen Eingang mit einer Mittelspannung aus den 2 Werten zu versorgen und den anderen mit der original Spannung zu speisen.
Die Interupts des Analog Komperator werden dann mit der Umschaltung des Meßwertes getriggert - theoretisch zumindest.

Rohbotiker
20.07.2007, 19:55
Ja, nur meine Frage ist nun, wie kriege ich diese Mittelspannung raus, wiegesagt, es gibt zwar Flanken, aber die können unterschiedlich groß sein, also z.B. High: 4V/Low: 3.7V aber High:3.4/Low: 3.2V ist ist auch möglich, wie lässt sich das verstärken?

wkrug
20.07.2007, 20:01
Du nimmst das Signal und schickst es über einen Tiefpass.
Am Ausgang des Tiefpasses sollte deine Mittelspannung abzugreifen sein.
Die Zeitkonstante des Tiefpasses ist von der Umschaltefrequenz abhängig.

Zum Testen kannst Du ja mal das Signal an einen Operationsverstärker hängen und Dir die Ausgansimpulse von diesem mit dem Oszi anschauen.

Wenn sich der Strom sehr schnell und sehr stark ändert kann es natürlich zu Fehlinterpretationen kommen.

Rohbotiker
21.07.2007, 08:36
Danke!

Wie ist das mit der Kapazität des Kondensators? Eigentlich müsste desto größer, desto besser gelten, weil er dann am besten glättet, oder?
Wozu genau wird eigentlich der Wiederstand gebraucht, gehts auch ohne?

Yossarian
21.07.2007, 10:13
Hallo
Wenn ich Dein Eingangsposting richtig verstanden habe, willst Du die verschiedenen Pegel mittels Interrupt detektieren.In diesem Fall kannst Du zwar einen Tiefpass verwenden, um ev. Störungen zu filtern, aber nicht um die Spannungen zu glätten. Das wäre ja kontraproduktiv, da dadurch wieder eine Zeitverzögerung eintritt.Wenn die Verzögerung hinnehmbar wäre, wäre die Spannunsdetektierung per ADC ja kein Problem.
Wenn Du feste Schaltschwellen hast, benötigst Du für jede zu erkennen sein sollende Spannung
einen Komparator mit entsprechender Referenz.

Mit freundlichen Grüßen
Benno

Rohbotiker
21.07.2007, 10:36
Ja, soweit waren wir schon, und um diese Referenzspannung zu kriegen -> Signal geglättet an Op leiten.

Fragen: Welche Kondensator-Kapazität? Wozu Wiederstand im RC-Glied?

wkrug
21.07.2007, 13:42
Fragen: Welche Kondensator-Kapazität? Wozu Wiederstand im RC-Glied?

Der Widerstand bestimmt in zusammenarbeit mit dem Kondensator die Zeitkostante, also die "geschwindigkeit" mit der der Kondensator ge- und entladen wird. tau=R*C.
In der Praxis geht man von 5*tau für eine fast vollständige Umladung des Kondensators aus.
Ohne diesen Widerstand würde der Kondensator deine Spannungsquelle belasten (Innenwiderstand ?! ) und das Signal verfälschen, ausserdem ist ohne diesen Widerstand das Zeitverhalten deines R/C Gliedes nicht zu ermitteln.

Rohbotiker
21.07.2007, 14:00
Wieso würde der Kondensator ohne Wiederstand die Spannungsquelle belasten?
Einen Kondensator mit sehr hoher Kapazität, wäre der am besten (hat ja dann ein gutes Glättungsvermögen)?

wkrug
21.07.2007, 14:15
Fragen: Welche Kondensator-Kapazität? Wozu Wiederstand im RC-Glied?

Der Kondensator braucht zu einer Änderung seines Spannungspotentials einen Strom. Schaltest Du einen sehr hochkapazitiven Kondensator direkt an deine Spannungsquelle und die Spannung dieser Spannungsquelle ändert sich, fliest u.U. ein sehr hoher Strom in bzw. aus dem Kondensator.
Dieser Strom wird hauptsächlich nur vom Innewiderstand deiner Stromquelle begrenzt.
Schalte mal einen hochkapazitiven Elko an ein Labornetzteil und ändere dann plötzlich die Spannungseinstellung und Du wirst feststellen, das auch das Amperemeter mit ausschlägt.
Dieser Stromfluss belastet die Spannungsquelle.
Ich hab keine Lust hier Grundlagen zu erklären, das guckst Du doch mal bitte in einem Lehrbuch oder bei Wikipedia Stichwort "Tiefpass" nach.

Die Zeitbasis für dein RC Glied muss zu der Umschaltefrequenz deiner Stromwerte passen, sonst hat das ganze Unterfangen wenig Sinn.

Yossarian
21.07.2007, 15:20
Hallo
Das bringt doch alles nichts. Du mußt schon festlegen welcher Level als high gilt und welcher noch low ist.Dann vergleichst Du mittels Komparator, ob sich das Signal über oder unter der Schaltschwelle befindet.

Mit freundlichen Grüßen
Benno

nikolaus10
21.07.2007, 15:55
Hallo

Nochmal zwei Hinweise:
20 Bit sind mehr wie 1Mio. Abstufungen,
und je groesser der Kondensator desto langsamer ist das Regel/Messverhalten. Du kannst also den Kondensator beliebig gross machen , da geht auch nichts kaputt , nur musst du u.U. tagelang auf das Messergebniss warten :-)

MFG

wkrug
21.07.2007, 21:33
je groesser der Kondensator desto langsamer ist das Regel/Messverhalten. Du kannst also den Kondensator beliebig gross machen
Das würde ich so nicht unterschreiben.
Wenn der Kondensator (= Zeitkonstante) zu groß ist, kann der Maximalstrom unter den Mittelwert sinken. Dadurch würde fehlerhafterweise ein Interrupt für untere Stromstärke getriggert.
Wenn Rohbotiker mal angeben würde wie schnell zwischen den unterem und oberen Messwert umgeschaltet wird, könnte man ja auch mal Empfehlungen für die Startwerte eines RC Gliedes geben.
Die genauen Werte würde ich dann Experimentell ermitteln.
Eine weitere Frage wäre noch wie schnell sich die Stromstärke ändern kann.
Damit könnte man schon mal abschätzen ob das auch wirklich so funktionieren kann. Wenn sich die Stromstärke sehr schnell ändert wird es immer wieder mal zu fehlerhaften Triggerungen kommen.

Rohbotiker
22.07.2007, 13:44
Die Änderungen liegen im Millisekundenbereich

wkrug
22.07.2007, 17:56
... Dann würd ich es mal mit einem 100nF Kondensator und einem Widerstand zwischen 10k Ohm und 47k Ohm versuchen.
Das ergibt dann ein tau von 1ms...4,7ms.
Der Rest ist testen.

Yossarian
22.07.2007, 18:10
Hallo
Ihr wollt ein Signal mit sich selbst vergleichen. Das kann nichts genaues geben. Es sollen die Flankenabstände gemessen werden, aber mittels Tiefpass wird das Signal gemittelt.Das gibt doch keine genauen Zeiten.

4V/Low: 3.7V aber High:3.4/Low: 3.2V
Was genau soll diese Aussage bedeuten?
Es wurde nichts von der Kurvenform und der Frequenz erwähnt.
Warum 'wackelt' das Signal? Ist es Zufall oder wovon hängt das ab?
Wenn keine vernünftigen bzw.festen Pegel festgelegt werden, funktioniert es nicht.
Wenn der Kondenstor auf 4V aufgeladen ist bzw. 3,85V , dann ist das High mit 3,4V auch low.
Vielleicht habe ich ja etwas übersehen, denn so wie bisher geschildert bzw. von mir gesehen ist keine Lösung in Sicht.

mittels irgendeines Bauelements zu speichern
Natürlich.Du hast das Signal bereits per ADC aufgenommen, so ist es doch kein Problem diese Werte abzulegen und später zu berechen oder zu filtern oder was auch immer.

Mit freundlichen Grüßen
Benno