PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche Sample&Hold Schaltung für 2 Eingänge



the_Ghost666
23.11.2007, 09:59
Moin zusammen!

Ich suche nach einer Möglichkeit einem Attiny n Sample&Hold zu spendieren. Ich weiß, dass er einen solchen Eingang hat, aber ich benötige eine Schaltung, die 2 Signale zu einem Zeitpunkt einfriert, um sie nacheinander zu wandeln und dann Berechnungen durchzuführen.
Es soll möglichst günstig und mit geringem Bauteilaufwand gehen (keine SpezialIC oder OPs usw).

Meine momentane Idee wäre, einen kleinen Kondensator an jeden Pin zu hängen, der die Ladung zwischenspeichert und davor je einen Mosfet, der den Eingang abtrennen kann. Die beiden Gates würde ich parallel schalten und an einen weitern µC Pin hängen.
Nach einem gewissen Zeitraum würde der Controller die Mosfets sperren, die AD-Wandlung nacheinander durchführen und dann Berechnungen anstellen.
Der Kondensator müsste auf die zu erwartende Samplefrequenz und den Inputcurrent des ADC vom Attiny angepasst sein.

Hat jemand noch eine Idee, Anmerkung oder Anregung?

MfG
Björn

fumir
23.11.2007, 11:22
sollte so ähnlich eigentlich funktionieren. der kondensator sollte wohl nen möglichst kleinen leckstrom haben und die mosfets nen möglichst geringen on-widerstand. möglicherweise ist der eingang des µC -adc nicht hochohmig genug, so das du noch nen hochohmigen verstärker brauchst. also wohl doch nen op. die gibts doch aber für wenig geld zu viert im kleinen gehäuse.

sind denn die fertigen sample&hold-ICs so teuer, das sich der aufwand lohnt?

the_Ghost666
23.11.2007, 11:52
Die Schaltung soll so günstig wie möglich sein, ne Lösung muss im unteren Euro-ct-Bereich liegen, da es um ne große Stückzahl geht. Aus diesem Grund kommen ICs nicht in Frage.

shaun
23.11.2007, 13:33
Ändern sich die Signale denn so schnell, dass das Problem ausserhalb der Theorie überhaupt besteht? Dann würde ich erstmal filtern und wenn das immer noch nicht reicht, meinetwegen wirklich C's vor die Eingänge setzen, dann aber mit CMOS-Schaltern (4066-Style, gibt's auch als Single-Gates) schalten; MOSFETs bringen zu viele Probleme mit sich (Body-Diode, Vgs(th)...) arbeiten. Guck Dir die Eingangsbeschaltung des ADC im Datenblatt an: es wird dort ein Kondensator mit ein paar pF zum "samplen" an die Eingänge gelegt - wenn Du 1LSB Genauigkeit bei einem 10-bit-Wandler haben willst, muss Dein S&H-Kondensator also >>1000 mal so groß sein, um beim Ladungstransfer die Spannung nicht zu verfälschen.
Oder Du schaltest die Eingänge als Differenzeingänge und legst den "negativen" Eingang auf Masse - bringt dann aber einen zusätzlichen Fehler mit rein.

fumir
23.11.2007, 14:28
genügt es nicht, eines der signale extern zu speichern? das zweite kann ja dann zeitgleich vom internen sample&hold gespeichert und verarbeitet werden?
dann sollte eigentlich ein externer C und FET genügen.

das ganze macht eigentlich nur sinn, wenn das betreffende signal sich sehr schnell ändert (bezogen auf die wandlerzeit des ADC) sonst genügt der interne multiplexer.
dann jedoch muss der kondensator der sample&hold schaltung auch sehr schnell geladen werden. deshalb haben die ic einen verstärker vor dem schalter zum kondensator.

ob das also nur mit nem kondensator und nem fet geht, ist eine frage der details. z.b. wie belastbar ist das zu messende signal (die verfälschung durch das laden des kondensators muss kleiner sein, als eine mögliche verfälschung durch unterschiedliche messzeitpunkte) ?
wie schnell ändert es sich? wie genau muss das signal erfasst werden (volle ADC auflössung oder weniger)?
womöglich braucht man nen hochwertigen fet und kondensator, was dann auch ins geld geht.

fumir
23.11.2007, 14:43
noch ne idee:
wie wärs mit drei messungen statt einer: erst signal A dann B dann noch mal A. dann kann man aus den beiden A messungen auf den zeitpunkt der messung B interpolieren und kommt ohne sample&hold aus.

kommt eben drauf an, wie genau man es haben muss, und wie schnell/unregelmäßig sich die signale ändern. ne einfache s&h schaltung wird auf jeden fall auch nen fehler reinbringen (der womöglich größer ausfällt als der interpolationsfehler)

vielleicht kann man auch die auswertung dahingehend abwandeln, das man statt der beiden signale nur ein signal und die differenz der beiden signale misst. die differenz hätte man dann immerhin zeitsynchron. je nach dem, was man da genau vorhat, könnte das genügen.

gib doch mal etwas mehr info. welcher tiny genau, welche signale werden gemessen, was soll damit berechnet werden. je mehr info, desto bessere vorschläge kannst du erwarten :-)

the_Ghost666
24.11.2007, 10:30
Moin!

Danke erstmal für die Rückmeldung.

Gemessen wird der Spannungsabfall an so etwas wie einem Poti, das Signal soll mit 10-8bit Genauigkeit erfasst werden, das Signal wird allerdings mit 120khz (vereinfacht ein Sinus) moduliert, dh. es gibt stellen, wo der Widerstand maximal ist, und stellen wo der Spannungsabfall 0 beträgt.

Der Mittelabgriff des Potis wird mit Spannung versorgt und an den anderen Abgriffen wird über einen Shunt die gesuchte Spannung ermittelt. Die Position des Potis ändert sich mit etwa 20kHz.
Wenn ich nun Zeitgleich die Spannungen an den Shunts ermittel und dann das Verhältnis bilde, kann ich das auf die Stellung des Potis zurückführen.
Wichtig ist halt, dass ich nicht nacheinander Messe, da sich die folgende Messung schon im Tal der 120kHz bewegen könnte, und somit das Ergebnis verfälscht. Ist eine exakt gleichzeitige Messung möglich, würden diese 120kHz einfach rausfallen, da das Verhältnis gleich bleibt.

Ein Tiefpassfilter soll hierbei nicht verwendet werden.
Der Controller ist ein ATTiny 861 mit 15MHz.

Besserwessi
24.11.2007, 14:51
Die analoge Bandbreite der Ad Eingänge soll nur bei ca. 40 kHz liegen. Die 125 kHz sind also auch schon für die interne S&H Schaltung schon zu schnell. Schon aus Symetriegründen sollte man beide Kanäle gleich behandeln. 2 gleich schnelle S&H kanäle sind wesentlich einfacher als einer der genau so schnell ist wie der AVR intern.

Die Idee mit dem 4066 und Kondensatoren ist schon gar nicht schlecht, wenn das Signal niederohmig genug ist. Ist zwar ein IC aber sehr günstig. Die Kondensatoren müssen nicht ganz so groß sein, wenn man vor dem Messen des Nutzsignals jeweils die gleiche Spannung gemessen hat (z.B. Masse).

shaun
24.11.2007, 18:05
Wenn man den Kondensatoren nicht die Zeit gibt, sich auch <1LSB Abstand vom realen Wert aufzuladen, hängt der Fehler aber auch noch von der Kapazität der S&H-Kondensatoren ab; wenn man sie zu klein macht, gehen Kapazität des S&H-Kondensators und der internen Kapazitäten des ADC in den Fehler mit ein. Alles nicht so wirklich schön.
Wären die Anforderungen an die Geschwindigkeit gleich erwähnt worden, hätte ich vielleicht etwas schnelle Schalter vorgeschlagen, auf jeden Fall aber auch noch Puffer. Wie schnell willst Du eigentlich wandeln bei einer Periodendauer von 50us?

pongi
25.11.2007, 09:52
Ist die Frequenz deines 120kHz Signals ziemlich genau konstant? Dann könntest Du nähmlich das ganze so machen: mit dem Analogen Komparator den 0-Durchgang vom 120KHz erkennen, danach eine Viertel Periode warten, dann sollte das Signal am Poti an der Spitze sein, hier misst Du das erste Signal. Wieder 0-Durchgang erkennen, Viertel Periode warten, und das zweite Signal messen. Somit ist sichergestellt, das beide Signale zur gleichen Periodenstelle gemessen werden.
Hier hast Du einen Fehler, die durch die Änderung der Signale in einer halben Periode des 120kHz Signals vorkommen. Aber keine äußere Beschaltung, die auch zu Verfälschungen führen könnte.

Nachtrag: mit dieser Methode ist es vielleicht eh nur die Messung eines Signals nötig, da du weisst, dass du an der Spitze gemessen hast.

MfG

pongi

fumir
25.11.2007, 14:25
wie wärs mit:
- 120kHz modulation rausfiltern (Aufwand: 2 R + 2 C)
- differenz der beiden 20kHz signale zeitgleich mit dem DAC messen (sollte genügend information liefern, um Potiposition zu bestimmen)
- gegebenfalls die messung mit dem 120kHz signal synchronisieren (Analog-Komp. triggert DAC)

da der tiny nicht mehr als ca 15000 samples/s schaft frage ich mich aber, ob das ergebnis nicht recht zufällig sein wird, wenn sich das poti ca 20000/s ändert.