Forum: Mikrocontroller und Digitale Elektronik AVR ohne Interrupt per I2C vernetzen?


von Sven Müller (Gast)


Lesenswert?

Hallo, ich hätte gerne ein paar Statements ob meine Idee so wie ich sie
habe möglich ist oder ob ich es mir irgendwo viel zu schwer mache.

Das ganze soll ein Stromgeregeltes Netzteil werden was per GSM
fernsteuerbar ist.
Die Ausgangsspannung liegt in jedem Fall über der Eingangsspannung,
daher soll ein ATmega8 einen Stepupwandler steuern, also Strom über
einen Shunt messen und die PWM nachregeln. Dies ist also das reine
netzteil.
Der zweite uC (Mega 16 oder 32) soll die GSM Kommunikation erledigen.
Dieser muss an den Mega 8 Befehle wie "an, aus, mehr Strom, weniger"
geben können, aber auch anfragen stellen können wie "wieviel Strom
fließt gerade? welche Spannung?"
Da die Regelung halbwegs schnell sein soll will ich die ganze Kontrolle
und GSM Kommunikation auslagern.
Der Mega8 soll dabei der Slave sein und pro programmdurchlauf einmal
pollen ob die I2C Schnittstelle was empfangen hat, wenn ja im nächsten
durchgang die Aktion ausführen, bzw den Messwert zurückschicken.
Klappt das so? Hat einer ne bessere Idee?
MAximalstrom sind etwa 500mA, Ausgangsspannung maximal 25V bei 12V
eingang.

Danke schonmal, Sven

von Rahul (Gast)


Lesenswert?

ich würde es erst mal ohne die Regelung probieren bzw. beides alleine
testen.

von Sven Müller (Gast)


Lesenswert?

Das Netzteil als solches funktioniert einwandfrei, auch habe ich schon
erfolgreich einen großen Teil der GSM Kommunikation fertig.
Aber ich habe festgestellt das der Regelungs uC schon recht ausgelastet
ist, schon ein eingefügtes Printf bringt alles aus dem Takt (die Rippel
werden zu groß)

von peter dannegger (Gast)


Lesenswert?

"schon ein eingefügtes Printf bringt alles aus dem Takt"

Ja man sollte schon ein bissel Ahnung haben, welche Funktionen wieviel
Rechenzeit verschlingen und diese dann niedriger priorisiert oder
gepuffert ausführen lassen.

Wozu gibt es denn schließlich Interrupts.

Die richtige Planung aller Zeitabläufe ist eine Grundvoraussetzung.

Oder anders gesagt, ein nur logisch richtiges Programm ist keinen
Pfifferling wert.


Peter

von Josef Zimmermann (Gast)


Lesenswert?

Regler sind eine zeitkritsche Angelegenheit, besonders wenn diese auch
noch im Regelkreis eines Schaltreglers sitzen. Weil aber die
Lastausregelung und eventuelle Schutzfunktionen sehr schnell reagieren
müssen, würde ich dies immer analog ausführen und den uC nur den
Sollwert vorgeben lassen.

Eine Alternative wäre, wenn nur die Schutzfunktionen analog ausgeführt
werden und der Regler für die Lastausreglung und Nachführung per uC
ausführen würde. In diesem Fall würde ich den Regler mit einem harten
Timing per Timer-Interrupt laufen lassen und vor allem noch genügend
Pufferzeiten für die übrigen Funktionen vorsehen.

Bist Du sicher das der Regleralgorithmus sauber funktioniert?
(Überläufe, Übersteuerung des Integralanteils, Rauschen -> Probleme im
Differentialanteil, etc.) Selbst wenn ein stabiler Regler etwas aus dem
Takt kommt, sollten die Auswirkung nur marginal sein.

von Rahul (Gast)


Lesenswert?

naja, ob man in der Interrupt-Routine ein Flag setzt, um dann in der
Hauptroutine eine entsprechende Aktion zu starten, kommt wohl auf das
Gleiche heraus,wie pollen des TWI-Flags.
Man sollte das das Netzteil dann wohl am besten interruptgesteuert
machen, da das ja eine höhere Priorität hat als die TWI.

von Sven Müller (Gast)


Lesenswert?

Hallo, ich gebe euch ja recht, vielleicht war das ganze ein
schnellschuss.
allerdings muss ich zu meiner Verteidigung sagen das ich schonmal eine
solche stromquelle mittels PWM Ausgang und einem einfachen Zweipunkt
Regler gebaut habe der sogar recht zuverlässig funktioniert. vielleicht
habe ich Glück gehabt.
Natürlich würde ich lieber externe Hardware für das NT nehmen. scheint
mir auch sicherer. Hat jemand konkrete empfehlungen?
Ich will ja hinterher den Strom per uC einstellen (10mA genauigkeit
reichen)
Was ist denn wenn ich einen beliebigen Schaltregler nehme und an FB
meine OP verstärkte Shuntspannung lege. Dann habe ich doch eine
Stromregelung. Um jetzt den Strom einstellen zu können erzeuge ich per
PWM eine Gleichspammung welche ich mit einem zweiten OP zu der
MEssspannung addiere. je höher meine PWM Spannung desto kleiner mein
Strom.
Ist das auch so eine doofe Idee? dann überlasse ich ja das Regeln
meinem Schaltregel IC.

von Josef Zimmermann (Gast)


Lesenswert?

Hallo

> ob man in der Interrupt-Routine ein Flag setzt, um dann in der
> Hauptroutine eine entsprechende Aktion zu starten, kommt wohl auf
das
> Gleiche heraus,wie pollen des TWI-Flags.
Nicht ganz. Bei digitaler Signalverarbeitung, in die auch Regler
fallen, fliesst die Abtastzeit und eventuell die Laufzeit des Reglers
mit in die Reglerparamter ein. Damit kann ein Jitter oder gar das
überspringen von Abtastungen zu merkwürdigem Reglerverhalten führen.
Allerdings gilt das vor allem für PID-Regler.
Wie man jedoch mit einem 2-Punktregler eine saubere Reglung von einem
Schaltregler aufbauen will, ist mir schleierhaft.

von Sven Müller (Gast)


Lesenswert?

Hallo,
ich bin leider regelungstechnisch nicht sehr erfahren, habe wie gesagt
einmal einen Boost Konverter aufgebaut der mit einer Zweipunktregelung
gut arbeitet. Für Literaturhinweise speziell Regelungstechnik auf
Mikrocontroller umzusetzen wäre ich sehr dankbar.

Aber ist meine Idee ein "normales" Bosst Konverter IC wie oben
vorzuschlagen besser? Ich denke das kann sehr gut funktionieren, gibt
es einwände dagegen?

Danke schonmal, Sven

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.