This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Target RPM issues using DRV8312 and InstaSPIN-Enabled Piccolo TMS320F28069M MCU (DRV8312-69M-KIT)

Other Parts Discussed in Thread: MOTORWARE

Hello everyone and thanks in advance for your support :)

I'm developing a unconventional Sensorless BLDC motor (See attached pictures)

Have I overlooked some setting that might allow my design to hit it's target RPM?

I have limited access to resources like laminated stators as many do for prototyping. So do to design size, weight constraints and material resources I'm using what I have on hand and is readily available online and that I'm able to fabricate using only basic hand tools and a drill press. I purchased the above subject kit and have had encouraging success but I'm unable to hit my target RPM's of approximately 4-5k. I'm no expert and have no prior technical training in this area, but lets not let that keep me from exploring the possibilities... :)

I have two plywood discs that face each other one housing the 1/2" x 1/2" cylinder N52 rare earth magnets (12 originally now 6) and the other 26 gauge copper magnet wire coils (9 w/air core) and about 350 turns each. With 12 (mag) and 9 (coils) I was able to get a little better than 1400+ RPM and I increased that by another 300+ RPM to about 1700+ by tweaking the "Advanced Tab" 'Field Weakening' set to (-0.3) and 'SVM Modulation' set to 2.00.

I then tried adding steel cores (I had a length of 1/2" dia. grounding rod) to the coils and found that that decreased the speed to about 450 RPM, I now know that only laminated electric or transformer steel must be used, but again I'm trying to watch the overall weight and air cores would be my first choice.

I then removed the iron cores and repositioned the magnets placing 2 same poles next to each other then alternating the poled pairs i.e, NN, SS, NN, SS, NN, SS. This actually did spin during identification but at about 45% it failed to identify the motor. I then bridged the poled pairs with a piece of transformer steel laminate thinking the bridge might merge the two poles together into one pole, didn't help :( I'm thinking the size of magnet area vs coil area might be the issue or the fact that it was sensing double like kind poles next to each other???

I then removed every other magnet leaving just six figuring this would speed up the sequencing and it did :) Now I achieved 2100+ RPM and with advanced tab tweaking I got it up to 2400+ (see pics), but still far from my target.

Outside of a conventional BLDC stator/magnet configuration, anyone have any expert advice or suggestions?

Are there any resources that that give examples of motor stator and magnet configurations for speed?

I'm also in need of an individual to help me design the PCB that will be needed to drive this design to maintain defined speed and other requirements not discussed here. Anyone???


Thanks, Bruce

  • The RPM you are getting is only a calculation from the electrical Hz of the currents being drawn * 120 / poles.
    Are you changing the # of poles when you make these rotor changes?

    2457 RPM * 6 poles / 120 = 122 Hz applied. You would need a 4 pole machine to get 3660 RPM.

    your Vbus / Flux = 24 V / 0.1 V/Hz = 240 Hz. If you could reach this frequency with your 6 poles somewhere near 4800 RPM would be possible.

    Rs / Ls = 2857 Hz; This is very high for your motor. Your Rs is unnecessarily large for a low voltage motor.

    Isc = Flux / 2pi / Ls = 5.69 A, which looks pretty good.
  • Hello Chris,

    Thank you for your reply.

    I intend to retest and check/compare the RPM with a handheld laser tachometer. Yes I do change the # of poles (3 pairs) for the 6 poles as seen in the "motor_ID" picture.

    So the formula (Vbus / Flux = 24 V / 0.1 V/Hz = 240 Hz) is key to achieving my target RPM's I have to admit I don't understand it but might guess that increasing my air core coils flux might be the ticket???

    Is that "control timing" set in user.h pre-compile PWM frequency 20 KHz the issue or is that just a starting point for motor identification? BTW I was unable to locate any reference to the define of 20KHz in both the FOC and Motion user.h files. All I saw was a define of 45.0

    C:\ti\motorware\motorware_1_01_00_13\sw\solutions\instaspin_foc\boards\drv8312kit_revD\f28x\f2806xF\src\user.h

    #define USER_PWM_FREQ_kHz                (45.0) //30.0 Example, 8.0 - 30.0 KHz typical; 45-80 KHz may be required for very low inductance, high speed motors

    I had forgot to mention earlier that the iron core trial coils had to be trashed so I made new ones 1/8" longer that were used in the details I had posted yesterday. To compare I will have to reinstall all twelve magnets to see if the additional copper has increased the flux and the RPM's compared to the shorter coils used at first test before I tried 6 poles with longer coils.

    Want would cause my Rs to be as you stated  "unnecessarily large for a low voltage motor"? To many turns on my coils, should I try a heavier gauge wire with less turns? Won't that lower the flux output of those coils weakening the driving force?

    Are you saying you calculate that my motor is drawing 5.69 amps? I only see like less than 0.5 on the graphs.

    Thanks, Bruce

  • Vbus / Flux tells you at what frequency the Bemf will be greater than the drive voltage...you can't apply more frequency. You need less flux in your machine to achieve higher speed. Less flux of course means lower torque capability. If you need more torque you then need to increase current capability.

    control timing:
    the .out used in the GUI you are using was built 3 years ago with 20 KHz PWM. The default settings for the MotorWare projects uses 45 KHz.

    stator resistance is from your wires.

    short circuit current is not what your motor is drawing, it gives you an idea of the construction and relationship between flux and inductance.
  • Hello Chris,

    Thanks again for your expert advice.

    Would you agree that increasing the coil wire gauge (26 to 20) and maintaining the same coil dimensions would lower the flux of the coil and increase it's current capabilities?

    Would you agree that swapping out the Neodymium N52's for N42's might be a better/easier solution considering I have to hand make the coils? Or is this more a coil issue than a magnet issue?

    I really do appreciate your guidance.
    Thanks, Bruce
  • Bruce,
    I really am not an expert (or even very educated) on electric motor machine design. Sorry I can't help you more.
  • Hello Chris,

    Don't underestimate your potential, as I know far less than you and that's not keeping me from exploration. The TI department that has developed this kit I bought ($300) and the components that will be bought from TI to build my motor control other electronic requirements, must be well versed in motor design configuration. I do appreciate all you have communicated and ask that you lastly refer me to someone that has the ability to satisfy my questions.

    Thanks, Bruce

  • Bruce,
    No, we are well versed in controlling three phase motors, but not in their design per se. I'm sorry, but that's not our part of our business. We have no one who will be able to comment on the design of your motor. I would suggest looking for other on-line resources. I know there are some interesting and intelligent conversations happening at
    endless-sphere.com/forums
  • Chris,

    Thank you for your continued support and the link you provided is excellent :)

    Bruce