Die Steurung per PWM ist eigentlich so wie bei einem Motor auch. Ein großer MOSFET gegen GND. Der MOSFET über ein Treiber IC (z.B. ICL7667) an den PWM Ausgang. Bei der PWM Steuerung ist die Freilaufdiode besonders wichtig, denn der Strom fleißt zeitweise über die Freilaufdiode. Das sollte hier dann eine Shottkydiode für etwa 15-20 A sein. Auch sollten an der Stromversorgung ein paar Kondensatoren (Elkos) liegen, damit das Netzteil nicht alle schnellen Stromschwiankungen mitmachen muß. Die Elkos solten hier schon low ESR typen sein, auch wenn der hohe Strom nur ganz kurz gefordert wird. Ob man noch einen extra Shunt für die Strommessung braucht hängt von den Anforderungen ab. Wenn es nur darum geht schnell etwas anzuziehen und dann zu halten, sollte es auch ohne gehen.
Der Strom kann dann in relativ feinen Stufen über den PWM wert eingestellt werden. Wobei für die 15 A wohl konstant an geeignet ist, für etwa 3 V dann eine Einschaltzeit von etwa 20 %. Den genauen Wert kann man dann aber immer noch durch die Software festlegen.

In der Einphase steigt der Strom relativ schnell an (wegen 15 V Spannung) und fällt dann in der Ausphase eher langsam (wegen etwa 3-6 V Spannung am Widerstand der Spule) wieder ab. Während der Ausphase fleißt der Strom dann nur über Spule und die Freilaufdiode im Kreis, gespeißt aus der gespeicherten magentischen Energie.

Wie hoch man die Frequenz wählen muß hängt von der Spule ab. Der Strom sollte halt in der Kurzen Einschaltphase nicht allzuhoch ansteigen um keine unnötigen Verluste zu haben. Normalerweise hat man das Ziel das der Strom auch nach der Ausphase noch etwa der halbe Sollstrom ist.

Beim niedrigen Strom