TMC236A Vibration problems

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

TMC236A Vibration problems

Postby e.veenendaal » 08 Oct 2007, 13:00

Hello,

I'am using a TMC236A driver icm with an Atmel AVR. I have al the connections made according to the manual.
I'am using the externall reference voltage on INA en INB.
The problem is i'm not sure how to get the motor start turning. Can anyone explain me how i should proceed to get the engine turning?
When I set the reference voltage to 2V and apply maximum current over the SPI interface the motor start shaking and makes a lot of noise.
Do i have to apply a sinus pattern to get the motor turning?
I allready tried to send a sinus pattern through the SPI interface but the problem then is that the motor turns in an unconcequent way and manytimes reject turning.
Is there a minimum speed of which the patterns should be applied? I'am using a 1 nF capacitor for the clock speed.

thanx Elwin
e.veenendaal
User
User
 
Posts: 5
Joined: 08 Oct 2007, 10:44

Postby TRINAMIC_BD » 08 Oct 2007, 13:58

Probably you have a problem in the setup causing the short circuit detection to act (check status bits). The motor should stand still with a single pattern. Please see the software examples (online) for a SW generating the required patterns.
User avatar
TRINAMIC_BD
Site Admin
 
Posts: 2480
Joined: 25 Jul 2006, 12:21
Location: Hamburg (Germany)

Postby e.veenendaal » 08 Oct 2007, 15:49

I have the software examples implemented but the problem is that 1 step goes well. The next step looks like to go only at half power. When I feel the ax only at 1 step there's sufficient power, the next step allmost no power is applied.
I check the status bits but only bit 8 is high.
Motor makes also sound (zzz, tak, zzz, tak,zzz,tak)?
e.veenendaal
User
User
 
Posts: 5
Joined: 08 Oct 2007, 10:44

Postby TRINAMIC_BD » 08 Oct 2007, 16:47

Probably only one coil is working. The "zzz" noise can occur with fast decay on, or when supply voltage is too low.
User avatar
TRINAMIC_BD
Site Admin
 
Posts: 2480
Joined: 25 Jul 2006, 12:21
Location: Hamburg (Germany)

Defective motors, or wiring.

Postby Andrew » 09 Oct 2007, 00:25

I remember long ago we received a consignment of motors, which exhibited the same behaviour.
It turned out all motors were defective.

I don't remember well. It was either the imprecise assembly, or asymmetric coils. Motors from some Asian suppliers are often of low quality. Many european suppliers actually manufacture in asia too. Some manage to produce good quality at the same factory which makes bad motors.

The alternative is that your wiring is wrong, as Bernhard suggests.

In general I am surprised. You, as engineer, do manage to manufacture a board with the chip. But you fail to measure the electrical output in order to see what is going wrong.
Here is another user, who refuses to make measurements:
http://www.trinamic.com/ttdg/viewtopic.php?t=737
And yet another one, who does not even know what a motor is:
http://www.trinamic.com/ttdg/viewtopic.php?t=738
He thinks a motor can be driven with zero current.
Maybe you drive with small current too?

To be merged
Andrew
 

Postby e.veenendaal » 09 Oct 2007, 08:49

I'am willing to take the neasecarry measurements but in fact I dont know what to expect or if the signals I measure are correct.
Can you supply me with an example of how the signals should look like?
I've tried differte current settings but the higher the externall reference the more noise (tak,zz,tak) the motor makes.
It is a 24V Rietschle Tomas motor 0,4 or 0,8A (2 different types)
e.veenendaal
User
User
 
Posts: 5
Joined: 08 Oct 2007, 10:44

Basics of stepper motion.

Postby Andrew » 09 Oct 2007, 13:02

The starting point on this forum for any learning is the "Getting Started" section.
Look there for a topic about Sample oscillograms.

In general, your motor must be a 2 phase and bipolar.

The signal is a symmetrical meandre on both coils. That's in full steps. When you apply microstepping, the meandre gradually transforms into a resemblance of a sinusoid. The greater the microstepping rate, the greater is the smoothness, and the resemblance of a sinusoid.

Mixed decay may increase smoothness even further. But sometimes it may spoil it.

The sinusoid is shifted by quarter period in one coild relative to the other.
The sinusoid is chopped into tiny pulses, so as to ensure a constant current. The chopping technology is called a PWM.
Search for this term on the forum.

By the way, your problem might be some kind of wrong data in datagrams, which you send to the driver.

If you use a chip TMC428, then check if you store a correct microstep wave table into that chip.

If you drive the TMC246 driver directly from your own microprocessor, then you must make sure the timing of commands on your SPI line is regular, and that the data is correct. To eliminate the errors in creating data for microsteps, first try to drive it in full steps.

To be moved
Andrew
 

Postby e.veenendaal » 09 Oct 2007, 13:21

Thanks for the reply but I'm still struggeling with the driver.
As I mentioned I'm using the TMC236A. Can you explaine me how to implement this full step driving?
I look further in the way the sinus signals are put throught the ucontroller.
I saw the pictures you mentioned but they dont put me in the right direction.
e.veenendaal
User
User
 
Posts: 5
Joined: 08 Oct 2007, 10:44

Full step over SPI data - maximum, direction - alternating.

Postby Andrew » 09 Oct 2007, 13:46

Then I am puzzled. How did you design your circuit board, if you don't kow how it works?
One of my customers had been designing one for about a year, and he asked not a single question.
Perhaps you might want I ask him to simply sell you his circuit boards. He also developed some software for his boards.

His design has about 12 axes. The design is modular. So unused driver boards may simply be omitted. You only install as many drivers as you need. So it is one board with a microprocessor, and many small pluggable driver boards.

Regarding the data to TMC236.
Please read the documentation of TMC236, in order to learn how data on its SPI input line corresponds to the sinus.
In general, in TMCM a full step is achieved by setting all data to the maximum, and simply changing the data for direction of current.
MC428 does so automatically.
If you do not use TMC428, you need to program that yourself.

But you did not even report your connection diagram. Do you use TMC428, or do you drive the driver directly from a microcontroller?
I don't really need this answer. You need someone to answer this question to you. In case you do not understand even your connection diagram, then I am afraid, you would not understand any further explanation I might give.
Perhaps you need to return the stuff to your supplier, and take some other job.
Last edited by Andrew on 09 Oct 2007, 14:00, edited 1 time in total.
Andrew
 

Postby TRINAMIC_BD » 09 Oct 2007, 13:57

You could also go for the TMC428, if you need positioning in your application. The positioning plus sine curve sequencing comes in reliable hardware.
If the solution is cost sensitive, you can stick to the example code and add a frequency generator, which calls the rountine with the desired (micro)step frequency of a few 10 to a few 1000 Hz.
User avatar
TRINAMIC_BD
Site Admin
 
Posts: 2480
Joined: 25 Jul 2006, 12:21
Location: Hamburg (Germany)

Postby e.veenendaal » 10 Oct 2007, 09:56

I don't need positioning in my system only control the turning speed. Right now I think maybe the problem is in the SPI interface.
I read the manual again and something is unclair to me.
On page 23 the timing is explained. In the picture it shows bit 12 as MSB and then down to bit 0 as LSB with a 12 bit interface.
I'am using a 16 bit interface as explained below on page 23.

It says: the upper 4 bits are dummy bits.

Does this mean i have to transmit :
A: (MSB)XXXX.1111(LSB) and then (MSB)1111.1111.(LSB).

or like the picture:
B: (MSB)1111.1111(LSB) and then (MSB)1111.XXXX(LSB).

where X represending the dont cares?
e.veenendaal
User
User
 
Posts: 5
Joined: 08 Oct 2007, 10:44

Postby TRINAMIC_BD » 10 Oct 2007, 10:04

This would be an explanation for the problem, that only one phase works.
A is correct: The processor SPI interface first sends out the four don't care bits. During the following clocks, these are shifted through the SPI register in the TMC236, and during clocks 12-16 they become shifted out to the TMC236's SDO. Only the last 12 bits sent remain in the TMC236 and control its function.
User avatar
TRINAMIC_BD
Site Admin
 
Posts: 2480
Joined: 25 Jul 2006, 12:21
Location: Hamburg (Germany)


Return to Evaluation board software related issues / Getting started ICs

Who is online

Users browsing this forum: No registered users and 0 guests