Wie ich gerade bemerkt habe, hast du kürzlich was ähnliches mit Getriebemotoren gefragt.
Was ich dort (und jetzt auch) dazu sagen muß, ist im wesentlichen
das selbe.
Deine Schaltung ist unkontrolliert, weil in dieser Bauweise der Strom weder begrenzt noch nachgeführt wird.

Das heisst :

Steht der Motor auf einem geschaltenen Schritt, ist der fließende Strom abhängig vom Gleichstromwiderstand der aktivierten Motorwicklung und damit relativ hoch.

Wird der Motor bewegt, ist der Strom abhängig vom Wechselstromwiderstand der Spulen und dieser steigt mit der Frequenz, somit sinkt der Strom.

Weil Strom = Kraft geht so nicht viel.

Ich habe mich schon sehr ausfühlich in einem anderen Thread darüber ausgelassen, dort findest du den kompletten Schaltplan sowie ein
brückenfreies (gar nicht einfach) Layout von mir.

In der besprochenen Schaltung geht es zwar um Schrittmotoren,
du kannst sie aber für deine Zwecke umbauen, in dem du anstelle
des L297 zwei komparatoren (LM393) und ein D-Flip-Flop (7474)
in den zweig einsetzt der fehlt :

Beachte die 2 Widerstände unterhalb der Dioden, welche zum 297 laufen.
Der Abgriff oberhalb Masse muß an je einen Komparator, der so geschaltet ist, daß er bei erreichen des Wunschstromes kippt.
Der komparator geht dann an das Set vom Flip-Flop (1 ic, 2 flops)
der Q vom Flop geht an Inhibit vom 298 wobei Strang a und b nicht verwechselt werden dürfen.
mit einer frequenz von 20-50 kHz gehst du auf Reset vom Flop.

Hier nun die volle Beschreibung und das Layout/Board :

https://www.roboternetz.de/phpBB2/viewtopic.php?t=6207