4-Zeiten-PWM - Lösung mit Timer'n pur ?

Ich bin mal wieder an meinem Solarprojekt - es geht hier um die Steuerung eines Solar-Ladereglers in Ausführung als
“Non-Inverted-Synchron-Buck-Boost-Converter”.

Selbiger funktioniert prinzipiell wie ein Gegentakt-Vollbrückenwandler in SMPS oder DC-Motorsteuerungen.
Logo gibts es da zig (auch bezahlbare) Chips’e, die so was regeln können, aber ich bin da kein Held betreff Löten von ultraminiatursierten SMD-Gehäusen …
Mit minimaler Hardware für die Ansteuerung von Power-MOSFETs High- und Low-Side der Brücke sollte das eigentlich auch mit einem Arduino möglich sein …

In den letzten Wochen hier ne Menge Hard- und Softwaremäßig weggeschafft - irgendwas hat gelitten und ich bekomme aktuell zu
diesem Prob nix wirklich auf den Schirm. Kopf ist alle - oder so.

Problemstellung ist hier nach wie vor:

Zur Ansteuerung des “Non-Inverted-Synchron-Buck-Boost-Converter” wird ein spezielles Timing in Kombination aus Duty-Cycle und Tot-Zeiten dazwischen benötigt, d.h. MosFet-Kombinationen dürfen nicht gleichzeitig leitend sein und auch darf das Tastverhältnis nicht 0 oder 100% erreichen.

Dazu bitte mal das PDF in Anlage anschauen. Ich hoffe, das ist verständlich …
Prinzipiell ist das eigentlich ‘albernes’ PWM’, aber …
… in diesem Fall sind ZWINGEND die Totzeiten zwischen Out A off und Out B on zu beachten, welche ich gerne aus dem Arduino selbst heraus generieren möchte und keine zusätzliche Hardware dafür separat haben will.

Die andere Sache ist die Frequenz: 20kHz ist unteres Limit, 50 wären gut, 100 kHz ist besser oder noch höher … !?
Der Dino sollte allerdings auch noch ein paar andere Dinge nebenbei berechnen können.

Nun zur eigentlichen Quizfrage, zu der ich (noch) keine Lösung habe:
Wie bringe ich es dem Dino bei, mit möglichst seinen/m Timer, allen betreffenden Registern und verfügbaren Out’s bei, mir wie ein im PDF dargestelltes Timing zu verwirklichen ?

Wie oben gesagt: Ich hab da momentan null Plan.
Sind 2 Timer nötig oder noch mehr ?
Oder geht das wirklich nur über externe (N)AND, (N)OR, XOR oder was weiss ich noch alles ?

Help - …please !

Zeiten.pdf (37.4 KB)

Ich habe jetzt direkt keine Lösug für dein Problem, aber: Hast du dir die benötigte Induktivität bei einem SW-gesteuerten Schaltregler schonmal berechnet? Schaltnetzteile leben von hohen Frequenzen. Bei den Arduion-üblichen Frequenzen werden die benötigten Speicherdrosseln warscheinlich recht groß werden. Ich empfehle dir vielleicht doch eine fertige IC-Lösung in Betracht zu ziehen. Schaltregler selbst zu bauen ist Teufelszeug!

In welchem Leistungsbereich bist du denn? Es gibt teilweise schon recht nette vollintegrierte Lösungen, bei denen nur noch passive Komponenten benötigt werden, z.B. der LTC3112 bis 2,5A.

Schaltregler selbst zu bauen ist Teufelszeug!

:astonished: :roll_eyes: :grin: 8) ... hab ich früher auch immer gedacht - so wild ist das gar nicht, wenn man einige elementare Grundsätzlichkeiten beachtet.

Dieser Lade-Regler ist für die Panels gedacht. Eingangspannung 20-100V ( ! ), MPPT geführt und soll Ströme bis 10A an 24-48 Volt liefern können - also etwa 500W. Das ist schon ne Ansage, deswegen fallen "übliche" One-Chip-Lösungen eher aus. Insbesondere auch wegen des Prinzips "synchron Buck&Boost". Hier werkeln dann 4 (oder gar 6-8) ernsthaftere MOSFETS ala IRFP4310. Es gibt da zwar schöne, neue Sachen (z.B. den LTC8705 von Linear), aber das sind heutzutage alles diese Microben im TSSOP-Gehäuse, was kein Mensch mehr gescheit mit der Hand Löten kann. Zum anderen fehlen wichtige Dinge wie Spannungs und Strom-Kontrolle Ein-/Ausgangsseitig sowie der erforderliche Steuerungsmechanismus zum Panel (MPPT) und zur Batterie-Station (Lade-Algorythmus, Balancer). Sind halt ein bischen dumm die Teile - also muss eh ein Dino zum Management her.

Betreff der Freuqenz habe ich da gar nicht so die Befürchtung. Denke schon mit den Timern wird sich da ein PWM bis ca. 50 kHz machen lassen, was völlig reicht und die Speicherdrossel auch noch im Rahmen hält. Wahrscheinlich wird es ohnehin eine "richtige" Drossel mit ETD49-Kern und Luftspalt. Diese Billigst-Toroide - auch wenn 10A dransteht - sind eher untauglich. Eine "anständige" von Fastron mit 1mH und 10 A kostet bei Reichelt auch schon 33 € und ist mechnsch gesehen ein Monster.

Werde heute mal nach der Ärtze-Tournee mein neues PC-Oszi ausproben und schauen, wie weit ich den Dino mit dem Timing ärgern kann ... Nichtdestrotrotz stehen Anregungen für Geistesblitze immer noch an. XD

ok, das klingt nach einem wirklich anspruchsvollem Projekt! Und es klingt auch so, als ob du wüßtest was du tust. Bei den meisten Versuchen einen Schaltregler selbst zu bauen scheitert es ja schon daran, dass die Komponenten auf der Platine irgendwie "schön" oder "praktisch" angeordnet werden und der Regler dann zwar fröhlich rumschwingt, aber leider völlig ausser Kontrolle :D Deshalb habe ich zunächst davon abgeraten. Aber du machst das schon!

Viel Erfolg!

Und bezüglich deiner Timerfragen wirst du auf Antworten warten müssen von Leuten, die mit den Arduino-Registern auf Du und Du sind.....