Hallo, Im Anhang findet ihr den untersuchten Teil meiner Schaltung. Die gesamte Schaltung besteht aus einem Mega328p mit 20Mhz (mit entsprechendem 3,3V Regler), drei Zetex-Treibern für RGB-LEDs und einem 10V Linearregler für die 1-10V Schnittstelle. Letzteres ist im Anhang zu sehen. Die 10V (die an einem elektronischen Dimmer hängen) sind über einen Spannungsteiler mit einem AD-Pin verbunden. Nun zu meinem Problem: Ich habe festgestellt, dass der AD-Wert ziemlich stark schwankt und ich somit zu große Schwellen für die Erkennung einer Dimmer-Änderung hätte machen müssen. Deshalb habe ich die Schaltung mit meinem Oszi betrachtet. Mir ist aufgefallen, dass ich direkt am AD-Pin zwei unterschiedliche Spitzen mit unterschiedlichen Frequenzen habe (siehe Anhang (2)). Die große Spitze kommt alle 10ms (100Hz) und die kleine ca. alle 3,2ms (~305Hz) vor. Die 305Hz könnte ich mir noch erklären, da meine PWM-Frequenz mit der ich die Zetex ansteuere 305Hz beträgt. Die 100Hz kann ich mir jedoch nicht erklären. Was noch komisch ist, dass ich vor dem Spannungsteiler (direkt an den 10V - (1)) keine Störungen drauf habe. Doch da ein Widerstand sowas nicht wegfiltert, müsste diese Störung dort ja auch sein, oder? Wo kommen diese Störungen her und wie könnte ich diese wegbekommen? Bin gespannt auf eure Antworten! lg Andy PS: Zuerst dachte ich die 100Hz sind vielleicht die doppelte Netzfrequenz, jedoch hab ich dann das PWM-Signal auf 480Hz erhöht. Die kleinen Spitzen sind dann auch auf 480Hz gestiegen und die großen auf ca. 150-170Hz.
20 MHz bei 3.3 V ist recht viel. Wenn die Widerstände relativ groß (> 30 K) sind, könnten die Störungen vom AD wandler kommen. Die größe kann davon abhängen welcher Kanal davor gemessen wurde. Abhilfe könnte ein Kondensator am AD Eingang schaffen. Wo die Störungen sonst noch herkommen können kann man so nicht sagen, da versagt die Glaskugel.
Hallo, Also, der obere Widerstand des Spannungsteilers vorm AD-Wandler beträgt 33k und der untere 18k. Könnte das ein Problem sein? Einen Kondensator hab ich schon versucht (mit 100nF) - hat nix geholfen! mfg
Hallo, schon bedacht:? Wenn du die 10V misst hast du doch bestimmt einen anderen Messbereich, so dass die Spitzen auf dem Bildschirm kleiner ausfallen. Und sie werden kleiner durch den Widerstand, weil da ja eine Spannung abfällt. Stell dein Oszilloskop mal ausf AC messung. Hast du denn den µC ordentlich mit Abblockkondensatoren von VCC nach GND ausgestattet? Die haben ja schließlich den Auftrag Spannungsspitzen im Schaltmoment zu verringern.
Hallo, Danke für den Hinweis - habe soeben nachgemessen (mit AC): gleiches Phänomen - Spitzen am AD-Wandler, jedoch schönes Signal bei den 10V. Abblockkondensatoren zwischen VCC und GND sind vorhanden. lg
Woher kommen deine 48V? Schon bedacht, dass Wechselspannung mit 50 Hz über einen Zweipulsbrückengleichrichter eine Wechselspannung mit 100 Hz ergibt? Ist vielleicht der Glättungskondensator vor dem LM317 zu klein ausgelegt?
Wie gesagt, dass dachte ich auch schon. Aber als ich die PWM-Frequenz veränderte, waren es auch keine 100Hz mehr! Und außerdem müssten (nach deiner Theorie) die Spitzen dann auch an den 10V anliegen, oder? lg
Guten Morgen, So, ich habe nun noch etwas rumprobiert: Wenn ich den AD-Wandler, an dem indirekt der Dimmer hängt, deaktiviere, sind die Störungen weg. Hält das irgendjemand für plausibel? Was kann ich dagegen tun? lg
Reduziere mal Deinen Takt auf die bei 3,3V maximalen ~12MHz. Vorher hat NICHTS irgendeinen Sinn.
Also, laut Datenblatt bewege ich mich im gültigen Bereich! Speed Grade: 0 - 20 MHz @ 1.8 - 5.5V lg
> Also, laut Datenblatt bewege ich mich im gültigen Bereich!
Laut DB garantiert nicht, musst auch richtig kucken, Seite 399, "Active
Supply Current vs. Frequency (1-20 MHz)", bei 3,3V ist bei etwas über
12MHz Schluss.
OK, geb ich euch recht - ich habe nur die Titelseite gelesen (die ich jetzt etwas verwirrend halte). Aber nachdem sonst alles einwandfrei funktioniert und ich die 20MHz brauche, werde ich am Takt nichts ändern. Ein neuer Versuch zeigt: Ich habe den Spannungsteiler am AD-Pin nun kleiner dimensioniert und siehe da: Die Spitzen sind weg. Nur will ich noch wissen warum. Hat irgendwer eine Erklärung dafür? lg
Hast du dir die Versorgungsspannungen VCC und AVCC des AVR schon mit dem Oszi angeschaut? Insbesondere AVCC sollte sehr glatt sein. Wenn nicht, schau nach, ob der Tiefpass aus 10µH und 100nF richtig angeschlossen ist und ob die Werte dieser Bauteile nicht aus Versehen eine Größenordnung zu klein sind. Wie üblich, müssen die Kondensatoren für VCC und AVCC mit ganz kurzen Leitungen am Controller angeschlossen sein. Wie hoch sind die Spitzen überhaupt, jeweils an VCC, AVCC und ADC-Ein- gang gemessen? > BTW: Was kann denn passieren, wenn ich mit 3,3V bei mit 20MHz takte? Ich hätte gesagt, die 20MHz bei 3,3V sind schon richtig. Wenn in dem Diagramm auf S. 399 kein typischer Stromverbrauch für diese Kombination angegeben ist, heißt das nur, dass Atmel ihn nicht gemessen hat oder ihn aus irgendwelchen Gründen nicht angeben will. Wenn bei einem OpAmp, der für 3V bis 30V Versorgungsspannung vorgesehen ist, der Stromverbrauch nur für 5V angegeben ist, heißt das ja nicht, dass man ihn nur mit 5V betreiben kann.
Tiefpass? Ich habe nur die geforderten 100nF an Vref und AVcc an Vcc. Stimmt das nicht?
Die maximal zulässige Taktfrequenz hängt von der Spannung ab. Bei 3.3 V sind halt nur rund 12 MHz garantiert. Bei mehr als 12 MHz kann es passieren der µC sich verrechnet, hängen bleibt oder ähnliches, vor allem wenn man gleichzeitig auch noch eine eher höhere Temeratur hat. Da sind aber auch relativ große Sicherheitsreserven drin: es wäre also nicht ungewöhnlich wenn es mir 3.3 V und 20 MHz bis 40 C schon geht. Einen echten Schaden am µC verurscht man damit aber nicht, schlimstensfalls wohl ein paar halb beschreibene EEPROM Zellen oder Fehler im Flash. Es kann ein paar kleine Störungen durch den AD wandler geben, zum samplen wird da schließlich eine kleiner Kondensator geladen. Das solle aber mit der Abtastrate des ADs kommen. Ist das Starten der AD wandlung mit der PWM Frequenz sysncron ? Störunge vom PWM Signal hängen davon ab was ander Leitung noch dran hängt. Bei viel Kapazität kann da schon einiges an Strom fleißen und störungen verursachen. Es ist auch wichtig zu sehen wo man die Masse hat. Wenn es das PWM signal ist (Welches ?), sollte man die Störung auch an einem anderen PIN wie VCC, AGND, AVCC finden.
> Tiefpass? Ich habe nur die geforderten 100nF an Vref und AVcc an Vcc. > Stimmt das nicht? Schau dir mal den Abschnitt "23.6.2 Analog Noise Canceling Techniques" im Datenblatt an. Da stehen noch weitere Tipps.
OK, aber warum verschwindet die Störung, wenn ich die Widerstände ändere?
Die Störungen, die aus dem Inneren des Controllers kommen, werden im Wesentlichen kapazitiv an den ADC-Eingang gekoppelt, da dieser sehr hochohmig ist. Die dafür verantwortliche parasitären Kapazitäten bilden mit dem Widerstand der an den ADC angeschlossenen Signalquelle (also 33k||18k) einen Hochpass. Wenn du die Widerstände kleiner machst, steigt die Grenzfrequenz dieses Hochpasses, so dass mehr Störungen weggefiltert werden. Ein Kondensator vom ADC-Eingang nach GND, wie von Ulrich vorgeschlagen, bildet mit den parasitären Kapazitäten einen kapazitiven Spannungsteiler und sollte die Störungen ebenso reduzieren. Er filtert insbesondere auch Störungen in höheren Frequenzbereichen heraus, in denen der o.g. Hochpass nicht mehr wirksam ist. Der Nachteil des Kondensators besteht höchstens darin, dass er mit den beiden Widerständen einen Tiefpass bildet und damit die maximal messbare Signalfrequenz verringert. Da die Störungen nicht nur auf diesem Weg die Messung verfälschen, sondern auch innerhalb des Controllers ihr Unwesen treiben, solltest du aber trotzdem für ein sauberes AVCC sorgen.
Es kann ja durchaus sein, daß der (oder Dein) 328 mit 20MHz@3.3V einwandfrei läuft. Muß aber nicht. Erster Schritt zur Fehlersuche muß also sein, ihn erstmal innerhalb der Spezifikation zu betreiben. Ist der Fehler dann NICHT weg, kannst Du mit der üblichen Vorgehensweise weitermachen (Ausgänge einen nach dem anderen abtrennen, mit VCC/AVCC spielen, neuen 328 nehmen, ...) Es macht doch überhaupt keinen Sinn zu Untersuchen, warum das Auto nicht den Berg hochkommt, wenn Du nicht einmal weißt, ob es auf ebener Strecke überhaupt fährt.
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.