Ruckelnde Zeigerbewegung

Debugging your own hardware using TRINAMIC ICs / Basic questions on TRINAMIC ICs.

Ruckelnde Zeigerbewegung

Postby Sefiroth » 05 Oct 2007, 15:32

Hallo,

ich nutze den TMC222 um einen kleinen Schrittmotor mit Zeiger anzutreiben. Der Zeiger soll zu Demo-Zwecken Geschwindigkeiten auf einer Tachoscheibe darstellen können.

Leider ist die Zeigerbewegung immer leicht ruckelnd/vibrierend - und ich kann den Grund dafür nicht eingrenzen. Eigentlich sollte der Zeiger im 1/16 Mikrostepping doch ganz sanft und ruhig laufen - nahezu unabhängig davon was ich in den Motorparametern einstelle, oder?

Wenn ich dem TMC222 mit SetPosition anweise, sich um nahezu 270° zu drehen (sind bei mir grob 2500 Schritte bezogen auf die Nullposition), dann "knattert" der Zeiger da hin. Man kann die Vibration während des Verlaufs hören und auch sehen. Bei sehr lansgamen oder sehr schnellen Geschwindigkeiten hat der Zeiger geradezu geflattert - also von einem sanften Verlauf kann keine Rede sein...

Ich wollte mich erkundigen, ob Sie mir sagen können, welche Parameter da Einfluss haben könnten, oder ob es sich nach einem defekten TMC222 anhört...

Die Motorsettings sind (momentan) folgende:
Code: Select all
// SetMotorParam:
u8_TWI_TX_Data[0] = TMC222_SlaveAdress;
u8_TWI_TX_Data[1] = 0x89;
u8_TWI_TX_Data[2] = 0xFF;
u8_TWI_TX_Data[3] = 0xFF;
u8_TWI_TX_Data[4] = 0b00000000;
u8_TWI_TX_Data[5] = 0b11110001;
u8_TWI_TX_Data[6] = 0b00010000;
u8_TWI_TX_Data[7] = 0b00000000;
u8_TWI_TX_Data[8] = 0b00001100;


-->
SlaveAdress = 0 (Auslieferungszustand)
Irun = 0
Ihold = 0
Vmax = 15
Vmin = 1
SecPos = 0
Shaft = 1
Acc = 0
AccShape = 0
StepMode = 3

Ich habe den TMC222 aber auch schon mit verschiedenen Motorströmen, Beschleuningungen (AccShape dann natürlich auf 1) und Geschwindigkeitskombinationen betrieben - aber diese läuft bei akzeptabler Zeigergeschwindigkeit noch am Ruhigstem...

Ich bin für jede Hilfe sehr dankbar!
Sefiroth
User
User
 
Posts: 3
Joined: 05 Oct 2007, 14:01

Postby TRINAMIC_BD » 06 Oct 2007, 10:08

Hallo,

die Qualität des Mikroschrittverhaltens wird in erster Linie durch den Motor selbst bestimmt. Wenn der Motor für Vollschrittanwendung gedacht ist, kann sein Verhalten wie beschrieben schlecht sein. Ansonsten sollte
* der Spulenstrom in etwa dem Nominalwert des Motors entsprechen
* die Versorgungsspannung ausreichend hoch sein

Die Trinamic 28mm Motoren laufen erfahrungsgemäß sehr gut mit dem TMC222.
User avatar
TRINAMIC_BD
Site Admin
 
Posts: 2436
Joined: 25 Jul 2006, 12:21
Location: Hamburg (Germany)

Be a systems integrator yourself.

Postby Andrew » 06 Oct 2007, 11:55

As Bernhard suggests, a motor must be designed for microstepping.

Other considerations.

A theoretical microstep is not what you might think it is:
http://www.trinamic.com/ttdg/viewtopic.php?t=469
Maybe the microstep rate is still too rough for your setup.

As far as I know, TMC222 adjusts decay between steps automatically. It does not not allow to adjust the decay via settings.
Maybe you need to test another controller, which allws more control.
As described in the link above, even though a natural microstep rate may be 16x, you may opt for 64x, because it might produce a few more microsteps, and hence a smoother ride.
Other controllers allow a wider range of microstepping, and other options.

Mind the load and inertia:
http://www.trinamic.com/ttdg/viewtopic.php?t=681
If your pointer is mounted directly on the rotor, and if it is to long, then its inertia might kill the experiment. You may not find any sensible speed at all. Maybe then you should try to introduce dampeners, or change the mechanical design.

You need to find the correct acceleration, speed, current, voltage, data rate, wiring, mode of ramping, etc.
Unfortunately, it is impossible to troubleshoot every motor remotely. You made the choice of hardware as an engineer. So you must learn and test everything yourself. Make measurements.
Alternatively, if you want me to do your job, pay me a ticket for travel to your location, and other expenses. Then I do it for you.
See here for more:
http://www.trinamic.com/ttdg/viewtopic.php?t=737

By the way, you have not described your problem adequately.
Does a motor stall only at 270°?
Does it stall at other postions?
Does it stall and miss steps at all? Perhaps it only produces loud sound, but keeps the position well.
Does it jitter throughout the motion, or only at certain positions?
How this depends on speeds?
What size is the mechanical drive? Is the motor assembly fixed on a stable base?
...

To be merged
Andrew
 

Postby Sefiroth » 08 Oct 2007, 10:53

Hallo, danke für die Antworten!

Es könnte sein, dass der Fehler beim Nennstrom des Motors liegt. Ich habe zu ihm leider keine Betriebsdaten - gehe aber von sehr geringer Leistungsaufnahme aus, da der Motor dafür ausgelegt ist einen kleinen Plastikzeiger zu bewegen (aber keine "Lasten").

Er hat einen ohmschen Spulenwiderstand von 144 Ohm und eine Nennspannung von entweder 5V oder 12V. Ich würde eher von 5V ausgehen, was dann einen Nennstrom von ca. 35mA ausmacht.

Kann so ein ruckelndes Verhalten dadurch verursacht werden, dass der minimal auswählbare Nennstrom des TMC222 59mA beträgt? Meine Erfahrungen mit Schrittmotoren sind leider recht bescheiden und hatte mir bei diesem Punkt keine großen GEdanken gemacht. Hab eigentlich nur darauf geschaut, dass der Treiber bis zu 800mA schafft und dachte mir: "Das wird auf jeden Fall genügen" ;-)

Falls es wirklich am zu geringen Nennstrom liegt: Lässt sich der Schrittmotor dann überhaupt mit dem TMC222 ansteuern? Gibt es da eine Möglichkeit mit zusätzlichen Widerständen den Strom anzupassen?
Sefiroth
User
User
 
Posts: 3
Joined: 05 Oct 2007, 14:01

Postby TRINAMIC_BD » 08 Oct 2007, 11:20

Der geringe Nennstrom erklärt das Problem. Bei 59mA Stromeinstellung des Treibers sollte es so gerade eben möglich sein, den Motor im Mikroschritt zu betreiben. Die Versorgungsspannung des Treibers sollte dann deutlich höher sein als 59mA * 144 Ohm, also z.B. 24V.

Eine Anpassung des Stromes unterhalb von diesem Wert ist leider nicht möglich.
User avatar
TRINAMIC_BD
Site Admin
 
Posts: 2436
Joined: 25 Jul 2006, 12:21
Location: Hamburg (Germany)

Postby Sefiroth » 08 Oct 2007, 15:20

Oje, ist es dann mit einem TMC222 allgmein unmöglich einen Schrittmotor anzusteuern, dessen Nennstrom unterhalb von 59mA liegt?
Sefiroth
User
User
 
Posts: 3
Joined: 05 Oct 2007, 14:01

Postby TRINAMIC_BD » 08 Oct 2007, 15:41

Korrekt, 59mA ist die unterste Stufe. Dazu ist allerdings zu sagen, dass solch hochohmige Motoren typischerweise nicht für Chopperbetrieb, sondern für Gleichspannungsbetrieb gedacht sind - dies ist der einzige Grund für die hochohmige Wicklung, braucht sie doch sehr viele Windungen eines haarfeinen Drahtes. Der niederohmigere Motor hat eine höhere Dynamik und weniger störende Kapazität und ist daher generell zu bevorzugen.
User avatar
TRINAMIC_BD
Site Admin
 
Posts: 2436
Joined: 25 Jul 2006, 12:21
Location: Hamburg (Germany)

If a current is too small, try full steps.

Postby Andrew » 09 Oct 2007, 00:12

Don't listen to Bernhard.
Give the driver 29V. You would achieve 200mA.

Or, better, supply 1000V. It would turn then very fast...

The curent of 59mA is quite near a standby current.
At 200mA you would be able to do more.

The 59mA is a too cmall current.
The motor has many coils, this increases the magnetic field. But it still seems not sufficient enough. Not for microstepping.

Perhaps you could still drive at small currents... Try using full steps.

Bernhard mentions a chopper. This is a PWM technique, which maintains a constant current by feeding electrical pulses to a motor. Frequency of pulses varies to keep the current stable. Microstepping makes situation difficult, because not every microstep can be reproduced, if a curent is too small. That's because of the digital nature of masurement of current by the driver.
Non reproducible microsteps might cause the jitter, which you describe.
That's why I suggest you reduce microstepping rate gradually till motion improves. You might end up in full steppping

To be merged
Andrew
 

Postby TRINAMIC_BD » 09 Oct 2007, 09:44

I guess there is some misundestanding - the motor is a very tiny 35mA / 5V motor. This is below the lowest TMC222 setting.
User avatar
TRINAMIC_BD
Site Admin
 
Posts: 2436
Joined: 25 Jul 2006, 12:21
Location: Hamburg (Germany)

If a motor is too small, then inertia may not be too small.

Postby Andrew » 09 Oct 2007, 12:32

Fine! Then 1000V would "solve" the problem even quicker.

On a serious note. If the motor is tiny, then its ability to overcome inertia is tiny. Sefiroth suggests that the pointer mounted on the rotor is too tiny to cause inertia. Considering the size of the motor, his suggestion might be irrelevant.

By the way, I remember documentation does suggest a minimal voltage for every product. But it does not suggest a minimal current.
You may need to amend documentation.
Andrew
 


Return to Evaluation board software related issues / Getting started ICs

Who is online

Users browsing this forum: No registered users and 0 guests

cron