Forum: Mikrocontroller und Digitale Elektronik 5 Kanal Einstellbare Stromquelle


von Patrick S. (kof)


Lesenswert?

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

von Helmi (Gast)


Lesenswert?

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

von 2923 (Gast)


Lesenswert?

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.

von Kai G. (runtimeterror)


Lesenswert?

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

von Helmi (Gast)


Angehängte Dateien:

Lesenswert?

@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

von Patrick S. (kof)


Lesenswert?

@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?

von Helmi (Gast)


Lesenswert?

>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

von Patrick S. (kof)


Lesenswert?

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

von Helmi (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.