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
> 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.
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.
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.