Liebe Leute, wenn ich beim Atmega328P/PB für den ADC über ADMUX nur zwischen AVCC und 1.1V Bandgap wähle, aber nie eine externe Referenz benutze, ist dann ein Kondensator 100nF zwischen AREF und GND hilfreich? Immerhin verzögert er das Umschalten von AVCC 5V zu Bandgap 1.1V (32kΩ Impedanz) um 5-7 tau á 3ms, also 15-20ms! KANN dieser Kondensator, bei der hohen Impedanz der Bandgap-Spannungsquelle, überhaupt internes Rauschen unterdrücken? Und hat diese Rauschunterdrückung schon mal irgend jemand auch in der Praxis beobachtet? Ich meine, ich verstehe den Sinn eines solchen Kondensators ganz nah am uC falls man eine externe Referenz benutzt. Aber macht dieser Kondensator für interne Referenzen irgendeinen Sinn? LG, Sebastian
Beitrag #6453266 wurde von einem Moderator gelöscht.
Sebastian W. schrieb: > ist dann ein Kondensator 100nF zwischen AREF und GND hilfreich? Im Datenblatt steht klar drin, dass da ein Kondensator dran gehört und es wird auch die optimale Größe empfohlen. Wenn das nicht hilfreich wären, dann stände das da nicht drin.
Sebastian W. schrieb: > ist dann ein Kondensator 100nF zwischen AREF und GND hilfreich? Ja. Er puffert die Referenz wenn der ADC während der Umsetzung seine internen Pikofarad- Kondensatoren umlädt. Jede Refetenzspannungsschwankung während der Zeit würde als Messfehler eingehen.
Sebastian W. schrieb: > Liebe Leute, Spare ruhig diesen einen Kondensator, das wird dich reich machen. Und überlege lieber noch ein paar Tage mehr, denn sonst gibt es ja nichts zu tun.
Stefan ⛄ F. schrieb: > Im Datenblatt steht klar drin, dass da ein Kondensator dran gehört und > es wird auch die optimale Größe empfohlen. > Wenn das nicht hilfreich wären, dann stände das da nicht drin. Mönsch Stefan, wenn das so klar wär würd ich ja nicht fragen! Im Datenblatt steht "may be decoupled", "can be made more immune". Dass ist eine Kann-Bestimmung, nicht eine Muss-Bestimmung. Ich finde im Datenblatt auch nirgendwo eine empfohlene optimale Größe. Und in Figure 24-9, ADC Power Connections, ist AREF umbeschaltet gelassen. Also noch einmal: Hat irgend jemand schon mal einen positiven Effekt dieses Kondensators auf die internen ADC-Referenzen gemessen? LG, Sebastian
Sebastian W. schrieb: > Im Datenblatt steht "may be decoupled", "can be made more immune". Dass > ist eine Kann-Bestimmung, nicht eine Muss-Bestimmung. > Ich finde im Datenblatt auch nirgendwo eine empfohlene optimale Größe. Du hast Recht, ich habe das Datenblatt mit der Application Note AVR042 durcheinander gebracht. Schau sie dir mal an: http://ww1.microchip.com/downloads/en/appnotes/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdf "To improve the accuracy of the ADC, the analog supply voltage must be decoupled separately, similar to the digital supply voltage. AREF must also be decoupled. The typical value for the capacitor is 100nF." Will sagen: Wenn dir die Genauigkeit des ADC nicht wichtig ist, dann lasse den Kondensator weg. Aber wer will das schon?
Stefan ⛄ F. schrieb: > Will sagen: Wenn dir die Genauigkeit des ADC nicht wichtig ist, dann > lasse den Kondensator weg. Hinterher, viel später, kommt das grosse Gejammere.
Beo Bachta schrieb: > Hinterher, viel später, kommt das grosse Gejammere. Naja, wenn die Verzögerung für den TO ein Problem ist, dann hat er einen guten Grund, den Kondensator weg zu lassen. Er muss dann mit der geringeren Genauigkeit auskommen. Oder die Schaltung völlig anders aufbauen. Ich glaube es geht nicht nur darum, das Rauschen der Referenzquelle zu unterdrücken, sondern auch um die Impuls-Artige Belastung durch die Sample&Hold Schaltung von ihr fern zu halten.
Ich gehe mal davon aus, dass Du das Teil auch ohne betreiben kannst - selbst wenn Du den A/D-Wandler verwendest. Ob die Messwerte dann sinnvoll sind steht auf einem anderen Blatt. Vor allem wenn Du es eilig hast. Aber - Garantiert stört das Teil nicht, nimmt keine riesige Fläche ein und kostet kein Vermögen.
Sebastian W. schrieb: > Kondensator 100nF zwischen AREF und GND hilfreich? Immerhin verzögert er > das Umschalten von AVCC 5V zu Bandgap 1.1V (32kΩ Impedanz) um 5-7 tau á > 3ms, also 15-20ms! Wow... 5-7 tau á... Cool! Eventuell ist es ja sinnvoller diese Umschaltung ganz zu vermeiden. Welchen Sinn hat es denn überhaupt innerhalb einer Anwendung die Referenz zu wechseln? Selbst wenn eines der zu verarbeitenden Analogsignale von AVCC abhängig ist, scheint dies kein wirklich sinnvoller Weg zur Kompensation zu sein...
Stefan ⛄ F. schrieb: > Ich glaube es geht nicht nur darum, das Rauschen der Referenzquelle zu > unterdrücken, sondern auch um die Impuls-Artige Belastung durch die > Sample&Hold Schaltung von ihr fern zu halten. @Stefan, @MaWin: Die S/H-Schaltung hat ja nur 14pF, und der Ladungsimpuls entsteht nur bei der ersten Messung, und die erste Messung soll man laut Datenblatt ja eh verwerfen. Stefan, danke für die AVR042 application note. Aber anbei mal Figure 6-2 aus AVR042, die empfohlene Beschaltung für Atmega324PB: Wiederum ohne Kondensator an AREF. @ardruid: Ja, das ist meine jetzige Lösung. Nur: Die AVCC 5V kommen bei mir von einem MCP1755T mit 0.85% absoluter Genauigkeit der Spannung, wogegen die interne AVR Bandgap-Spannung nur als irgendwo zwischen 1.0V und 1.2V spezifiziert ist. @Sebastian, @Beo: Der Kondensator ist ja vorgesehen und bestückt. Die 15-20ms beim Umschalten stören mich. Vor allem aber stört mich, dass diese Umschaltzeiten bei Verwendung des AREF-Stützkondensators im Datenblatt nicht erwähnt werden. Hat lange gedauert die Ursache für das Fehlverhalten meiner Software zu finden. Würde 1nF nicht völlig reichen? LG, Sebastian
In den AVR AN´s wird schon darauf hingewiesen dass man einen 100nF von VREF zu GND vorsehen soll. Auch hilft es die Impedanzänderungen bei Ladungsumschaltung durch das S&H auszugleichen. Besonders in EMI verseuchter Umgebung sollte man sogar noch weiter gehen und einen LC Filter vor den VREF setzen. Noch besser ist es für den Analogteil über einen Ferrit Bead einen eigenen AGND zu erzeugen und dannach mit der Versorgungsspannung über einen LC den VREF versorgen. Ein Filter vor dem VREF vermindert das Rauschen erheblich (laut LT App-Note um ca. 6dB). Wichtig ist es auch das PCB Layout entsprechend auszuführen.
In den AVR AN´s wird darauf hingewiesen dass man einen 100nF von AVCC zu GND vorsehen soll. Auch hilft es die Impedanzänderungen bei Ladungsumschaltung durch das S&H auszugleichen. Besonders in EMI verseuchter Umgebung sollte man sogar noch weiter gehen und einen LC Filter vor den AVCC setzen. Noch besser ist es für den Analogteil über einen Ferrit Bead einen eigenen AGND zu erzeugen und dannach mit der Versorgungsspannung über einen LC den AVCC versorgen. Ein Filter vor dem AVCC vermindert das Rauschen erheblich (laut LT App-Note um ca. 6dB). Wichtig ist es auch das PCB Layout entsprechend auszuführen. Ein Kondensator an den VREF ist eigentlich kein muss. Ich würde aber trotzdem einen vorsehen. 100nF finde ich aber ein wenig zu gross. Ich würde etwas zwischen 1nF und 10nF versuchen.
H. B. schrieb: > Besonders in EMI verseuchter Umgebung sollte man sogar noch weiter gehen > und einen LC Filter vor den VREF setzen. Hab ich, siehe https://www.mikrocontroller.net/attachment/476042/Clipboard01.png. Meine Ventilkästen müssen ja die EMI des Mähroboters ertragen ... :) Aber nachdem wir uns nun Datenblätter, Application Notes und private Meinungen um die Ohren geschlagen haben: Hat irgend jemand wirklich schon mal den angeblichen positiven Effekt des AREF-Stützkondensators in einer Messung beobachtet? LG, Sebastian
Sebastian W. schrieb: > @MaWin: Die S/H-Schaltung hat ja nur 14pF, und der Ladungsimpuls > entsteht nur bei der ersten Messung, und die erste Messung soll man laut > Datenblatt ja eh verwerfen Nein. Das sampling am Eingang passiert nur 1 x zu Beginn, aber JEDER Wandlung. Während der Wandlung wird die Ladung im Kondensator für jedes Bit halbiert und mit ARef verglichen, da muss ARef konstant bleiben. Je nachdem wie aber der Vergleich ausfiel, wird der Kondensator mit Aref verbunden. 14pF sind weniger als 100nF, müssen das aber auch zumindest um den Faktor 1024 sein damit die Wandlung noch stimmt
MaWin schrieb: > Das sampling am Eingang passiert nur 1 x zu Beginn, aber JEDER Wandlung. > > Während der Wandlung wird die Ladung im Kondensator für jedes Bit > halbiert und mit ARef verglichen, da muss ARef konstant bleiben. Je > nachdem wie aber der Vergleich ausfiel, wird der Kondensator mit Aref > verbunden. 14pF sind weniger als 100nF, müssen das aber auch zumindest > um den Faktor 1024 sein damit die Wandlung noch stimmt Ok, ich verstehe. Aber ist der Faktor wirklich 1024? Die Referenzspannung speist ja laut Datenblatt (siehe Bild) einen 10-Bit DAC. Ich schätze das ist ein programmierbares Widerstandsnetzwerk? Dann wird das Netzwerk aber nur zehn Mal gespeist, und dabei halbiert sich die im S/H-Kondensator umgeladene Ladungsmenge immer wieder, oder? LG, Sebastian
:
Bearbeitet durch User
Sebastian W. schrieb: > Ich schätze das ist ein programmierbares Widerstandsnetzwerk? Nein, ist es nicht. So genau kann man Widerstände innerhalb eines IC gar nicht herstellen. Außer sie werden alle einzeln abgeglichen, aber dann würde das IC sehr viel teurer sein.
Sebastian W. schrieb: > und dabei halbiert sich > die im S/H-Kondensator umgeladene Ladungsmenge immer wieder, Nein. Der s&h wird kaum belastet. https://en.wikipedia.org/wiki/Successive-approximation_ADC
Sebastian W. schrieb: > Aber anbei mal Figure 6-2 aus AVR042, die empfohlene Beschaltung für > Atmega324PB Wenn ich mir da den C8 so ansehe bin ich mir nicht so sicher, ob da wirklich alles so ist wie es soll :-/ > Die 15-20ms beim Umschalten stören mich. Dann schalte einfach die Referenz nicht um. Wenn du umschalten musst, weil du deine Hardware nicht anders gebaut bekommst und du dein Programm nicht so schreiben kannst, dass es mit den 20ms zurechtkommt, dann empfehle ich einen experimentellen Ansatz: die 100nF sind ja sowieso so ein aus den Fingern gesogener Wert wie die 20mA oder der legendäre 10kOhm. Probiers also einfach mal mit 10nF. Allemal besser als nichts. Sebastian W. schrieb: > siehe https://www.mikrocontroller.net/attachment/476042/Clipboard01.png. Nett ist das Detail, eines der größten Bauteile im Plan als QUARZ_SMALL zu betitulieren... ;-) Arduino Fanboy D. schrieb: > Der s&h wird kaum belastet. > https://en.wikipedia.org/wiki/Successive-approximation_ADC Richtig, der behält seine Spannung quasi unverändert. Das ist dann auch der Grund für das "Verschleppen" der zuvor gemessenen Spannung, wenn die Quelle des nachfolgend gemessenen Analogeingangs zu hochohmig ist
:
Bearbeitet durch Moderator
Ok, ok. Kein Widerstandsnetzwerk. Also eine schaltbare Kondensatorbank mit in Zweierpotenzen wachsenden Kapazitäten. Aber wie stark belastet diese Kondensatorbank AREF? Wirklich 1024 Mal die S/H-Kapazität von 14pF? LG, Sebastian
Lothar M. schrieb: > Wenn ich mir da den C8 so ansehe bin ich mir nicht so sicher, ob da > wirklich alles so ist wie es soll :-/ Das sehe ich auch so. Da scheinen die Kondensatoren beider Quarze vertauscht zu sein. Zumindest ist das nicht die übliche AVR Beschaltung. Und dass AREF da nicht mit einem C beschaltet ist, dürfte daran liegen, dass der Pin mehrere Funktionen hat. Findet man auch bei manchen Tinys so.
Sebastian W. schrieb: > Ok, ok. Kein Widerstandsnetzwerk. Also eine schaltbare Kondensatorbank > mit in Zweierpotenzen wachsenden Kapazitäten. > > Aber wie stark belastet diese Kondensatorbank AREF? Wirklich 1024 Mal > die S/H-Kapazität von 14pF? Natürlich nicht. Die Belastung sind schon die (typisch) 14pF. Aber der Wert von Vref soll sich ja nicht um mehr als 1 LSB ändern. Daher der Faktor 1024.
Sebastian W. schrieb: > Immerhin verzögert er das Umschalten von AVCC 5V zu Bandgap 1.1V > (32kΩ Impedanz) um 5-7 tau á 3ms, also 15-20ms! 5 * tau würde nicht einmal für einen 8 Bit ADC reichen.
Axel S. schrieb: > Daher der Faktor 1024. Und 14pF * 1000 = 14nF, nicht ganz umsonst hatte ich zum Test die 10nF vorgeschlagen... ;-)
Lothar M. schrieb: > Und 14pF * 1000 = 14nF, nicht ganz umsonst hatte ich zum Test die 10nF > vorgeschlagen... ;-) Ok, das ist mal ein besserer Anhaltswert als diese 100nF "aus der Hüfte". Aber die Berechnung beruht auf der Annahme, dass die internen 1.1V so hochohmig sind, dass sie zum Umladestrom überhaupt nicht beitragen. Das Datenblatt spricht aber von einem Verstärker ("The internal 1.1V reference is generated from the internal bandgap reference (VBG) through an internal amplifier."). Ich habe keine offizielle Spezifikation der Impedanz gefunden, die Foren sprechen von 30k bis 100k. Bei 100k, 1.1V und 14pF ist tau 1.4us, 7.5 tau (10 bit) sind 10.5us. Laut Datenblatt "By default, the successive approximation circuitry requires an input clock frequency between 50 kHz and 200 kHz to get maximum resolution. If a lower resolution than 10 bits is needed, the input clock frequency to the ADC can be higher than 200 kHz to get a higher sample rate.", und "The actual sample-and-hold takes place 1.5 ADC clock cycles after the start of a normal conversion." Aber wie lange wird gesampled? Über die gesamten 1.5 ADC clock cycles? In dem Fall müsste man bei 100kHz ADC clock auch ohne einen AREF-Stützkondensator eine Genauigkeit von 10 bit erreichen können ... Und Rauschen ließe sich wohl auch mit 1nF unterdrücken. LG, Sebastian
@ Sebastian Darf ich fragen, woher genau Du die Information aus Deinem Eröffnungsbeitrag über die 30 kOhm Ausgangswiderstand der Bandgap-Referenz hast? Zum Thema, mein Versuch, dass Problem möglichst knapp zu formulieren: Durch die Umschaltung der Referenzspannung entsteht ein Widerspruch zwischen der Forderung nach möglichst stabiler Referenzspannung und der Zeitdauer zur Umschaltung der Referenzspannung. Einerseits wäre ein großer Kondensator gut, um genug Strom beim Umschalten der Kondensatoren im AD-Wandler zu liefern und mehr von den hohen Störfrequenzen zu unterdrücken. Andererseits wird die Zeit zum Umschalten der Referenzspannung, - wie Du selbst in Deinem Eröffnungsbeitrag sagst -, verlängert, je grösser der selbe Kondensator ist. Es läuft also darauf hinaus, entweder einen Kompromisswert zu finden oder aber die Umschaltung ganz zu unterlassen. Der Satz im Datenblatt: (DS40002061A-page 252) "... the user may not use the other reference voltage options in the application, as they will be shorted to the external voltage." hat seinen Grund darin, dass die Referenzspannungsquelle nur begrenzte Ströme liefern und meist noch viel weniger aufnehmen kann. Das spricht also auch gegen einenz allzu großen Kondensator. Nun stellst Du aber auch in Frage, ob selbst ein vergleichsweise kleiner Kondensator überhaupt von Nutzen ist. Das halte ich, mit Verlaub, für eine unsinnige Frage. Es gibt keine solche Kondensatorkonfiguration die nicht hohe Frequenzanteile vermindern würde, die nicht Ströme in Vref nachliefern würde. Der Kondensator ist also in der mindesten in der sehr stark überwiegenden Zahl der Fälle nützlich. (Fast bin ich versucht zu sagen, er ist es immer). Ich hoffe, dass bringt Dich weiter.
Sebastian W. schrieb: > [...] Ich habe keine offizielle Spezifikation der > Impedanz gefunden, die Foren sprechen von 30k bis 100k. > [...] Ah. Das beantwortet meine Frage zum Teil. Du hast nicht zufällig Links auf die entsprechenden Forenbeiträge? Hier noch was zum lesen: https://www.analog.com/en/analog-dialogue/articles/precision-successive-approximation-adcs.html
Es gibt ja auch AVRs ohne extra VREF Pin und da habe ich keine Unterschiede gesehen bei den ADC Parametern. Der Kondensator ist also nur bei externer Referenz nötig.
Theor schrieb: > Ah. Das beantwortet meine Frage zum Teil. Du hast nicht zufällig Links > auf die entsprechenden Forenbeiträge? https://www.avrfreaks.net/forum/capacitor-aref-atmega328 http://capnbry.net/blog/?p=167 Gestern am Oszilloskop: Beim Umschalten von AVCC 5V auf 1.1V interne Referenz so 13ms bis die Spannung an AREF annähernd konstant bei 1.1V war -> ~30k. LG, Sebastian
Peter D. schrieb: > Der Kondensator ist also nur bei externer Referenz nötig. Nicht einmal dann. Wenn die externe Quelle von Hause aus bereits ausreichend niederohmig und sauber ist. Und übrigens: bei Umschaltung der Referenzquelle kann der Kondensator an AREF neben der Verzögerung einer Messung mit brauchbarem Ergebnis noch einen anderen, sehr viel unangenehmeren Nebeneffekt haben. Er kann nämlich dafür sorgen, das unbeabsichtigterweise der BOD anspricht. Dessen Referenz ist bei vielen AVR8 ebenfalls die eingebaute 1.1V-Quelle. Bei der Umschaltung von der "internen" 5V-Referenz auf die interne 1.1.V-Referenz passiert dann nämlich folgendes: die Ladung des Kondensators zieht diese Referenz kurzzeitig auf sehr viel mehr als 1.1V. D.h.: der "Messwert" des BOD wird viel zu niedrig und löst den aus, da er darauf getrimmt ist, auch auf kurze Spannungseinbrüche zu reagieren.
c-hater schrieb: > der "Messwert" des BOD wird viel zu niedrig und löst den > aus, da er darauf getrimmt ist, auch auf kurze Spannungseinbrüche zu > reagieren. Müßte das dann nicht jedesmal passieren, bei einem 100nF oder mehr? Ich meine eine VREF-Umschaltung von Vcc auf Vbg ist doch ein normaler Anwendungsfall.
Theor schrieb: > Der Satz im Datenblatt: (DS40002061A-page 252) > "... the user may not use the other reference > voltage options in the application, as they will be shorted to the > external voltage." nun beschalte mal eine externe Referenz von 2.048 oder 3.000 mV an den AREF und schalte von extern auf die interne 1.1V um. Die 1.1V können überhautp nicht benutzt werden, weil sie von der (immernoch angeschlossenen) externen Referenz quasi überfahren wird. Da muss man erstmal drauf kommen. Kaputt geht zum Glück nichts. Ich hab dann am Ende auf die internen 1.1V verzichtet. Taugt jetzt nichts zu Aussage, ob 100nF am AREF oder nicht, also leicht OT, fiel mir aber mal eben ein. Wie soll man das lösen? find' ich äusserst ungelenk...
Augen auf beim AVR-Kauf. Es gibt ja auch welche mit Trennungsoptionen (im ADC-MUX) von ext. Aref. Braucht halt nicht jeder.
batman schrieb: > c-hater schrieb: >> der "Messwert" des BOD wird viel zu niedrig und löst den >> aus, da er darauf getrimmt ist, auch auf kurze Spannungseinbrüche zu >> reagieren. > > Müßte das dann nicht jedesmal passieren, bei einem 100nF oder mehr? Ich > meine eine VREF-Umschaltung von Vcc auf Vbg ist doch ein normaler > Anwendungsfall. Ich meine gelesen zu haben dass das bei den ersten AVRs der Fall war, und dass bei neueren AVRs dann der im Datenblatt erwähnte 1:1 Vbg-Verstärker für die ADC 1.1V-Referenz zwischengeschaltet wurde. LG, Sebastian
Sebastian W. schrieb: > @Sebastian, @Beo: Der Kondensator ist ja vorgesehen und bestückt. Die > 15-20ms beim Umschalten stören mich. Vor allem aber stört mich, dass > diese Umschaltzeiten bei Verwendung des AREF-Stützkondensators im > Datenblatt nicht erwähnt werden. Hat lange gedauert die Ursache für das > Fehlverhalten meiner Software zu finden. > > Würde 1nF nicht völlig reichen? Du besten geht es bei deinem Aufbau mit einem 1,275432 nF Kondensator ;) Ich kann deinen Ärger verstehen, verstehe aber dieses weitere theoretische Herumeiern nicht. Keiner kennt deine exakten Randbedingungen. Du hast ja scheinbar einen funktionierenden Aufbau und eine Software dazu. Also fahre ein paar Messreihen (ohne Kondensator, mit 1nF, 10nF, 100nF) und suche dir das für dich am besten passende Ergebnis aus.
Sebastian W. schrieb: > Gestern am Oszilloskop: Beim Umschalten von AVCC 5V auf 1.1V interne > Referenz so 13ms bis die Spannung an AREF annähernd konstant bei 1.1V > war -> ~30k. Ok, anbei zwei Messungen des AREF beim Umschalten von AVCC 5V auf die interne 1.1V-Referenz; die erste mit einem Atmega328P (von einem billigen Pro Mini abgelötet), die zweite mit einem Atmega328PB von Digikey. In beiden Fällen ist der Stützkondensator AREF -||- GND 100nF. Der Atmega328P braucht 6ms um von 5V auf die interne Referenz abzufallen, der Atmega328PB braucht 9ms. LG, Sebastian
Sebastian W. schrieb: > Theor schrieb: >> Ah. Das beantwortet meine Frage zum Teil. Du hast nicht zufällig Links >> auf die entsprechenden Forenbeiträge? > > https://www.avrfreaks.net/forum/capacitor-aref-atmega328 > http://capnbry.net/blog/?p=167 > Gestern am Oszilloskop: Beim Umschalten von AVCC 5V auf 1.1V interne > Referenz so 13ms bis die Spannung an AREF annähernd konstant bei 1.1V > war -> ~30k. > > LG, Sebastian Dankeschön. Das ist nett von Dir. Ich möchte noch eine Bemerkung zu dem Thema machen: Ich denke, man muss in der Elektronik grundsätzlich berücksichtigen, dass Quellen einen Innenwiderstand haben. Es kann daher keine solche Konfiguration aus Quelle und Kondensator geben, die den Kondensator schlagartig (d.h. instantan) umlädt! Man kann m.M.n. Atmel keinen Vorwurf daraus machen, dass sie Tatsachen nicht ausdrücklich beschreiben, die sich aus diesem Grundsatz ergeben.
Theor schrieb: > Man kann m.M.n. Atmel keinen Vorwurf daraus machen, dass sie Tatsachen > nicht ausdrücklich beschreiben, die sich aus diesem Grundsatz ergeben. Das nicht. Aber im Datenblatt steht ja, dass man die erste Messung nach Umschalten der Referenz verwerfen soll, und das ist beim Umschalten auf die interne Referenz mit ihrer erwähnt hohen aber nicht genannten Impedanz eben nicht ausreichend. 23.4: "[...] When the bandgap reference voltage is used as input to the ADC, it will take a certain time for the voltage to stabilize. If not stabilized, the first value read after the first conversion may be wrong. [...]" 23.5.2: "[...] the external AREF pin is directly connected to the ADC, and the reference voltage can be made more immune to noise by connecting a capacitor between the AREF pin and ground. [...] Note that V_REF is a high impedance source, [...] If no external voltage is applied to the AREF pin, the user may switch between AVCC and 1.1V as reference selection. The first ADC conversion result after switching reference voltage source may be inaccurate, and the user is advised to discard this result." Sie sprechen also über die hohe Impedanz, und über den Stützkondensator, und empfehlen dann in diesem Kontext dennoch nur die erste Messung zu verwerfen. An dieser Stelle hätte ich einen Hinweis auf die zusätzlich noch nötige Zeit zum Umladen des Stützkondensators erwartet. Anbei noch eine Messung des AREF Umschaltens von AVCC5V auf REF1V1 beim Atmega328P mit 1nF Stützkondensator (130us und dann noch 400us Schwingungen), und ohne Stützkondensator (25us). LG, Sebastian PS: areftoggle.ino
1 | static const uint8_t ADCSRA_TEST = (1 << ADEN) | (4 << ADPS0); |
2 | static const uint8_t ADMUX_REF1V1 = (3 << REFS0) | (7 << MUX0); |
3 | static const uint8_t ADMUX_AVCC5V = (1 << REFS0) | (3 << MUX0); |
4 | |
5 | void setup() { |
6 | ADCSRA = ADCSRA_TEST; |
7 | ADMUX = ADMUX_REF1V1; |
8 | }
|
9 | |
10 | void loop() { |
11 | delay(1000); |
12 | ADMUX = ADMUX ^ (ADMUX_REF1V1 ^ ADMUX_AVCC5V); |
13 | }
|
Theor schrieb: > Ich denke, man muss in der Elektronik grundsätzlich berücksichtigen, > dass Quellen einen Innenwiderstand haben. selbst das bezweifeln hier einige und behaupten es gibt Spannungsquellen mit Ri=0 Es wird sogar behauptet wer zusätzliche Ri zufügt macht daraus keine Spannungsquelle mehr.
:
Bearbeitet durch User
Sebastian W. schrieb: > Anbei noch eine Messung des AREF Umschaltens von AVCC5V auf REF1V1 beim > Atmega328P mit 1nF Stützkondensator (130us und dann noch 400us > Schwingungen), und ohne Stützkondensator (25us). Bei diesen beiden Messungen stand der Tastkopf auf x1. Mit x10 sieht man keine Schwingung am Ende der Rampe ohne Stützkondensator mehr. LG, Sebastian
Theor schrieb: > Ich denke, man muss in der Elektronik grundsätzlich berücksichtigen, > dass Quellen einen Innenwiderstand haben. Also diesem Gedanken kann ich mich nur vollinhaltlich anschliessen. Die Erfahrung etlicher Jahrzehnte Ingenieurswesen zeigt doch ziemlich eindeutig, dass Schaltungen einfach viel besser funktionieren, wenn man diesen Sachverhalt schon bei ihrer Konzeption berücksichtigt... Nur für Maker und Arduiopfer scheint das irgendwie neu und überraschend zu sein. Manche aus diesem Kreis erwägen ja sogar, diesen störenden Sachverhalt einfach abzuschaffen. Naja, viel Glück bei dem Kampf gegen die Physik unseres Universums kann man da wohl nur wünschen. Oder auch nicht, denn wenn die wirklich was finden sollten, kollabiert unser Universum vielleicht schon morgen statt erst in unbestimmter (hoffentlich sehr ferner) Zukunft. Große Sorgen, dass so etwas passiert, mache ich mir aber nicht...
c-hater schrieb: > Manche aus diesem Kreis erwägen ja sogar, diesen störenden Sachverhalt > einfach abzuschaffen nicht nur die!
c-hater schrieb: >> Ich denke, man muss in der Elektronik grundsätzlich berücksichtigen, >> dass Quellen einen Innenwiderstand haben. > > Also diesem Gedanken kann ich mich nur vollinhaltlich anschliessen. Die > Erfahrung etlicher Jahrzehnte Ingenieurswesen zeigt doch ziemlich > eindeutig, dass Schaltungen einfach viel besser funktionieren, wenn man > diesen Sachverhalt schon bei ihrer Konzeption berücksichtigt... > > Nur für Maker und Arduiopfer scheint das irgendwie neu und überraschend > zu sein. Mmh. Mmmh. Hört der Inform da eine Winzigkeit Süffisanz des Ing? Aber hast ja recht. Für einen Softwerker ist das alles neu und aufregend! Und glücklicherweise geht es ja hier nur um meine Gartenbewässerung. LG, Sebastian
c-hater schrieb: > > Nur für Maker und Arduiopfer scheint das irgendwie neu und überraschend > zu sein. > > Manche aus diesem Kreis erwägen ja sogar, diesen störenden Sachverhalt > einfach abzuschaffen. Naja, viel Glück bei dem Kampf gegen die Physik > unseres Universums kann man da wohl nur wünschen. Oder auch nicht, denn > wenn die wirklich was finden sollten, kollabiert unser Universum > vielleicht schon morgen statt erst in unbestimmter (hoffentlich sehr > ferner) Zukunft. > > Große Sorgen, dass so etwas passiert, mache ich mir aber nicht... Quatsch! Ist das eine Ablenkung von deiner Dummbehauptung von eben? c-hater schrieb: > Und übrigens: bei Umschaltung der Referenzquelle kann der Kondensator an > AREF neben der Verzögerung einer Messung mit brauchbarem Ergebnis noch > einen anderen, sehr viel unangenehmeren Nebeneffekt haben. Er kann > nämlich dafür sorgen, das unbeabsichtigterweise der BOD anspricht. Statt auf andere herumhacken, könntest du mal etwas Demut zeigen. So dass man deine wahre Größe etwas besser erkennen kann. Denn bisher verbirgst du sie viel zu häufig hinter einem Arschlochartigen Gehabe. Übrigens, als Tipp: Wenn du dich in dem rein technische Punkt schon irrst, könntest du dich auf deinem viel schwächer ausgebildetem Gebieten nicht viel häufiger irren?
> Oder auch nicht, denn wenn die wirklich was finden sollten, kollabiert >kollabiert unser Universum vielleicht schon morgen statt erst in unbestimmter >(hoffentlich sehr ferner) Zukunft. Wichtig ist zunächst das gute Ölen der Erdachse durch ausgesuchte Fachkräfte, damit hier nicht alles aprupt stehen bleibt oder es knarzt. Dazu braucht es nicht einmal den Kondensator an AVCC, aber besser ist es immer, einen solchen einzubauen, auch wenn es auf dem Oszilloskopbild zunächst das schnellere Umschalten ermöglicht. Wie sieht denn AVCC aus, wenn noch anderes durch das Programm ausgeführt wird als nur dieser Test? Wie seht es aus, wenn an den Ausgängen mehrere mA geschaltet werden oder I2C, UART und SPI mit laufen? Alles gechmeidig immer noch auf dem Oszilloskopstrahl? Und wie sieht AVCC bei höherer Auflosung aus in AC-Koplung? mfG
:
Bearbeitet durch User
Arduino Fanboy D. schrieb: > Ist das eine Ablenkung von deiner Dummbehauptung von eben? > > c-hater schrieb: >> Und übrigens: bei Umschaltung der Referenzquelle kann der Kondensator an >> AREF neben der Verzögerung einer Messung mit brauchbarem Ergebnis noch >> einen anderen, sehr viel unangenehmeren Nebeneffekt haben. Er kann >> nämlich dafür sorgen, das unbeabsichtigterweise der BOD anspricht. Wenn du das für eine "Dummbehauptung" hältst, bist du noch viel blöder als du selber glaubst... Denn diese Sache ist nicht nur entsprechend der physikalischen Gesetze leicht herleitbar, sondern darüber hinaus auch praktisch sehr leicht nachweisbar. "Geheimnisvoll" wird es nur, wenn man unvorbereitet auf diesen Effekt trifft und keine Ahnung von systematischer Fehlersuche hat. Also Maker oder Arduiopfer ist...
c-hater schrieb: > Wenn du das für eine "Dummbehauptung" hältst, bist du noch viel blöder > als du selber glaubst... > > Denn diese Sache ist nicht nur entsprechend der physikalischen Gesetze > leicht herleitbar, sondern darüber hinaus auch praktisch sehr leicht > nachweisbar. > > "Geheimnisvoll" wird es nur, wenn man unvorbereitet auf diesen Effekt > trifft und keine Ahnung von systematischer Fehlersuche hat. Also Maker > oder Arduiopfer ist... Nur zur Klarstellung der Fakten: 1. Wir reden hier über Atmega328P/PB 2. Du sagst, die Aref Umschaltung verursacht BOD Resets. Du bleibst bei deiner Behauptung?
Arduino Fanboy D. schrieb: > 1. Wir reden hier über Atmega328P/PB Sagt wer? Ich redete ganz allgemein von AVR8. Ich sehe nämlich nicht nur den Arduino-Rotz. Konkret ist mir die Sache das erste Mal bei einem 1284P aufgefallen. Da der aber auch mittels diesem Arduino-Gammel programmiert werden kann, betrifft es tatsächlich auch Arduino. Da ich in keiner Aanwendung einen 328P/PB benutze, kann ich es für den nicht sicher sagen, ob auch da das Problem vorliegt. Da er aber doch sehr eng mit dem 1284P verwandt ist, würde ich mal schätzen: ja, auch bei dem wird es knallen. > 2. Du sagst, die Aref Umschaltung verursacht BOD Resets. > > Du bleibst bei deiner Behauptung? Jepp, definitiv. Wenn zwischen VREF (intern Vcc) und (intern 1.1V BG) umgeschaltetet wird, dabei der Pfad zu AREF offen ist und an AREF ein Kondensator mit mehr als wenigen zehn pF wirksam ist, dann wird es passieren.
c-hater schrieb: > Da ich in keiner Aanwendung einen 328P/PB benutze, kann ich es für den > nicht sicher sagen, ob auch da das Problem vorliegt. Da er aber doch > sehr eng mit dem 1284P verwandt ist, würde ich mal schätzen: ja, auch > bei dem wird es knallen. Sebastian W. schrieb: > Ok, anbei zwei Messungen des AREF beim Umschalten von AVCC 5V auf die > interne 1.1V-Referenz; die erste mit einem Atmega328P (von einem > billigen Pro Mini abgelötet), die zweite mit einem Atmega328PB von > Digikey. In beiden Fällen ist der Stützkondensator AREF -||- GND 100nF. Bei diesen beiden Messungen war jeweils BODLEVEL 2.7V gefused, aber ein brownout reset wurde weder auf dem 328P noch auf dem 328PB ausgelöst. 1284P hat laut Datenblatt auch diesen ominösen Verstärker, der angeblich die Verfälschung von V_BG via AREF verhindern soll. Gerade mal probiert: Mit einem 47nF-Kondensator an AREF VCC 3.3V und BODLEVEL 2.7V passiert weder beim Umschalten von AREF von VCC auf REF2V56 noch von VCC auf REF1V1 ein Brownout. Das Problem scheint also nur noch ältere AVR betroffen zu haben / zu betreffen. LG, Sebastian
Sebastian W. schrieb: > Gerade mal probiert: > Mit einem 47nF-Kondensator an AREF VCC 3.3V und BODLEVEL 2.7V passiert > weder beim Umschalten von AREF von VCC auf REF2V56 noch von VCC auf > REF1V1 ein Brownout. der Test wäre aber hilfreicher mit: 100n zu GND siehe Titel und c-hater schrieb: > Konkret ist mir die Sache das erste Mal bei einem 1284P aufgefallen. > Jepp, definitiv. Wenn zwischen VREF (intern Vcc) und (intern 1.1V BG) > umgeschaltetet wird also weder 100n noch 1,1V benutzt, das bringt nur zusätzliche Variablen ein und ist also kein Gegenbeweis, mal abgesehen von irgendwelchen statistisch belastbaren Tests an viel mehr Prozessoren als Stückzahl 1.
Joachim B. schrieb: > Sebastian W. schrieb: >> Gerade mal probiert: >> Mit einem 47nF-Kondensator an AREF VCC 3.3V und BODLEVEL 2.7V passiert >> weder beim Umschalten von AREF von VCC auf REF2V56 noch von VCC auf >> REF1V1 ein Brownout. > > der Test wäre aber hilfreicher mit: > 100n zu GND > siehe Titel und > > c-hater schrieb: >> Konkret ist mir die Sache das erste Mal bei einem 1284P aufgefallen. >> Jepp, definitiv. Wenn zwischen VREF (intern Vcc) und (intern 1.1V BG) >> umgeschaltetet wird > > also weder 100n noch 1,1V benutzt, das bringt nur zusätzliche Variablen > ein und ist also kein Gegenbeweis, mal abgesehen von irgendwelchen > statistisch belastbaren Tests an viel mehr Prozessoren als Stückzahl 1. Doch, ich habe beide interne Referenzen des 1284P getestet, auch die 1.1V-Referenz. Und die Aussage war, dass ein Brownout-Reset entsteht, wenn "an AREF ein Kondensator mit mehr als wenigen zehn pF wirksam ist". Wie gesagt, ich bin bei meiner Suche im Internet auch mal über Berichte von der Verfälschung der V_BG via AREF gestossen. Das scheint aber nach meinem Test den 1284P so nicht zu betreffen. Natürlich ist das kein Gegenbeweis mit statistischen Aussagekraft; vielleicht war ja aber auch nur der eine 1284P von c-hater kaputt. WAS ich aber gesehen habe war, tataa, Rauschen auf AREF ohne Kondensator, sporadische kleine Energieimpulse von so zwei 64MHz-Perioden über einen Zeitraum von 1ms und einer Amplitude von gut 100mV, und dann wieder alles glatt. Die waren mit dem 47nF an AREF natürlich verschwunden. Sie scheinen über USB eingestreut worden zu sein; am Labornetzteil war dann wieder alles gut. Also insofern wäre ein (kleiner) Kondensator an AREF vielleicht doch hilfreich. LG, Sebastian
:
Bearbeitet durch User
Joachim B. schrieb: > mal abgesehen von irgendwelchen > statistisch belastbaren Tests an viel mehr Prozessoren als Stückzahl 1. Ich liefere auch gerne einen Beitrag... Nach der Bekanntgabe dieser Behauptung habe ich einen kleinen Test gebaut, welcher auf einem UNO seinen Dienst tut. Laut Doku ist da ein 100nF an Aref Auch BOD auf 2,7V Keinerlei spontane Resets seit dem. Ich lasse den auch noch ein Zeitchen laufen... Aber da wird nix kommen. Gibts dazu überhaupt belastbare Information? Oder weitere Erfahrungen, welche das bestätigen? c-hater schrieb: > Sagt wer? Eingangsposting?
Arduino Fanboy D. schrieb: > Ich liefere auch gerne einen Beitrag... glaube ich dir gerne, aber auch da fehlt eine gewisse Mindestmenge, oder Sebastian W. schrieb: > vielleicht war ja aber auch > nur der eine 1284P von c-hater kaputt.
Joachim B. schrieb: > glaube ich dir gerne, aber auch da fehlt eine gewisse Mindestmenge, oder Was sagt dein Test? Oder laberst du nur?
Joachim B. schrieb: > schade, las sich erst vernünftig! Klar! Du kritisierst einen Mangel an Daten. Ahnst vermutlich schon, dass ich keine signifikante Menge liefern kann. Bist aber nicht bereit, selber auch zu zu arbeiten. Kritik ja, liefern nein. Ja, das nenne ich "labern". Wie würdest du das denn sonst beschreiben? Sage es mir! Ich verwende dann gerne deinen gewünschten Begriff.
Arduino Fanboy D. schrieb: > Bist aber nicht bereit, selber auch zu zu arbeiten. ich habe genau 5 Platinen mit m1284p davon nur 3 bestückt und nur ein Stück im homeoffice, wie soll ich da größer 1 Test beisteuern?
Joachim B. schrieb: > wie soll ich da größer 1 Test beisteuern? Ich wiederhole gerne meine Frage: Arduino Fanboy D. schrieb: > Was sagt dein Test? C-hater behauptet, dass sich genau mit deinem m1284p das Problem bestätigen lässt. c-hater schrieb: > Konkret ist mir die Sache das erste Mal bei einem 1284P aufgefallen. c-hater schrieb: > Jepp, definitiv. Wenn zwischen VREF (intern Vcc) und (intern 1.1V BG) > umgeschaltetet wird, dabei der Pfad zu AREF offen ist und an AREF ein > Kondensator mit mehr als wenigen zehn pF wirksam ist, dann wird es > passieren. Und hier: c-hater schrieb: > sondern darüber hinaus auch praktisch sehr leicht > nachweisbar. Bitte, beweise, dass er recht hat! Oder auch, dass er sich irrt. Ist mir fast egal.
Sebastian W. schrieb: > WAS ich aber gesehen habe war, tataa, Rauschen auf AREF ohne > Kondensator, Ist in irgendeinem der vielen AVR Dokumente beschrieben. Habe das irgendwo vor langer Zeit gelesen. Denke die 100nF als Empfehlung darf man nicht zu ernst nehmen. Da sitzt jemand, 100nF hat sowieso jeder genug, die hat er genommen und dann gedacht, "Passt!". Danach stand das als Empfehlung fest. Probiere es aus, aber ganz ohne ist halt Mist.
Sebastian W. schrieb: > Atmega328P braucht 6ms um von 5V auf die interne Referenz abzufallen, > der Atmega328PB braucht 9ms. Mach doch mal zum Test einen 10k Pulldown neben den Kondensator... ;-) Theor schrieb: > Ich denke, man muss in der Elektronik grundsätzlich berücksichtigen, > dass Quellen einen Innenwiderstand haben. Und zudem kann es sein, dass die Quelle nur Strom liefern, aber nicht aufnehmen und somit den Kondensator auch nicht entladen kann.
F. F. schrieb: > Da sitzt jemand, 100nF hat sowieso jeder genug, die hat er genommen und > dann gedacht, "Passt!". Danach stand das als Empfehlung fest. > Probiere es aus, aber ganz ohne ist halt Mist. Ja 100nF passt immer! Was aber auch unterschätzt wird, ist der AVCC Pin, hier ist nicht nur der 100nF wichtig, auch das L ( 10µH ) wird nicht eingesetzt. Auch hier gibt es einige AP Notes, wo der Tiefpass erwähnt wird. Immerhin wird durch AVCC der AD Wandler und die interne Refernz versorgt. Es wird auch erwähnt, dass die Cs an AREF und AVCC kurz an GND angebunden sein müssen. Wenn ich mir da das ein oder andere Arduino Board anschaue, der Controller in der Mitte der Leiterplatte, die Block Cs irgend wo am Rand platziert. Welche Auswirkung das auch den AD Wandler hat, das ist die Frage.
Kommt drauf an, was man sich von dem Ding erwartet. Ich kaufe da nichts unter median3, meistens eher Mittelwert/Median aus einer 10er oder 100er Meßreihe.
Sebastian W. schrieb: > KANN dieser Kondensator, bei der hohen Impedanz der > Bandgap-Spannungsquelle, überhaupt internes Rauschen unterdrücken? Ein Kondensator kann überhaupt nur bei hoher Quellenimpedanz wie hier gewünscht wirken. ;)
Sebastian W. schrieb: > Gestern am Oszilloskop: Beim Umschalten von AVCC 5V auf 1.1V interne > Referenz so 13ms bis die Spannung an AREF annähernd konstant bei 1.1V > war -> ~30k. Ich würde die interne Referenz einfach mal über den AREF-Pin unterschiedlich belasten. Daraus kann man dann den Innenwiderstand bestimmen. c-hater schrieb: > Jepp, definitiv. Wenn zwischen VREF (intern Vcc) und (intern 1.1V BG) > umgeschaltetet wird, dabei der Pfad zu AREF offen ist und an AREF ein > Kondensator mit mehr als wenigen zehn pF wirksam ist, dann wird es > passieren. Ich hab das hier heute morgen mal ausprobiert an meinen Atmega328P, den ich hier hab. Ich kann einen Brown Out Reset nicht generieren mittels umschalten von Vcc auf InternalRef und zurück mit 100 nF am AREF-Pin. Kannst du das vielleicht mal genauer beschreiben, wie der Aufbau dazu aussehen müsste?
M. K. schrieb: > Ich hab das hier heute morgen mal ausprobiert an meinen Atmega328P, den > ich hier hab. Ich kann einen Brown Out Reset nicht generieren mittels > umschalten von Vcc auf InternalRef und zurück mit 100 nF am AREF-Pin. Bis zum Beweis durch Experiment halte ich das für eine urbane Legende. Die interne Schaltung sollte ca. so aussehen:
1 | .-----. |
2 | AVcc -----| Ref | |
3 | Bandgap --*--| |---[10..30K]--*--o AREF Pin |
4 | | | Mux | | |
5 | | `-----´ | |
6 | v v |
7 | BOD REF ADC REF |
Eine Rückwirkung der Spannung an AREF auf die BOD wäre danach ausgeschlossen. Die 10-30K sind da nicht nur zum Spaß, sondern sie sind ein integraler Bestandteil des Tiefpaß-Filters mit dem Kondensator von AREF nach GND.
Axel S. schrieb: > halte ich das für eine urbane Legende. Ich auch! Habe einige AVR im Feld, welche genau diese Umschaltung hundertfach täglich machen. Seit Jahren. Keine Auffälligkeiten. Für mich sind hier 2 Aspekte interessant: Hier hat er recht! c-hater schrieb: > betrifft es tatsächlich auch Arduino. Und das würde ich gerne geklärt haben, ob dieses Risiko tatsächlich existiert. Gehört habe ich davon noch nie, und im Netz bisher nix gefunden. Andererseits, würde es zeigen, dass der c-hater auch fachlich nicht so sattelfest ist, wie er selber denkt, und ich ihm auch bisher zugetraut habe. Zumindest zeigt ihm die Show, dass seine Annahmen doch nicht alle so sicher sind, wie er selber glaubt. Über seine soziale Kompetenz möchte ich hier gar nicht viel reden .... Konkreter: 1. Ist es eine Ente? 2. Kann er Demut zeigen, wenn es eine Ente ist? So wie er in diesem Thread mal wieder Verachtung ausgeschüttet hat, benötigt das ein Gegengewicht, um gesund zu sein.
Vor einigen Jahren hatte ich den Innenwiderstand am AREF-Pin gemessen, wenn AVcc als interne Referenz angewählt wurde. Es waren einige 10 Ohm. Wenn ein Portpin für die Umschaltung der Referenzspannung verfügbar ist, würde ich auf die internen 1,1 V ganz verzichten. Meine Lösung wäre: ein 3k9 Widerstand von 5 V an AREF, 1k1 von einem Portpin an AREF und noch 100 nF von AREF nach GND. Der Portpin ist aktiver Ausgang (ca. 50 Ohm Innenwiderstand) und schaltet die Referenzspannung zwischen 1,1x und 5 V um. Die Einsschwingzeit liegt unter 1 ms. Natürlich geht es mit 10 nF oder OPV als Puffer noch besser; oder, oder, oder ...
Beitrag #6455571 wurde von einem Moderator gelöscht.
m.n. schrieb: > Vor einigen Jahren hatte ich den Innenwiderstand am AREF-Pin gemessen, > wenn AVcc als interne Referenz angewählt wurde. Es waren einige 10 Ohm. Wolltest du kOhm schreiben und hast dich vertippt oder meinst du wirklich nur Ohm? Einige 10 Ohm können nicht sein, da hast du sicher einen Messfehler gemacht. Ich hab mal an einem Atmega 32 den Innenwiderstand vermessen indem ich den AREF-Pin mit verschiedenen Widerständen belastet hatte und die Spannung gemessen hatte und kam damals bei meinem Exemplar auf ca. 38 kOhm.
Axel S. schrieb: > Die interne Schaltung sollte ca. so aussehen: > .-----. > AVcc -----| Ref | > Bandgap --*--| |---[10..30K]--*--o AREF Pin > | | Mux | | > | `-----´ | > v v > BOD REF ADC REF Nicht ganz so. "AVCC is connected to the ADC through a passive switch. The internal 1.1V reference is generated from the internal bandgap reference (V BG ) through an internal amplifier." Und umschalten von AREF auf AVCC geht zügig, da sind keine 10..30k dazwischen. Es ist denke ich diese ominöse interne V_BG-Verstärkerschaltung vor dem analogen passiven MUX-Schalter die nur so bei ~30k Ausgangsimpedanz hat. Und zudem: Wenn ich mir die Entladekurven so genauer ansehe dann denke ich auch dass diese Ausgangsimpedanz nicht (nur) Ohmsch ist ... > Die 10-30K sind da nicht nur zum Spaß, sondern sie sind ein integraler > Bestandteil des Tiefpaß-Filters mit dem Kondensator von AREF nach GND. @Axel, kannst du das vertiefen? Was würde das für die Dimensionierung des AREF-Kondensators bedeuten? LG, Sebastian
Sebastian W. schrieb: > Axel S. schrieb: >> Die interne Schaltung sollte ca. so aussehen: >> .-----. >> AVcc -----| Ref | >> Bandgap --*--| |---[10..30K]--*--o AREF Pin >> | | Mux | | >> | `-----´ | >> v v >> BOD REF ADC REF > > Nicht ganz so. "AVCC is connected to the ADC through a passive switch. > The internal 1.1V reference is generated from the internal bandgap > reference (V BG ) through an internal amplifier." Und umschalten von > AREF auf AVCC geht zügig, da sind keine 10..30k dazwischen. Jo mei. Dann sind die 30K halt zwischen Bandgap und Ref-Mux. Spielt nicht wirklich eine Rolle. Enscheidend ist nur, daß der Abgriff für den BOD Komparator hinreichend gut vom AREF Pin entkoppelt ist. > Und zudem: Wenn ich mir die Entladekurven so genauer ansehe dann denke > ich auch dass diese Ausgangsimpedanz nicht (nur) Ohmsch ist ... Das ist sie mit Sicherheit nicht. Das wird ein selbstleitender MOSFET sein. Wenn nicht gar der entsprechende MOSFET im Ref-Mux gleich so hochohmig ausgelegt ist. >> Die 10-30K sind da nicht nur zum Spaß, sondern sie sind ein integraler >> Bestandteil des Tiefpaß-Filters mit dem Kondensator von AREF nach GND. > > @Axel, kannst du das vertiefen? Ein Tiefpaß ist ein Spannungsteiler. Mit nur einem Bauteil (dem Kondensator) kannst du den nicht aufbauen. Da muß immer noch ein zweites Bauteil sein. Hier ist das der interne Widerstand. Beim AVcc Filter ist es eine 10µH Drossel. Und sogar bei den Abblock-Kondensatoren an Vcc ist das zweite Bauteil vorhanden - da ist es die parasitäre Induktivität der Stromversorgungsleitungen. > Was würde das für die Dimensionierung > des AREF-Kondensators bedeuten? Nichts. Wenn du beide Bauteile für den Tiefpaß aussuchen kannst, dann hast du natürlich einen Freiheitsgrad mehr bei der Dimensionierung. Aber hier ist der Widerstand ja vorgegeben.
M. K. schrieb: > Wolltest du kOhm schreiben und hast dich vertippt oder meinst du > wirklich nur Ohm? Einige 10 Ohm können nicht sein, da hast du sicher > einen Messfehler gemacht. Weder noch, siehe hier: Beitrag "PT1000, einfache Auswertung mit AVR (ATmega328)" Warum sollte ein CMOS-Multiplexer so hochohmig sein? Wenn es beim ATmega32 so ist (hattest Du auch mit AVcc getestet?), liegt das vielleicht an der Entwicklungsgeschichte der AVR. Daher kommen wohl auch die verschiedenen Meinungen, was man tun darf und was man lassen sollte.
m.n. schrieb: > Wenn es beim ATmega32 so ist (hattest Du auch mit AVcc getestet?) Mein Fehler, ich war auf der Internen Referenz unterwegs. Das hab ich bei dir irgendwie übersehen. ;)
Beitrag #6456074 wurde vom Autor gelöscht.
Anbei Messungen an AREF vom Atmega328P ohne, mit 1n, und mit 100n Kondensator, einmal über ADMUX die AVCC 5V Spannungsversorgung und einmal über ADMUX die interne 1.1V-Referenz als ADC VREF ausgewählt. Ich sehe erst einmal keinen Vorteil von 100n gegenüber 1n, wohl aber einen Vorteil von 1n gegenüber gar keinem Kondensator. Caveat: Kondensator und Oszi sind über ein Breadboard und entsprechende Kabel eingebunden, also das absolute Rauschen bitte mit Vorsicht geniessen. Der Zeitpunkt der Messung ist jeweils bei einer Einstrahlung von Energie die bei mir etwa alle zehn Sekunden stattfindet. Die einzelnen Spitzen auf den Bilder entsprechen etwa 14 Perioden bei 90MHz mit einer Amplitude von ±60mV. LG, Sebastian
:
Bearbeitet durch User
Sebastian W. schrieb: > Caveat: Kondensator und Oszi sind über ein Breadboard und entsprechende > Kabel eingebunden, Ja, ich denke das ist der Hauptgrund warum du keinen Unterschied zwischen 1n und 100n siehst ;)
Wenn der ADC wirklich arbeitet, mag es anders aussehen. Sebastian W. schrieb: > Ich sehe erst einmal keinen Vorteil von 100n gegenüber 1n, wohl aber
batman schrieb: > Wenn der ADC wirklich arbeitet, mag es anders aussehen. Hab ich nach dem Artikel auch noch probiert. Das Bild scheint sich nicht zu ändern selbst wenn der ADC arbeitet. M. K. schrieb: > Ja, ich denke das ist der Hauptgrund warum du keinen Unterschied > zwischen 1n und 100n siehst ;) Mag sein. Siehe auch Foto. Ich benutze allerdings keine direkt nebeneinanderliegende Reihen auf dem Breadboard. Aber es wäre tatsächlich schön wenn jemand mit mehr Erfahrung und besseren Messgeräten den Test reproduzieren könnte. LG, Sebastian
Falls Dein Oszilloskop eine Spektrumanlyse kann, würde ich vorschlagen, das mal zu machen. (Was ist das für ein Typ von Rigol?) Und es scheint mir, in dem hier vorliegenden Zusammenhang, durchaus wichtig, insbesondere die Betriebszustande mit und ohne aktiver AD-Wandlung zu vergleichen. Ich lehne mich mal aus dem Fenster und stelle die These auf, dass evtl. vorhandene 64 MHz Signale die Wandlung so gut wie nicht beeinflussen. Dafür ist die Wandlungsrate mit etwa im 200 kHz zu gering. Es besteht allenfalls die Möglichkeit, dass die Spitzen "zufällig" gerade im Moment der Abtastung auftreten. Aber das müsste man dann mal gezielt untersuchen, in dem man die Messung mit der Wandlung synchronisiert (Ausgabe eines Impulses unmittelbar vor Start der Wandlung). Hast Du den USB-Bus (falls das wie ich irgendwo in einem Beitrag aufgeschnappt habe, damit zusammenhängt) mal abgehängt? Zusätzlich kommt mir der Gedanke, den ich aber nicht tiefer verfolgt habe, dass bei max. 250 us Wandlungszeit eine Messauflösung von 400 us pro Kästchen unpassend sein könnte. Die Darstellung sollte m.M.n. in der Grössenordnung von 25 us pro Kästchen liegen (und eben mit der Wandlung synchronisiert sein. Oder was willst Du eigentlich damit zeigen? Ich vermute auch, dass Du mit der Arduino-Framework an Grenzen stösst, was die zeitlich genau koordinierte Auslösung eines Trigger-Impulses für das Oszilloskop und die Wandlung stösst. Das wäre dann vermutlich ein elementares Hindernis für Dich, oder doch nicht? (z.B. C-Programmierung oder Assembler). Falls das zutrifft, würde ich an Deiner Stelle, entweder wirklich in die Tiefe gehen, Elektronik-Grundlagen lernen und analytisch vorgehen oder Dich auf die hier auch gemachte Aussage verlassen, dass ein Kondensator unstrittig nützlich ist und dessen Grösse durch Versuch und Irrtum bestimmen bzw. dazu noch dem Ratschlag folgen, die Umschaltung der Referenz zu unterlassen. Das ist ohnehin eher unüblich und erfordert, wie Du ja vielleicht siehst, durchaus etwas fortgeschrittenere Kenntnisse. Unklar ist ja eigentlich auch immer noch, was nun das Problem genau ist. Vielleicht sagst Du dazu mal Näheres. Sonst erreichen wir hier bald die 100-Beiträge-Grenze und das halte ich eher für ein schlechtes Zeichen für die Erfolgsaussichten.
Pelikan_04 schrieb: > Welche Auswirkung das auch den AD Wandler hat, das ist die Frage. Wobei man hier aber auch erwähnen muss, dass wir hier aus der Erfahrung raus wissen, wie zunächst die Anforderungen sind und wenn wir die Anwendung kennen, am Ende ein grobes Schätzen gereicht hätte. Ich denke, ohne dem TO das jetzt indirekt unterstellen zu wollen, so ist es auch häufig mit den Geschwindigkeiten. Und wenn man dann tatsächlich ein Geschwindigkeitsproblem hat, liegt es oft schon am Konzept oder an der Programmierung.
Axel S. schrieb: > Die interne Schaltung sollte ca. so aussehen: > >
1 | > .-----. |
2 | > AVcc -----| Ref | |
3 | > Bandgap --*--| |---[10..30K]--*--o AREF Pin |
4 | > | | Mux | | |
5 | > | `-----´ | |
6 | > v v |
7 | > BOD REF ADC REF |
8 | > |
Ziemlich gut dargestellt. So ungefähr sieht's tatsächlich aus. > Eine Rückwirkung der Spannung an AREF auf die BOD wäre danach > ausgeschlossen. Dann rechne mal nach und berücksichtige dabei die Impedanz der BG-Quelle... Nein, die hat keine 0 Ohm. Nicht mal näherungsweise... Das allein erklärt den Effekt allerdings tatsächlich nicht für, sagen wir, 47..100nF an AREF. Der Rest der Erklärung steckt in den Umschaltzeiten der Analog-Gatter des MUX. Die sind "überraschenderweise" auch deutlich größer als Null und obendrein von der Richtung der Umschaltung abhängig. Schließen geht schneller als Öffnen. Beides zusammen führt zum BOD-Reset. Die Gegenmaßnahmen sind also: C an AREF weglassen (oder zumindest erheblich verkleinern) und/oder MUX-Umschaltlogik ändern. Im Extremfall, wenn man den großen Kondensator an AREF tatsächlich für mindestens einen der Kanäle braucht, muss man einen Messzyklus (den vor der Messung gegen die 1.1V-Quelle) mit einer Dummymessung belegen, bei dem die Referenz GND ist.
c-hater schrieb: > und/oder MUX-Umschaltlogik ändern. Der eine Mux hat keine GND Durchschaltung. Und der andere ist für die Referenz irrelevant. Mach doch mal eine klare Arbeitsanweisung, wie sich der BOD Reset generieren lässt!
Arduino Fanboy D. schrieb: > Mach doch mal eine klare Arbeitsanweisung, wie sich der BOD Reset > generieren lässt! Das werden wir, glaube ich, nie erleben.
Theor schrieb: > Unklar ist ja eigentlich auch immer noch, was nun das Problem genau ist. > Vielleicht sagst Du dazu mal Näheres. Sonst erreichen wir hier bald die > 100-Beiträge-Grenze und das halte ich eher für ein schlechtes Zeichen > für die Erfolgsaussichten. Hallo Theor, liebe Leute, mein ursprüngliches Problem war eine fehlerhafte Ventilerkennung (Gardena 1251-20) in der zur Zeit entstehenden Steuerung meiner Gartenbewässerung. Die Ventilerkennung basiert auf der Messung des Stromanstiegs in der Ventilspule nach Anlegen der Spannung. Ich benutze dabei einen 2.2Ω/¼W Messwiderstand und die Ströme sind im Bereich von 250mA, so dass die interne 1.1V-Referenz einen guten Wertebereich aufspannt. Das Problem trat auf nachdem ich begonnen hatte den Pegel der 9V-Versorgungsspannung mit einem Spannungsteiler und mit VREF des ADC auf AVCC zu messen, und ich nach dem anschliessenden Zurückschalten des ADC auf die 1.1V-Referenz nur 1ms gewartet habe (und zwar auf das Aufwachen meiner H-Brücken DRV8833). Ich konnte mir den Fehler zunächst nicht erklären, und habe die Ursache eher zufällig erkannt nachdem ich mir AREF mal genauer angeschaut habe. Hintergrund der 9V-Spannungsmessung ist, dass ich bei Ausfall der Stromversorgung noch schnell alle drei womöglich angeschlossenen Ventile abschalten möchte. Ich habe dazu einen 2200uF-Elko hinter einer Diode vorgesehen, der aber aus Platzgründen etwas zu knapp dimensioniert ausgefallen ist (jedes Ventil braucht einen 9V-50mA-60ms-Stromstroß um abzufallen, das sind 27mJ, und im Kondensator sind nur 90mJ ...). Ich muss daher den Spannungsabfall zügig erkennen und schnell reagieren. In dem Zusammenhang wollte ich dann die Randbedingungen für die Wahl des AREF-Kondensators kennenlernen und mich dabei insbesonders auf das Wissen und die Messbeobachtungen der Forenten zu stützen (da die Datenblätter in dieser Frage mir doch unklar sind), um mich dann für die eine oder andere Lösung (kleinerer AREF-Kondensator, oder keiner, oder anderer Spannungsteiler und kein Umschalten, oder auf Entladung warten) entscheiden zu können. Diesen Zweck hat dieser Thread erfüllt. Ich habe zwar leider keine Messergebnisse von Mitforenten erhalten, aber einiges an Wissen über den internen Aufbau des ADC und seine Arbeitsweise erhalten, und bin zu eigenen Messungen angeregt worden. Auf dieser Basis habe ich mich jetzt für einen 10nF-Kondensator an AREF entschieden, und darüber hinaus habe ich den 9V-Spannungsteiler geändert so dass ich jetzt die interne 1.1V-Referenz sowohl für die Ventilerkennung wie für die Spannungsüberwachung benutzen werde. LG, Sebastian PS: Ich bin auch nicht auf die Arduino-Umgebung abonniert, ich nutze sie nur da wo (ich annehme dass) mir die Bibliotheken Arbeit ersparen. Mein CAN-Bootloader für diese Steuerung z.B. ist mit Atmel Studio entwickelt und kommuniziert "händisch" mit dem MCP2515.
:
Bearbeitet durch User
Sebastian W. schrieb: > Diesen Zweck hat dieser Thread erfüllt. Ich habe zwar leider keine > Messergebnisse von Mitforenten erhalten, aber einiges an Wissen über den > internen Aufbau des ADC und seine Arbeitsweise erhalten, und bin zu > eigenen Messungen angeregt worden. Auf dieser Basis habe ich mich jetzt > für einen 10nF-Kondensator an AREF entschieden, und darüber hinaus habe > ich den 9V-Spannungsteiler geändert so dass ich jetzt die interne > 1.1V-Referenz sowohl für die Ventilerkennung wie für die > Spannungsüberwachung benutzen werde. Dann hat sich der Thread ja für dich gelohnt... Und ja, es scheint so als würde nichts dagegensprechen den Aref permanent auf 1,1V zu lassen. Faustregel: Ratiometrische Messungen, dann Vcc als Aref Absolute Messungen, dann die interne, oder auch externe, Referenz Messergebnisse kann ich dir kaum liefern. Die Umschaltzeiten von AVR Arduino Boards liegen, nach meinen Messungen, irgendwo zwischen 4,5ms bis 5,5ms. Standalone ATMegas bekommen auch einfach nur 100nF dran, wenn der ADC in der Schaltung verwendet wird. Ansonsten hat mich das Problem noch nie wirklich gekümmert. Halte stur 10ms Pause nach einer Umschaltung ein. Hat bisher für alle meine Anwendungen gereicht. Sieht bei mir so aus, Auszug:
1 | Adc & Adc::setReference(AnalogReference reference, bool wait) |
2 | {
|
3 | |
4 | byte mux = ADMUX; |
5 | if((mux & refMask) != reference) // Referenz veraendert |
6 | {
|
7 | ADMUX = (mux & ~refMask) | reference; // neue Referenz setzen |
8 | if(wait) delay(10); // settle Time |
9 | }
|
10 | return *this; |
11 | }
|
Naja... ------- Irgendwelche BOD Abschmierer, auf Grund dieser Umschaltung, sind mir noch nicht unter gekommen. c-hater schrieb: > Wenn du das für eine "Dummbehauptung" hältst, bist du noch viel blöder > als du selber glaubst... M. K. schrieb: > Das werden wir, glaube ich, nie erleben. Ja, das wird wohl so kommen. Beleidigen, diffamieren, falsche Dinge in die Welt setzen, das kann er... Soll er aber liefern, oder Demut zeigen, dann endet es ganz fix. Ich nenne es vorläufig: "Das c-hater Aref-BOD Desaster" > Irren, ist menschlich. > Im Irrtum verharren, ist Dummheit. Oder, aus anderem Blickwinkel: > Wer urteilt, muss im gleichen Maße verzeihen können.
Dieses sich gegenseitige Fertigmachen, das ist leider immer noch so stark vertreten. Deshalb beteilige ich mich kaum noch schreibend. Schade, dabei machen uns andere doch genug fertig.
Wie wichtig Abblockkondensatoren sind, kann man an diesem Thread sehen: Beitrag "Arduino Nano / ATMEGA328P interne 1,1 V Referenz nicht stabil" Hans
Hans schrieb: > Wie wichtig Abblockkondensatoren sind, kann man an diesem Thread sehen: > Beitrag "Arduino Nano / ATMEGA328P interne 1,1 V Referenz nicht stabil" Ahem. Ich stimme dir grundsätzlich ja zu, aber dem Thread kann man nun wirklich kaum etwas entnehmen. LG, Sebastian
Hans schrieb: > Wie wichtig Abblockkondensatoren sind, kann man an diesem Thread sehen: Nur weil hier ein 100nF empfohlen wird bedeutet das nicht, dass es sich hierbei um einen Abblockkondensator handelt ;)
Beitrag #6459742 wurde von einem Moderator gelöscht.
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.