Forum: Mikrocontroller und Digitale Elektronik Stromsteuerung durch Atmega 32


von Wayne I. (mustang)


Lesenswert?

Hallo zusammen,

ich bin gerad dabei für ein Ladegerät eine Konstantstromquelle zu 
entwerfen. An diese Konstantsromquelle soll via Atmega 32 der 
einzustellende Konstantstorm weitergegen werde. (Wie ist mir vorerst 
egal, sollte nur so wenige Pins wie möglich benötigen)

Meine überlegung bislang war das PWM Signal zu verwenden und im 
anschluss einen RC Tiefpass zum glätten des Signals zu schalten und das 
ganze auf einen LL FET weiterzugeben. Hab das ganze mal ausprobiert, 
aber mit Konstantstrom hat das wohl eher nichts zu tun.

Deshalt die Frage an euch, kann mir da jemand einen ansatz geben? Achso 
Strom soll von 0 bis etwa 2A einstellbar sein.

Danke

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Sieh Dir mal das Prinzip eines Buck-Reglers an. Dein ATMega erzeugt eine 
PWM, soweit richtig. Diese gibst Du direkt auf den LL-FET. Über Spule, 
Schottky-Diode und Elko glättest Du die Spannung. Ausgangsseitig 
schaltest Du von der Last in Richtung Masse einen Shunt-Widerstand von 
0.1 Ohm. Mit dem ADC und Gain 200x mißt Du die Spannung über dem Shunt 
und regelst die PWM nach. Die Regelung sollte übrigens recht schnell 
erfolgen, damit es nicht zu Überschwingern kommt.

von H.J.Seifert (Gast)


Lesenswert?

Solche Regelungen in Software machen ist eigentlich immer Mist. 
Funktioniert in Hardware besser, schneller und sicherer.
Bei einem Kurzschluss ist der Leistungsteil hinüber, bevor der AVR 
überhaupt gecheckt hat, ich sollte da mal eingreifen...
Sollwertvorgabe mit MC, Regelung mit einem passenden IC. Gibt so viele 
davon...

von Naja (Gast)


Lesenswert?

Das ist ja auch genau das was der TO geschrieben hat: "An diese 
Konstantsromquelle soll via Atmega 32 der
einzustellende Konstantstorm weitergegen werde."

von Falk B. (falk)


Lesenswert?

@  Dirk K. (mustang)

>Meine überlegung bislang war das PWM Signal zu verwenden und im
>anschluss einen RC Tiefpass zum glätten des Signals zu schalten

Schon mal richtig, siehe PWM.

>und das
>ganze auf einen LL FET weiterzugeben.

So einfach isses nicht. Aber fast. Nimm einen OPV, einen Stromshunt von 
100mOhm und einen dicken Bipolartransistor. Fertig ist die 
Konstantstromquelle.

Schaltregler ist für die Anwendung und deinen Kenntnisstand zu aufwendig 
und nicht sinnvoll.

MFG
Falk

von Wayne I. (mustang)


Lesenswert?

Ja so was stell ich mir eher vor, dass ich den Sollwert vom Mega 
übergebe und dann der Konstantstrom entsprechend eingestellt wird. Denn 
ich werde programmtechnisch genug mit der Ladeüberwachung zu tun haben. 
Aber danke für den Tipp mit dem Buck-Regler. Den hab ich irgendwann mal 
in der Ausbildung gehört aber schon wieder verdrängt, wäre notfalls eine 
Alternative.

@H.J.Seifert: welche denn? ich such wie ein wahnsinniger und finde 
nichts was zu meinen Anforderungen passt. Übergabe sollte entweder per 
I2C oder PWM erfolgen, da weniger Pins benötigt werden.
Da ich 4 Akkus unabhänig voneinander Laden und den Ladevorgang 
überwachen möchte, benötige ich eine solche Konstantstromquelle 4x. 
Falls es mehrere von den dingern in einem Gehäuse gibt.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Solche Regelungen in Software machen ist eigentlich immer Mist.

Sehr pauschale Aussage.

>Funktioniert in Hardware besser, schneller und sicherer.

Richtig, aber per Software ist es komfortabler.

>Bei einem Kurzschluss ist der Leistungsteil hinüber, bevor der AVR
>überhaupt gecheckt hat, ich sollte da mal eingreifen...

Kommt auf die Bauteileauswahl und die Schaltung selber an. Für den 
Kurzschlussfall kann man Hardware als Notbremse um den Schaltregelteil 
herumbauen. Ein Komparator, der bei zu hohem Strom durch den Shunt das 
FET-Gate sperrt, zum Beispiel.

von Wayne I. (mustang)


Lesenswert?

Hallo,

ich muss das Thema von gestern Abend nochmals aufkreifen, da ich noch 
kein Stück weitergekommen bin.

Jedoch bin ich beim googlen heute nachmittag über was gestolpert:

http://www.mikrocontroller.net/articles/Konstantstromquelle#Konstantstromquelle_mit_Komparatoren

was haltet ihr davon? Ist so etwas sinnvoll für eine Anwendung die einen 
Strom vom bis zu 2A konstant halten soll?


Alternativ ist mir mal ein DA Wandler im Kopf gekreist, der durch die 
analoge Spannung einen FET ansteuert und somit auch eine Konstantstrom 
erzeugt. Kann so etwas ohne großen Regelreis relativ genau funktioniern?

@ Falk Brunner: Könntest du mir zum Aufbau dieser Konstantstromquelle 
mal einen Link zukommen lassen? Ich kann mit darunter grad recht wenig 
vorstellen. Und wie übergebe ich den gewünschten Stromwert vom µC an die 
Konstantstromquelle?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Alternativ ist mir mal ein DA Wandler im Kopf gekreist, der durch die
>analoge Spannung einen FET ansteuert und somit auch eine Konstantstrom
>erzeugt.

Schöne Heizung. Ein FET sollte in dem Fall im Schaltbetrieb laufen, da 
nur so geringe Verluste möglich sind. Linearegler sind für große Ströme 
nicht mehr zeitgemäß.

von Wayne I. (mustang)


Lesenswert?

Travel Rec. schrieb:
> Schöne Heizung. Ein FET sollte in dem Fall im Schaltbetrieb laufen, da
> nur so geringe Verluste möglich sind. Linearegler sind für große Ströme
> nicht mehr zeitgemäß.

Aber wie erreiche ich bei einem FET im Schaltbetrieb einen "Konstanten 
Strom" ?

ich benötige mehr oder weniger eine "programmierpare Konstantstroquelle" 
mit einem einstellbaren strom zwischen 0 und 2A. Nur wie ich das 
realisiern soll ohne großen Aufwand, daran hängts noch. Das war ja auch 
nur mal eine spontane Idee mit dem DA Wandler.

von Gast (Gast)


Lesenswert?


von Christian O. (easter)


Lesenswert?


von Wayne I. (mustang)


Lesenswert?

@Christian O.
hast du Erfahrung mit der Schaltung? Wie konstant ist der Strom? und 
klappen damit 2A?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Hast Du Dir das Buck-Regler-Prinzip einmal angesehen?

http://www.sprut.de/electronic/switch/schalt.html

Denk Dir statt des Schalters einen pnp-Schalttransistor oder einen 
p-Kanal-FET mit Low-Side Treiber, an den direkt ein PWM angeschaltet 
wird, Schaltfrequenz >50kHz. Die Dimensionierung von Spule und Diode 
(Schottky!) bestimmt den entnehmbaren Strom. Der Controller muß diesen 
Stom über einen Shunt messen und die PWM entsprechend regeln. Aber das 
wurde ja schon gesagt.

von Stefan M. (celmascant)


Lesenswert?

Dirk K. schrieb:
> Travel Rec. schrieb:
>> Schöne Heizung. Ein FET sollte in dem Fall im Schaltbetrieb laufen, da
>> nur so geringe Verluste möglich sind. Linearegler sind für große Ströme
>> nicht mehr zeitgemäß.

Zeitgemäss hin oder her, funktionieren muss es erstmal!
Wenn es dann funktioniert, kann man sich immernoch Gedanken machen, wie 
man es besser hin bekommt.
Wenn man immer gleich alles will, kommt zum Schluss Nichts raus.
Solange man nicht genug Erfahrung hat, sollte man lieber klein anfangen 
und das Projekt immer weiter ausbauen und verbessern.

> Aber wie erreiche ich bei einem FET im Schaltbetrieb einen "Konstanten
> Strom" ?

Indem du ein L-C-Glied dahinter schaltest, genau so wie in einem 
Schaltnetzteil.
google mal nach "buck converter", da kannst du dich über das Prinzip 
belesen.
Dein Regelkriterium ist aber nicht die Spannung, wie in den meisten 
Schaltnetzteilen, sondern der Strom.
Ich baue mir gerad selbst ein Mega32-gesteuertes Schnelladegerät für 
7,2V NiMH-Akkus. Meine Akkus kann ich mit bis zu 2,5C Schnelladen, also 
habe ich mein Leistungsteil auf max. 15A Ladestrom ausgelegt, auch wenn 
ich das mit meinen Akkus nicht brauche.
Der Testaufbau funktioniert soweit, aber das Programm besteht im Moment 
ehr aus Test-Codeschnipseln die für sich allein funktionieren...

Gruss Stefan, und viel Glück für dein Projekt!

von Wayne I. (mustang)


Lesenswert?

@ Stefan M.: du steuerst praktisch über dein PWM Signal den Buck Regler? 
Musst du den dann via Software nachregeln, oder geschieht das über die 
Hardware?
Aber so wie ich das sehe, wird es wohl auf einen Buck Regler rauslaufen.

Gibt es irgendwo eine Seite, wo die dimensonierung eines solchen Reglers 
beschrieben ist? Worauf muss ich sonst noch achten?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>du steuerst praktisch über dein PWM Signal den Buck Regler?
>Musst du den dann via Software nachregeln, oder geschieht das über die
>Hardware?

Hier kommt Software in´s Spiel. Am besten den PWM-Timer beim Overflow 
einen Interrupt auslösen lassen, dort den ADC starten, wenn fertig, 
Regelberechnung und Kurzschlußtest machen und in´s PWM-Register (OCRxx) 
eintragen. Das war dann auch schon die ganze Kunst. Um diese 
Statemachine herum kann noch ein nettes Programm laufen, das 
beispielsweise eine UART behandelt und die Displayausgabe steuert und 
bei Übertemperatur die Endstufe abschaltet...

von Stefan M. (celmascant)


Lesenswert?

Travel Rec. schrieb:
>>du steuerst praktisch über dein PWM Signal den Buck Regler?
>>Musst du den dann via Software nachregeln, oder geschieht das über die
>>Hardware?
>
> Hier kommt Software in´s Spiel. Am besten den PWM-Timer beim Overflow
> einen Interrupt auslösen lassen, dort den ADC starten, wenn fertig,
> Regelberechnung und Kurzschlußtest machen und in´s PWM-Register (OCRxx)
> eintragen. Das war dann auch schon die ganze Kunst. Um diese
> Statemachine herum kann noch ein nettes Programm laufen, das
> beispielsweise eine UART behandelt und die Displayausgabe steuert und
> bei Übertemperatur die Endstufe abschaltet...

Ey, du sollst nicht bei mir abgucken! ;)
Aber so in etwa hab ich das gemacht.

Über die Hardware nachregeln geht in meinem Fall ja nicht, weil der 
Mega32 das PWM-Signal selbst erzeugt.
Wenn per Hardware nachgeregelt werden soll, müsste der µController nur 
den Sollwert vorgeben. Einen kompletter PWM-Regler war mir zu viel 
Hardwareaufwand, aber ist z.B. mit einem TL494 auch relativ einfach 
möglich.

Gruss Stefan

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Mglw. kann man sich am Atmel BC100 betr. Hard- und Software ein paar 
Ideen abschauen (man suche nach BC100 auf atmel.com). Es ist ein gut 
dokumentiertes Demo-Board eines frei programmierbaren Batterie-Laders, 
also inkl. Spannungs- und Stromreglung.

von Stephan H. (stephan-)


Lesenswert?

schau mal hier, ganz unten..
Beitrag "Stromregelung mit Atmega8"

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.