Hallo Leute! Ich habe hier eine Schaltung in LTSpice aufgebaut, in der ich einen DAC durch eine PWM nachbilden will und damit anschließend eine 4-20mA Schleife steuern will. In der Schaltung wird ein Offset von 3mA vorgegeben und dann soll zwischen 3 und ca. 22mA mittels PWM geregelt werden. Ich habe also mal für verschiedene Duty-Cycles die Graphen anzeigen lassen. PWM-Frequenz ist 60Hz (geht nicht anders, Taktfrequenz des uCs ist nur 1MHz) - die Periodendauer beträgt also rund 16ms. Gezeigt werden hier Schritte von 0 bis 16ms in Schritten von 1ms. Aber die Abstände sind nicht gleich, finde ich. Woran liegt das und wie kann man das beheben? Ferdinand
Nachtrag - ich habe hier noch den Eingang der Pulsquelle - da ist doch auch irgendwas nicht ganz normal. Muss ich an rise- und fall-Time was verändern? Ich hatte da mal ein bisschen dran herumgespielt, aber dann kam teilweise auch ein seltsames Signal heraus.
Hier ist nochmal ein Bild vom Ausgang der Pulsquelle. Was ist denn da los?
Kann es sein, dass das an meinem Maximum TimeStep hängt?
OK, scheint ja eine Alleinunterhaltung zu sein ;-) Falls dennoch einer reinguckt - ich habe noch ein anderes Phänomen, dass ich viel wichtiger finde. Ich habe jetzt alle Tastverhältnisse zwischen 0 und 100% in 1ms Schritten durchgemacht und mir den Ausgangsstrom angeguckt. Von 0 - 50% (0ms - 8ms) ist im Ausgangsstrom stets eine Schrittweite von 1,512x mA zu sehen. Dann von 8ms auf 9ms ist die Schrittweite plötzlich nurnoch 1,237x mA und das zieht sich auch konstant bis zum Ende durch. Da ist also in der Mitte des Tastverhältnisses plötzlich ein Knick drin - ist der simulationsbedingt, oder hat das physikalische Gründe? Wenn mir einer das jetzt beantworten könnte, wäre ich wirklich sehr sehr dankbar!
Ich hole das nochmal hoch - ich hoffe immernoch, irgendwer kann mir da eineen Raut zu geben. Kann ich mit einer PWM einen linearen DAC aufbauen, oder macht mir die Ladekurve des Kondensators da einen Strich durch die Rechnung?
Ferdinand schrieb: > Von 0 - 50% (0ms - 8ms) ist im Ausgangsstrom stets eine Schrittweite von > 1,512x mA zu sehen. > > Dann von 8ms auf 9ms ist die Schrittweite plötzlich nurnoch 1,237x mA > und das zieht sich auch konstant bis zum Ende durch. Sieht so aus, als wenn etwas in die Begrenzung geht. Schau Dir doch an, ob die Spannungen vor bzw. nach den einzelnen Stufen noch linear sind. Zumindest nach R14/C7 sollte noch alles recht proportional zum Tastverhältnis sein.
Hast du Angst die Schaltung kurz aufzubauen ? Sieht doch recht gut aus fuer die simple Wandlung. Ich hasse Simulatoren ... sind genau so gut wie wenn man Mist misst. Hoch leben die Empiriker ;-) Vor Weihnachten schaffst du das.
Oder fang es etwas einfacher an - simulier erstmal nur den Tiefpass und wähle die Werte so, das du ein möglichst 'ripple' freies 0V bis 3,3 Volt Signal am Ausgang bekommst, denn du möchtest ja vermutlich die 60 Hz am Ausgang nicht sehen. Ausgangsimpedanz der treibenden PWM spielt hier auch eine Rolle. Die Anpassung an die Stromschleife kommt dann später.
Edi R. schrieb: > Sieht so aus, als wenn etwas in die Begrenzung geht. Also das denke ich nicht, ich habe die Potentiale an allen Punkten kontrolliert - das passt. Auf den vorherigen Bildern sieht man lediglich, dass der vorletzte und der letzte Plot in die Begrenzung gehen, weil der letzte OP da nicht mehr genug Aussteuerpsannung für den Transistor haben. Aber das habe ich behoben. Edi R. schrieb: > Zumindest nach R14/C7 sollte noch alles recht proportional zum > Tastverhältnis sein. Hier ist mal ein Plot vom RC-Tiefpass - grün ist nach der ersten Stufe, blau nach der zweiten. Einmal vom kompletten Verlauf und einmal als Ausschnitt, wo sich die Spannungen quasi gesetzt haben. Das sieht eigentlich ganz gut aus. Periodendauer sind 16ms, jeweils in Schrittweite von 1ms von 1ms bis 16ms. Rigi Taler schrieb: > Hast du Angst die Schaltung kurz aufzubauen ? Natürlich nicht, nur wenn ich vorher schon sehen kann, dass ich komplett auf dem Holzweg bin, dann probier ich lieber noch ein wenig herum - aufbauen werde ich das ganze gleich noch. Rigi Taler schrieb: > Ich hasse Simulatoren Ich würde nicht sagen, dass ich sie hasse, aber manchmal denke ich, dass man sich damit auch gut selbst verarschen kann (wenn man es nicht richtig macht). Matthias Sch. schrieb: > wähle die Werte so, das du ein möglichst 'ripple' freies 0V bis 3,3 Volt > Signal am Ausgang bekommst Das habe ich hier nach dem zweiten TP eigentlich schon. Am Ausgang schwankt der Strom nur um paar 100nA. Matthias Sch. schrieb: > Ausgangsimpedanz der treibenden PWM spielt hier > auch eine Rolle. Ja klar, aber die Simulation hat ja erstmal keine. Noch eine andere Frage: Ich benutze den internen DCO vom Controller - der schwankt ja je nach Temperatur und Exemplar schon ein wenig. Das müsste aber doch theoretisch egal sein, da auch das Tastverhätnis gleichermaßen variiert, oder sehe ich das falsch? Danke auf jeden Fall schonmal für die Rückmeldungen!
Mit den 3mA Offset bekomme ich jedenfalls eine höhere Auflösung für die restliche Spanne. Wegen den Bauteiltoleranzen gehe ich nicht auf 4mA, sonst liege ich evtl. schon drüber und nach unten geht ja nicht. Jetzt kann ich zwischen 3mA und 22mA per PWM regeln. Vom 16Bit Timer bei 1MHz Taktfrequenz nutze ich effektiv 14Bit, der Timer-Wert geht also bis 16384. Daruas resultieren die 60Hz. Meine Spanne von 19mA kann ich THEORETISCH also mit 1,15uA auflösen.
So, ich habe mir den Plot jetzt mal auf A3 ausgedruckt und mit 'nem Lineal nachgemessen - auch hier sehe ich von 1-8ms jeweils einen Abstand zwischen den Spannungskurven (nach dem 2. TP) von 2,3cm und von 8-16ms einen Abstand von 1,9cm. Also der Ausgangsstrom liegt definitiv am Wechsel Duty-Cycle<8<Duty-Cycle. Nur weiß ich jetzt halt nicht, ob das an der Simulation liegt - ich glaube es langsam...weil ich es mir nicht erklären kann, wieso das so sein sollte.
So Mädels - ich hab's jetzt. Das ist ein Simulationsproblem. Ich habe die Anstiegs-/Abstiegszeit der Quelle etwas variiert, sthet jetzt jeweils auf 100ps. Jetzt sind alle Abstände gleich. Trotzdem interessantes Problem, aber keine Idee, wieso!
...ist ein Simulationsproblem ? Bei einer derartigen Schaltung kann man doch nichts falsch machen. Verstehst du 'was von Elektronik...oder nur 'was von Simulation ? Zeit verplempern und Geistern nacheilen...ist auch Arbeit ;-)
Ferdinand schrieb: > So Mädels - ich hab's jetzt. Das ist ein Simulationsproblem. Nee leider nicht: rechne die e-Funktion doch mal nach: Vereinfacht als Tiefpaß 1. Ordnung mit 100ms Zeitkonstante bei 16 ms Periode ergibt sich bei 80.00% PWM und 5.000V Versorgung eine mittlere Ausgangsspannung von ca 4001 mV. Wie kannst Du bei einer so nichtlinearen Funktion wie es die e-Funktion ist erwarten daß etwas lineares herauskommt? Das geht nur dann wenn die Periodendauer genügend kurz gegenüber der Zeitkonstanten ist. Dein Tiefpaß ist hierfür völlig unterdimensioniert. Gruß Anja
Ferdinand schrieb: > Das > müsste aber doch theoretisch egal sein, da auch das Tastverhätnis > gleichermaßen variiert, oder sehe ich das falsch? Nee, das ist völlig richtig. Frequenzänderungen haben keinen Einfluss auf das Tastverhältnis, wenn der Oszillator nicht gerade 'springt' - und das tut er mit Sicherheit nicht. Ferdinand schrieb: > Matthias Sch. schrieb: >> Ausgangsimpedanz der treibenden PWM spielt hier >> auch eine Rolle. > > Ja klar, aber die Simulation hat ja erstmal keine. Ferdinand schrieb: > Ich habe > die Anstiegs-/Abstiegszeit der Quelle etwas variiert, sthet jetzt > jeweils auf 100ps. Jetzt sind alle Abstände gleich. Lol, und ich sach noch ... Natürlich hängt die Anstiegszeit von der Ausgangsimpedanz der PWM ab. Je power, desto steil.
Ferdinand schrieb: > So Mädels - ich hab's jetzt. Das ist ein Simulationsproblem. Ich habe > die Anstiegs-/Abstiegszeit der Quelle etwas variiert, sthet jetzt > jeweils auf 100ps. Jetzt sind alle Abstände gleich. > > Trotzdem interessantes Problem, aber keine Idee, wieso! Du hast in deiner ursprünglichen Schaltung für die Anstiegs und Abfallszeiten jeweils 0 eingetragen. LTSpice rechnet aber in diesem Fall nicht mit 0, sondern setzt einen Standardwert ein. Dieser ist in der Regel "1m". Ist z.B. bei einer Spule ebenso: Wenn du beim Innenwiderstand 0 eingibst, rechnet LTSpice automatisch mit 1m. Ebenso mit dem ESR eines Kondensators. Michael
Anja schrieb: > Wie kannst Du bei einer so nichtlinearen Funktion wie es die e-Funktion > ist erwarten daß etwas lineares herauskommt? Hallo Anja! Ich freue mich ja generell über jeden Beitrag, aber wenn er nur aus Kritik besteht, dann hilft mir das natürlich auch nicht weiter. Anja schrieb: > Das geht nur dann wenn die > Periodendauer genügend kurz gegenüber der Zeitkonstanten ist. > Dein Tiefpaß ist hierfür völlig unterdimensioniert. Dann sei doch mal so gut und hilf mir ein wenig auf die Sprünge - wie meinst du das oder wie sollte ich es verändern? Ich habe die Schaltung jetzt mal aufgebaut - folgendes Ergebnis: Mittels try & error habe ich erstmal die PWM-Werte für 4 und 20mA ermittelt und im Controller gespeichert. Diese Werte bringen mir jetzt exakt 4,000 und 20,000mA. Um die Linearität des ganzen zu testen, habe ich jetzt also im Controller Zwischenwerte errechnet und mir ausgeben lassen - Resultat: Jeder Wert stimmt...und jetzt ohne Scheiß...auf ca. 1uA genau! Da bin ich selber verblüfft. Die ganze Geschichte ist also erstmal höchst linear, wenn man bedenkt, wie einfach die ganze Geschichte gehalten ist. Wie sich das alles unter Temperatur verschiebt ist noch eine andere Geschichte. Auf jeden Fall bringt mir eine Duty-Cycle-Erhöhung um 1 ca. 1,1 uA Ausgangsstromerhöhung. Problem der ganzen Geschichte ist noch das sehr sehr langsame Ansprechverhalten - der Endwert benötigt teilweise zwischen 2 und 10s, bis er wirklich seinen Sollwert erreicht hat. Wackeln tun die Werte auch nur um ca. 1uA. Jetzt muss ich mal gucken, wo ich noch Cs verkleinere, um die Regelung etwas zu beschleunigen und dabei den Ausgang kontrollieren auf Restwelligkeit. Aktuell messe ich am Ausgang über dem Transistor ca. 50kHz mit einer Amplitude von 20mV - das ist natürlich nicht so schön...aber die messe ich auch, wenn ich das Oszi nur ans Netzteil anschließe - die kommen also daher :-\ So, ersmtal soviel zum aktuellen Stand. Über Anmerkungen bin ich weiterhin dankbar! Ferdinand
Ferdinand schrieb: > Ich freue mich ja generell über jeden Beitrag, aber wenn er nur aus > Kritik besteht, dann hilft mir das natürlich auch nicht weiter. > > Anja schrieb: >> Das geht nur dann wenn die >> Periodendauer genügend kurz gegenüber der Zeitkonstanten ist. >> Dein Tiefpaß ist hierfür völlig unterdimensioniert. Wenn das kein Wink mit dem Zaunpfahl ist wie es richtiger wäre dann versteh ich die Welt net mehr. Ferdinand schrieb: > Jetzt muss ich mal gucken, wo ich noch Cs verkleinere, um die Regelung > etwas zu beschleunigen und dabei den Ausgang kontrollieren auf > Restwelligkeit. Das ist genau die Falsche Richtung damit wird das ganze wieder stärker nichtlinear. Du brauchst für hohe Linearität entweder eine höhere PWM-Frequenz oder eine höhere Zeitkonstante. Ferdinand schrieb: > Jeder Wert stimmt...und jetzt ohne Scheiß...auf ca. 1uA genau! Du hast aber hoffentlich kein Meßgerät mit Sigma-Delta-Wandler das jetzt genau den nichtlinearitäts-Fehler Deines Aufbaus bei der Messung nachempfindet ????? Nach meiner Überschlagsrechnung müßtest du bis zu 5uA Linearitätsabweichung haben. Gruß Anja
Hi Anja! Anja schrieb: > Das ist genau die Falsche Richtung damit wird das ganze wieder stärker > nichtlinear. Du brauchst für hohe Linearität entweder eine höhere > PWM-Frequenz oder eine höhere Zeitkonstante. OK, macht bei näherer Überlegung Sinn, danke! Kannst du mir denn einen Anhaltspunkt geben, wie die Zeitkonstante sein sollte, bzw. hast du eine Grundlage, nach der ich das berechnen kann? Anja schrieb: > Du hast aber hoffentlich kein Meßgerät mit Sigma-Delta-Wandler das jetzt > genau den nichtlinearitäts-Fehler Deines Aufbaus bei der Messung > nachempfindet ????? Sorry, das kann ich grad nicht nachvollziehen. Kannst du mir das genauer erläutern? Ich messe hier mit meinem Tischmultimeter, nach welchem Prinzip der arbeitet, kann ich nicht sagen. Inwiefern empfindet der Sigma-Delta-Wandler denn die nicht-Linearität nach? Der zeigt mir doch den gerade fließenden Strom an, Ende aus. Dachte ich zumindest - wie ist es wirklich? Anja schrieb: > Nach meiner Überschlagsrechnung müßtest du bis zu 5uA > Linearitätsabweichung haben. Wie funktioniert deine Überschlagsrechnung? 5uA wären ja auch noch voll in Ordnung - trotzdem wäre ich an der Berechnung interessiert. Gruß und danke! Ferdinand
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.





