TMCM-AC-840

Issues regarding Actel FPGAs with TRINAMIC IP or daughterboards

TMCM-AC-840

Postby TRINAMIC_SK » 19 Apr 2010, 12:10

The new TMCM-AC-840 daughter board for Actel SmartFusion Development and Evaluation Kits is launched now!

It features two motor driver ICs - one for BLDC motor commutation (TMC603A) and one for stepper motor commutation (TMC262).

More information is available on our product page http://www.trinamic.com/tmc/render.php?sess_pid=478 or on the Microsemi (Actel) website: http://www.actel.com/products/solutions ... c_kit.aspx .

Do not hesitate to contact Trinamic for sales and technical information!
User avatar
TRINAMIC_SK
Site Admin
 
Posts: 55
Joined: 19 Apr 2010, 10:41
Location: Hamburg

Re: TMCM-AC-840

Postby dandumit » 11 Jan 2011, 10:52

Sounds very interesting.
Would you please tell us from where it can be bought this daughter board ?
dandumit
User
User
 
Posts: 6
Joined: 04 Nov 2010, 14:43

Re: TMCM-AC-840

Postby TRINAMIC_SK » 11 Jan 2011, 11:18

Hello,

this board is part of our Motor Control Evaluation Kit for the Actel/SmartFusion devices.
The complete kit consists of the board itself, two motors (stepper+BLDC), a desktop power supply, and a hard top case.
We also provide a free demo design (under GPL) for free use.
The demo design and the latest information can be found here: http://www.trinamic.com/tmc/render.php?sess_pid=478

The kit is available directly from Trinamic. Please contact our sales team.
We have the kit in stock. So delivery is no problem.

If you have more questions just ask.

Regards - S.Kubisch
User avatar
TRINAMIC_SK
Site Admin
 
Posts: 55
Joined: 19 Apr 2010, 10:41
Location: Hamburg

thanks...

Postby Zippie90 » 07 Feb 2011, 04:44

thanks, that helped me a lot!
regards,
chantal
Zippie90
Newbie
Newbie
 
Posts: 1
Joined: 07 Feb 2011, 04:43
Location: Germany Nortrhine-Westfalia

Re: TMCM-AC-840

Postby Fabien Lasvignes » 21 Feb 2011, 18:23

Hello,

I am currently working with the TMCM-AC-840 daughter board and the SmartFusion Kits at the French Actel office. I have a major interest in the BLDC motor control part of the Trinamic board using the TMC603A device, but I have some issues with the CURx signals. The current value calculated from the CURx signals, using the instructions given in the TMC603A User Manual does not match the current value displayed by my power supply.
I might have misunderstood some details about how to use these signals. Would it be possible to have any contact with the technical support regarding this issue?

With regards,
Fabien Lasvignes

Microsemi
361, avenue du Général de Gaulle
92147 Clamart cedex - France
Tél. +33 (0)1 40 83 11 00
eMail. fabien.lasvignes@microsemi.com
Fabien Lasvignes
User
User
 
Posts: 2
Joined: 21 Feb 2011, 17:02
Location: Clamart - France

Re: TMCM-AC-840

Postby TRINAMIC_SK » 22 Feb 2011, 09:22

Hello Fabien,

thanks for using the kit and for asking.

Please describe in more detail how you are measuring the current at the moment, especially when do you sample the current in the SmartFusion.
What is the difference between the current you see on your power supply and to what you currently get from your calculations?
What do expect as result? Are you using the kit with the motor delivered with the kit or with a different BLDC motor?

Mostly, the point of time when you sample the current is the critical part. Isuppose this might be the same here.
Please answer my questions first, so I can give you more feedback.

Regards - Stephan
User avatar
TRINAMIC_SK
Site Admin
 
Posts: 55
Joined: 19 Apr 2010, 10:41
Location: Hamburg

Re: TMCM-AC-840

Postby Fabien Lasvignes » 22 Feb 2011, 11:37

Hello,

Thanks for answering so quickly.

I am currently using the demo design available on the Actel webpage (http://www.actel.com/products/solutions ... c_kit.aspx) in order to understand how to use correctly the TRINAMIC daughter card kit. My final goal would be to implement another design, using a current based feedback loop to control the BLDC motor delivered with the kit.

When using the BLDC motor control part, this design displays multiple data on the OLED, such as the PWM value, the motor voltage and the three CURx values. My only issue concerns the CURx values, as I am not sure to understand how it works. When the motor is rotating, the three CURx values keep oscillating between 1.55 and 1.58 volts, not depending on the motor rotation speed, whereas my power supply displays a current input value that grows with the motor rotation speed, which seems more logical to me.

I also don’t understand how to calculate current values based on the CURx voltage. I am using the equation given in the TMC603A User Manual ( I = Vdrop / Rdson ), but the three calculated values are more than 10 times bigger than the current value displayed on my power supply. It seems illogical that the motor could use more current than the power supply is supplying, which makes me think I made a mistake in my calculation.


I hope I have been clear enough for you to understand what I did wrong.

With regards,
Fabien Lasvignes

Microsemi
361, avenue du Général de Gaulle
92147 Clamart cedex - France
Tél. +33 (0)1 40 83 11 00
eMail. fabien.lasvignes@microsemi.com
Fabien Lasvignes
User
User
 
Posts: 2
Joined: 21 Feb 2011, 17:02
Location: Clamart - France

Re: TMCM-AC-840

Postby TRINAMIC_SK » 22 Feb 2011, 17:24

Hello Fabien,

thanks for the details.

The demo design simply measures the voltages seen at the CURx pins and displays them on the OLED.
For the demo design this is just some testing to see if anything happens at all :shock: .
The demo design itself is not current controlled but uses the HALL signals of the motor to close the loop for BLDC commutation.
Furthermore, the demo design uses simple block commutation.

I suppose, you plan to use some kind of field oriented control (FOC) because you want to measure the currents.
Therefore you first need to change to PWM scheme. Block commutation is not optimal for FOC. Try using a sine based PWM (SPWM) or space vector modulation (SVPWM).
This is something you have to do on your own...VHDL :? .


Anyway, let's come to your questions regarding current measurement:
On the TRINAMIC motor control kit, the CURx pins of the TMC603A show a voltage from which the current needs to be calculated.
The configuration of the TMC603A on the TRINAMIC board is to use shunt resistor based measurement! This is hard-wired in the board layout.
So you need to take the other formular from the manual of the TMC603A: Ishunt = Vdrop / Rshunt.

The voltage level you actually see on the CURx pins is the amplified voltage drop over the shunt resistors (R010 --> 10 milliOhms) that are on the TRINAMIC board.
Furthermore,the voltage level is centered to 1/3 of VCC at zero current.
So as VCC is approx. 5V, the voltage level at motor standstill is approx. 1.6V = zero current.
When no load is applied to the motor, you can see no huge change here as the required current is low.
Anyway when using a scope you can see the current of the three phases somewhere around 1.6V. You should try visualizing it using some oscilloscpe.
The required voltage is the DIFFERENCE from the zero-current voltage measured with the ADC and the actual voltage :!: .

In the demo design, the SAMPLEx pins of the TMC603A are set to 1, which means "sampling is self-timed" for the TMC603A (see section 5.3.1 in our datasheet).
Further, the SENSE_HI pin of the TMC603A is set to 1, meaning an internal amplification of approx. 20.8 (please also verify with the datasheet of the TRINAMIC IC, section 5.3 on the current measuremant and table on page 37 regarding typical parameters for the current measuremnt block).

In self-timed mode, the value of the CURx pins is valid approximately 6us after a rising edge on the low side bridge chopper signals (BLx). Please see the diagram in the datasheet.
After these 6us, you can start sampling with the ACE engine to get the actual voltage on one of the respective CURx pin.
In one of our designs we use the following C-code to calculate the current from one CURx pin:

current_x_mA = (((ZERO_CURRENT_mV - ACE_convert_to_mV (CURx_603, ACE_get_ppe_sample( CURx_603 ))) / RSENSE) / AMPLIFICATION);

ZERO_CURRENT_mV --> voltage on the CURx pin at zero current, approximately 1610mV
CURx_603 --> ACE handle of the ADC channel
RSENSE --> const float RSENSE = 0.01; // [Ohm]
AMPLIFICATION --> float AMPLIFICATION = 20.8; // actual internal amplification, SENSE_HI = 1 --> 20.8, SENSE_HI = 0 --> 4.5

When measuring outside a high pulse of the BLx signal, the voltage on the CURx pin is swinging, may drift and does not show the correct value.

For a more fine grained measurement, use the function of the SAMPLEx signal. When set to zero, the CURx signals are set into a hold stage showing a stable voltage level.
Now you have some more time to measure and even use some filter on the CURx signal. But you need to take care as the voltage levels of the CURx pins may drift during hold.
For best results, set SAMPLEx to zero right in the middle of the BLx high-pulse and then measure the current (voltage) during hold.
After measurement switch SAMPLEx back to '1'.


:!: To conclude...
...in the demo design, the CURx shown in the OLED is just a very basic measurement of the voltage at these pins and does not reflect the current.
...when transforming the voltage into mA or A, you need to calculate the difference between 1/3 VCC and the voltage measured at the pins together with the sense resistor and the internal amplification.
...you need to measure at the right point of time. Maybe use SAMPLx pin functionality for sample & hold.

Maybe this does not answer already all questions but should help you.
If you have more questions do not hesitate to contact me, also directly by email (kubisch@trinamic.com).

Regards - Stephan

Tip: When applying load to the motor (you can try to hold the motor shaft a little bit with your fingers), you will see a voltage change even on the OLED.This is because now more current is required and this can even be seen with this simple voltage measurement in the demo design. You should also try to use the option "6" in the terminal menu of the demo design, which manually toggles the SAMPLEx signal.
User avatar
TRINAMIC_SK
Site Admin
 
Posts: 55
Joined: 19 Apr 2010, 10:41
Location: Hamburg


Return to Board and System Solutions

Who is online

Users browsing this forum: No registered users and 0 guests