Hallo, in einem Projekt (Prozessspannungsquelle) setzte ich zur Zeit den STM32F767 ein. Um Spannung zu regeln, erfasse ich mit den 3 ADCs Ströme und Spannungen und gebe über die DACs die Stellgrößen aus. Das funktioniert soweit auch, allerdings stört mich, dass in oben genanntem Mikrocontroller die ADCs und DACs nur 12Bit haben. Ich benötige 3 ADCs und 2 DACs. Eine Samplerate von 750kSps genügt. Am besten 14 oder 16 Bit. Kennt jemand einen Mikrocontroller mit 14 oder 16Bit ADCs und DACs integriert? Oder macht es Sinn bei diesen Anforderungen auf externe Bauteile auszuweichen (würde ich eigentlich ungern, denn mit dem internen ADC kann man bequem den DMA benutzen). Viele Dank für eventuelle Tipps! Gruß, Paul
Paul schrieb: > Oder macht es Sinn bei diesen Anforderungen auf externe > Bauteile auszuweichen. Wenn Du nicht nur höhere Auflösung, sondern auch höhere Genauigkeit willst, sind externe AD/DA-Wandler auf jeden Fall sinnvoll. Vor allen, wenn diese zusätzlich auch noch schnell sein sollen.
Der H7 hat meine ich 14 Bit ADCs im Msps Bereich. Ansonsten hat der F3 16 Bit Sigma-Delta aber nur 50ksps. Mehr als 12 Bit DAC wird glaub ich schwierig, mir ist da so direkt keiner bekannt. Du kannst natürlich die 16 bzw. 32 Bit Timer nutzen um ein DAC aufzubauen. Wenn du es wirklich so genau haben willst dann wirst du wohl nicht um externe Komponenten herumkommen. Mal davon abgesehen das es im µC ohnehin schwierig ist so eine Präzision zu erreichen. Auch die externen Komponenten brauchen eine entsprechende Versorgung etc.
Paul schrieb: > Kennt jemand einen Mikrocontroller mit 14 oder 16Bit ADCs und DACs > integriert? Nein, gibt es nicht. Es ist nämlich praktisch unmöglich, ADCs mit derartiger Auflösung (oder gar Genauigkeit) mit µC-Cores auf einen Chip zu bringen. > Oder macht es Sinn bei diesen Anforderungen auf externe > Bauteile auszuweichen Das wirst du zwingend tun müssen. Allerdings wird es darauf hinauslaufen, dass du dadurch effektiv wenig bis nix gewinnst. Denn diese externen analogen ICs sind gegen die Einfüsse des µC genauso empfindlich. Man muss sehr viel Aufwand in der Schaltung und im Layout treiben, um ihre Eigenschaften tatsächlich nutzen zu können. Das ist definitiv nix für Leute, die noch solche Fragen stellen...
Offtopi @ c-hater: Gibt es einen Grund warum du auf diesen Beitrag nicht antwortest: Beitrag "Re: [F] programmierbarer Quarzoszillator"
Aufklärer schrieb: > Offtopi @ c-hater: > > Gibt es einen Grund warum du auf diesen Beitrag nicht antwortest: > > Beitrag "Re: [F] programmierbarer Quarzoszillator" Mehrere. Wenn du was wissen willst, benutze den ursprünglichen Thread.
c-hater schrieb: > Aufklärer schrieb: >> Offtopi @ c-hater: >> >> Gibt es einen Grund warum du auf diesen Beitrag nicht antwortest: >> >> Beitrag "Re: [F] programmierbarer Quarzoszillator" > > Mehrere. Wenn du was wissen willst, benutze den ursprünglichen Thread. BTW: I know, who you're.
Vielen Dank an alle für die Tipps, dann muss ich wohl externe ADCs und DACs verwenden und bei Layout auf gute Leitungsführung achten. Oder gibt es das als fertige Platine zu kaufen? So etwas ist doch quasi eine Standardanwendung....?
es gibt die ADS1115 billig als Modul, 16 Bit Delta-Sigma. Die brauchen aber ein paar ms für eine Wandlung.
SiLabs hat einige 8051-Derivate mit recht schnellen und genauen ADCs. z.B.: https://www.silabs.com/mcu/8-bit/c8051f06x Ich habe noch keinen vergleichbaren Hersteller ausgemacht. Gruss Mark
Paul schrieb: > Oder gibt es das als fertige Platine zu kaufen? So etwas ist doch quasi > eine Standardanwendung....? Du wirst sicherlich für alle Einzelkomponenten Evalboards finden. Auf mich wirkt das nicht wie eine Standardanwendung, Voralpen mit den doch recht hohen Anforderungen an die Genauigkeit.
Der Stm32H743 hat 16 bit Wandler mit 14bit ENOB. Bei 750Khz kannst du noch 4fach oversamplen das wären dann 15Bit. Das Nucleo Board kostet ca. 25€ probier es einfach aus. The ADC module itself is a 16-bit successive approximation converter with additional oversampling hardware. Due to the noise level, only 14-bit equivalent performance is achieved. To have more than 16-bit performance, it is necessary to use oversampling methodology. Under certain conditions, the oversampled output can have a 21-bit result. The sampling speed is 5 mega samples per second for 14-bit resolution. Each ADC module integrates an analog watchdog.
Hans-Georg L. schrieb: > Der Stm32H743 hat 16 bit Wandler mit 14bit ENOB. > Bei 750Khz kannst du noch 4fach oversamplen das wären dann 15Bit. > Das Nucleo Board kostet ca. 25€ probier es einfach aus. Danke für den Tipp, ich habe sogar ein solches Board hier, nur nicht daran gedacht!! Wird gleich am langen Wochenende ausprobiert ;-)
c-hater schrieb: > Das wirst du zwingend tun müssen. Allerdings wird es darauf > hinauslaufen, dass du dadurch effektiv wenig bis nix gewinnst. Denn > diese externen analogen ICs sind gegen die Einfüsse des µC genauso > empfindlich. Man muss sehr viel Aufwand in der Schaltung und im Layout > treiben, um ihre Eigenschaften tatsächlich nutzen zu können. > > Das ist definitiv nix für Leute, die noch solche Fragen stellen... Was kann ich dann machen? Wie kann ich es lernen?
Die ADSP-CM40xF von Analog haben zwei 16-Bit-ADCs, die zwei DACs haben aber nur 12 Bit.
Paul schrieb: > Was kann ich dann machen? Der c-hater wird dir eine asm Routine schreiben, die aus den 12-Bittern die gewünschten 16-Bitter machen. So gut ist er, so gut kann er asm. ;-)
c-hater schrieb: > Paul schrieb: > >> Kennt jemand einen Mikrocontroller mit 14 oder 16Bit ADCs und DACs >> integriert? > > Nein, gibt es nicht. Es ist nämlich praktisch unmöglich, ADCs mit > derartiger Auflösung (oder gar Genauigkeit) mit µC-Cores auf einen Chip > zu bringen. > Natürlich gibts diese Prozessoren nur Du weißt nicht das es sie gibt... Soll der To (und auch Du zur Horizonterweiterung) bei Analog Devices nachschauen und sich aussuchen ob der sowas mit einem 8051-Core, Cortex M3 oder Cortex M4 haben will. https://www.analog.com/en/parametricsearch/10852#/ Wir arbeiten mit M3 und in einem älteren Produkt mit 8051-Teilen und alles ist bestens, abgesehen davon das der von uns verwendete M3 eher gemächlich unterwegs ist.
Hans-Georg L. schrieb: > Bei 750Khz kannst du noch 4fach oversamplen das wären dann 15Bit. Das reduziert nur das Rauschen und liefert ein Bit mehr Auflösung, wenn das Wandlerergebnis ausreichend rauscht, erhöht aber nicht die Genauigkeit.
jeder uC mit 16 digital IOs hat einen 16bit DAC wenn man daran ein R2R Netzwerk anschliesst, der Rest ist Software. Also kann man die Suche auf einen 16bit ADC einschränken.
Der STM32F373 hat 3 Stk.16 Bit ADCs https://www.st.com/en/microcontrollers-microprocessors/stm32f373.html Aber max. 50 ksps bei einem Kanal bzw 16.6 ksps bei drei Kanälen. Wenn Du das Datanblatt genau anguckst, siehst Du dass man die letzen 2..3 Bit bzgl. Genauigkeit "rauchen" kann, bist also bestenfalls wieder bei 13..14 Bit. Es gibt auch endere uC mit 16 Bit ADCs, aber die kämpfen mit den selben Problemem. Wie schon mehrfach empfohlen: Suche dir einen guten externen 16 Bit ADC, die sind um Faktoren besser, Du sparst sonst am falschen Ort.
Parametersuche CubeMX 188 Treffer, zusammen mit R2R DAC reichlich Auswahl bei nur einem Hersteller und uC Serie
drm schrieb: > jeder uC mit 16 digital IOs hat einen 16bit DAC wenn man daran ein R2R > Netzwerk anschliesst Wo gibt es denn bezahlbare Netzwerke mit 0,001% Matching? Und die Analogschalter müssen bei 10k Widerständen <0,1 Ohm On-Widerstand bzw. >600M Off-Widerstand haben. Diskrete R2R macht man bis maximal 7 Bit und da braucht es schon 0,1% Widerstände.
Peter D. schrieb: > und da braucht es schon 0,1% > Widerstände. Und die feste Hoffnung, dass die Ausgangstreiber im Chip natuerlich auch alle keine oder genau definierte, gleiche Innenwiderstaende haben und deren Ausgangsspannung natuerlich auch keine weiteren relevanten Stoerungen ueber die Spannungsversorgung ausgibt... Naja, die Hoffnung driftet, rauscht und schwingt zuletzt ;-) Gruss WK
Wolfgang schrieb: > Hans-Georg L. schrieb: >> Bei 750Khz kannst du noch 4fach oversamplen das wären dann 15Bit. > Das reduziert nur das Rauschen und liefert ein Bit mehr Auflösung, wenn > das Wandlerergebnis ausreichend rauscht, erhöht aber nicht die > Genauigkeit. Du hast gelesen das dies ein 16 Bit Wandler und weisst was ENOB ist ?
:
Bearbeitet durch User
Ok, also habe mir nun Gedanken gemacht und anbei ist mein Schaltplan. Als 16Bit DAC habe ich mir den AD5062 ausgesucht und als ADC würde ich den ADS8681 verwenden. Das ganze soll eine Art "Kennlinienschreiber" werden, um von Dioden und (wenn man zwei Kanäle aufbaut) von Transistoren die Kennlinie aufnehmen zu können. Hat jemand Anmerkungen oder Tipps für mich? Könnte das so funktionieren? Die Masse habe ich in "Power" und Signal-Masse aufgeteilt und an einem Sternpunkt zusammengeführt. Ein Thema ist noch, passende OpAmps zu finden....
Hat jemand eventuell einen Tipp für mich, auf was ich bei der Auswahl der OpAmps achten sollte? Geringe Offsetspannung und wenig Rauschen?
Paul M. schrieb: > Das ganze soll eine Art "Kennlinienschreiber" werden, um von Dioden und > (wenn man zwei Kanäle aufbaut) von Transistoren die Kennlinie aufnehmen > zu können. Kannst du mir mal erklären wieso man dafür 16 bit ADC und DAC benötigt? Und dazu noch mit 750 kS?
Andi schrieb: > Paul M. schrieb: >> Das ganze soll eine Art "Kennlinienschreiber" werden, um von Dioden und >> (wenn man zwei Kanäle aufbaut) von Transistoren die Kennlinie aufnehmen >> zu können. > > Kannst du mir mal erklären wieso man dafür 16 bit ADC und DAC benötigt? > Und dazu noch mit 750 kS? Weil die Kennlinie rauscht, siehe Anhang. Außerdem kann ich mit mehr Bits den Messbereich erhöhen. 750kS/s benötige ich, damit ich schnell (~100us) einregeln kann, damit die Selbsterwärmung des DUTs möglichst gering bleibt.
>750kS/s benötige ich, damit ich schnell (~100us) einregeln kann, damit >die Selbsterwärmung des DUTs möglichst gering bleibt. Das mit der Selbsterwärmung ist interessant. Wird die Kennlinie dann bei verschiedenen Temperaturen aufgenommen? Im späteren Betrieb wird die Diode ja dann auch abhängig vom Strom erwärmt.
drm schrieb: > Parametersuche CubeMX 188 Treffer, zusammen mit R2R DAC reichlich > Auswahl bei nur einem Hersteller und uC Serie Schon gemerkt, dass er auch DAC haben wollte ? Offenkundig nicht, aber wozu die Frage lesen. Und ihm in der Messanwendung sicher nicht AudioA/D-D/A gut genug ist.
Einen OP-Amp der die "genauigkeit" der 16 Bit nicht zunichte macht, dürfte auch nicht leicht zu finden und anzuwenden sein.
Stefan ⛄ F. schrieb: > Einen OP-Amp der die "genauigkeit" der 16 Bit nicht zunichte macht, > dürfte auch nicht leicht zu finden und anzuwenden sein. Ja, das denke ich mir auch. Mein Hauptproblem ist wahrscheinlich auch eher das "Rauschen", siehe das Bild "Diodenkennlinie_1N4007_Samples.png" oben, der ADC1 hat die Spannung am Ausgang vom OP U2 (siehe Anhang) gemessen. Was könnte ich tun, um das Rauschen zu minimieren? einen 1nF Kondensator habe ich auf dem STM-Nucleo-Board am ADC-Eingang schon gegen GND geschaltet...
Christoph M. schrieb: > Das mit der Selbsterwärmung ist interessant. Wird die Kennlinie dann bei > verschiedenen Temperaturen aufgenommen? Im späteren Betrieb wird die > Diode ja dann auch abhängig vom Strom erwärmt. Ja, mit aktiver Heizung kann man bei verschiedenen Temperaturen messen. Das ganze soll übriges ein Geburtstagsgeschenk für meine Frau werden, damit sie ihre Kennlinien von Dioden und Transistoren bei verschiedenen Temperaturen automatisiert aufnehmen kann. Aber mit der Messgenauigkeit, die ich aktuell erreiche, wird das kein gutes Geschenk :-(
Hier im Forum gab es ja mal jemand, der den Transistortester entwickelt hat. Ich bin immer wieder höchst erstaunt, wie genau der ist und was der alles kann ( C,R,L C und L auch mit Serienersatzschaltbild ). Deshalb könnte ich mir gut vorstellen, dass man das Kennlinienproblem auch mit einem Atmega328 lösen könnte. Hier mein erster Versuch mit einem Arduino Uno und 6 x Hühnerfutterbauelementen. Das Ding muss man vielleicht noch etwas kalibrieren ...
Oh man, wie schön sieht denn Deine Kennlinie aus! Wie hast Du das so schön glatt bekommen? Oder warum habe ich so viel Rauschen drin?
Paul M. schrieb: > Oh man, wie schön sieht denn Deine Kennlinie aus! Wie hast Du das so > schön glatt bekommen? Oder warum habe ich so viel Rauschen drin? Ich denke das dir mehr Auflösung gar nichts bringt sondern etwas anderes nicht stimmt. Wie sieht denn deine aktuelle Schaltung aus?
Baendiger schrieb: > Wie sieht denn deine aktuelle Schaltung aus? Wie im Anhang hier: Beitrag "Re: Suche Mikrocontroller mit 16Bit ADCs und DACs" Die verwendeten OpAmps sind noch THS4041: http://www.ti.com/lit/ds/symlink/ths4042.pdf?ts=1588522887626 Sind diese eventuell das Problem? Da sie pinkompatibel mit dem von Mark empfohlenen AD8033 sind, könnte ich das mal ausprobieren, muss die AD8033 aber erst bestellen. Ist das ein Versuch wert?
Paul M. schrieb: >> Wie sieht denn deine aktuelle Schaltung aus? > Wie im Anhang hier: Hast du da wirklich 100kΩ Widerstände verwendet? Mit etwas Pech empfängst du so noch Radio Eriwan, nicht nur elektromagnetisches Rauschen.
Stefan ⛄ F. schrieb: > Hast du da wirklich 100kΩ Widerstände verwendet? Mit etwas Pech > empfängst du so noch Radio Eriwan, nicht nur elektromagnetisches > Rauschen. Ok, habe nun mal deutlich kleinere Werte verwendet, um das auszuschließen. Schalung ist nun so wie im Anhang, das hat aber keine Besserung gebracht :-( Meine Idee war halt, mit der Messschaltung das DUT so wenig wie möglich zu belasten. Ein Oszi misst doch auch z.B. mit 1MegOhm!?
>Oh man, wie schön sieht denn Deine Kennlinie aus! Wie hast Du das so >schön glatt bekommen? Oder warum habe ich so viel Rauschen drin? Hmm ... die 1N5819 Kennlinie wäre gar nicht so glatt, wenn man reinzoomt ... Ich habe über 20 Werte gemittelt, aber verwende auch keinen DAC, der Rauschen erzeugen könnte.
Christoph M. schrieb: > Ich habe über 20 Werte gemittelt, aber verwende auch keinen DAC, der > Rauschen erzeugen könnte. Ich habe sogar 25 Werte gemittelt... Benutzt Du dann PWM statt DAC?
c-hater schrieb: > Paul schrieb: > >> Kennt jemand einen Mikrocontroller mit 14 oder 16Bit ADCs und DACs >> integriert? > > Nein, gibt es nicht Name: schrieb: > c-hater schrieb: >> Nein, gibt es nicht. > > Doch. Beispiele: > > PIC24FJ128GC006 > STM32F3 Noch so ein Schwachmat der die Überschrift nicht liest. 16 bit DAC und ADC mit 750ksps gibt es nicht, der PIC hat bloss 2x10-bit 1MSPS DAC und dumme SigmaDelta ADC, der STM ebenso zu wenig. Es gibt einige Audio-DSP z.B. von AK, aber zu langsam und 16 (oder gar 24) bit Auflösung macht nicht 16 bit Genauigkeit, als Messknecht also unbrauchbar.
Paul M. schrieb: > Ok, habe nun mal deutlich kleinere Werte verwendet > das hat aber keine Besserung gebracht Schade, das habe ich nicht erwartet. Paul M. schrieb: > Ein Oszi misst doch auch z.B. mit 1MegOhm!? Das stimmt wohl, aber mit abgeschirmten Leitungen. Und dennoch sind Messfehler durch eingekoppelte EMV immer wieder ein Anlass für Überraschungen (vor allem bei Anfängern).
>Benutzt Du dann PWM statt DAC? Nein, das würde wahrscheinlich auch Störungen erzeugen. Zufälligerweise habe ich vor kurzem ein paar ADS1115 ADCs ( 16Bit ) bestellt und für die gibt's einen Arduino Treiber. Tatsächlich sehen die Kurven damit noch ein wenig besser als mit den internen 10Bit des Arduino Uno aus.
Paul M. schrieb: > Das ganze soll übriges ein Geburtstagsgeschenk für meine Frau werden, > damit sie ihre Kennlinien von Dioden und Transistoren bei verschiedenen > Temperaturen automatisiert aufnehmen kann. Aber mit der Messgenauigkeit, > die ich aktuell erreiche, wird das kein gutes Geschenk :-( Ach so, das erklärt es natürlich. Solche Roboterfrauen sind sicher sehr empfindlich und müssen oft durchgemessen werden, nicht dass sie noch schwanger werden. Ob da 16bit reicht?
Paul schrieb: > dann muss ich wohl externe ADCs und > DACs verwenden und bei Layout auf gute Leitungsführung achten. Oder gibt > es das als fertige Platine zu kaufen? So etwas ist doch quasi eine > Standardanwendung....? Es gibt den AD5522 und ein Evalboard dazu. Hat aber auch seinen Preis.
Christoph M. verrät uns bis jetzt nicht, wie er das gemacht hat. Also, es bleibt spannend, bleiben Sie dran! Kutte
Paul M. schrieb: > Das ganze soll übriges ein Geburtstagsgeschenk für meine Frau werden, > damit sie ihre Kennlinien von Dioden und Transistoren bei verschiedenen > Temperaturen automatisiert aufnehmen kann. Der 1. April ist aber schon seit ner Weile vorbei... ;-)
:
Bearbeitet durch User
Wo bitte wird denn da der Messstrom geregelt? Das was Du da misst ist kein Rauschen sondern einfach das Stromgewackel von deinem Fet. Die Schutzdioden an den Ausgängen der OPs sind auch kontraproduktiv. Z-Dioden haben keine scharfe Kennlinie bei den kleinen Spannungen. Die verfälschen Dein Ergebniss zusätzlich.
Andreas M. schrieb: > Wo bitte wird denn da der Messstrom geregelt? Das was Du da misst ist > kein Rauschen sondern einfach das Stromgewackel von deinem Fet. > Geregelt wird im Mikrocontroller. Über die ADCs wird ja Strom und Spannung erfasst und mit dem DAC gebe ich entsprechende Spannung über den OpAmp auf das Gate. Die Regelung funktioniert ziemlich gut, ich erreiche den Sollwert. Das Problem ist dann nur, dass die mit dem ADC gemessene Spannung und Strom um den Sollwert herum so stark rauschen.... > Die Schutzdioden an den Ausgängen der OPs sind auch kontraproduktiv. > Z-Dioden haben keine scharfe Kennlinie bei den kleinen Spannungen. Die > verfälschen Dein Ergebniss zusätzlich. Das ist natürlich eine Idee! Werde ich mal entfernen! Danke!
Mark B. schrieb: > Paul M. schrieb: >> Das ganze soll übriges ein Geburtstagsgeschenk für meine Frau werden, >> damit sie ihre Kennlinien von Dioden und Transistoren bei verschiedenen >> Temperaturen automatisiert aufnehmen kann. > > Der 1. April ist aber schon seit ner Weile vorbei... ;-) Das ist auch kein Scherz, ich habe Glück mit meiner Frau und wir basteln beide gerne. Auch das gibt es!
Paul M. schrieb: > Mark B. schrieb: >> Der 1. April ist aber schon seit ner Weile vorbei... ;-) > > Das ist auch kein Scherz, ich habe Glück mit meiner Frau und wir basteln > beide gerne. Auch das gibt es! Mag sein. Dann betrachte Dich als glücklich :-) Zur Lösung Deines Problems brauchst Du aber sehr wahrscheinlich keine A/D oder D/A-Wandler mit 16 Bit Auflösung... sondern einen vernünftigen Messaufbau ohne Störeinflüsse. Sonst misst Du nur die Störungen noch genauer und für teuer Geld. ;-) Wer viel misst, misst viel Mist!
Mark B. schrieb: > Zur Lösung Deines Problems brauchst Du aber sehr wahrscheinlich keine > A/D oder D/A-Wandler mit 16 Bit Auflösung... sondern einen vernünftigen > Messaufbau ohne Störeinflüsse. Sonst misst Du nur die Störungen noch > genauer und für teuer Geld. ;-) > > Wer viel misst, misst viel Mist! Ok, stimmt. Mein Aufbau ist aber eigentlich ganz ordentlich. Mache heute Abend mal ein Foto, vielleicht könnt ihr dann erkennen, woher die Störung kommen könnten. Die Schaltung habe ich auf eine geätzte Platine gebaut und mit möglichst kurzen Drähten mit dem STM32F767-Nucleo Board verbunden.
Wie bist Du auf die Anforderungen an die Abtastzeit gekommen? Meiner Meinung nach bringt es nicht wirklich viel, schnell zu messen, weil man nichts über die Diodenfläche ( die dürfte sehr klein sein ) und über die punktuelle Erwärmung dort sagen kann. Im Betrieb hängt dann die Kennlinie immer vom Strom und der daraus folgenden schnellen Erwärmung ab. Die eigentliche Temperatur auf dem Silizium setzt sich dann aus der Eigenerwärmung und der Wärmeabfuhr an die Umgebung zusammen. Mich würde mal interessieren, wie die Hersteller die Diodenkennlinien messen ( unter zeitlichen Randbedingungen ).
Habe mal etwas ähnliches gebaut und da hat es funktioniert.
Hallo, nun endlich ein Foto vom Aufbau. Außerdem habe ich die Dioden an den OpAmp-Ausgängen abgezwickt. Leider hat auch das keinerlei Verbesserung gebracht. Mir gehen die Ideen aus... was könnte ich denn noch versuchen?
Eigentlich wollte ich den Verlauf sämtlicher GND Leitungen sehen.
Stefan ⛄ F. schrieb: > Eigentlich wollte ich den Verlauf sämtlicher GND Leitungen sehen. Na dann lade ich doch einfach das Layout hoch. Das GND-Net ist gehighlightet.
Paul schrieb: > Am > besten 14 oder 16 Bit. bist du sicher mit 12-14 Bit umgehen zu kömnnen? 16bit umfasst schon mal runter bis 30µV bei maximal 2V signal. Solche Forderungen nach 14-16 bit findet man öfter aber kaum jemanden der damit umgehen kann! Dazu sind die meisten Versorgungsspannungen und Leiterbahnführungen oder die Verkabelung mit allen Impedanzen zu dilettantisch aufgebaut!
Christoph M. schrieb: > Mich würde mal interessieren, wie die Hersteller die Diodenkennlinien > messen ( unter zeitlichen Randbedingungen ). Gar nicht. Die messen 1 oder 2 markante Kennwerte, und der Rest wird durch eine schnelle Hand eines begabten Bleistifthalters dazwischengezogen, 'interpoliert'.
Michael B. schrieb: > Die messen 1 oder 2 markante Kennwerte, und der Rest wird durch eine > schnelle Hand eines begabten Bleistifthalters dazwischengezogen, > 'interpoliert'. Quark, es gibt Kurvenlineale! https://images0.gerstaecker.de/out/pictures/generated/1500_1500/pboxx-pixelboxx-2564338/STANDARDGRAPH+Kurvenlineal.jpg
Hallo nochmals, zu später Stunde hatte ich die Idee, den noch unbenutzten ADC3-Eingang doch einfach mal direkt auf dem STM32-Nucleo-Board mit GND kurzzuschließen und währenddessen die Messung durchzuführen. Anbei das Resultat: die rote Kurve zeigt den ADC2 der den Strom durch das DUT gemessen hat. Die blaue Kurve zeigt den ADC3, dessen Eingang nach GND kurzgeschlossen war. Wie man sieht, bekomme ich trotzdem Peaks, die bis zu ADC-Rohwert = 8 hoch reichen. Woran kann das liegen? Probleme mit Vref oder AGND auf dem Nucleo-Board? Hat jemand Tipps für mich, was ich noch probieren könnte?
Paul M. schrieb: > Wie man sieht, bekomme ich trotzdem Peaks, > die bis zu ADC-Rohwert = 8 hoch reichen. Das sind doch nur die letzten 3 Bits die wackeln. Nimm mal viele (z. B. 2^14) Werte am Stück auf und mach davon - eine FFT - ein Histogram. (Oder poste hier eine z. B. CSV Datei mit vielen Werten und ich erstelle FFT/Histogram.) Paul M. schrieb: > Woran kann das liegen? Da gibt es sehr viele Möglichkeiten. Wie hast du den Eingang mit Masse verbunden? Ein langer Draht kann Rauschen einfangen. Wie hast du AGND und DGND beschaltet? Ist das eine ordentliche Spannungsreferenz (welche?) mit einem schön großen Kondensator dran? Paul M. schrieb: > Probleme mit Vref oder AGND auf dem Nucleo-Board? Ja genau, das kann beides sein. Tatsächlich eine hohe Genauigkeit zu erreichen ist gar nicht so einfach. Ich vermute das wird mit einem ADC in einem uC sehr schwer werden. Verwende da lieber einen externen ADC mit ordentlicher Referenz, gefilterter Versorgung und einem möglichst jitterarmen Abtasttakt. Was ich noch nicht ganz verstehe ist wieso du eine so hohe Genauigkeit brauchst/haben willst.
Gustl B. schrieb: > Ich vermute das wird mit einem ADC in einem uC sehr schwer werden. deswegen werden die auch selten sein, ein guter ADC hochauflösend und genau verträgt sich schlecht mit µC. Was ich schrieb: Joachim B. schrieb: > bist du sicher mit 12-14 Bit umgehen zu kömnnen? Ich hatte im industriellen Umfeld schon Schwierigkeiten -60dB zu messen (Kosten fast egal) und der TO will ja noch weiter aber günstiger runter.
>Christoph M. schrieb: >> Mich würde mal interessieren, wie die Hersteller die Diodenkennlinien >> messen ( unter zeitlichen Randbedingungen ). >Gar nicht. >Die messen 1 oder 2 markante Kennwerte, und der Rest wird durch eine >schnelle Hand eines begabten Bleistifthalters dazwischengezogen, >'interpoliert'. Wer weiß, am Ende könntest Du noch Recht haben. https://de.wikipedia.org/wiki/Shockley-Gleichung Wenn ich's richtig sehe, sind da nur zwei variable Parameter in der Gleichung: Der Emissionskoeffizient und der Sättigungssperrstrom.
Gustl B. schrieb: > Paul M. schrieb: >> Wie man sieht, bekomme ich trotzdem Peaks, >> die bis zu ADC-Rohwert = 8 hoch reichen. > > Das sind doch nur die letzten 3 Bits die wackeln. Nimm mal viele (z. B. > 2^14) Werte am Stück auf und mach davon > - eine FFT > - ein Histogram. > (Oder poste hier eine z. B. CSV Datei mit vielen Werten und ich erstelle > FFT/Histogram.) > Vielen Dank für Dein Angebot und die Hilfe. Im Anhang ist die CSV-Datei mit 2^14 Werten. Die Samplerate war 1MSps. Der ADC-Eingang war direkt (mit so kurzem Draht wie möglich) mit GND kurzgeschlossen. > Paul M. schrieb: >> Woran kann das liegen? > > Da gibt es sehr viele Möglichkeiten. > Wie hast du den Eingang mit Masse verbunden? Ein langer Draht kann > Rauschen einfangen. > Wie hast du AGND und DGND beschaltet? Ist das eine ordentliche > Spannungsreferenz (welche?) mit einem schön großen Kondensator dran? > Da habe ich ganz auf ST vertraut. Es ist die Standardschaltung auf dem Nucleo-Board, siehe Schaltplan von ST anbei. > Paul M. schrieb: >> Probleme mit Vref oder AGND auf dem Nucleo-Board? > > Ja genau, das kann beides sein. Tatsächlich eine hohe Genauigkeit zu > erreichen ist gar nicht so einfach. Ja, das habe ich nun gelernt. Macht es Sinn, ein Design mit externem DAC/ADC anzugehen? > > Ich vermute das wird mit einem ADC in einem uC sehr schwer werden. > Verwende da lieber einen externen ADC mit ordentlicher Referenz, > gefilterter Versorgung und einem möglichst jitterarmen Abtasttakt. > Ok, mache mich daran. > Was ich noch nicht ganz verstehe ist wieso du eine so hohe Genauigkeit > brauchst/haben willst. Muss es nicht unbedingt sein, aber ich möchte die Kennlinien ja noch bis ca. 50V aufnehmen... und 50V / 2^12 = 12mV, naja, stimmt, auch das wäre ja ok. Also genügen wohl doch 12Bit, aber das Rauschen (das ja jetzt schon mit dem 12Bit ADC da ist, es wird mit mehr Bit ja nicht weniger), stört. Das werde ich daher zuerst angehen und wenn ich dann doch noch mehr Auflösung benötige, mache ich mich an ein weiteres Design mit 16Bit DAC und ADC extern.
Paul M. schrieb: > Na dann lade ich doch einfach das Layout hoch. Grr. Ich meine die Kabel, nicht auf der Platine.
Paul M. schrieb: > Da habe ich ganz auf ST vertraut. Es ist die Standardschaltung auf dem > Nucleo-Board, siehe Schaltplan von ST anbei. Ich denke, dieses Board ist zum Experimentieren gedacht, nicht für hochgenaue Messungen. Schaue Dir dazu mal die AN2834 an, dort sind alle denkbaren Maßnahmen zusammen gefasst. Du könntest z.B. mal versuchen, die CPU während der Messung anzuhalten.
Paul M. schrieb: > Andreas M. schrieb: >> Wo bitte wird denn da der Messstrom geregelt? Das was Du da misst ist >> kein Rauschen sondern einfach das Stromgewackel von deinem Fet. >> > Geregelt wird im Mikrocontroller. Über die ADCs wird ja Strom und > Spannung erfasst und mit dem DAC gebe ich entsprechende Spannung über > den OpAmp auf das Gate. Die Regelung funktioniert ziemlich gut, ich > erreiche den Sollwert. Das Problem ist dann nur, dass die mit dem ADC > gemessene Spannung und Strom um den Sollwert herum so stark rauschen.... Wie hast Du das geprüft, dass dein Sollwert stabil ist? Hast du mal mit einem Oszi und AC Kopplung mit kleinem Messbereich draufgeschaut? Ich verstehe nicht warum Du überhaupt per Software regelst. Wenn da eh schon nen OP am FET ist. Der könnte das auch direkt viel genauer regeln. Ich glaube eh das da was schwingt. Die ganzen Kapazitäten, der FET ohne wirkliche Gegenkopplung und auf der Drain-Seite eine nichtlineare Diode die gemessen werden soll. Hast du mal eine Messung mit einem einfachen Widerstand gemacht?
Paul M. schrieb: > Der ADC-Eingang war direkt > (mit so kurzem Draht wie möglich) mit GND kurzgeschlossen. Das sieht doch auch ganz gut aus. Ja, es gibt Rauschen, aber das gibt es immer. Das Histogramm zeigt deutlich, dass die Häufigkeit der höheren Werte ziemlich selten ist. Paul M. schrieb: > Macht es Sinn, ein Design mit externem DAC/ADC anzugehen? Das kommt drauf an zu was du bereit bist und was du erreichen möchtest. Paul M. schrieb: > Das werde ich daher zuerst angehen und wenn ich dann doch noch > mehr Auflösung benötige, mache ich mich an ein weiteres Design mit 16Bit > DAC und ADC extern. Naja, da gibt es Grenzen. 16 Bits ADCs haben selten eine ENOB von 16 Bits. Da kannst du Aufwand treiben wie du willst. Du verwendest hier 1 MSps als Abtastrate, welche Freuanz hat denn das Signal das du angucken möchtest? Mit 1 MSps fängst du dir vielleicht deutlich höherfrequentes Rauschen ein als seien müsste. Da könnte dann auch ein Tiefpassfilter in Software helfen oder analog vor dem ADC.
Hallo zusammen, vielen Dank für die vielen Tipps, vor allem an Gustl für das Anfertigen der FFT. Ich habe mich nun so entschieden, eine Platine mit externen DACs und ADCs zu machen. Ich melde mich dann wieder, mit dem was dabei rausgekommen ist.
Andreas M. schrieb: > Wie hast Du das geprüft, dass dein Sollwert stabil ist? Hast du mal mit > einem Oszi und AC Kopplung mit kleinem Messbereich draufgeschaut? Genau so. Zum einen mit dem Oszi in kleinstem Messbereich (AC-Kopplung) aber auch in dem ich die DAC-Samples "mit geloggt" habe und man sieht, dass der DAC eine konstante Spannung/konstanter Wert ausgibt. In meiner ersten Version früher, habe ich analog geregelt. Ging auch ganz gut, der Sollwert kam über ein Poti und später über einen DAC. Da ich nun aber mit ADCs messen möchte, wirst ja im Mikrocontroller sowieso der Istwert schon erfasst. Deshalb ist es praktisch, die Regelschleife im Mikrocontroller zu schließen.
Paul M. schrieb: > Genau so. Zum einen mit dem Oszi in kleinstem Messbereich (AC-Kopplung) > aber auch in dem ich die DAC-Samples "mit geloggt" habe und man sieht, > dass der DAC eine konstante Spannung/konstanter Wert ausgibt. Es geht nicht um den DAC. Es geht um das was an dem Prüfling anliegt. Also: 1) Prüfling anschließen 2) Das Program im UC einen festen Stromwert regeln lassen. (Aufgrund deines Diagramms gehe ich davon aus, dass Du den Strom regelst) 3) In diesem Zustand mit dem Oszi an den Prüfling und Messen.
Beitrag #6260247 wurde vom Autor gelöscht.
Hallo, nach langem Basteln geht es nun weiter. Habe eine Platine mit ADS8681 ADCs und AD5062 DACs gemacht und zwischen Mikrocontroller-Board (immer noch das Nucleo-Board) und die Leistungselektronikplatine gebaut. Die ADCs rauschen damit noch ungefähr um 5 ADC-Rohwerte. (von Minumum zu Maximum). Die Kennlinie wird damit schon ganz ansehlich, siehe Anhang (Achsenskalierung stimmt noch nicht, aber das bekomme sogar ich hin). Ich nehme also an, dass die ADCs/DACs im Mikrocontroller einfach durch zu viele Störungen (vielleicht aus dem Mikrocontroller selbst oder auf dem Nucleo-Board) für diese Anwendung ungeeignet sind. Ein paar Kleinigkeiten sind noch zu tun und alles muss dann noch in ein schönes Gehäuse eingebaut werden, damit ich es meiner Frau schenken kann. Vielen Dank nochmals an alle für die Tipps.
Paul M. schrieb: > Die ADCs rauschen damit noch ungefähr um 5 ADC-Rohwerte. Das wäre ein wirklich sehr, sehr gutes Ergebnis. Die Frage ist: eher Zufall oder wirklich das Ergebnis eines bewussten und kompetenten Design-Prozesses?... > damit ich es meiner Frau schenken > kann. Was, zum Teufel könnte einer Frau gefallen, was unbedingt mit 14 oder gar 16 Bit aufgelöst werden müsste? Hochaufgelöste Diodenkennlinien entzücken nach meiner Erfahrung eher keine Frau... Da machst du mich jetzt echt neugierig...
c-hater schrieb: >> Die ADCs rauschen damit noch ungefähr um 5 ADC-Rohwerte. > > Das wäre ein wirklich sehr, sehr gutes Ergebnis. > > Die Frage ist: eher Zufall oder wirklich das Ergebnis eines bewussten > und kompetenten Design-Prozesses?... Habe 3 Wochen Urlaub genommen und mich intensiv damit beschäftigt. Außerdem habe ich etwas mehr Erfahrung als meine Posts hier vermuten lassen, da habe ich den falschen Eindruck hinterlassen. Es hat aber trotzdem zwei Iterationen (also zwei mal Platinen bestellen) gebraucht....
Paul M. schrieb: > zu später Stunde hatte ich die Idee, den noch unbenutzten ADC3-Eingang > doch einfach mal direkt auf dem STM32-Nucleo-Board mit GND > kurzzuschließen und währenddessen die Messung durchzufüh Dein ADC ist nur so gut wie deine Referenz. Also, überprüfe doch mal: - Was genau wird als Referenz verwendet - Ist die sauber - Wie sieht AVDD aus Und ein Wert von 300 bei einem Kurzschluss gegen GND riecht außerdem nach einem Offsetproblem. Hast du die Kalibrierung des ADC verwendet? Ich arbeite viel mit den STM32, aber selbst bei 3V3 aus einem Schaltregler als Referenz haben wir vielleicht 6LSB Rauschen drauf bei 12Bit. Bei Platinen mit Referenz und VREF-Pins schaffen die ADCs auch die im Datenblatt angegebenen Werte. Da liegt das Problem wohl an den Nucleo-Boards. --> VREF, AVDD anschauen!
Blumpf schrieb: > Da liegt das Problem wohl an den Nucleo-Boards. Wenn man sich das Nucleo64 Board genauer anschaut sieht man, dass da auf den ADC überhaupt keine Rücksicht genommen wurde. Es ist ja auch nur zum Lernen vorgesehen, das ist es gar nicht schlecht, die echte unperfekte Welt vorzuführen. Wer immer nur perfekt funktionierende Baugruppen zu sehen bekommt, kann sich einige Haken und Ösen nur schwer vorstellen, mit denen wir alltäglich zu tun haben.
c-hater schrieb: > Paul M. schrieb: > >> Die ADCs rauschen damit noch ungefähr um 5 ADC-Rohwerte. > > Das wäre ein wirklich sehr, sehr gutes Ergebnis. stimme absolut zu, das ist wirklich gut! Paul M. schrieb: > Außerdem habe ich etwas mehr Erfahrung als meine Posts hier vermuten > lassen, da wage ich nicht zu widersprechen, trotzdem danke für die Rückmeldung!
Joachim B. schrieb: > trotzdem danke für die Rückmeldung! Nur durch Feedback lernt man und sammelt Erfahrung. Ihr habt mir einige Tipps gegeben, da melde ich mich natürlich zurück.
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.