Announcements

Webinar: Integrated solutions for smaller, simpler low-voltage motor control design.
Join the webinar to experience!

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Ahmad
Level 1
Level 1
5 sign-ins First question asked Welcome!

I am trying to drive a small BLDC drone motor (EMAX MT2204 2300 kV) using an Arduino and Infineon BLDC Shield with TLE9879QXA40. I am using a 12V supply and connecting the three phases of the motor to the shield and then using the example code for FOC. However, I have not been able to get the motor to rotate at all. Does anyone have any experience with something similar? Can a motor like that even work with this shield or do I need a motor with Hall sensors? Any kind of help would be appreciated. 

0 Likes
1 Solution
nin
Moderator
Moderator
Moderator
50 solutions authored 100 replies posted First like given

Hi @Ahmad,

Were you able to rotate the BLDC motor with BLDC Shield? If not can you please follow the steps mentioned in the following thread:

How to program a TLE9879 Arduino shield. 

Could you please follow these recommendations for your BLDC shield:

  • Open the KEIL project of FOC from the shield software and open the config wizard from the tools.
  • Configure all the settings for your motor and save the config wizard.
  • Rebuild the entire KEIL project and load it to the BLDC shield using J-Link. During programming the shield do not mount shield to the Arduino. After successfully programming the shield mount it on the Arduino.
  • Load the single motor example of Arduino with setMode as FOC to the Arduino.
  • Check if the Motor rotates for the given period as per the Arduino programming. If not can you check the serial monitor of the Arduino and let us know what errors you are getting?

 

Please, let us know if you need further support.

Thank you

Regards

Ninad

View solution in original post

0 Likes
3 Replies
siccodwars
Level 3
Level 3
First like received 10 replies posted 10 sign-ins

I'm stuck at the very same point. I think the motor that I use (the Torcster Black, smallest type, same as in Infineon 12V Motor Control Kit) also comes from the drones application area. I'm not using the Infineon Shield (hopefully will get one today/tomorrow), I use the 12V kit for now, and have that SPI connected to my Arduino (Teensy41, using improvised 5V<->3V3 SPI bus translator).

I do have SPI comms working OK, the Arduino host sets the mode OK, now reads all parameters OK (after some bug / version control error fixes...), but in HALL mode the motor still refuses to spin. I think there is never any motor current at all. Other modes (BEMF, FOC) at least do spin the motor, but not smoothly.

Diving into the BldcBcHall uVision project, I get lost in details on why  Config Wizard v1 configures things the way it does.  Like how Hall inputs are (to be) wired into the TLE9879 given what inputs. And most important I guess, what to enter as motor parameters as in what should I use for my motor's:

HALL parameters:
PWM Frequency = 20000.000
Pole Pair = 7
initDutyCycle = 10
inputA = 1
inputB = 2
inputC = 2
offset60degEn = 1
angleDelayEn = 0
delayAngle = 0
delayMinspeed = 500
SpeedPi_Kp = 40
SpeedPi_Ki = 20
ReservedForPadding = 0
speedIMin = 0.000
speedIMax = 75.000
speedPiMin = 8.000
speedPiMax = 75.000

And the same question for the different parameter lists in BEMF and FOC modes. 

Anyone has those for the Torcster motor as on the "12V Motor Control Kit"?

 

0 Likes

Just got my motor spinning with Shield code and Arduino setting it to FOC mode. But I lost track of how much I changed where in Conig Manager v1, recompiling, reloading and so on. These were some of my stumbling points:

The 3 Hall inputs could be on several TLE9879 pins. Which ones they go on is specified twice in that  marvelous Config_Wizard_v1 (IFXConfigWizard, so the old version 1). Once it gets specified under   "Block commutation Motor Parameter" where you can specify it under HALL Parameters, and once under CCU6 where the tool copies your 'Block Commut..." edits / entries into the greyed out CCPOS1,2,3 Pin select/Inputs/Channels fields. Wizard makers must have thought this would make things easy for us, but... The clumsy bit is that the Arduino App suggest that these pin selections can also be made via parameter settings. So after flashing the TLE9879 on the Shield. But that does not work. At most it sets parameters that also got populated by the IFXConfigWizard tool when saving, but it fails to edit whatever you had listed under CCU6 pin definitions (greyed out, but those are the only ones with real impact to the code because those eventually  set CCPOS0,1,2 fields in CCU registers...). 

0 Likes
nin
Moderator
Moderator
Moderator
50 solutions authored 100 replies posted First like given

Hi @Ahmad,

Were you able to rotate the BLDC motor with BLDC Shield? If not can you please follow the steps mentioned in the following thread:

How to program a TLE9879 Arduino shield. 

Could you please follow these recommendations for your BLDC shield:

  • Open the KEIL project of FOC from the shield software and open the config wizard from the tools.
  • Configure all the settings for your motor and save the config wizard.
  • Rebuild the entire KEIL project and load it to the BLDC shield using J-Link. During programming the shield do not mount shield to the Arduino. After successfully programming the shield mount it on the Arduino.
  • Load the single motor example of Arduino with setMode as FOC to the Arduino.
  • Check if the Motor rotates for the given period as per the Arduino programming. If not can you check the serial monitor of the Arduino and let us know what errors you are getting?

 

Please, let us know if you need further support.

Thank you

Regards

Ninad

0 Likes