Moin moin, vielleicht hat der eine oder andere ja schon Erfahrungen damit gemacht und kann etwas dazu sagen: Ich will beim Atmega328 einerseits Ausgang OC0B als PWM-Ausgang nutzen (Timer0) und gleichzeitig auch die Eingänge AIN0 und AIN1 als Analog Comparator. Das Problem dabei: Der PWM-ausgang OC0B streut ganz erheblich in den Eingang AIN0. Das jeweils am PWM-Ausgang anstehende Signal ist auch am Eingang AIN0 zu messen. Und zwar mit einer Spannung von ca. 600 mVss (siehe Oszillogramm). Der Comparator wird damit unbrauchbar. Da der Eingang AIN0 auch als PWM-Ausgang am Timer0 fungieren kann (OC0A), könnte es vielleicht sein, dass da konstruktiv was faul ist und man den Timer0 nicht für PWM nutzen kann, wenn man auch den Analog Comparator nutzen will? Wenn es so wäre, wäre das ziemlich dämlich. ;-) Gruß, Volker
Kann gut sein. Ich hatte vor Jahren an nem PIC ein ähnliches Phänomen beobachtet; eine Änderung an einem Analogeingang brachte einen unbeschalteten danebenliegenden dazu, falsche Werte zu messen. Zu dichte Strukturen und damit elektrostatische Einflüsse auf dem Substrat?
Hi >Ich hatte vor Jahren an nem PIC ein ähnliches Phänomen >beobachtet; eine Änderung an einem Analogeingang brachte einen >unbeschalteten danebenliegenden dazu, falsche Werte zu messen. Was kann man an einem unbeschalteten Eingang für falsche Werte messen? MfG Spess
Hi Hab das mal schnell an einem ATMega48 getestet. Am offenen Eingang schlägt das PWM-Signal mit ca. 0,2V durch. Beim Anschalten eines 10k Potis (0/5V) an PD6(AIN0) ist davon nichts mehr da. MfG Spess
Hi. Habe eine Schaltung mit Attiny84 wo mit dem Komperator gemessen wird und auf OC0B + OC0A eine PWM läuft. Dort schlägt nichts durch.
spess53 schrieb: > Hab das mal schnell an einem ATMega48 getestet. Am offenen Eingang > schlägt das PWM-Signal mit ca. 0,2V durch. Beim Anschalten eines 10k > Potis (0/5V) an PD6(AIN0) ist davon nichts mehr da. Oh, oh oh! :-( Das ist richtig, die in meiner ersten Message dargestellten 600 mVss ergeben an einem Glättungskondensator 200 mVeff, da die durchschlagende Spannung sowohl im negativen, als auch im positiven Bereich liegt, was auch nicht sein dürfte! Setzt man das Output Compare Register des PWM-Ausgangs (OC0B) auf den Wert 255, senkt sich das durchschlagende Signal plötzlich auf 0V, was auf kapazitive Effekte hindeutet. Hängt man - wie du vorgeschlagen hast - einen Widerstand von 10k gegen Masse an den Eingang AIN0, so ergibt sich eine Folge von üblen Nadelimpulsen mit 1 Vss, die eine Nutzung des Comparators weiterhin unmöglich machen (1. Oszillogramm: 100k gegen Masse, 2. Oszillogramm: 10k gegen Masse). Du konntest das mit deinem Messgerät vermutlich nur nicht messen. Die Oszillogramme sprechen dafür, dass kapazitive Effekte eine Rolle spielen und das nährt den Verdacht, dass die von Joachim geäußerte Vermutung elektrostatischer Einflüsse im Substrat richtig ist. Insbesondere, da das Problem beim Atmega48 ebenso wie beim 328er auftritt. M. K. schrieb: > Habe eine Schaltung mit Attiny84 wo mit dem Komperator gemessen wird und > auf OC0B + OC0A eine PWM läuft. Dort schlägt nichts durch. Diese Aussage bestätigt die Vermutung eines konstruktiven Fehlers, wenn es dort nicht auftritt. Man könnte den Attiny85 auch nochmal testen. Wenn es so ist, sollte man das wohl mal an Atmel melden. Im derzeitigen Errata findet sich nämlich noch kein entsprechender Hinweis. Sehr schade, dass die AtmegaXX8-Reihe einen so deutlichen Konstruktionsfehler aufweist :-(. Gruß, Volker
Hallo zusammen, das Problem habe ich wohl auch... Ich nutz einen Mega168 mit PWM sowie 3 ADC Eingängen. Wobei ich mit ADC 1+2 nur (Hohe)Spannung messe und somit der Fehler nicht auffiel. Mit ADC3 hingegen messe ich nur ein Poti als Spannungsteiler mit 5V als Füllstandmesser und habe ebenfalls steigende Wert am ADC wenn die PWM im Betrieb ist. Wenn die PWM bei mir über ca. 160 ist, geht die Spannung wieder zurück und bei PWM 255 ist alles wieder ok. Da ich die PWM Temperaturabhängig in Stufen schalte, konnte ich das so grob fest machen.
Hi >Hängt man >- wie du vorgeschlagen hast - einen Widerstand von 10k gegen Masse an >den Eingang AIN0, Ich habe keinen Widerstand nach Masse angeschlossen, sondern eine Spannung angelegt. Und damit ist das identisch mit der Aussage von M. K. (avr-frickler) >Du konntest das mit deinem Messgerät vermutlich nur nicht messen. Hältst du mich für blöd? Wurde zufällig auch mit einem UNI-T (UDT4152C) gemessen. >Diese Aussage bestätigt die Vermutung eines konstruktiven Fehlers, wenn >es dort nicht auftritt. Man könnte den Attiny85 auch nochmal testen. Bestätigt nur, das du mal richtig messen solltest. Wie wäre es mal mit einem Bild von deinem Aufbau. Du kannst getrost davon ausgehen das das nicht am AVR liegt. MfG Spess
Was ich noch zu sagen vergaß: Signale mit sehr niedriger Impedanz (ca. 1 kOhm) kann man an AIN0 vermutlich halbwegs genau messen, weil sie die Störungen "wegsaugen", aber nicht alle Messsignale haben eine so niedrige Impedanz. Um nicht zu sagen die allerwenigsten... Und wenn ich erst einen Operationsverstärker vorschalten muss, um die Impedanz zu erniedrigen, kann ich auf den Komparator auch ganz verzichten und gleich einen Interrupt-Eingang nehmen.
@Volker U. (volkeru) >Das ist richtig, die in meiner ersten Message dargestellten 600 mVss >ergeben an einem Glättungskondensator 200 mVeff, Was für ein Glättiungskondensator und wo angeschlossen? >da die durchschlagende >Spannung sowohl im negativen, als auch im positiven Bereich liegt, was >auch nicht sein dürfte! Setzt man das Output Compare Register des >PWM-Ausgangs (OC0B) auf den Wert 255, senkt sich das durchschlagende >Signal plötzlich auf 0V, was auf kapazitive Effekte hindeutet. Nö, deine PWM steht still. > Hängt man >- wie du vorgeschlagen hast - einen Widerstand von 10k gegen Masse an >den Eingang AIN0, so ergibt sich eine Folge von üblen Nadelimpulsen mit >1 Vss, Kaum zu glauben, dass das DERMASSEN durchschlägt. Klingt eher nach Messfehler oder so. Sind auch ALLE GND-Pins angeschlossen? Und ALLE VCC Pins? >Oszillogramme sprechen dafür, dass kapazitive Effekte eine Rolle spielen >und das nährt den Verdacht, dass die von Joachim geäußerte Vermutung >elektrostatischer Einflüsse im Substrat richtig ist. Insbesondere, da >das Problem beim Atmega48 ebenso wie beim 328er auftritt. Da hab ich meine Zweifel. >> Habe eine Schaltung mit Attiny84 wo mit dem Komperator gemessen wird und >> auf OC0B + OC0A eine PWM läuft. Dort schlägt nichts durch. >Diese Aussage bestätigt die Vermutung eines konstruktiven Fehlers, wenn >es dort nicht auftritt. Du bist ganz schön vorschnell mit deinen Schlüssen. >Wenn es so ist, sollte man das wohl mal an Atmel melden. Im derzeitigen >Errata findet sich nämlich noch kein entsprechender Hinweis. Sehr >schade, dass die AtmegaXX8-Reihe einen so deutlichen Konstruktionsfehler >aufweist :-(. Das ist gar nicht erwiesen, nur eine Vermutung, die du zur Tatsache erklärst.
spess53 schrieb: >>Du konntest das mit deinem Messgerät vermutlich nur nicht messen. > > Hältst du mich für blöd? Wurde zufällig auch mit einem UNI-T (UDT4152C) > gemessen. Da du über die Messmethode nichts gesagt hast, war ich davon ausgegangen, dass du mit einem Multimeter gemessen hast. Zumal du 200 mV geschrieben hast, was ein Effektivwert ist. Du hast die Effektivspannung also im "MEASURE"-Modus vom Oszilloskop bestimmen lassen? Dann kommen da etwa 220 mV raus. Aber dann hättest du eigentlich auch das in Bild 2 dargestellte Nadelimpulsmuster auf deiner gemessenen Spannung sehen müssen! Dieses habe ich mit einem Spannungsteiler 2x4,7k erzeugt. Also das entspricht deinem Poti in Mittelstellung. > Ich habe keinen Widerstand nach Masse angeschlossen, sondern eine > Spannung angelegt. Und damit ist das identisch mit der Aussage von M. > K. (avr-frickler) Hättest du dein Oszi mal auf AC-Kopplung eingestellt, hättest du das Oszillogramm in Bild 1 erhalten. Hoffe ich doch mal :-). > Bestätigt nur, das du mal richtig messen solltest. Wie wäre es mal mit > einem Bild von deinem Aufbau. Immer erstmal an die eigene Nase fassen! An dem Aufbau ist nicht viel zu erklären: Ein nackter Atmega328 mit einem Tastkopf (x10) am AIN0-Eingang. Und wahlweise deinem Vorschlag folgend einem Spannungsteiler zusätzlich am Eingang. > Du kannst getrost davon ausgehen das das nicht am AVR liegt. Und woher kommen dann deine 200 mV an einem unbelasteten Eingang? Zumal diese Spannung auch noch auf 0V absinkt, wenn man das Output Compare Register eines ganz anderen PWM-Ausgangs auf 255 setzt?! Gruß, Volker
Clyde H. schrieb: > das Problem habe ich wohl auch... > Ich nutz einen Mega168 mit PWM sowie 3 ADC Eingängen. > Wobei ich mit ADC 1+2 nur (Hohe)Spannung messe und somit der Fehler > nicht auffiel. > Mit ADC3 hingegen messe ich nur ein Poti als Spannungsteiler mit 5V als > Füllstandmesser und habe ebenfalls steigende Wert am ADC wenn die PWM im > Betrieb ist. > Wenn die PWM bei mir über ca. 160 ist, geht die Spannung wieder zurück > und bei PWM 255 ist alles wieder ok. > Da ich die PWM Temperaturabhängig in Stufen schalte, konnte ich das so > grob fest machen. Danke für diesen sachlichen Beitrag, der auf das Problem INHALTLICH eingeht und nicht - wie manch andere hier - nur um zu provozieren. Dass bei PWM 255 alles okay ist, bestätigt erneut die Vermutung kapazitiv parasitärer Effekte, denn genau so ist es bei mir auch! Bei PWM 255 wird nämlich kein PWM-Signal mehr erzeugt, sondern der PWM-Ausgang liegt durchgehend auf Vcc. Und ohne Schwingung auch keine kapazitiven Effekte! Danke! Volker
> Ein nackter Atmega328 mit einem Tastkopf
Na dann mach doch mal 100nF zwischen alle VCC und GND und AVCC und AGND.
Kannst auch noch 10nF zwischen AVCC und AGND packen.
Hi >Immer erstmal an die eigene Nase fassen! An dem Aufbau ist nicht viel zu >erklären: Ein nackter Atmega328 mit einem Tastkopf (x10) am >AIN0-Eingang. Also ohne Abblockkondensatoren am AVR? >Und woher kommen dann deine 200 mV an einem unbelasteten Eingang? Meiner hat hat auf einem STK500 gesteckt. Dort sind solche Einstreuungen an einem offenen Eingang, zumal am Portheader gemessen, normal. Und da der Effekt nach dem Anlegen einer Spannung erwartungsgemäß verschwindet sehe ich keinen Grund an der Funktionsfähigkeit des AVRs zu zweifeln. MfG Spess
Falk Brunner schrieb: >>Das ist richtig, die in meiner ersten Message dargestellten 600 mVss >>ergeben an einem Glättungskondensator 200 mVeff, > > Was für ein Glättiungskondensator und wo angeschlossen? Ein Glättungskondensator parallel zur Last (auch RC-Glied als Tiefpass: http://de.wikipedia.org/wiki/Effektivwert) liegt bekanntlich gegen Masse und erzeugt somit einen Effektivwert. Den Wert, den man ja auch mit dem Multimeter oder mit dem Auswertungsmodus eines entsprechenden digitalen Oszilloskops messen kann. Und der wurde ja auch gemessen. Von mir und auch von spess53. >>da die durchschlagende >>Spannung sowohl im negativen, als auch im positiven Bereich liegt, was >>auch nicht sein dürfte! Setzt man das Output Compare Register des >>PWM-Ausgangs (OC0B) auf den Wert 255, senkt sich das durchschlagende >>Signal plötzlich auf 0V, was auf kapazitive Effekte hindeutet. > > Nö, deine PWM steht still. Habe ich was anderes gesagt? Darf die PWM eines anderen Ausgangs sich auf die Ruhespannung an einem völlig anderen Eingang auswirken? >> Hängt man >>- wie du vorgeschlagen hast - einen Widerstand von 10k gegen Masse an >>den Eingang AIN0, so ergibt sich eine Folge von üblen Nadelimpulsen mit >>1 Vss, > > Kaum zu glauben, dass das DERMASSEN durchschlägt. > Klingt eher nach Messfehler oder so. > Sind auch ALLE GND-Pins angeschlossen? Und ALLE VCC Pins? Es handelt sich um die SMD-Version (Atmega328-AU), quarzgetaktet mit 4 MHz. Alle GND-Pins sind mit Masse verbunden, alle Vcc Pins und AVCC mit +5V. Ja, kaum zu glauben, aber wahr. Ich wollte es ja auch erst nicht glauben, sonst hätte ich kaum hier was geschrieben. Aber ich habe ja nun schon 2 Bestätigungen für meine Messung erhalten. Im übrigen arbeite ich schon seit Jahren mit dem Atmega328 und dies ist nicht mein erstes Gerät. Aber das erste in dieser Konstellation unter Nutzung des Analog Comparators. >>> Habe eine Schaltung mit Attiny84 wo mit dem Komperator gemessen wird und >>> auf OC0B + OC0A eine PWM läuft. Dort schlägt nichts durch. > >>Diese Aussage bestätigt die Vermutung eines konstruktiven Fehlers, wenn >>es dort nicht auftritt. > > Du bist ganz schön vorschnell mit deinen Schlüssen. Aber nur, weil ich nicht genau gelesen hatte. Wenn beide PWM-Ausgänge mit einer PWM beaufschlagt werden (wie avr-frickler schrieb), entspricht dies nicht meiner Schaltung, denn ich habe ja nur OC0B mit PWM beaufschlagt und OC0A ist disconnected und wird als AIN1 für den Analog Comparator genutzt. Diese Aussage ziehe ich mal zurück. >>Wenn es so ist, sollte man das wohl mal an Atmel melden. Im derzeitigen >>Errata findet sich nämlich noch kein entsprechender Hinweis. Sehr >>schade, dass die AtmegaXX8-Reihe einen so deutlichen Konstruktionsfehler >>aufweist :-(. > > Das ist gar nicht erwiesen, nur eine Vermutung, die du zur Tatsache > erklärst. "Wenn es so ist, sollte man" ist alles andere als die Erklärung einer Tatsache. Wenn es so ist, wie clyde schreibt, ist sogar der ganze ADC-Bereich des Controllers für feine Messungen unbrauchbar, sofern man die PWM nutzt. Denn wie er das darstellt, schlägt die PWM auf sämtliche ADC-Eingänge durch. Das war mir bisher noch nicht aufgefallen. Gruß, Volker
Volker U. schrieb: > Ein Glättungskondensator parallel zur Last (auch RC-Glied als Tiefpass: > http://de.wikipedia.org/wiki/Effektivwert) liegt bekanntlich gegen Masse > und erzeugt somit einen Effektivwert. Noe. Der erzeugt dir den arithmetischen Mittelwert nicht den Effektivwert. Effektivwert ist was anders. Das ist der jenige Wert der dir an einen Widerstand die gleiche Leistung umsetzt wie eine Gleichspannung. Was du machst mit dem RC ist der arithmetische Mittelwert des Signales.
Uwe schrieb: >> Ein nackter Atmega328 mit einem Tastkopf > Na dann mach doch mal 100nF zwischen alle VCC und GND und AVCC und AGND. > Kannst auch noch 10nF zwischen AVCC und AGND packen. Ja, das ist natürlich vorhanden. Hatte ich nur nicht geschrieben. 100 nF Folienkondensator zwischen AVCC und GND, zwischen VCC und GND. Und dann noch ein 100 uF Elko. Kondensatoren habe ich genug verteilt. Ich habe sogar Atmels Vorschlag folgend 10 uH Induktivität zwischen Vcc und AVCC gelegt. Alles völlig ohne Wirkung auf das Problem. Selbst wenn ich alle Kondensatoren und die Induktivität entferne, ändert sich an der durchschlagenden Spannung Null Komma nix! Gruß, Volker
Helmut Lenzen schrieb: > Volker U. schrieb: >> Ein Glättungskondensator parallel zur Last (auch RC-Glied als Tiefpass: >> http://de.wikipedia.org/wiki/Effektivwert) liegt bekanntlich gegen Masse >> und erzeugt somit einen Effektivwert. > > Noe. Der erzeugt dir den arithmetischen Mittelwert nicht den > Effektivwert. > Effektivwert ist was anders. Das ist der jenige Wert der dir an einen > Widerstand die gleiche Leistung umsetzt wie eine Gleichspannung. Was du > machst mit dem RC ist der arithmetische Mittelwert des Signales. Ja, du hast Recht. Bei RMS geht ja die Quadratwurzel ein, weshalb sich der negative Spannungsanteil sich nicht subtrahiert, sondern addiert. Deshalb liegt der arithmetische Mittelwert ja auch bei 220 mV und der Effektivwert bei 320 mV. So habe ich es auch gemessen. Am Kondensator ca. 200 mV und das Oszilloskop sagte 320 mV Effektivspannung. Das ändert aber alles nichts am Problem :-)
> Wenn es so ist, wie clyde schreibt, ist sogar der ganze ADC-Bereich des > Controllers Äh, fast. Das mag falsch rüber gekommen sein. Ich kann es nur an einem ADC nachvollziehen, weil der Wert fast Statisch ist(Füllhöhe Regentank). die Anderen ADC messen Akku und Solar-Spannung und dort sind immer Schwankungen(wenn Verbraucher grade Laufen o.ä.) Aber es ist fakt, das der PWM meinen Tank voller macht als er ist.;-) Ich habe allerdings ein Poti mit langem Kabel an den Mega aber dafür läuft die PWM über ein separates Kabel und ist auch von der Schaltung her(FET usw.) von dem ADC etwas entfernt(auf Lochraster) aufgebaut.
spess53 schrieb: > Hi > >>Immer erstmal an die eigene Nase fassen! An dem Aufbau ist nicht viel zu >>erklären: Ein nackter Atmega328 mit einem Tastkopf (x10) am >>AIN0-Eingang. > > Also ohne Abblockkondensatoren am AVR? Nein, natürlich sind mehrere Abblockkondensatoren vorhanden (siehe meinen vorletzten Beitrag #2743806:) >>Und woher kommen dann deine 200 mV an einem unbelasteten Eingang? > > Meiner hat hat auf einem STK500 gesteckt. Dort sind solche Einstreuungen > an einem offenen Eingang, zumal am Portheader gemessen, normal. Aber keine Einstreuungen, die sich durch Änderungen am Output Compare Register eines ganz anderen Ports mit verändern! Und nicht, wenn du den Eingang mit 10k belastest. Das ist eine recht ordentliche Last für einen CMOS-Baustein. Da sind parasitäre Effekte durch EMV eigentlich ausgeschlossen. Nadelimpulse von 1 Vss lassen sich damit keinesfalls mehr erklären. Ich habe den AVR auf einem Steckbrett, das mitten auf dem Tisch liegt. Da sind Einstreuungen von außen minimal. Maximal 10 mV. Da ich das selbe messe wie du auf dem STK500, beharre ich darauf, dass es ein AVR-Fehler ist. Bisher hat keiner das Gegenteil bewiesen :). > Und da der Effekt nach dem Anlegen einer Spannung erwartungsgemäß > verschwindet sehe ich keinen Grund an der Funktionsfähigkeit des AVRs zu > zweifeln. D.h. du kannst bei Mittelstellung des Potis und bei AC-Kopplung deines Oszilloskops im 200 mV Messbereich keine Nadelimpulse auf der 2,5 V Spannung messen? Das würde mich aber SEHR wundern! Außerdem empfehle ich, mal eine Spannungsquelle mit höherer Impedanz anzuschließen. Also z.B. 100 kOhm, wie es normalerweise bei Sensoren eher üblich ist. Dann sieht die Sache wieder noch ganz anders aus. Es wäre auch dann ein unbrauchbarer Comparator, wenn man damit nur Spannungsquellen niedriger Impedanz messen könnte. Gruß, Volker
Clyde H. schrieb: >> Wenn es so ist, wie clyde schreibt, ist sogar der ganze ADC-Bereich des >> Controllers > > Äh, fast. Das mag falsch rüber gekommen sein. > Ich kann es nur an einem ADC nachvollziehen, weil der Wert fast Statisch > ist(Füllhöhe Regentank). die Anderen ADC messen Akku und Solar-Spannung > und dort sind immer Schwankungen(wenn Verbraucher grade Laufen o.ä.) > > Aber es ist fakt, das der PWM meinen Tank voller macht als er ist.;-) > Ich habe allerdings ein Poti mit langem Kabel an den Mega aber dafür > läuft die PWM über ein separates Kabel und ist auch von der Schaltung > her(FET usw.) von dem ADC etwas entfernt(auf Lochraster) aufgebaut. Okay. Ich war bisher nur davon ausgegangen, dass die PWM-Ports des gleichen Timers sich gegenseitig beeinflussen, wenn einer davon als PWM-Ausgang genutzt wird und der andere als Eingang (ADC oder AIN) beschaltet ist. Das werde ich aber in Kürze prüfen, denn mir bleibt derzeit nichts anderes übrig, als den PWM-Ausgang auf den Timer2 zu verlegen und den Timer0 gar nicht mehr für PWM zu benutzen. Dann wird sich spätestens herausstellen, ob auch andere PWM-Ausgänge den Analog Comparator negativ beeinflussen.
Hi >Ich habe den AVR auf einem Steckbrett, das mitten auf dem Tisch liegt. Na dann wundert mich nichts mehr. Die Teile haben eine kapazitive Kopplung zwischen den Kontakten das hier schon Leute geschafft haben den Quarz am AVR ohne die üblichen Kondensatoren zu betreiben. Dazu kommt noch dein SMD-Adapter. Außerdem ist die Masseführung eher suboptimal. Erklärt übrigens auch weshalb deine Kondensatoren nicht sehr wirksam sind. >Da ich das selbe >messe wie du auf dem STK500, beharre ich darauf, dass es ein AVR-Fehler >ist. Bisher hat keiner das Gegenteil bewiesen :). Ich weiß das aber wo das herkommt. Du anscheinend nicht. MfG Spess
Clyde H. schrieb: >> Wenn es so ist, wie clyde schreibt, ist sogar der ganze ADC-Bereich des >> Controllers > > Äh, fast. Das mag falsch rüber gekommen sein. > Ich kann es nur an einem ADC nachvollziehen, [..] Okay, ich habs getestet. Das PWM-Signal an Ausgängen von Timer2 schlägt auch auf den Analog Comparator durch, aber nur mit ca. 20 mVss. Wer also mit einer Messungenauigkeit von 20 mV am Comparator leben kann (also bezogen auf 5V ca. 0,4%), der kann den Comparator nutzen, aber nur wenn der zugehörige Timer für PWM unbenutzt bleibt. Wer der Meinung ist, dass es sich hier um einen Messfehler oder einen falschen Aufbau handelt, ist herzlich dazu eingeladen, es selbst zu testen! Ich würde das Problem nämlich gerne anders beheben, als durch Verlegung der PWM-Ausgänge.
spess53 schrieb: > Na dann wundert mich nichts mehr. Die Teile haben eine kapazitive > Kopplung zwischen den Kontakten das hier schon Leute geschafft haben den > Quarz am AVR ohne die üblichen Kondensatoren zu betreiben. Das Steckbrett ist unproblematisch. Das benutze ich seit 10 Jahren und damit habe ich schon ganz andere Aufbauten gemacht - ohne kapazitive Probleme und mit viel höheren Frequenzen. > Dazu kommt noch dein SMD-Adapter. Okay, der SMD-Adapter ist neu, aber ich würde es erstmal nicht darauf zurückführen. >>Da ich das selbe >>messe wie du auf dem STK500, beharre ich darauf, dass es ein AVR-Fehler >>ist. Bisher hat keiner das Gegenteil bewiesen :). > > Ich weiß das aber wo das herkommt. Du anscheinend nicht. Du hast dich zu den Nadelimpulsen bei AC-Kopplung des Oszis bisher nicht geäußert. Warum nicht? Kannst du sie nun bei Beschaltung mit einem 10 kOhm Poti in Mittelstellung reproduzieren oder nicht? Weder die Nachteile eines Steckbretts, noch des STK500 können erklären, warum bei einer 10k Last noch Nadelimpulse mit 1 Vss auftreten. Das ist durch Einstreuung von Außen nicht zu erklären. Nicht bei Rechteckimpulsen von 5 V. Da wären die Impulse schon bei einer wesentlich geringeren Last verschwunden.
spess53 schrieb: > Beitrag "Re: Atmega 328: PWM-Ausgang streut auf andere Eingänge?!" Du ignorierst auch die Beiträge von Clyde, der das selbe Problem hat - ohne Steckbrett oder STK-500.
Hi >Du hast dich zu den Nadelimpulsen bei AC-Kopplung des Oszis bisher nicht >geäußert. Warum nicht? Weil sich das Ganze im Moment 8km entfernt befindet. >Das Steckbrett ist unproblematisch. Das benutze ich seit 10 Jahren und >damit habe ich schon ganz andere Aufbauten gemacht - ohne kapazitive >Probleme und mit viel höheren Frequenzen. Die Flanken entscheiden, nicht die Frequenz. MfG Spess
Hi >Du ignorierst auch die Beiträge von Clyde, der das selbe Problem hat - >ohne Steckbrett oder STK-500. Ohne Clyde in irgend einer Weise nahe treten zu wollen, aber die Reihe der möglichen Fehler sind beim ADC recht hoch. Ich kann diese Aussage nur so hinnehmen, aber nicht bewerten. Genau so wenig wie du. MfG Spess
Ich wurde da gern mal einen Schaltplan sehen... Zum Thema Impedanz: der ADC vom AVR stellt eine kapazitive Last dar. Da sollte aussen am Pin am besten ein 100n Kondensator angeschlossen werden.
Volker U. schrieb: > Das Steckbrett ist unproblematisch. Das benutze ich seit 10 Jahren und > damit habe ich schon ganz andere Aufbauten gemacht - ohne kapazitive > Probleme und mit viel höheren Frequenzen. Na, dann sind wir ja beruhigt; dann kann es ja nicht am Aufbau liegen. Und Atmel fertigt ja nur schätzungsweise ein paar Millionen AVRs pro Jahr (habe auf die Schnelle keinen Geschäftsbericht gefunden, der tatsächliche Zahlen enthält) und ist auch erst seit über zehn Jahren mit der AVR-Familie auf dem Markt; da ist es schon verständlich, dass noch derartige "Fehler" im Design vorhanden sind - und auch, dass das noch keiner der Handvoll Anwender gemerkt hat. Ernsthaft: Der "Fehler" findet sich mit 99%iger Wahrscheinlichkeit in Deinem Aufbau. spess53 hatte hierzu bereits alles gesagt; ein Steckbrett ist in jeder nur erdenklichen Weise absolut suboptimal. Wir wissen außerdem immer noch nicht, WIE der Aufbau eigentlich aussieht (d. h. was am PWM-Ausgang dranhängt (Strom in der PWM-Leitung, Rückwirkungen auf die Spannungsversorgung, EMV, ...) Es gibt so viele Variablen, dass eine sinnvolle Diagnose bzw. Aussage mit den gegebenen Informationen schlicht nicht möglich ist. Auch das Thema "Eingangsimpedanz für den A/D-Wandler" wird lang und breit in der Literatur (Datenblatt bzw. App-Notes) behandelt; dort steht eindeutig, wie die Zuführung an den ADC idealerweise auszusehen hat.
Alle "Fehler" im Zusammenhang mit dem ADC, die ich bisher gesehen habe, hatten mit hochohmigen Quellen ohne Pufferkondensator zu tun. Das gibt dann so lustige Verschleppungseffekte, wo der vorher gewandelte Kanal sei nachfolgende Messung beeinflusste... Und: an einem offenen hochohmigen Portpin mit einem Oszii zu messen und in diese Messung auch noch was hineinzuinterpretieren, das ist gewagt...
Lothar Miller schrieb: > Ich wurde da gern mal einen Schaltplan sehen... Kann ich demnächst mal machen. Aber daran ist nicht viel zu sehen. > Zum Thema Impedanz: der ADC vom AVR stellt eine kapazitive Last dar. Da > sollte aussen am Pin am besten ein 100n Kondensator angeschlossen > werden. Mit 100 nF am Eingang sind aber keine sich schnell ändernden Spannungen mehr messbar. Das würde den Comparator auf Gleichspannungen beschränken. Auch Atmel gibt nirgendwo derartige Empfehlungen. Es geht ja auch nicht um den ADC, sondern um den Analog Comparator! Der muss erheblich schneller reagieren, als ein ADC. Handbuch Atmel: Analog Comparator Propagation Delay: 500 ns. Wenn ich 500 ns (entsprechen 2 MHz) auflösen will, kann ich da keine 100 nF dranhängen! Dann darf da gar keine Kapazität dranhängen. Lothar Miller schrieb: > Und: an einem offenen hochohmigen Portpin mit einem Oszii zu messen > und in diese Messung auch noch was hineinzuinterpretieren, das ist > gewagt... Ich habe - wie geschrieben - nicht nur am offenen Eingang gemessen, sondern an einem mit 100k bzw. 10k gegen Masse belasteten Eingang. Mit den oben erwähnten und auch in Oszillogrammen dargestellten Effekten. Wenn das Steckbrett einen so negativen Einfluss hätte, müssten sich alle benachbarten Kontaktbahnen gegenseitig beeinflussen. Tun sie aber nicht. Da kann ich 16 kHz Rechteckimpulse mit 5V und 100 mA auf eine Kontaktbahn jagen und an der Bahn daneben messe ich gar nichts. Höchstens ein paar mV. Gruß, Volker
spess53 schrieb: > Weil sich das Ganze im Moment 8km entfernt befindet. Okay, dann bin ich sehr gespannt, was du morgen zu berichten hast! Dass du unter ganz anderen Bedingungen ebenfalls 200 mV gemessen hast, finde ich ein sehr starkes Argument, das man nicht so einfach vom Tisch wischen kann. Es wäre schon ein seltsamer Zufall, wenn auf deinem STK500 fast aufs Millivolt genau die selben eletromagnetischen Strahlungsbedingungen herrschen würden, wie auf meinem Steckbrett. Und selbst wenn es externe Streuung wäre (was ich für extrem unwahrscheinlich halte): Wie soll man seine Schaltung denn wohl aufbauen, wenn es nahezu unmöglich ist, diese Strahlung vom Comparator fernzuhalten? Das löst das praktische Problem letztlich auch nicht. > Die Flanken entscheiden, nicht die Frequenz. Ja, Dirac lässt grüßen. Ich meinte aber auch höhere Frequenzen mit Rechteckflanken (soweit man dabei überhaupt von Rechteck sprechen kann). Da hatte ich nie Probleme. Ich baue ja nicht erst seit gestern Schaltungen. Also ein klein wenig weiß ich schon von dem, was ich sage. Und bevor ich hier schreibe, habe ich mir schon selbst eine Menge Gedanken gemacht, experimentiert und versucht, andere Fehlerquellen auszuschließen.
Ich habe noch einen Test in einer anderen Umgebung durchgeführt. Da das STK500 ja schon getestet wurde, habe ich es nicht mit meinem STK500 probiert, sondern den Chip nun nochmal auf ein Atmel-Evaluationboard von Pollin gesteckt. Diesmal also nicht die SMD-Version, sondern DIP. Exakt das selbe: Bei 16 kHz PWM an PD5 (OC0B) misst man knapp 400 mVss sauberes Rechtecksignal an einem unbeschalteten Eingang (PD6 / AIN0) bzw. eine Nadelimpulsfolge von rund 1 Vss bei Beschaltung des Eingangs mit dem beliebten 10k Poti. Es tut mir leid, aber egal woher diese Schmutz-Impulse nun kommen. Wenn es weder auf meinem Steckbrett, noch auf einem STK500 oder auf dem Pollin Evaluationsboard möglich ist, diesen Mist vom Analog Comparator wegzukriegen, dann ist es letztlich auch egal, woher er kommt. Analog Comparator und PWM sind offenbar einfach nicht zusammen nutzbar. Womit wir wieder ganz am Anfang bei meiner Eingangsfrage wären. :-( Interessant ist übrigens, dass die Messungen in zwei völlig verschiedenen Umgebungen (Steckbrett und Evaluationsboard) und mit zwei verschiedenen Gehäuseformen (SMD und DIP) EXAKT die selben Messergebnisse liefern. Wer da noch von "Streuung" oder "Einstrahlung" spricht, der glaubt auch an den Weihnachtsmann :-). Beim Pollin-Board habe ich sogar direkt am Pin des IC mit dem Tastkopf gemessen. Da bleiben wenig Einstrahlungsmöglichkeiten.
Hi >Du hast dich zu den Nadelimpulsen bei AC-Kopplung des Oszis bisher nicht >geäußert. Warum nicht? Kannst du sie nun bei Beschaltung mit einem 10 >kOhm Poti in Mittelstellung reproduzieren oder nicht? Weder die >Nachteile eines Steckbretts, noch des STK500 können erklären, warum bei >einer 10k Last noch Nadelimpulse mit 1 Vss auftreten. So, mal zwei Messungen von mir. SCR0002 ist das offene AIN0-Pin (Pin steckt nicht in der Fassung) bei einer 30kHz PWM an OCR0B. SCR0001 das gleiche mit ca.2,5V von einem 10k-Poti an AIN0. Wie erwartet kann ich deine Störungen nicht nachvollziehen. Das was man da sieht ist in µC-Schaltungen, gerade bei benachbarten Pins, normal. Also für mich besteht weiterhin kein Grund von einer signifikannten Beeinflussung des Analogkomparators durch eine PWM am benachbarten PIN auszugehen. Thema (für mich) erledigt. MfG Spess
An einem offenen Eingang zu messen, ist hirnrissig. Man muß ihn schon mit der Quellimpedanz abschließen. Für Präzisionsanwendungen habe ich den Komparator noch nie benutzt. Dazu dürfte er auch nicht geeignet sein. Ich habe nichtmal konkrete Angaben zu Gleichtakt-, Offset-, Bias-Spannung und -Strom gefunden. Was willst Du denn damit machen? Mit dem ADC hatte ich noch nie Schwierigkeiten, auch bei aktiven PWM-Ausgängen. Die Wandlungen sind immer glatt wie ein Babypopo. Das STK500 kann man für solche Messungen nicht als Referenz ansehen. Es sind ja mehrere Sockel parallel geschaltet, d.h. die IO-Pins laufen einmal ums ganze Board. Wie soll man da kapazitive Einkopplungen verhindern? Peter
Anbei mal meine Steuerung. Aufgebaut auf Lochraster. An dem Eingang"Feuchtesensor" habe ich ein 25k Poti. Links ist die PWM-Elektronik und rechts Rot gerahmt sind die ADC-Eingänge. Mein Code zum Messen:
1 | int MESSWERT (int kanal){ |
2 | |
3 | int i=512,j=512; |
4 | long int analogwert=0, analogwert1=0, analogwert2=0 ; |
5 | |
6 | while(j){ |
7 | |
8 | while(i){ |
9 | ADCSRA=0x85; // ADC eingeschaltet, 64 Prescale |
10 | ADMUX=kanal; // ADC Ref auf Avcc, PC0 gewaehlt, normale Formatierung |
11 | ADCSRA |=_BV(ADSC); // single conversion mode ein |
12 | while (ADCSRA & (1<<ADSC)) {;} // auf Abschluss der Konvertierung warten |
13 | analogwert+=ADCW; |
14 | i--; |
15 | }
|
16 | |
17 | analogwert1 = analogwert/512; |
18 | analogwert2 += analogwert1; |
19 | j--; |
20 | }
|
21 | |
22 | analogwert=(analogwert2/512); |
23 | |
24 | return (analogwert); |
25 | }
|
Mein Code für die PWM:
1 | //----PWM Einstellung-------------------------------------------------------------------
|
2 | |
3 | // 8-Bit und invertierende PWM
|
4 | |
5 | TCCR2A = (1<<WGM10) | (1<<COM1A1);// | (1<<COM1A0); // nicht invertiert, daher -> glöscht| (1<<COM1A0) |
6 | |
7 | //Standart CPU-Frequenz 16MHz (mit 8 Vorteiler)
|
8 | |
9 | TCCR2B = (1<<CS11);// | (1<<CS10);// | (1<<CS12); |
10 | |
11 | //Vergleichswert, "Sollwert" (Register 24)
|
12 | |
13 | OCR2A = 0; |
Sorry, das ich den Thread jetzt so beanspruche, aber er trifft mein Problem wo ich vorher schon länger nach gesucht habe. Schaltungsfehler möcht ich natürlich nicht ausschliessen, aber evtl. kann mir je einer den Fehler zeigen, den ich nicht sehe. Gruß Clyde
Hi >An einem offenen Eingang zu messen, ist hirnrissig. Man muß ihn schon >mit der Quellimpedanz abschließen. Ich weiß. Ändert aber nichts am Gesamtbild. Im Anhang noch mal mi 10k nach Masse. MfG Spess
@ Volker U. (volkeru) >Propagation Delay: 500 ns. Wenn ich 500 ns (entsprechen 2 MHz) auflösen >will, kann ich da keine 100 nF dranhängen! Dann darf da gar keine >Kapazität dranhängen. Richtig, aber eine niederohmiger Quelle, z.B. OPV. >sondern an einem mit 100k bzw. 10k gegen Masse belasteten Eingang. >Bei 16 kHz PWM an PD5 (OC0B) misst man knapp 400 mVss >sauberes Rechtecksignal an einem unbeschalteten Eingang (PD6 / AIN0) >bzw. eine Nadelimpulsfolge von rund 1 Vss bei Beschaltung des Eingangs >mit dem beliebten 10k Poti. Was aber vollkommen widersprüchlich ist, wenn du mit 10K MEHR Störimpuls hast als mit offenem Eingang!
Hi @Clyde H. (clyde) >Sorry, das ich den Thread jetzt so beanspruche, aber er trifft mein >Problem wo ich vorher schon länger nach gesucht habe. Mach besser einen eigenen Thread auf. Es ist nicht das gleiche Problem. Hier geht es um den Analogkomparator und Timer0, bei dir um den ADC und Timer2. Und bitte mit einer ausführlichen Fehlerbeschreibung. Was mir auf die Schnelle aufgefallen ist: Dein ADC-Takt von 250kHz (16MHz/Prescaler 64) liegt oberhalb der empfohlenen 50..200kHz. Das 25k Poti oberhalb der empfohlenen 10k Quellimpedanz. Allerdings sehe ich darin noch keinen Grund für größere Abweichungen. MfG Spess
spess53 schrieb: > So, mal zwei Messungen von mir. SCR0002 ist das offene AIN0-Pin (Pin > steckt nicht in der Fassung) bei einer 30kHz PWM an OCR0B. SCR0001 das > gleiche mit ca.2,5V von einem 10k-Poti an AIN0. > > Wie erwartet kann ich deine Störungen nicht nachvollziehen. Das was man > da sieht ist in µC-Schaltungen, gerade bei benachbarten Pins, normal. Wieso? Deine Störungen sind doch identisch mit meinen!? Wenn ich SCR0001 richtig interpretiere, hast du da auch Nadelimpulse von ca. 400 mVss auf dem benachbarten Pin?! > Also für mich besteht weiterhin kein Grund von einer signifikannten > Beeinflussung des Analogkomparators durch eine PWM am benachbarten PIN > auszugehen. Ähm?! Wenn der Komparator 400 mV Störungen empfängt, die man nicht abstellen kann, ist das keine signifikante Beeinflussung der Messung??? Gruß, Volker
Peter Dannegger schrieb: > Für Präzisionsanwendungen habe ich den Komparator noch nie benutzt. Dazu > dürfte er auch nicht geeignet sein. Naja! Also 0,4 Volt Fehler bei 5 V Spannungsdifferenz sind 8%. 8% Ungenauigkeit bei einer Spannungsmessung ist für nahezu jeden Zweck unbrauchbar. Bei mir (16 kHz) sind es sogar 20% Ungenauigkeit. > Ich habe nichtmal konkrete Angaben > zu Gleichtakt-, Offset-, Bias-Spannung und -Strom gefunden. > Was willst Du denn damit machen? Das muss auch nicht sein. Ich wollte lediglich einen Impulszähler damit realisieren. Ich bekomme von einem Dosimeter Impulse mit einer Höhe von ca. 200 mV, die ich direkt zählen will. Ich wollte mir den Verstärker sparen und dafür den Komparator nehmen. Aber nun bin ich dazu übergegangen, doch einen LM358 zu spendieren. Oder ein Transistor täte es auch. > Mit dem ADC hatte ich noch nie Schwierigkeiten, auch bei aktiven > PWM-Ausgängen. Die Wandlungen sind immer glatt wie ein Babypopo. Ja, damit hatte ich auch nie Probleme, aber ein ADC kann keinen Interrupt auslösen bei Überschreitung eines Schwellwertes. Pollen geht auch nicht, weil die Impulse sehr kurz sind und die ADC-Wandlung zu lang dafür dauert. > Das STK500 kann man für solche Messungen nicht als Referenz ansehen. Es > sind ja mehrere Sockel parallel geschaltet, d.h. die IO-Pins laufen > einmal ums ganze Board. Wie soll man da kapazitive Einkopplungen > verhindern? Ja, aber das ist mehr Theorie bei einer Frequenz von 16 kHz. Und Dirac spielt bei dieser Flankensteilheit auch keine wesentliche Rolle. Das macht dann vielleicht die Differenz von 400 mV zu 800 mV aus. Für eine Impulsmessung schwacher Impulse nach wie vor ungeeignet.
Clyde H. schrieb: > Anbei mal meine Steuerung. Dankeschön! Mal was zum Angucken :-) Was mir spontan auffällt: Deinem Linearregler fehlt eine Freilaufdiode :-). Ich weiß nicht, wie schnell deine 12 V Versorgungsspannung absinken kann, aber wenn dies sehr schnell passieren kann, besteht die Gefahr, dass dein Regler in Mitleidenschaft gezogen wird. Das Problem: Der 470 uF Pufferkondensator wird langsamer entladen, als die Spannung am Eingang des 7805 sinkt. Das heißt, dass der Regler mit einer Rückwärtsspannung von VO nach VI belastet wird. Das mögen die Dinger ganz und gar nicht und verabschieden sich dann sehr schnell. Einer der Hauptgründe, warum so manches Netzteil nach dem Ausschalten irgendwann seinen Geist aufgibt. Eine Diode 1N4001 o.ä. von VO nach VI löst das Problem. Fällt mir nur so auf, weil unser Industrieelektronik-Prof da mindestens einmal im Monat drauf rumgeritten ist. lach Gruß, Volker
Falk Brunner schrieb: >> Dann darf da gar keine Kapazität dranhängen. > Richtig, aber eine niederohmiger Quelle, z.B. OPV. Ja, aber wozu dann noch der Komparator? Dann kann ich den OP auch direkt an INT0 oder INT1 hängen (wie ich es ja nun auch mache - übrigens mit Erfolg). Wollte mir das zusätzliche Bauteil eigentlich sparen. >>Bei 16 kHz PWM an PD5 (OC0B) misst man knapp 400 mVss >>sauberes Rechtecksignal an einem unbeschalteten Eingang (PD6 / AIN0) >>bzw. eine Nadelimpulsfolge von rund 1 Vss bei Beschaltung des Eingangs >>mit dem beliebten 10k Poti. > > Was aber vollkommen widersprüchlich ist, wenn du mit 10K MEHR Störimpuls > hast als mit offenem Eingang! Das ist wahr. Lässt sich so spontan nicht erklären. Aber es wird dafür sicher eine Erklärung geben :-). Spess53 hat ja etwa das selbe gemessen: Unbelastet 200 mV, belastet etwa 350 mV.
Volker U. schrieb: > Peter Dannegger schrieb: >> Für Präzisionsanwendungen habe ich den Komparator noch nie benutzt. Dazu >> dürfte er auch nicht geeignet sein. > > Naja! Also 0,4 Volt Fehler bei 5 V Spannungsdifferenz sind 8%. 8% > Ungenauigkeit bei einer Spannungsmessung ist für nahezu jeden Zweck > unbrauchbar. Bei mir (16 kHz) sind es sogar 20% Ungenauigkeit. @Peter Danneger: Definiere Präzisionsanwendungen ;-) @Volker U.: Also 0,4 Volt Fehler halte ich für sehr überzogen. Der Fehler wird wohl eher in deiner Schaltung/Layout zu suchen sein. Da du aber weder Bilder deiner Schaltung noch deines Aufbaus lieferst kann man da halt nur im dunklen stochern. Ich habe mal ein paar Bilder meiner Schaltung angefügt um dir zu zeigen wozu der Comparator eines AVR in der Lage ist. Das Bild Referenz.png zeigt die Spannung wie sie aus der Schaltung in Filter.sch.png kommt. Anmerkung: R22 ist mit 0Ohm bestückt und R23 nicht bestückt. Sicherlich kein optimales Referenzsignal für einen Komparator aber für meine Anwendung reicht das. In Bild Signal.png siehst du das Signal am 2. Eingang des Komparators wie es aus der Schaltung Receiver.sch.png. Die Schaltung funktioniert ohne Probleme und das bei einem Signalausschlag von ca. 60mv und einem Rauschen von ca. 20mV auf beiden Eingängen des Komparators.
M. K. schrieb: > Also 0,4 Volt Fehler halte ich für sehr überzogen. Der Fehler wird wohl > eher in deiner Schaltung/Layout zu suchen sein. Also wenn du meinen Messungen nicht traust, hast du dir die Oszillogramme von spess53 angeschaut? Der hat mit seinem Hameg-Oszi auch ca. 350 mV Störungen gemessen an einem ansonsten unbeschalteten und mit ca. 5 kOhm belasteten Eingang. Er misst also das selbe wie ich. Und ich habe in zwei verschiedenen Schaltungen auch genau das selbe gemessen. Einmal auf einem Steckbrett (von dem komplexen Aufbau habe ich derzeit noch keinen Schaltplan gemacht) und einmal auf dem Pollin Evaluationsboard ohne jegliche zusätzliche Beschaltung. Also schau dir das Pollin-Board an und du hast meinen Testaufbau. > Ich habe mal ein paar Bilder meiner Schaltung angefügt um dir zu zeigen > wozu der Comparator eines AVR in der Lage ist. Das glaube ich dir gerne, aber benutzt du am selben Timer, an dem der Komparator hängt, auch die PWM? Das war ja das Problem. Wenn deine PWM woanders her kommt, steht deine Schaltung nicht im Widerspruch zu meiner Analyse. Schöne Grüße, Volker
M. K. schrieb: > Da du aber weder Bilder > deiner Schaltung noch deines Aufbaus lieferst kann man da halt nur im > dunklen stochern. Damit Du glücklich bist, habe ich mal zwei Bilder meines Aufbaus gemacht. Aber bitte keine Bemerkungen wie: "Ja, bei dem Drahtverhau ist es ja kein Wunder...". Ein Steckbrett in der Testphase sieht nunmal so aus und außerdem habe ich auf dem Pollin-Evaluationsboard ohne weitere Beschaltung exakt das selbe gemessen: http://www.pollin.de/shop/dt/MTY5OTgxOTk-/Bausaetze_Module/Bausaetze/ATMEL_Evaluations_Board_Version_2_0_1_Bausatz.html Ich benutze jetzt nicht mehr den Komparator des uC, sondern einen LM358 (auf dem Bild IMG_0370k.jpg oben rechts zu sehen), einen NAND Schmitt-Trigger und den Interrupt-Eingang des uC. Das ganze auf dem selben Steckbrett wie zuvor und das Ergebnis ist absolut sauber. Maximal 10 mV Störungen am OpAmp. Wenn das Steckbrett so saumäßig wäre, hätte ich dieses Ergebnis mit einem LM358 nicht erreichen können. Gruß, Volker
Volker U. schrieb: > gemacht. Aber bitte keine Bemerkungen wie: "Ja, bei dem Drahtverhau > ist es ja kein Wunder...". Oh doch! > Ein Steckbrett in der Testphase sieht nunmal so aus Stimmt schon... > und außerdem habe ich auf dem Pollin-Evaluationsboard ohne > weitere Beschaltung exakt das selbe gemessen: Glaubst du nicht, dass die Flachbandkabel ein Übersprechen begünstigen?
>Receiver.sch.png.
Als was arbeitet IC1C da eigentlich? Das sieht irgendwie falsch aus;)
Hi >Er misst also das selbe wie ich. Irgendwie fallen mir zu deinen 'Messeungen' Beitrag "Re: Atmega 328: PWM-Ausgang streut auf andere Eingänge?!" Unterschiede auf. Oder brauche ich eine neue Brille? Belastet sieht das so aus: Beitrag "Re: Atmega 328: PWM-Ausgang streut auf andere Eingänge?!" Die Schwingungen bei SCR00001 resultieren aus den relativ langen Zuleitungen zum Poti. Du solltest nicht alles für deine krude Theorie zurecht interpretieren. Störungen bei PWM an Timer0 sind übrigens auch an allen andern Ports vorhanden. Mach dir mal einen Reim drauf. >Was mir spontan auffällt: Deinem Linearregler fehlt eine Freilaufdiode >... >Eine Diode 1N4001 o.ä. von VO nach VI löst das >Problem. >Fällt mir nur so auf, weil unser Industrieelektronik-Prof da mindestens >einmal im Monat drauf rumgeritten ist. lach Diese 'Angstdiode' ist in 90% oder mehr Anwendungen unnötig. Das dir aber in Clydes Schaltung der unsinnig große Elko nach dem Regler nicht aufgefallen ist lässt schon gewisse Rückschlüsse zu. MfG Spess
Volker U. schrieb: > Ich bekomme von einem Dosimeter Impulse mit einer Höhe von > ca. 200 mV, die ich direkt zählen will. Ich wollte mir den Verstärker > sparen und dafür den Komparator nehmen. Und hast Du es mal ausprobiert oder vermutest Du nur, daß es nicht geht? 200mV sollte kein Problem sein. Ein Störsignal muß ja einen CPU-Zyklus lang sein, damit ein Interrupt ausgelöst wird. Man kann aber auch den Input-Capture Interrupt nehmen und dann den Noise-Canceler einschalten. Oder man nimmt den ADC-Multiplexer, damit nicht der Nachbarpin der PWM sondern ein anderer an den Komparator geht. Der Hauptteil der Störungen wird nämlich einfach durch die kapazitive Kopplung auf Deiner Platine kommen. Es könnte daher schon helfen, um den Eingang einen Guard-Ring an GND zu legen. Lösungsmöglichkeiten gibt es also viele, ohne einen zusätzlichen Komparator. Peter
Magnus Müller schrieb: >> gemacht. Aber bitte keine Bemerkungen wie: "Ja, bei dem Drahtverhau >> ist es ja kein Wunder...". > > Oh doch! Neee, weil ich in wesentlich weniger "verwurstelter" Umgebung die selbe Messung gemacht habe. Und spess53 ebenfalls das selbe gemessen hat in seiner Umgebung. >> und außerdem habe ich auf dem Pollin-Evaluationsboard ohne >> weitere Beschaltung exakt das selbe gemessen: > > Glaubst du nicht, dass die Flachbandkabel ein Übersprechen begünstigen? Beim Pollin-Board gibt es keine Flachbandkabel! Und in der Intensität wäre das auch gar nicht möglich, sonst könnte man mit zwei 10 cm langen, gerade nebeneinander liegenden Kabeln bei 16 kHz Frequenz und 1V Spannung locker eine Leistung von 1 mW übertragen. Das wäre schön, wenn das ginge! (Oder auch nicht - je nach Aufgabenstellung ;) Tschö, Volker
spess53 schrieb: > Beitrag "Re: Atmega 328: PWM-Ausgang streut auf andere Eingänge?!" > Unterschiede auf. Oder brauche ich eine neue Brille? Unterschiede gibt es. Allerdings nur geringfügige beim belasteten Eingang. Seltsam ist nur, dass wir immer die selben Spannungen messen, in verschiedenen Testaufbauten. Und das auch ohne eine lange Zuleitung zum Poti. Kannst du das erklären? > Störungen bei PWM an Timer0 sind übrigens auch an allen andern Ports > vorhanden. Mach dir mal einen Reim drauf. Ja, aber da sind die Störungen nur etwa 1/10 so stark. Wie erklärst du das? > Diese 'Angstdiode' ist in 90% oder mehr Anwendungen unnötig. Wenn du meinen Beitrag gelesen hast, wirst du festgestellt haben, dass ich schrieb, dass es davon abhängt, wie schnell die Eingangsspannung sinken kann. Dass in 90% der Fälle ein großer Ladekondensator vorm Eingang liegt heißt nicht, dass die restlichen 10% irrelevant wären. > Das dir > aber in Clydes Schaltung der unsinnig große Elko nach dem Regler nicht > aufgefallen ist lässt schon gewisse Rückschlüsse zu. Unsinnig heißt nicht, dass es falsch oder störend ist. Zitat: "Ein großer C4 verbessert das Verhalten bei Lastwechseln oder fängt kurze Lastspitzen ab und reduziert die Restwelligkeit auf der Ausgangsspannung. Nachteilig ist der verlangsamte Spannungsanstieg beim Einschalten." (http://de.wikipedia.org/wiki/Spannungsregler). Dem würde ich zustimmen. Wegen dieses relativ großen Elkos war ich auch überhaupt auf die Idee mit der Schutzdiode gekommen :-p
Volker U. schrieb: > Nachteilig ist der verlangsamte Spannungsanstieg beim > Einschalten." (ttp://de.wikipedia.org/wiki/Spannungsregler). Ach, und Wikipedia wo jeder was reinschreiben darf ist jetzt die Referenz fuer Spannungsregler und nicht mehr die Datenblaetter der Hersteller?
Peter Dannegger schrieb: > Volker U. schrieb: >> Ich bekomme von einem Dosimeter Impulse mit einer Höhe von >> ca. 200 mV, die ich direkt zählen will. Ich wollte mir den Verstärker >> sparen und dafür den Komparator nehmen. > > Und hast Du es mal ausprobiert oder vermutest Du nur, daß es nicht geht? Natürlich habe ich es ausprobiert! Da der uC 3000 Impulse pro Sekunde zählte, habe ich mich geringfügig gewundert und festgestellt, dass auf dem Komparator-Eingang eine fröhliche 16 kHz-Schwingung mit etwa 1 Vss vom PWM-Ausgang liegt. Und dann erst habe ich die weiteren Messungen in einer anderen Testumgebung gemacht. Da kamen dann ca. 400 mVss raus. > 200mV sollte kein Problem sein. Ein Störsignal muß ja einen CPU-Zyklus > lang sein, damit ein Interrupt ausgelöst wird. Leider ist es das. > Oder man nimmt den ADC-Multiplexer, damit nicht der Nachbarpin der PWM > sondern ein anderer an den Komparator geht. Das geht nicht, weil ich am ADC eine Dauermessung mache und den nicht immer an den Komparator umschalten kann. > Der Hauptteil der Störungen wird nämlich einfach durch die kapazitive > Kopplung auf Deiner Platine kommen. Es könnte daher schon helfen, um den > Eingang einen Guard-Ring an GND zu legen. Da ich auf unterschiedlichen Platinen (nicht nur meinem Steckbrett, sondern auch dem STK500 und dem Pollin Evaluationsboard) immer die selben Störungen gemessen habe, verzichte ich auf weitere Experimente und nehme jetzt einen separaten OpAmp und einen Interrupt-Eingang am uC. Das funktioniert schon sehr zuverlässig und ohne jede Störung. Das mit dem Guard-Ring kann man ja mal ausprobieren, wenn man Zeit und Lust hat, sich für diesen Test extra Platinen zu ätzen.
Helmut Lenzen schrieb: > Volker U. schrieb: >> Nachteilig ist der verlangsamte Spannungsanstieg beim >> Einschalten." (ttp://de.wikipedia.org/wiki/Spannungsregler). > > Ach, und Wikipedia wo jeder was reinschreiben darf ist jetzt die > Referenz fuer Spannungsregler und nicht mehr die Datenblaetter der > Hersteller? Wuaaaah! Die Datenblätter der Hersteller geben bei den Kondensatoren Minimalbedingungen an. Das heißt nicht, dass diese in jeder Umgebung auch optimal funktionieren. Der allgemein formulierte Satz bei Wikipedia verliert deshalb nicht seine Berechtigung. Dass dort jeder schreiben darf heißt ja nun nicht, dass alles dort falsch ist. Sonst könnte man diese Website hier ja auch gleich schließen. :-p
@Volker Offensichtlich hast du Recht mit deinen Vermutungen bezüglich eines Übersprechens. Nun sollte für dieses Problem eine Lösung gefunden werden, anstatt hier weiter rumzulamentieren. Was passiert wenn du einen Kondensator an den Komparator anschließt. Welche Rolle spielt die PWM Frequenz. Lass dich bitte nicht von den Leuten hier ärgern, natürlich wird man hier als unfähig hingestellt, gerade wenn man solche Fehler wie "AVR Konstruktionsfehler" behauptet. Also, such lieber nach einer Lösung, als dich mit den Leuten hier zu zoffen... Ingo
Ingo schrieb: > Offensichtlich hast du Recht mit deinen Vermutungen bezüglich eines > Übersprechens. Nun sollte für dieses Problem eine Lösung gefunden > werden, anstatt hier weiter rumzulamentieren. Hi Ingo! Danke, so sehe ich das auch. > Was passiert wenn du einen Kondensator an den Komparator anschließt. Das habe ich noch nicht probiert. Ein Kondensator am Eingang kommt bei mir nicht in Frage, weil ich am Eingang nur ca. 4 ms lange Impulse habe, die ich messen will und die von einem Kondensator weitgehend weggeschluckt würden. Es sei denn, ich mache den Kondensator sehr klein, aber dann hilft er wieder nicht gegen die Störungen! :( Da Atmel beim Komparator eine Auflösung von 2 MHz angibt (Handbuch Atmel: Analog Comparator Propagation Delay: 500 ns.), sollte es auch ohne Kondensator gehen, denn mit einem Kondensator ist eine solche Auflösung niemals zu erreichen. Bei langsamen Messungen wäre das vielleicht eine Lösung. > Welche Rolle spielt die PWM Frequenz. Habe ich noch nicht getestet. > Lass dich bitte nicht von den Leuten hier ärgern, natürlich wird man > hier als unfähig hingestellt, gerade wenn man solche Fehler wie "AVR > Konstruktionsfehler" behauptet. Grins, das habe ich bemerkt, als ich mal einen Fehler in allen Atmel-Handbüchern für Automotive-Chips gefunden und hier veröffentlicht habe und mich darüber beschwerte, dass Atmel den Fehler in den neuen Auflagen nicht korrigiert hat, obwohl sie mir ca. ein Jahr vorher mitgeteilt hatten, dass der Fehler an die Dokumentationsabteilung weitergleitet wurde. Da war ich dann das schwarze Schaf, weil ich es gewagt hatte, diesen Fehler öffentlich anzuprangern. Von einigen Usern wurde sogar die Mathematik umdefiniert (Strichrechnung vor Punktrechnung), um den Fehler von Atmel als richtig darzustellen. :-) Oder es wurde gesagt, dass Atmel einfach besseres zu tun hätte, als einen Fehler im Handbuch zu korrigieren, den jeder Idiot auf den ersten Blick erkennen könne...
Hi >Wuaaaah! Die Datenblätter der Hersteller geben bei den Kondensatoren >Minimalbedingungen an. Das heißt nicht, dass diese in jeder Umgebung >auch optimal funktionieren. Deswegen schreiben die Hersteller auch solche Sätze in ihr Datenblatt: Although no output capacitor is need for stability, it does improve transient response. MfG Spess
Volker U. schrieb: >> 200mV sollte kein Problem sein. Ein Störsignal muß ja einen CPU-Zyklus >> lang sein, damit ein Interrupt ausgelöst wird. > > Leider ist es das. Und mal mit dem Noise-Canceler probiert? Dann muß die Störung ja 4 Zyklen lang anliegen. Peter
spess53 schrieb: > Deswegen schreiben die Hersteller auch solche Sätze in ihr Datenblatt: > > Although no output capacitor is need for stability, it does improve > transient response. Richtig. Aber in diesem Fall ist der Größe des Kondensators nach oben keine Grenze gesetzt, obwohl ich es nicht übertreiben würde. Zu große Kondensatoren belasten den Regler unnötig und machen die Schaltung u.U. wegen zu langsamen Spannungsanstiegs instabil oder verhindern ein Starten des Controllers. Man denke an die Start-Up-Time des Prozessors. Doch 470 uF sind sicher nicht zu groß. Maxim empfiehlt bei seinem MAX232 auch 1 uF und in fast jeder realen Schaltung werden 10 uF eingesetzt. Z.B. auch beim STK500. Gruß, Volker
Peter Dannegger schrieb: > Und mal mit dem Noise-Canceler probiert? > Dann muß die Störung ja 4 Zyklen lang anliegen. Ich habs nicht mehr probiert, weil ich mich dann schon für den OpAmp entschieden hatte, der letzlich auch eine zuverlässigere Messung erlaubt. Auch dann noch, wenn die Batterie des Dosimeters langsam ihrem Ende entgegen geht und die Impulse schwächer werden. Aber ich werde das auf dem Evaluationsboard mal testen. 4 Zyklen (= 1 us bei meinen 4 MHz) könnten hinkommen, weil die Störimpulse eine Länge von etwa 100 ns haben, wenn ich mich recht entsinne. Ich werds mal testen. Danke, dass du nochmal drauf hingewiesen hast! Ich hätte es sonst schon fast abgehakt :). Tschaui, Volker
Ich hab noch ne Idee. Man kann doch AIN0/1 vertauschen. Der Software ist es doch egal, ob der Impuls Pegel 0 oder 1 ist. Also die Referenz an AIN0, dann kann man dort einen Kondensator anschließen. Und dafür AIN1 als Eingang, dann ist quasi der AIN0 signalmäßig ein Schirm. Peter
Peter Dannegger schrieb: > Also die Referenz an AIN0, dann kann man dort einen Kondensator > anschließen. Und dafür AIN1 als Eingang, dann ist quasi der AIN0 > signalmäßig ein Schirm. Stimmt, das ist eine Idee. Man müsste mal messen, wie es dann mit den Störungen aussieht. Aber mit dem OpAmp bin ich jetzt deutlich glücklicher. Da kann ich die Verstärkung bedarfsgerecht einstellen, was ein großer Vorteil ist. Dadurch funktioniert der Impulszähler nun mit Versorgungsspannungen zwischen 5 und 3 Volt. Das wäre sonst nicht möglich gewesen. Bei Batteriebetrieb ein großer Vorteil. Gruß, Volker
Es wäre interessant, diesen Effekt mal zwischen verschieden alten Chips zu vergleichen. Ich denke da an die Bestrebungen der meisten Chiphersteller (und Atmel gehört dazu) die Strukturen immer weiter zu verkleinern, wodurch zwangläufig Übersprecheffekte verstärkt auftreten. Es war ja schon bei älteren Revisionen bekannt, das z.B. unbeschaltete AD Eingänge von ihren Nachbarn 'mitgezogen' wurden, was vermutlich aber am Sample-C und dem Umladen innerhalb des Multiplexers lag. Die neueren 'V' Typen (1,8 Volt) und ihre 3,3 V Vorgänger wären mal ein interessanter Vergleich und der ganze Übersprechvorgang könnte evtl. sogar dazu herangezogen werden, den Herstellungsprozess und Revisionen 'von aussen' festzustellen.
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.