cancel
Showing results for 
Search instead for 
Did you mean: 

Example for STEVAL-ROBOT-1 (EVALKIT_ROBOT_1_SDK543_Positioning_LL) - two main issues.

ketchup
Associate III

Hi,

I'm try to use example provided by ST - EVALKIT_ROBOT_1_SDK543_Positioning_LL.

After few little correction the project (i.e. modbus was added to project using absolute path, not relative using project location), example is working, but:

1.

On the start, motor sets 0 position (I'm reading this position using function MC_GetCurrentPosition1()) and motor stays at this position. But if I rotate motor by hand over 20.5 radians, then motor suddenly run in this direction and stops at 40.84 radians. I can do it once more time, in the same direction, and result is that motor stops at 82.03 rad, and so on. When I do the same thing to 0 position direction it returns with the same few steps and returns exactly in 0 rad pos.

2.

The example configuration STEVAL-ROBOT-1 us very low current, something 0.07A.

Do You know, how to fix those issues?

Lukasz Lecki

20 REPLIES 20
ketchup
Associate III

@Karl Hönemann​ 

On the different controllers (TI), I had set position to 0, and then I had tried to rotate the motor by hand.

I could see the raisening current to few Amps. The controller tried to back to 0 position incressing current.

I need to work with low speed (600RPM) and need much more power from start, than 3W.

Sorry, but I cant understand, why I need "high" rpm, to use more current.

Also with ST controller, the "pulled" current (from power supply) is rising, when you try to "hold" 0-position and move the motor away by hand. But anyway, it never will rise up to 3A at 36V … If you would do so with the motor from the kit, you would blow it up within parts of seconds. Try to measure the current and the voltage directly at the motor and you get the expected (and rated values). It´s just a physical law: The power you deliver into a system has to be "used" somewhere… Either by mechanical work or by conversion into heat… If you need more mechanical power (torque / rpm), you´ll need a motor, which is capable of doing so. The motor from the robot-1 kit is rated at 100W and it can deliver it within it´s specifications. Imagine your (maybe turbocharged…) car: If you try to accelerate at low rpm (idle rpm), there´s nearly no power. Just if you choose the right gear, it will work. Electric cars for example have completely different motors than that little Maxxon. They are constructed to deliver high torques at even low speeds (large diameters at less "lenght", more pole pairs, much more amps per coil and so on …

Watts are a unit of mechanical performance… Torque is just a mechanical force. A BIG difference ;)

Maybe a better comparison: Take a look at these high performance bldc motors, used for model planes... They are rated to deliver KILOwatts sometimes and also they are not much larger than the maxxon … just completely different windings / magnets and so on … But anyway they "pull" much more than just 3A per coil. With one of these, it´s no problem to get, what you expect. (Besides that they get really hot in such a case…)

Or on the other side: Use a controller, which is able to deliver 10A into your maxxon… Maybe it will survive for a while and perform, as you want. Anyway this is far outside the given specifications...

Gigi
ST Employee

​I absolutely agree with @Karl Hönemann​ 

Thanks, maybe you explain better than me this concept.

100W indicated in the motor datasheet is considering a speed of more than  4000 rpm and with less than 3A, if you want to reach the same power but at lower speed you need a lot of current and this can't be sustained by the board and the motor.

So in your case is better to consider first the application requirements in term of torque instead of power to select the proper motor.

Ciao

Gigi

"If the power is 2.5W, and the current is 1.5A, than voltage should be 1.6V, but it's not true. Voltage is 36V."

It's wrong: the voltage at input is 36V, but the volatge applied to the motor is less since it is modulated by the inverter. In particular the voltage applied to the motor is proportional to the speed, so at higher speed, with the same level of current (and so torque), you need more power.

Ciao

Gigi​

Ciao,

Gigi, thanks four You time.

I have last, I think, question. Is there any possibility using MC, to get more torque (more aggressive modulation) in static situation?

Ciao

Lukasz

Gigi
ST Employee

​Whitout an HW modification what you can get maximum is 3.7A of phase current that you can get changing to 32182 the three define I mention in my firt post.

I tested this value and I didn't get over current, this will increase a little bit the provided torque.

The limitation in this case is in the maxium readable current of the board that is in the range of 3.7A. If you increse more probably you get the over current protection because the reading of the current will be saturated. You are providing more than nominal current of the motor but probably this condition can be sustanied temporarily by the motor. To increase more you have to modify the HW and in this case is better to switch to another board.

Ciao

Gigi 

0693W000001pREkQAM.jpg

ketchup
Associate III

Gigi, what board You propose?

Right now I have also: STEVAL-SPIN3202. Will be better?

Gigi
ST Employee

​Clearly it depends on your application requirements.

I think that more or less the path should be to understand the requirement in terms of torque required by the application

Identification of a motor that can produce that torque in the requested speed ranges

Computation of the required motor phase current (peak value) that is needed to produce the required torque

Identification of the proper board to provide that current

There are a number of boards that should be compatible with the FOC and postion control available in the ST website as reference board... maybe more than the one that I know.

In the selction the main characteristic that you have to verify is the maxiumum allowed current (that tipically is the peak ouput curernt for the motor), but if I can I suggest you. please select a board that has three shunts for the current sensing. The one shunt current sensing is cheaper, but the control is worst. Unfortunately the one you mention has only a single shunt current sensing, so I'm expecting a control that should be more noisy and less accurate respect the one that you are experiencing with the ROBO-KIT.

Let me know your request in terms of motor phase peak current an I can do a fast check to find if we have some compatible board.

  

Ciao

Gigi

​Sorry for the delay but I thought I had already answerd to this question but I don't see it.

It depends on the maximum peak current that you have to provide to the motor. If you can estimate it starting from the torque request and the datasheet of the motor that you select I can verify if we have some power board that allows it.

The SPIN3202 is a single shunt board and I suggest to not use it for such kind of applications.

Ciao

GIgi