. . Die Überlegung: mit einem AVR (Tiny/Mega...) einen Wert seriell einlesen und als Spannung ausgeben. Mit PWM und Filter eine -saubere- Gleichspannung 0...5 V erzeugen und daraus einen eingeprägten Strom (0..20mA) generieren. Geht das mit Timer1, bringt man damit eine Auflösung von 16 Bit zusammen. (die Wandlungsgeschwindigkeit ist Nebensache? Kurt (Wunsch: BASCOM) . .
:
Verschoben durch Moderator
Kurt Bindl schrieb: > Mit PWM und Filter eine -saubere- Gleichspannung 0...5 V erzeugen > und daraus einen eingeprägten Strom (0..20mA) generieren. Das sollte schon gehen, allerdings wird der Ausgang des AVR nicht direkt die 20mA liefern können, ohne das die 5 Volt etwas in die Knie gehen. Optimal wäre also ein dem PWM Filter nachgeschalteter OpAmp, der den PWM Ausgang des AVR nicht belastet. Als Spannungs/Strom Wandler nimmst du z.B. den Klassiker Widerstand, der Ausgangswiderstand des Opamp geht hier aber mit ein.
Matthias Sch. schrieb: > Kurt Bindl schrieb: >> Mit PWM und Filter eine -saubere- Gleichspannung 0...5 V erzeugen >> und daraus einen eingeprägten Strom (0..20mA) generieren. > > Das sollte schon gehen, Gute Nachricht. > allerdings wird der Ausgang des AVR nicht direkt > die 20mA liefern können, ohne das die 5 Volt etwas in die Knie gehen. > Optimal wäre also ein dem PWM Filter nachgeschalteter OpAmp, der den PWM > Ausgang des AVR nicht belastet. > Als Spannungs/Strom Wandler nimmst du z.B. den Klassiker Widerstand, der > Ausgangswiderstand des Opamp geht hier aber mit ein. Das ist schon klar, es soll eine Konstantstromquelle werden, also einer der vom R der Verbraucher und Leitungen unabhängig ist. Bei ebay gibts Wandler die 0..5V in 0..20 mA umsetzen, diese werden aber leider nur mit 12V betrieben, mir wären aber 24V lieber. Kurt
Vergiss 16 bit Genauigkeit 1) die Versorgungsspannung geht direkt rein. 2) bei 16MHz Timer ist die PWM Frequenz dann noch 256 Hz. Falls man mit 16 bit Aufloesung zufrieden ist, dh nicht diese Genauigkeit benoetigt, kann man Subcycling verwenden, und die PWM Frequenz trotz 16bit auf 64kHz belassen.
Warum nicht einen Controller und einen Separaten DAC? Das ist definitiv schneller (und Ripplefreier) als eine PWM ausm Controller. (und die 20mA Stromforderung erfüllt er auch) Z.B. http://www.ti.com/product/DAC161S997?keyMatch=DAC161S997&tisearch=Search-EN btw: Falsches forum
:
Bearbeitet durch User
Siebzehn Für Fuenfzehn schrieb: > 2) bei 16MHz Timer ist die PWM Frequenz dann noch 256 Hz. bitte was? Kannst du das mal bitte vorrechnen?
@ Vlad Tepesch (vlad_tepesch) >Siebzehn Für Fuenfzehn schrieb: >> 2) bei 16MHz Timer ist die PWM Frequenz dann noch 256 Hz. >bitte was? Kannst du das mal bitte vorrechnen? Grundrechenarten, Mathematik Klasse 5 oder so. 16.000.000 Hz / 2^16 = 16.000.000 Hz / 65536 = 244,1 Hz (naja, das oben war gerundet)
Kurt Bindl schrieb: > (die Wandlungsgeschwindigkeit ist Nebensache? Es kann also schon sein, das 240 Hz Wiederholfrequenz reichen und durch einen schönen Tiefpass gefiltert werden können. Es gibt übrigens auch spezielle V/A Konverter, wie den XTR110 von Burr Brown (jetzt TI). Die sind programmierbar auf 0-5 oder 0-10V Eingang und 0-20mA, 4-20mA Ausgang und werden mit 13,5V-40V gespeist: http://www.ti.com/lit/ds/symlink/xtr110.pdf
PWM zu U gibt es auch als Chip. Von Linear gibt es den LTC2645, der macht das gleich 4x. Noch einen U/I Wandler mit OPV danach und fertig.
. Die Überlegung sieht so aus. Den AVR mit stabilen 5V versorgen (ev. 5,5V), mit ihm eine Ausgangsspannung (über PWM) erzeugen die dann von diesem Baustein in ein Stromsignal umgesetzt wird. http://www.ebay.de/itm/201087638562?_trksid=p2060778.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT Da ist alles schon oben und ich brauch nicht lange eine eigene Schaltung mir zusammenbauen. Der Nachteil dass ich von nur 12V auszugehen (niedrige Bürde)habe ist nicht so tragisch, und wenn der AVR ev. nur 13 oder 14 Bit macht dann ist das auch kein Beinbruch, mit beidem komme ich zurecht. Was haltet ihr davon? Kurt
Kurt Bindl schrieb: > Was haltet ihr davon? Alles hängt davon ab, wie stabil die 5V des AVR sind und wie gut er die Betriebsspannungsgrenzen an den Ausgängen erreicht. Das ebay Dings läuft eben auch nur mit 12V, deswegen schlug ich den XTR110 vor, der aber zugegebenermassen ein Exot ist. Probiers einfach aus und mach die Vcc des AVR ein wenig einstellbar,so das du an den Ausgängen des MC exakt die 5V bekommst, denn kalibrieren kannst du das ebay Dings anscheinend nicht. Leider steht da auch kein Eingangswiderstand, so das du das PWM Filter erstmal frei Schnauze dimensionieren musst.
. Momentan überlege ich ob ich nicht einfach diese Schaltung nehmen sollte http://www.mikrocontroller.net/articles/Datei:Ksq_opv_mosfet.png Den FET und die Widerstände so nehmen dass sich ein Strom bis 25mA bei einer Eingangsspannung bei ca. 2V ergibt. Den AVR mit einer stabilen Spannung versorgen, die PWM sauber filtern und die Werte für 4 und 20mA durch Korrektur der PWM-Ansteuerungwerte eineichen. Bei dieser Schaltung kann man dann auch höher Treiberspannungen einsetzen und die Temperaturstabilität hängt nur vom OP ab. Dieser kann auch gleich als Teil des Rippelfilters mitverwendet werden. Bei Verwendung eines Optokopplers der die PWM vom AVR entkoppelt ist auch ein galvanisch getrennter Aufbau leicht zu realisieren. Schauma mal was sich noch so alles ergibt. Kurt (kann man unter BASCOM Soft-PWM generieren oder geht das nur mit echten Timern?)
:
Bearbeitet durch User
@ Kurt Bindl (kurt-b) >Momentan überlege ich ob ich nicht einfach diese Schaltung nehmen sollte >http://www.mikrocontroller.net/articles/Datei:Ksq_... Kann man machen. >Den FET und die Widerstände so nehmen dass sich ein Strom bis 25mA bei >einer Eingangsspannung bei ca. 2V ergibt. Kann man machen. >Den AVR mit einer stabilen Spannung versorgen, die PWM sauber filtern >und die Werte für 4 und 20mA durch Korrektur der PWM-Ansteuerungwerte >eineichen. "eineichen" gibt es nicht. Eichen tut nur das Eichamt. Du kannst das bestenfalls rausrechnen. >Bei Verwendung eines Optokopplers der die PWM vom AVR entkoppelt ist >auch ein galvanisch getrennter Aufbau leicht zu realisieren. Ja. >(kann man unter BASCOM Soft-PWM generieren Kann man, ist aber nicht unbedingt zu empfehlen, der Overhead ist noch einiges größer als in C (weil der BASCOM-Copiler um einiges weniger optimiert als der avr gcc) > oder geht das nur mit echten Timern?) Wozu Soft-PWM? Du brauchst doch nur EINEN PWM-Ausgang. Den hat jeder AVR in Hardware, bis zu 16 Bit Auflösung.
Kurt Bindl schrieb: > Mit PWM und Filter eine -saubere- Gleichspannung 0...5 V erzeugen > und daraus einen eingeprägten Strom (0..20mA) generieren. > Hier wird so etwas im Prinzip gemacht. Allerdings für höhere Ströme. Über den Strommesswiderstand ( Shunt ) R1 wird ja Vfeedback auf den OPamp X4 gegeben und dessen Vadc müsstes Du wieder auf einen µC-ADC-Eingang zurücklesen. Somit hast Du den Istwert des Stromes ( über den Spannungsfall an R1 ) erfasst und kannst nun über die PWM den Strom so einregeln, das der gewünschte Strom entsteht ( Soll,- Istwertvergleich ). Wenn Du die PWM über einen *Butterworth-Tiefpass 4.Ordung* schickst, sollte schon eine saubere Gleichspannung entstehen. Beitrag "Prototyp Elektronischen Last (7A@15V)" Bernd_Stein
Kurt Bindl schrieb: > (kann man unter BASCOM Soft-PWM generieren oder geht das nur mit echten > Timern?) Es geht beides, aber die Hardware PWM hat einfach ein beinhartes Timing ohne Jittern. Ausserdem benötigt sie null Rechenzeit, weil die Hardware alles alleine erledigt. Du schreibst lediglich einen neuen Wert ins OC Register, wenn du den Ausgangswert ändern willst. Du kannst die o.a. KSQ auch einfach mit einem Poti am Eingang auf Maximum einstellen, denn du brauchst ja 20mA bei maximaler PWM. Mit einem Spannungsteiler aus z.B. 20% Poti und 80% Festwiderstand hast du einen feinen Einstellbereich. Mach den Teiler nur nicht zu niederohmig, wenn du kein aktives Filter benutzen willst, denn ein passives Filter lebt von geringer Belastung am Ausgang.
Matthias Sch. schrieb: > Kurt Bindl schrieb: >> (kann man unter BASCOM Soft-PWM generieren oder geht das nur mit echten >> Timern?) > > Es geht beides, aber die Hardware PWM hat einfach ein beinhartes Timing > ohne Jittern. Ausserdem benötigt sie null Rechenzeit, weil die Hardware > alles alleine erledigt. Du schreibst lediglich einen neuen Wert ins OC > Register, wenn du den Ausgangswert ändern willst. Das heisst ich brauch nur den Timer einmal festlegen und dann nur einen neuen Wert reinschreiben wenn ein anderer Strom gewünscht ist. Das mit den Softpwm ist deshalb angedacht weil es sein könnte dass ich mehrere Werte ausgeben sollte. Wenns aber -ruckelt- dann lieber pro Strom einen eigenen AVR. > > Du kannst die o.a. KSQ auch einfach mit einem Poti am Eingang auf > Maximum einstellen, denn du brauchst ja 20mA bei maximaler PWM. Mit > einem Spannungsteiler aus z.B. 20% Poti und 80% Festwiderstand hast du > einen feinen Einstellbereich. Mach den Teiler nur nicht zu niederohmig, > wenn du kein aktives Filter benutzen willst, denn ein passives Filter > lebt von geringer Belastung am Ausgang. Einstellen über Poti versuche ich zu vermeiden denn das ist immer eine Fehlerquelle. Ich kann mich ja festlegen dass 20mA einer Sollspannung (PWM-Ergebnis) entspricht (z.B. 4V) und die Feinheiten macht der AVR, der kann dann den ins Register zu schreibenden Wert vorher korrigieren. Je weniger Hardware desto besser, entscheidend ist dass der AVR mit einer stabilen Spannung versorgt wird und der OP der den Soll/Ist-Vergleich macht und der Messwiderstand der den Linienstrom in die Istspannung wandelt einen geringen Temperaturgang haben. Dann sollte es eigentlich passen. Kurt
Die meisten AVRs haben am 16 Bit timer 2 PWM Ausgänge. Damit kann man also 2 Kanäle Hardware PWM machen. Wenn man nur einen braucht, könnte man trotzdem beide nutzen und über Widerstände zusammen schalten und so die doppelte PWM Frequenz bzw. Auflösung erreichen. Für eine höhere PWM Frequenz und damit einfachere Filterung (oder einen weiteren Kanal) könnte man Software nutzen um eine 8 Bit HW PWM Signal per Software zu modulieren zwischen je 2 benachbarten Zuständen. Damit könnt man dann auch einen 8 Bit Timer nutzen um etwa 16 Bit Auflösung zu erreichen. Auch mit BASCOM sollte es noch gerade von der Rechenzeit hinkommen. Die Filtertung wird einfacher weil der Größte teil des Wechselsignals bei einer 256 fach höheren Frequenz ist, und nur 1/256 der Amplitude bei der niedrigen Frequenz. Sofern man die volle Auflösung nicht bei jedem Wert braucht, könnt man beim PWM Signal auch die Frequenz variieren und so für das Beispiel 8 Bit PWM nicht nur Werte wie 1/256, 2/255, .. sondern auch Werte wie 1/254 oder 2/253 erreichen. Auch wenn es langsam sein kann, wird man wohl einen Filter höherer Ordnung und damit einen aktiven Filter benötigen.
Kurt Bindl schrieb: > Das heisst ich brauch nur den Timer einmal festlegen und dann nur einen > neuen Wert reinschreiben wenn ein anderer Strom gewünscht ist. Genau so. Wie Ulrich auch schon sagte, du hast auf jeden Fall schon mal 2 Stück 16-bit PWM, und dann je nach AVR noch bis zu 4 Stück 8-bit. Kurt Bindl schrieb: > Einstellen über Poti versuche ich zu vermeiden denn das ist immer eine > Fehlerquelle. Kommt auf die Potis an. Ich habe Keramiktrimmer mit 10-Gang in einigen Schaltungen meiner 4-20mA Sensoren und da sind welche bei, die schon seit Jahren laufen, auch in kalter und heisser Umgebung. Das sind blaue und weisse von Bourns. Klar, ein rostender Kohleschichttrimmer ist nicht besondrs vertrauenerweckend. Habe neulich in einigen Siemens Stromschleifendisplays die gleichen Bourns Trimmer gesehen, ausgebaut aus einem Kraftwerk, 20 Jahre alt und immer noch 1A.
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.