Ich bin Anfänger und habe mir das eZ430-F2013 Development Tool in a USB Stick geholt. Die Anwendung, die ich umsetzen wollte funktionniert bereits problemlos. Ich verwende den 16 bis Sigma Delta für die Messung eines Sensorsignals von ca. +/- 2 millivolt. Es werden ca. 400 Messungen pro Sekunde durchgeführt, was für die Anwendung ideal ist. (Bis zu 4000 samples wären wohl möglich nach meinen Experimenten...) Ich habe 1.2 Volt Referenzspannung, Verwende A1+ und A1- und den PGA mit 8 facher verstärkung. Mein Problem liegt darin, dass ich eine Knopfzelle verwenden muss. Der gewählte Sensor IC benötigt aber 3 mA strom! Was nützt mir ein super stromsparender Microcontroller, wenn mir der Sensor innert 10 Stunden die ganze Batterie leer säuft? Genau - nämlich gar nichts. Und das ist mein Problem. Ich habe mir nun überlegt, den Sensor über einen der noch freien I/O Pins *einfach ein und auszuschalten um Strom zu sparen. Da der AD wandler bis zu 4000 samples bringt, würde ich damit ca. 1/10 des Stromverbrauchs haben. (weil ich von den 4000 ja nur 400 samples wirklich brauche und den rest der Zeit ausschalten könnte...) Das ein und ausschalten des Sensors ist übrigens kein problem. Funktionniert bis ca. 2 MHZ ohne weiteres, habe ich in einer separaten schaltung mit Rechteckgenerator und Oszi ausgemessen. Nun zu meiner Idee / Frage: Ich möchte mir eine sample and hold schaltung ohne äussere Bauteile (abgesehen vom Kondensator) aufbauen. (Weil der 2013'er ja keine sample and hold schaltung zu haben scheint...) Meine idee wäre nun, den CASHORT des Comparators zu nutzen, um den Kondensator am separaten Pin zu laden. Danach soll der Sensor abgestellt und mit dem nun eingeschalteten Sigma Delta konverter die Spannung am Kondensator gemessen werden. So kann sich der langsame Sigma Delta viel zeit lassen und ich kann den Sensor trotzdem nur für einige microsekunden einschalten, was sehr viel Strom spart. (ziel wäre ca. 3 microampere durchschnisstverbrauch für den Sensor. Also ein Tausendstel vom Verbrauch bei dauernder einschaltung) -------------- Offene Fragen: -------------- * Hat jemand von euch sowas schon mal gemacht? * Kann mir jemand sagen, ob sowas überhaupt möglich ist? * Kann ich den CASHORT verwenden, obwohl ich den comparator gar nicht brauche? * Ist diese Idee überhaupt realistisch und umsetzbar mit dem MSP430F2013? Ich kann fast nicht glauben, dass ich kein Beispiel für eine einfache sample and hold beschaltung für den 2013er gefunden habe. Ein so präziser und eher langsamer AD wandler müsste doch korrekterweise immer mit einer sample and hold schaltung verwendet werden. Oder irre ich mich da? Ist dazu wirklich ein externer IC notwendig? Die idee oben wäre doch sehr viel einfacher. Oder? Für eure Antworten bin ich sehr dankbar. Grüsse aus der Schweiz
hallo, ein wirklich langer thread. dass du echter anfänger bist möchte man kaum glauben, du machst dir imho schon die richtigen gedanken. zu diesem developer-kit kann ich nix sagen, vllt kann ich trotzdem helfen: also deine selbstbau-s&h-schaltung ist imho erstmal mit vorsicht zu genießen; damit bekommst du keine genauere messung hin - was aber auch garnicht dein anliegen ist wenn ich das recht verstanden habe. du willst einfach nur die messung vornehmen können auch wenn dein sensor schon aus ist, habe ich das richtig verstanden? oder willst du generell ein s&h haben? wie sieht dein signal aus was du da misst (frequenz, rauschen, ...)? pumpkin
Ich denke, du brauchst keine S&H. Einfach mit einem Timer alle 2,5ms den Sensor einschalten, ggf. kurz warten, messen und wenn das Messergebnis da ist, den Sensor wieder ausschalten. Jörg
Wie lange braucht eine A/D Wandlung genau? Was ist die höchste Frequenz die du misst? Wenn du dir diese beiden Werte gegenüberstellst, kannst du abschätzen ob du ein S&h brauchst. Rechne doch mal das delta u bei max. Frequenz und Wandlungszeit... Wenn das innerhalb deiner Messgenauigkeit liegt, brauchst du keins.
Der Trick an Sigma Delta ist ja gerade, daß keine S/H verwendet wird. Nur dadurch kann überhaupt die hohe Auflösung erreicht werden, weil Störungen und Rauschen wegintegriert werden. 400Hz ist für Sigma Delta ja schon verdammt flott, da sind wohl nicht mehr die vollen 16Bit verläßlich. Peter
Wow super. Danke für die schnellen und guten Antworten. Also ich versuche das gleich mal zu beantworten: @pumkin Nein, es geht mir nicht darum, die Genauigkeit des A/D wandlers zu verbessern. Die Messung funktionniert schon sehr gut und mit recht wenig Rauschen. Ich kann dir aber nicht genau sagen, ob ich wirklich 16 bit genauigkeit habe. Auf jeden Fall habe ich mehr als 11 bit, da meine Anwendung sonst gar nicht zuverlässig funktionnieren würde. Du hast das völlig richtig verstanden. Ich möchte nicht die genauigkeit verbessern (die darf von mir aus sogar 1 bis 2 bit schlechter werden als sie das jetzt ist...) Was ich möchte ist, den Sensor so kurz wie möglich anschalten zu müssen, weil mich dieser Sensor sehr viel Energie kostet. (Batterielaufzeit) Das Signal das ich erhalte ist ein Distanzsignal das (wenn man die Messzeit von momentan ca. 1/400 tel Sekunde bedenkt) über eine Messung relativ konstant ist. Das ursprüngliche Sinal ist Analog und hat keine modulierte Frequenz, da es von einer Wiederstandsbrücke kommt. Ich hoffe das hat deine Fragen beantwortet? @Joerg Wolfram Das habe ich mir auch schon überlegt. Aber wenn der Sigma Delta doch keine Sample and Hold Schaltung hat, dann dürfte ich den Sensor doch erst wieder abschalten, wenn die Wandlung fertig ist. Da so eine Messung mindestens etwa eine Tausendstelsekunde dauert und ich 400 Messungen pro Sekunde machen muss, würde ich dann ja nur etwa 6/10 der Zeit wirklich stromsparen. Das reicht auf keinen Fall für eine Sinnvolle Batterielaufzeit. Ich würde so auf etwa 24 Stunden kommen und müsste jeden Tag die Batterie wechseln. Aber vielleicht habe ich das Prinzip des Sigma Delta auch nicht richtig verstanden? Wäre es denn möglich früher abzuschalten? Ich habe mir das Prinzip mit der s&h nur überlegt um wesentlich früher abschalten zu können (bzw. den Sensor kürzer einschalten zu müssen) @Fly (Gast) Die höchste Frequenz die ich messe ist ca bei 200 Hz. (schätzung) Jedenfalls habe ich herausgetüftelt das die Anwendug bei 400 Messungen zuverlässig läuft. Bei 200 Messungen pro Sekunde geht das leider nicht mehr, weil ich wichtige "peaks" verpasse. Was die Dauer der Sigma Delta Messung angeht so tippe ich auf ca. eine Tausendstelsekunde. Ich konnte es auch schon auf 4000 Messungen bringen, indem ich an der Genauigkeit herumgeschraubt habe. Aber mehr ist auch nach langem probieren und optimieren einfach nicht drin mit diesem Sigma Delta. Ob die Genauigkeit bei 4000 Messungen noch ausreicht weiss ich aber nicht. Der Versuch war eine Endlosschlaufe, die nach jeder Messung gleich wieder eine Messung startete. Ohne Auswertung. Ich gehe also zur Sicherheit lieber von einer Messdauer von einer Tausendstelsekunde aus. Wie kann ich nun aus diesen beiden Zahlen bestimmen ob ich s&h brauche? Das ist mir nicht ganz klar. @ Peter Dannegger (peda) Vielleicht kannst du mir mit dem Verständnis des Sigma Delta weiter helfen. Wenn ich keine s&h verwende. Wie kann es denn sein, dass der gewandelte Wert genau der Spannung entsprechen soll, die am Anfang der Wandlung angelegen hat? Die Spannung kann sich doch während der Messung ändern. (Zum Beispiel wenn ich den Sensor abschalte.) Der Sensor speichert seine Ausgangsspannung leider nicht, da es sich um einen variablen Wiederstand handelt. Bis 2MHZ ein und ausschalten habe ich den Sensor ausgemessen. Und ich muss daher leider davon ausgehen, dass die spannung des Sensors sofort auf null absackt, sobald man seine Stromversorgung kappt. Glücklicherweise ist die Spannung aber auch sofort wieder da, sobald der Sensor mit Strom versorgt wird. Einem sehr schnellen ein und ausschalten (bis 2 MHZ) steht also aus Sensorsicht nichts im Weg.
Wenn eine Messung 1/1000 Sekunde dauert, kommst du dann aber auf keine 4000 Messungen je Sekunde. Wie Peter schon geschrieben hat, macht dir ein S&H den Vorteil von Sigma-Delta, nämlich das Eingangssignal zu integrieren wieder zunichte. Jörg
@Joerg Wolfram (joergwolfram) Das stimmt schon. Auf die 4000 Messungen komme ich auch nur mit reduzierter Genauigkeit. 1000 Messungen wären es mit voller Genauigkeit. Habe ich das mit dem wegintegrieren jetzt richtig verstanden: Mit einer s&h ist die Zeit kürzer, in welcher der Sensor eingeschaltet ist. Damit ist es auch nicht mehr möglich, das gemessene Signal über längere Zeit zu "mitteln"? Also damit könnte ich ganz gut leben, da ich die Genauigkeit des s&h ja nicht ausreize. Die Genauigkeit dürfte ruhig etwas sinken. Wichtig wäre mir halt nur, dass ich auf eine Sensorlaufzeit von ca. 1/400'000 Sekunde pro Messung komme. Gibt es denn ausser einer s&h noch andere Möglichkeiten, die Sensorlaufzeit so extrem zu verringern und trotzdem mit dem Sigma Delta einigermassen exakt zu messen? Wäre es denn möglich, den Sensor schon auszuschalten bevor der Sigma Delta fertig ist mit wandeln?
Der Sigma Delta ADC braucht das Eingangssignal über die gesamte Wandlungszeit. Wenn dir 12 Bit reichen kannst du aber auch einen MSP mit 12-Bit SAR-Wandler nehmen. Mit dem kommst auf eine Abtastzeit von kleiner 1µs.
http://www.analog.com/UploadedFiles/Application_Notes/292524291525717245054923680458171AN283.pdf http://www.analog.com/UploadedFiles/Application_Notes/28715432842357460935458165408691AN388.pdf http://www.analog.com/UploadedFiles/Application_Notes/2883541798155499249544063355866AN389.pdf
@ jens (Gast) Danke für diese Antwort, das hat mir sehr geholfen. Ich war mir da wirklich nicht ganz sicher, hatte das aber auch vermutet. Was den 12 bit AD angeht, so gibt es diesen leider erst ab 64 pins (oder 48, bin nicht mehr ganz sicher). Verwenden tu ich aber nur 10 Pins des MSP430. Das wäre also völliger overkill. Mit dem 10 bit AD habe ich aber schon experimentiert. (Den gibt es auch für die kleineren MSP430'er) Der hat übrigens auch eine s&h. Mit der internen Referenz von 1.5 Volt klappt das leider nicht. Die Spannungen des Sensors sind wohl einfach zu klein. (Differenzspannung) Bin da aber noch am experimentieren. Ich habe mich aber gefragt, was mit einer externen Referenzspannung wäre. Ist es möglich eine viel kleinere externe Referenzspannung zu generieren und trotzdem noch 10 bit Auflösung zu haben? Oder was ist der Grund dafür, dass die internen Referenzen immer über 1 Volt liegen? Funktionniert der 10 Bit AD Wandler mit sehr kleinen Referenzspannungen nicht mer so genau? (z.b. könnte man die Referenzspannung doch mit einer Wiederstandsbrücke generieren, die einen sehr hohen eigenwiederstand hat damit sie nicht viel strom brauch) @ Kupfer Michi (Gast) Danke! Das sieht sehr gut aus! Ich werd mir das auf jeden Fall zu gemüte führen. Jetzt habe ich doch noch eine chance den Sigma Delta zu verstehen.
@ Zurigo der 10 bit ADC arbeitet leider erst ab 1.4V Referenzspannung. Du brauchst also noch einen kleinen externen Verstärker. Wenn dein Sensor eine Brückenschaltung aus vier 100 Ohm Widerständen ist reicht ein OP (z.B. LT6220 im SOT23-5) und einen Gegenkopplungswiderstand von 4.7kOhm. Der OP wird zusammen mit dem Sensor und ADC für 1µs bis 2µs eingeschaltet. Als Vref+ und Vref- unbedingt die Brückenspannung verwenden!
@Zurigo, Natuerlich kann man die Referenz nicht verkleiners und dadurch kleinere Schritte bekommen. die Limite schein 1.4V zu sein, macht etwa 1.4mV pro Schritt. Um die zu kriegen, musst Du gut sein. Das falsche Layout bringt mehr Rauschen als diese 1.4mV. Ebenso sollten die verstaerketen 10mV nicht verrauscht sein. P
Danke. Das tönt wirklich gut. Leider habe ich noch keine Erfahrung mit externen op amps. (Nur mit dem internen PGA, der aber vergleichsweise einfach zu verwenden war) Aber wenn ich das richtig verstanden habe, wird das wohl keine Hexerei sein. Die Wiederstandsbrücke besteht wohl nicht aus 4 * 100 Ohm. Im Datenblatt steht, dass der Brückenwiederstand 1,4 bis 2,2 kOhm sei. Das erklährt zwar nicht ganz die ca. 3 mA stromverbrauch, die ich bei 3,3 Volt gemessen habe, aber das Datenblatt wird sicher exakter sein als meine hobbymässige Messung des Stomverbrauches. Also Sens+ an Vref+ Sens- an Vref- GND an Vs- Vcc an Vs+ Den Gegenkopplungswiederstand zwischen Vout und Vref- Habe ich die Beschaltung so richtig verstanden? Werde morgen gleich mal sehn ob ich so einen op amp kurzfristig auftreiben kann. Sonst müsste ich den halt bestellen. Aber die dinger scheinen ja nicht teuer zu sein. Wie hast du den Gegenkopplungswiederstand von 4,7 kOhm dimmensioniert? Ist der höhere Brückenwiederstand ein Problem? Muss da kein Vorwiederstand zwischen Sensor und Verstärker? In Wikipedia habe ich auch die Formel für den Differenzverstärker gefunden. Nur sind da ganze 4 Wiederstände eingezeichnet. Dass ich die beiden Vorwiederstände nicht brauche kann ich nachvollziehen. Die Rolle übernimmt dann wohl die Messbrücke. Aber wieso brauche in denn keinen Wiederstand zwischen Vref+ und GND?
@ Zurigo Die Schaltung hab ich mir so wie im Anhang gedacht. Die Verstärkung ist von R1 und den Brückenwiderständen abhängig. In diesem Fall also etwa 53. Probier am besten aus ob das reicht. Grösser als 200 sollte sie aber nicht werden.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.