Born out of a combination of personal enthusiasm for drones and customer questions on low inductance or modular permanent magnet motors I did some test with some of these machines. For my own drone design I chose the AGM MT3510 which can easily consume 200 W.
To get started with drones I bought the ECS SimonK Afro but my intention was also to test how our InstaSpin algorithm is performing with this machine and maybe replace this ECS with my own designed hardware (like this: http://www.ti.com/tool/TIDA-00643 ) but I did not reach that point, yet.
Overall there are no issues to have this motor spinning from scratch but to do a perfect job there are a few things necessary to consider.
- The motor has a quite low inductance, around 16uH. The InstaSpin software offers a special identification routine for those motors. In the Motorware software packet it can be found with the name Lab2c. Identifying works just fine with this machine and actually I only had bigger problems with machines with an inductance below 10uH.
- For low inductance motors it is also recommended to spin faster during identification of the motor to get better signals to estimate the Flux. So the Flux estimation frequency should be chosen higher than the standard 20Hz. I used around 100Hz.
- Those modular permanent magnet machines have a different number of stator and rotor poles (12N14P) which seems to be complicated but the InstaSpin algorithm does not really care about it. However you will need to consider that the software makes an error when it calculates the speed of the motor. I found that for this machine the real speed is 1.119 times faster than what the software tells you. At the moment I can only guess where this ratio comes from.
This is the final motor definition in the InstaSpin software:
#elif (USER_MOTOR == AGM_3510)
#define USER_MOTOR_TYPE MOTOR_Type_Pm
#define USER_MOTOR_NUM_POLE_PAIRS (7)
#define USER_MOTOR_Rr (NULL)
#define USER_MOTOR_Rs (0.04968007)
#define USER_MOTOR_Ls_d (1.648218e-05)
#define USER_MOTOR_Ls_q (1.648218e-05)
#define USER_MOTOR_RATED_FLUX (0.009140045)
#define USER_MOTOR_MAGNETIZING_CURRENT (NULL)
#define USER_MOTOR_RES_EST_CURRENT (2.0)
#define USER_MOTOR_IND_EST_CURRENT (-2.0)
#define USER_MOTOR_MAX_CURRENT (10.0)
#define USER_MOTOR_FLUX_EST_FREQ_Hz (100.0)
So far so good…the motor runs, or let’s say: there is no issue for the algorithm with any kind of this motor. I will add my performance tests here later. Please let me know if this is interesting for you.
This is also a good resource if you want to know more about running drone motors. Cheers!