"Memory Effect" for TMC 246

"Memory Effect" for TMC 246

Postby vandy » 10 Apr 2012, 11:23

Hallo,

wir haben den TMC246 in Kombination mit dem TMC428 im Einsatz. Bis anhin hatten wir keine Probleme mit der Ansteuerung unseres Schrittmotors. Seit die Last des Schrittmotors erhöht wurde, treten seltsame Effekte auf.

Unser Hardware-Setup sieht wie folgt aus:
uC <=> TMC428 <=> TMC246 => Schrittmotor (Nanotec)

Der Schrittmotor bewegt ein Ventil, welches ein bestimmter Luft-Fluss regelt. Zudem enthält das Ventil eine Feder, welche ein Drehmoment gegen den Schrittmotor erzeugt. Seit die Reibung des Ventils erhöht wurde, treten nun seltsame Effekte auf:

1.) Nachdem das Ventil vollständig geöffnet wurde, wird mittels Schrittmotor die Position A angefahren.
2.) Bei Position A resultiert ein bestimmter Luftfluss von Fluss A
3.) Das Ventil wird vollständig geschlossen (und verliert wahrscheinlich Schritte, weil die Reibung / Federkraft zu gross wird).
4.) Das Ventil wird zurück auf Soll-Position A gesteuert.
5.) Bei Position A resultiert nun ein Luftfluss von Fluss B (Fluss B > Fluss A, weil wahrscheinlich Steps verloren gegangen sind)
6.) Jetzt wirds mystisch: Wird das Ventil mehrmals hintereinander geöffnet und zurück nach Position A gefahren, so werden die verlorenen Schritte zurück gewonnen, bis sich bei Position A der Fluss A einstellt.

=> Es scheint so, dass wir in unserem System ein Memory-Effekt haben. Kann dieser Effekt vom TMC246 kommen?
Ein Bild der Messung (Punkt 1. bis 6.) habe ich angehängt: Rot ist der Luftfluss in l/min und Blau das Steuersignal (Soll-Position).

Die Konfiguration des Controllers sieht wie folgt aus:
#define BVC_TMC_REG_STEPPERMOTOR_is_agtat 6 // three bit: 75% = 944 mA (momentan wird treashold nicht genutzt)
#define BVC_TMC_REG_STEPPERMOTOR_is_aleat 6 // three bit: 75% = 944 mA (momentan wird treashold nicht genutzt)
#define BVC_TMC_REG_STEPPERMOTOR_is_v0 4 // three bit: Ruhestrom = 50% = 472 mA
// Schwellwert für Strombegrenzung: Wenn a > a_treashold, dann gilt is_agtat, sonst is_aleat
#define BVC_TMC_REG_STEPPERMOTOR_a_threshold 0x40 // eleven bit: Schwellwert = momentan nicht benutzt -> agtat = aleat
// Microstep Resolution
#define BVC_TMC_REG_STEPPERMOTOR_usrs 7 // three bit: 7 = 64 microsteps/full step
// Minium Speed
#define BVC_TMC_REG_STEPPERMOTOR_v_min 1 // eleven bit: 1 ist Standardwert und wird norm. nicht geändert
// ?? Kein eigentlicher Parameter //
#define BVC_TMC_REG_STEPPERMOTOR_1 1 // one bit: for completeness allways 1
// Ref. Switch
#define BVC_TMC_REG_STEPPERMOTOR_ref_conf 0xf // four bit: 0xF = NO_REF (= REF_RnL + SOFT_STOP + DISABLE_STOP_R + DISABLE_STOP_L)
// Ramp Mode
#define BVC_TMC_REG_STEPPERMOTOR_rm 0 // two bit: 0 = RM_RAMP

//effektiv konfigurierbare Werte
// Max. positioning speed
#define BVC_TMC_REG_STEPPERMOTOR_v_max 280 // eleven bit; anpassbarer Wert
// Msx. acceleration
#define BVC_TMC_REG_STEPPERMOTOR_a_max 20 // eleven bit; anpassbarer Wert
// Pulse und Ramp Divisor
#define BVC_TMC_REG_STEPPERMOTOR_pulse_div 0 // four bit
#define BVC_TMC_REG_STEPPERMOTOR_ramp_div 0 // four bit
// acceleration factor Pmul und acceleration divisor Pdiv
// Könnte man eigentlich automatisch kalkulieren mit Eingabe von a_max, pulse_div und ramp_div (siehe Excel sheet)
#define BVC_TMC_REG_STEPPERMOTOR_pmul 24 // seven bit
#define BVC_TMC_REG_STEPPERMOTOR_pdiv 7 // four bit


Vielen Dank für die Anworten
Attachments
InspValve_500To600.zip
Messung
(27.47 KiB) Downloaded 39 times
vandy
User
User
 
Posts: 4
Joined: 10 Apr 2012, 10:45

Re: "Memory Effect" for TMC 246

Postby TRINAMIC_BD » 10 Apr 2012, 14:00

Hallo, kann es sein, dass sich das Ventil mechanisch wieder an der Position "vollständig offen" referenziert? Wenn diese einen (mehr oder weniger) harten Anschlag hat, würde es doch denn Effekt erklären, da der Motor nach Schrittverlust zu weit in den Anschlag fahren möchte, mechanisch dort aber gestoppt wird.
User avatar
TRINAMIC_BD
Site Admin
 
Posts: 2450
Joined: 25 Jul 2006, 12:21
Location: Hamburg (Germany)

Re: "Memory Effect" for TMC 246

Postby vandy » 10 Apr 2012, 17:02

Hallo,

vielen Dank für die schnelle Antwort.
Der Effekt tritt auch auf, falls das Ventil nicht vollständig geöffnet wird. Das heisst, das Ventil wird beim Öffnen nicht mechanisch blockiert.

Kann davon ausgegangen werden, dass sich dieser Effekt nicht auf den Treiber / Controller zurück führen lässt? Hat Trinamic noch nie von einem ähnlichem Verhalten gehört?
vandy
User
User
 
Posts: 4
Joined: 10 Apr 2012, 10:45

Re: "Memory Effect" for TMC 246

Postby TRINAMIC_BD » 10 Apr 2012, 18:43

Leider ist es nicht möglich festzustellen, wieviele Schritte verloren worden sind - sondern nur, dass ein Schrittverlust aufgetreten ist. Insofern kann dieser auch nicht kompensiert werden. Die Ursache für das wandern des Arbeitsbereiches wird dann wohl eher in der Mechanik liegen. Um elektrische und software-seitige Ursachen für einen Schrittverlust auszuschließen, hilft meist eine Messung der Motor-Spulenströme.
User avatar
TRINAMIC_BD
Site Admin
 
Posts: 2450
Joined: 25 Jul 2006, 12:21
Location: Hamburg (Germany)

Re: "Memory Effect" for TMC 246

Postby vandy » 11 Apr 2012, 10:37

Danke für die Antwort. Zumindest können wir nun den 246 ausschliessen.
Die Suche geht weiter :?
vandy
User
User
 
Posts: 4
Joined: 10 Apr 2012, 10:45


Return to TMC236 / TMC239 / TMC246 / TMC249

Who is online

Users browsing this forum: No registered users and 2 guests

cron