Hallo Leute, ich habe da ein Problem. Ich muss 5x Variable Stromquellen (0..0,7A) in einer Schaltung realisieren. Erst dachte ich, ich mache es via PWM->Tiefpass mit Verstärker->Simpleswitch(über Feedbackleitung). Dann habe ich festgestellt, das die ATmega48,88,16 (ggf. Pinkompatible) 4x8Bit & 2x16Bit PWMs haben, ich aber min. 10Bit (und das eben 5 mal) auflösung brauche. In Software kann ich das ganze leider nicht machen, da der AVR auch noch auf einem Bus (CAN (MCP2515)) "lauschen" soll und noch einige weitere Kleinigkeiten zu machen hat. Das ganze soll dann über die Feedbackletung eines LM2575 T-ADJ (oder einen anderen Simpleswitcher) eingekoppelt werden, damit dieser eben geregelt wird. Das ganze sollte möglichst auch keine astronomischen Kosten bezüglich der Bauteile mit sich bringen... Kann mir jemand dabei helfen oder hat gar einen Lösungsansatz? Danke Patrick
Du kannst mit einer PWM ein Analog Signal erzeugen und das mit 5 Sample + Hold Stufen auf deine Stromquellen verteilen. Du must dann nur zyklisch in deiner Software deine 5 Werte auf dem PWM geben und dann wenn das Signal eingeschwungen ist denn Wert mit einer Sample + Hold Stufe zwischenspeichern. So brauchst du nur eine PWM Schaltung in deiner Schaltung. Gruss Helmi
Ich hab grad kuerzlich eine gesteuerte Spannungsquelle mit einem 16bit PWM gebaut. Das Uart wollte einen Quarz von 7.3728MHz haben. Der PWM lief auf ca 40kHz. Der Timer1 divisor war um die 180 oder so. Im Timerinterrupt alle 25us wurde eine 8 bit Variable um einen Wert erhoeht. Bei jedem Overflow wurde der PWM wert um eins hoeher als ueblich eingefuellt. Wie ein DDS. Dadurch erhoeht sich die Repetitionszeit um das 256fache, die Bandbreite der Speisung faellt um das 256fache, dh die PWM Reprate wae bei 150Hz. Nicht unbeding geeignet fuer alle Anwendungen, aber in diesem Fall war es fuer eine Art Heizung. Die 16Bit Aufloesung war wichtig, die Bandbreite kein Problem.
Pinkompatibel habe ich jetzt keine zu bieten, aber wenn ich mich nicht veguckt habe hat der ATmega640 12 x 16 Bits PWM... gibt bestimmt noch welche mit weniger. Vielleicht kommst du auch mit ein paar Schieberegistern und R2R-Netzwerk ans Ziel - wär dann schon eher ein Widerstandsfriedhof ;) Bei 10 Bits wirst du aber schon keinen Spaß mehr mit den Bauteiletoleranzen haben. Wie schnell muss sich der Strom ändern können? Wenn's langsam genug ist, sollte man das schon recht einfach per Software lösen können - Sigma-Delta-Modulation mit guter Glättung könnte ganz gut gehen. Gruß Kai
@Patrick Schöberl (kof) Ich habe dir mal eine Schaltung gezeichnet. Du selektierst mit den Eingaengen SELECT A .. C den Kanal aus und gibst dann die dafuer zu gehoerige PWM Frequenz aus. Das ganze machts du zyklisch reihum mit den anderen Kanaelen. So kannst du mit einem PWM Kanal mehrere Analogspannungen erzeugen. In den Zeiten wo der Kanal nicht bedient wird haelt der Kondensator die Spannung so lange fest bis er wieder bedient wird. Da der 4051 ein Analogmultiplexer ist kann sich der Kondensator auch nicht ueber den Widerstand entladen. Gruss Helmi
@Helmi hast du das schon mal ausprobiert? Sieht alleine schon wegen den "wenigen" Bauteilen schon mal interessant aus. Was glaubst du, wieviel zeit kann ich wohl verstreichen lassen, bis ich den Filter wieder "aufheizen" muss? Ich denke das ich mit 0,5kHz-1kHz mehr als ausreichend reserve haben werde. ggf muss ich auch kein analog Muxer benutzen, oder? "Analog" ist das Signal doch erst nach dem Filter, oder?
>Was glaubst du, wieviel zeit kann ich wohl verstreichen lassen, bis ich >den Filter wieder "aufheizen" muss? Die Zeitspanne ergibt sich daraus wie schnell sich der Kondensator durch die Leckstroeme in der Schaltung entlaedt. Bei FET Op's mit ihren hochohmigen Eingangswiderstaenden dauert das schon eine weile. >ggf muss ich auch kein analog Muxer benutzen, oder? "Analog" ist das >Signal doch erst nach dem Filter, oder? Doch , denn der Ausgang des Multiplexers muss einen 3. Zustand einnehmen koennen. Damit sich der Kondensator nicht entlaedt wenn er nicht vom PWM Ausgang angesteuert wird muss der der Multiplexer den nicht aktivierten Kanal auf hochohmig schalten koennen und das kann nur ein Analogmultiplexer . Gruss Helmi
hmm... ich denke, das es zu Problemen kommen kann, wenn ich "abschalten" möchte, oder? Das wird sicherlich mit einer Verzögerung und eine mehr oder weniger abfallende Entladekurve verbunden sein... also muss ich das rc-glied wohl noch mal genauer betrachten... Ich muss es wohl wirklich mal aufbauen und etwas rumtesten/messen
Das einzige was du noch beachten könntest ist das du vor dem Umschalten auf den nächsten Kanal auf einen nicht benutzten Kanal schalten kannst. Also folgende reihenfolge: PWM Kanal 0 ausgeben dann umschalten auf einen Nicht benutzten Kanal PWM wert für nächsten Kanal (1) ausgeben Dann Mux umschalten auf Kanal 1 So hättest du auch denn letzten Rest übersprechen weg und eine Entladekurve dürfte auch nicht auftreten Gruss Helmi
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.