MagierWhite
14.08.2014, 01:37
Hallo liebe Gemeinde
ich möchte für ein Projekt TMC-222's benutzen und habe ein paar Fragen zur Stromversorgung. Da diese über einen Schleifkontakt läuft und so naturgegeben Störungen enthalten wird, suche ich nach einem Weg, die Programmierung des Chips und die Treiber/Ladungspump getrennt mit Strom zu versorgen.
Ich habe mich durch das TMC222 Datasheet gewühlt und V(bat) gefunden:
5.1.13 Battery Voltage Management
The TMC222 provides an internal battery voltage monitoring. The circuit goes into shutdown mode if
the battery voltage falls below threshold UV2, furthermore one threshold UV1 is implemented to
generate a low voltage warning.
Aus dem TMC-222 Datasheet, Seite 16.
Meine Sorgen oder Idee ist das, diese "Notabschaltung" des Motors nicht schnell genug ist. Mir scheint, diese Funktion ist dazu gedacht, einen langsamen Spannungsabfall zu bemerken, wenn eine Batterie zu schwach wird. Ich plane den Steuer MCU über einen dicken Kondensator oder GoldCup, quasi "Not zu versorgen", möchte daran aber nicht den Motor hängen.
Habe schon mit zwei Versorgungskreisen gerechnet, also einmal 7805-(5V) und danach ein GoldCup für den MCU +(etwas Kleinkram drum herum) und ca 11Volt direkt über einen Diode und einen Kondensator für den TMC + Motor, nur verbunden durch GND + I2C. So sehe ich aber die Gefahr, das bei einer Unterbrechung der Stromversorgung, der MCU weiter läuft, der TMC aber wegen des erheblich höheren Verbrauchs des Motors aus geht und mein MCU das gar nicht so richtig mit bekommt. Besonderes doof, weil dann der Opt-Ram des TMC's leer wäre.
Eine Überlegung wäre es, regelmäßig die TMC Register aus zu lesen um so zu sehen ob alles in Ordnung ist, Flags, Fehler oder gar keine Antwort würden dann Unterbrechungen anzeigen. Ich halte das jedoch für unelegant und überlege ob es nicht eine Möglichkeit gibt, den RAM des TMC's direkt zu stützen, über VDD (Pin 3) internal supply vielleicht?
Eine andere Lösung wäre eine kleine Schaltung, die beim Unterschreiten einer gewissen Spannung am MCU einen Interrupt auslöst. Das wäre schnell, gefällt mir aber auch nur mäßig, weil ich bei beiden Wegen, vor dem weiterfahren den RAM neu beschreiben müsste.
Hier also meine Fragen:
Hat da jemand eine Idee?
Hat das jemand schon mal gemacht?
oder ist mein Weg, eh Blödsinn und ich sollte es lieber mit einer "herkömmlichen" Treiber-stufe versuchen wie unter (http://rn-wissen.de/wiki/index.php/Schrittmotoren)
Schon mal Danke fürs Grübeln
MfG
Magier
P.S. Zum Verständnis, hier der Link zu einer anderen Frage von mir, die aufeinander basieren. Frage-zu-Distanz-Sensor-GP2-Serie-von-Sharp (https://www.roboternetz.de/community/threads/65360-Frage-zu-Distanz-Sensor-GP2-Serie-von-Sharp)
Der TMC222 soll, die in diesem Thread gezeigten Gondeln, an Kabeln entlang ziehen. Daher die von mir angenommenen Störungen in der Versorgungsspannung.
ich möchte für ein Projekt TMC-222's benutzen und habe ein paar Fragen zur Stromversorgung. Da diese über einen Schleifkontakt läuft und so naturgegeben Störungen enthalten wird, suche ich nach einem Weg, die Programmierung des Chips und die Treiber/Ladungspump getrennt mit Strom zu versorgen.
Ich habe mich durch das TMC222 Datasheet gewühlt und V(bat) gefunden:
5.1.13 Battery Voltage Management
The TMC222 provides an internal battery voltage monitoring. The circuit goes into shutdown mode if
the battery voltage falls below threshold UV2, furthermore one threshold UV1 is implemented to
generate a low voltage warning.
Aus dem TMC-222 Datasheet, Seite 16.
Meine Sorgen oder Idee ist das, diese "Notabschaltung" des Motors nicht schnell genug ist. Mir scheint, diese Funktion ist dazu gedacht, einen langsamen Spannungsabfall zu bemerken, wenn eine Batterie zu schwach wird. Ich plane den Steuer MCU über einen dicken Kondensator oder GoldCup, quasi "Not zu versorgen", möchte daran aber nicht den Motor hängen.
Habe schon mit zwei Versorgungskreisen gerechnet, also einmal 7805-(5V) und danach ein GoldCup für den MCU +(etwas Kleinkram drum herum) und ca 11Volt direkt über einen Diode und einen Kondensator für den TMC + Motor, nur verbunden durch GND + I2C. So sehe ich aber die Gefahr, das bei einer Unterbrechung der Stromversorgung, der MCU weiter läuft, der TMC aber wegen des erheblich höheren Verbrauchs des Motors aus geht und mein MCU das gar nicht so richtig mit bekommt. Besonderes doof, weil dann der Opt-Ram des TMC's leer wäre.
Eine Überlegung wäre es, regelmäßig die TMC Register aus zu lesen um so zu sehen ob alles in Ordnung ist, Flags, Fehler oder gar keine Antwort würden dann Unterbrechungen anzeigen. Ich halte das jedoch für unelegant und überlege ob es nicht eine Möglichkeit gibt, den RAM des TMC's direkt zu stützen, über VDD (Pin 3) internal supply vielleicht?
Eine andere Lösung wäre eine kleine Schaltung, die beim Unterschreiten einer gewissen Spannung am MCU einen Interrupt auslöst. Das wäre schnell, gefällt mir aber auch nur mäßig, weil ich bei beiden Wegen, vor dem weiterfahren den RAM neu beschreiben müsste.
Hier also meine Fragen:
Hat da jemand eine Idee?
Hat das jemand schon mal gemacht?
oder ist mein Weg, eh Blödsinn und ich sollte es lieber mit einer "herkömmlichen" Treiber-stufe versuchen wie unter (http://rn-wissen.de/wiki/index.php/Schrittmotoren)
Schon mal Danke fürs Grübeln
MfG
Magier
P.S. Zum Verständnis, hier der Link zu einer anderen Frage von mir, die aufeinander basieren. Frage-zu-Distanz-Sensor-GP2-Serie-von-Sharp (https://www.roboternetz.de/community/threads/65360-Frage-zu-Distanz-Sensor-GP2-Serie-von-Sharp)
Der TMC222 soll, die in diesem Thread gezeigten Gondeln, an Kabeln entlang ziehen. Daher die von mir angenommenen Störungen in der Versorgungsspannung.