2 Stromkreise verzögert ein- und auschalten

Hi,

ich benutze derzeit einen Arduino Uno mit dem CNC Shield auf welchem TMC2100 Treiber sitzen. Das CNC Shield ist an einem 12V Netzteil angeschlossen, der Arduino bekommt derzeit noch Strom über USB, soll aber später auch mit dem 12V Netzteil betrieben werden.

Leider habe ich die Chip-Variante mit variabler Spannung (3-5V) erwischt und muss jetzt immer darauf achten, dass ich zuerst die Motorspannung einschalte (also 12V Netzteil einstecken) und dann erst den Arduino per USB anschließe.

Hier mal noch die relevanten Passagen aus dem SilentStepStick Github FAQ:

What is the difference between SilentStepSticks with 3-5V and 5V logic voltage?

The SilentStepSticks with a variable logic voltage (VIO) of 3-5V use the internal linear regulator of the TMC21x0 to generate from the motor voltage (VM) a 5V voltage for the internal digital and analog circuit (about 20mA). Because it is a linear voltage regulator the power dissipation depends on the motor voltage (high motor voltage = high power dissipation/heat). The 5V logic SilentStepSticks do not use the internal voltage regulator of TMC21x0 and therefor only a 5V supply voltage for VIO is possible and VM has not to be present before VIO.

What to consider when turning the power supply on or off?

Power on:

SilentStepSticks with variable 3-5V logic voltage: The motor voltage VM should come up first and then the logic voltage VIO, because the internal logic of the TMC2xxx driver is powered from VM.

SilentStepSticks with 5V logic voltage: There is no special power up sequence needed.

Only after the logic voltage VIO is present and stable, the driver inputs (STEP, DIR, EN, CFG1...) can be driven with a high level. A step pulse (moving) should only be done after the motor voltage VM is present and stable. Because the motor voltage VM is a strong power supply with a high voltage, also ensure that there cannot occur voltage spikes on power up. See Pololu: Understanding Destructive LC Voltage Spikes.

Power off:

SilentStepSticks with variable 3-5V logic voltage: The logic voltage VIO should turned off at first and then the motor voltage VM, because the internal logic of the TMC2xxx driver is powered from VM.

SilentStepSticks with 5V logic voltage: There is no special power off sequence needed.

If the motor is running/moving, then it is not allowed to switch off the power supply. Always make sure that the motor stands still on shutting down, otherwise the TMC2xxx driver can get damaged. An emergency stop can be realized, when the EN/CFG6 pin is set to VIO (high). This will switch off all power drivers and will put the motor into freewheeling. See also: SilentStepStick Protector with flyback diodes

Nun suche ich nach einem Weg das ganze komfortabler über einen Schalter und ohne die Gefahr, dass man sich doch mal beim einstecken vertut, einzuschalten. Optimal wäre wohl eine Schaltung die beim Einschalten zuerst die Motorspannung schaltet und dann die Logikspannung, und beim Ausschalten zuerst die Logikspannung trennt und dann die Motorspannung.

Wie würde ich das am besten umsetzten?

Die Frage ist, wieviel Zeitverzug man braucht.

Vielleicht reicht es schon, wenn mit der VM ein Relais geschalten wird, dass die VIO zuschaltet. Die paar ms Verzögerung können schon reichen.

Zum Abschalten: wenn die VIO direkt über ein Relais abgeschaltet wird, die VM aber primär, könnte auch das, über passende Pufferelkos, reicht, damit nichts passiert. Musst du ausprobieren.

guntherb:
Die Frage ist, wieviel Zeitverzug man braucht.

Genau kann ich das nicht beantworten, aber im Datenblatt des TMC2100 hab ich folgendes gefunden:

Hint
Be sure to allow the motor to rest for at least 100 ms (assuming a minimum of 10MHz fCLK) before
starting a motion using stealthChop. This will allow the current regulation to ramp up to the initial
motor current.

Das ist doch mit einem Monoflop (NE555 o.ä.) lösbar. Die Zeit lässt sich mit einem Poti individuell gemäß Anforderung einstellen und Transistoren schalten die Verbraucher.