Author Topic: BLDC driver for spindle motor  (Read 2305 times)

0 Members and 1 Guest are viewing this topic.

Offline radar_macgyverTopic starter

  • Frequent Contributor
  • **
  • Posts: 698
  • Country: us
BLDC driver for spindle motor
« on: March 28, 2022, 07:13:32 am »
I have a 750W BLDC I'd like to use as a spindle motor on my micro-mill. The motor has hall sensors for commutation, but no encoder like a servo motor would have. I tried two different drivers, one rated for 750W, the other for 1 kW, both are no-name Chinese drivers, like the ZM-7206 aka DBLS-08-H-SC

https://www.aliexpress.com/i/33030027300.html

With both drivers, I'm finding that the motor speed is not stable and I can grab the 60mm pulley on the output shaft and stop it by hand especially at lower RPM (drive indicates an overcurrent fault). I'm curious if anyone has had better luck with these, or perhaps documentation showing how to adjust the current limits. There are many adjustable parameters, most of which are not documented. Or do I just have a crappy motor?
 

Online thm_w

  • Super Contributor
  • ***
  • Posts: 6384
  • Country: ca
  • Non-expert
Re: BLDC driver for spindle motor
« Reply #1 on: March 28, 2022, 09:41:03 pm »
Post the information on the motor here, what specs, do we know if it matches the driver.

Drive voltage is stated as 220VAC, are you running off 120V or 220V?
Any chance hall sensors have been messed with, eg not positioned correctly?

http://www.dt-me.com/data/upload/admin/20170323/58d38f0cab215.pdf
Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 

Offline radar_macgyverTopic starter

  • Frequent Contributor
  • **
  • Posts: 698
  • Country: us
Re: BLDC driver for spindle motor
« Reply #2 on: March 29, 2022, 04:37:41 am »
It's a no-name motor, the only spec shown is the 750W power rating. It looks very similar to the 80BL150-3130 motor (page 17 in the linked PDF). The motor does not have a data plate. It came as part of a kit with a 110V driver. I suspected the driver was current limiting too early, so I bought a larger driver that is rated for 1 kW, with the same result. The latter driver is operating at 240V (bus voltage of ~370V).

The motor has color-matched phase and hall sensor leads, and the drive has an option to display the hall switching sequence which shows the correct steps when turning the shaft by hand. Wouldn't the motor just not turn at all if the hall sensors were not aligned with the windings?

I first thought the driver is operating in torque mode, but it does have a PI loop (you can program a P and I parameter) and has a programmable acceleration. However, even with a rather high value for the P gain (any higher causes oscillation), the speed regulation is poor under load, I can slow down the motor easily by holding the output shaft.

I don't have much experience with open-loop BLDC drivers (with just hall sensors, no encoder), so I'm wondering if my expectations are too high for this setup. In other words, is it possible to have good speed regulation at low speeds with just a hall sensor?
 

Online thm_w

  • Super Contributor
  • ***
  • Posts: 6384
  • Country: ca
  • Non-expert
Re: BLDC driver for spindle motor
« Reply #3 on: March 29, 2022, 08:59:35 pm »
So the motor was originally used with a 110V driver, now you are trying to use it with a 220V driver. Did you compare the spec of the original 110V driver?

The motor has color-matched phase and hall sensor leads, and the drive has an option to display the hall switching sequence which shows the correct steps when turning the shaft by hand. Wouldn't the motor just not turn at all if the hall sensors were not aligned with the windings?

Depends how bad the misalignment is. But if it was a working motor before, and doesn't look like someone messed with it, should be ok now.

Down to 100RPM or so the torque should be OK: https://www.orientalmotor.com/brushless-dc-motors-gear-motors/technology/brushless-dc-motors-servo-motors-inverter.html
You'd normally be running a lot faster than that.

Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 

Offline radar_macgyverTopic starter

  • Frequent Contributor
  • **
  • Posts: 698
  • Country: us
Re: BLDC driver for spindle motor
« Reply #4 on: March 31, 2022, 06:15:42 am »
Neither the drives nor the motors came with any useful information, which is why I thought asking here may shed some light on the matter. I realize it sounds like amateur hour, but thanks for answering anyway.

I was able to stall the motor while it ran at about 1500 rpm (verified with a tachometer). It wouldn't run below about 250 rpm.

I'll probably get a DYN4 servo drive and matching motor, those come with decent documentation.
 

Offline radar_macgyverTopic starter

  • Frequent Contributor
  • **
  • Posts: 698
  • Country: us
Re: BLDC driver for spindle motor
« Reply #5 on: April 24, 2022, 06:10:08 am »
I found a Copley Controls XSJ-230-10 servo drive at a good price on ebay. The same motor runs much more smoothly with the Copley drive. The drive has two options for motor speed feedback (when no motor encoder is used) - using the hall sensors or by measuring the back EMF. The former gave good speed accuracy, but the update rate was poor, so the motor did not handle velocity or load transients very well. In this mode, the behavior was similar to the Chinese BLDC drivers. The back EMF method requires the motor's speed constant to be well known. I tried back-driving the motor and measuring the back-EMF with a scope, but the speed was off by a factor of 4 or so. Scaled down appropriately, I got very good control over the motor speed down to about 500 rpm. It does run smoothly at 200 rpm but with almost no torque. The drive runs the motor up to 4500 rpm without issue, can't go higher with a 160V bus (running off 120V since I don't have 240V at my bench).

The hall sensors were aligned correctly (the Copley drive can determine hall sensor offsets). After some tuning, the velocity loop looks decent. It could be tuned a bit more stiffly, but the motor started making unpleasant noises. See below for the tuning results - note the motor velocity estimates are a bit noisy. I have a CUI AMT332 encoder ordered, to complete the position loop with the servo drive. This should give me better velocity estimates, and give spindle position control (rigid tapping operations).



In case anyone else needs it, here's what I measured:
Poles = 4
Re = 1.3 ohm, Ls = 2.16 mH
Kv = 35 V/krpm (measured with scope), 8 V/krpm (trial-and-error value for correct speeds in back-EMF mode).

Don't have a means to measure the torque constant or the rotor inertia - ideas appreciated.
 
The following users thanked this post: thm_w

Online thm_w

  • Super Contributor
  • ***
  • Posts: 6384
  • Country: ca
  • Non-expert
Re: BLDC driver for spindle motor
« Reply #6 on: April 25, 2022, 09:23:17 pm »
What sort of tap size for rigid tapping. I assume not that large (<3/8) into aluminum?
https://www.parlec.com/Parlec/media/technical_specs/Tapping-Speeds-Torque-Requirements.pdf?ext=.pdf

Thread milling can also be an option for larger threads.

Will be interesting to see once you get the CUI encoder.
Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 

Offline bill_c

  • Regular Contributor
  • *
  • Posts: 130
  • Country: us
Re: BLDC driver for spindle motor
« Reply #7 on: April 25, 2022, 11:49:38 pm »
I'll probably get a DYN4 servo drive and matching motor, those come with decent documentation.

They have undocumented "features" and the documentation does contain errors.  I have 2 motors with exactly the same part number, they have different number of poles, they cannot be swapped between the newer and older drives. The older drives don't work the same as the newer ones.  Verify everything you need it to do before you bolt it to the machine.
 

Offline radar_macgyverTopic starter

  • Frequent Contributor
  • **
  • Posts: 698
  • Country: us
Re: BLDC driver for spindle motor
« Reply #8 on: April 26, 2022, 01:19:26 pm »
My mill is tiny, and won't have the rigidity to do anything beyond a 10-32 or M5 screw. Thread milling, from my understanding, is not practical below about 10-32. Kent VanderVelden did a couple of videos describing use of encoders with LinuxCNC to do rigid tapping. Will post an update when I have the encoders wired up.

Thanks for the feedback on the DYN4 - they seemed good on paper, but I don't have experience with them. I have used Copley drives for work projects (antenna positioners, not CNC), so I'm familiar with their configuration software and capabilities. The micro-Xenus (XSJ) series are interesting designs, the base plates are aluminum PCBs with the FETs soldered on. They are normally quite expensive, so I'm happy to have found one on ebay.
 

Offline radar_macgyverTopic starter

  • Frequent Contributor
  • **
  • Posts: 698
  • Country: us
Re: BLDC driver for spindle motor
« Reply #9 on: May 01, 2022, 09:34:29 pm »
The CUI AMT332 encoder came in, so I replaced the hall sensor board on the motor with the encoder. Followed the procedure for aligning the encoder (sets the relation between U,V,W and the index pulse) and set it up for a 4-pole motor with 1024 ppr; default is 2048, I don't need such a high resolution and the A/B/I signals will have a lower frequency at speed.

I re-did the hall sensor calibration within the drive configuration software and set it up for incremental encoder feedback from the motor shaft. Once encoder feedback is enabled, the drive offers sinusoidal excitation (instead of trapezoidal), which is the equivalent of microstepping a stepper motor. The velocity feedback is far better than using the back-EMF method, the velocity loop tuning can be made much tighter. Motor motion is smooth down to 10 rpm, though the drive quickly bumps against its 5A continuous current limit when applying a load by grabbing the output shaft. The graphs of actual motor position are much smoother.



The motor also runs a lot more smoothly, with less audible noise. I enabled closed-loop position and attempted some tuning of the position loop. The results were surprisingly good, though the only load is the motor's own inertia, and the 40/60 mm stepped output pulley. The green curve below is the following error, the pink and blue are commanded and actual positions, respectively.



In summary, to get good control over BLDC motors at lower speeds, one needs encoder feedback and sinusoidal excitation. Large currents will be needed at lower speeds when using a motor with a low pole count.
« Last Edit: May 01, 2022, 09:36:46 pm by radar_macgyver »
 
The following users thanked this post: thm_w, eugene


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf