3 Phase BLDC motor for turntable use?

InSides-

Ralph and Tom have beat me to your answer, and they are pretty much spot-on. However, I would add these conditions:

1. Don't use transformers. There is no reason to. These motors are low voltage and the amps can easily develop the necessary voltages to drive them.

2. If you don't use xfmrs, you can't use BTL amps. There are SE class D amps or use a conventional class AB amp instead. I used class D amps because I wanted a 25W amp to fit in a package the size of a pack of cigarettes and power it from a small 24V 1A SMPS wall wart. If you don't have this restriction, there are plenty of class AB amps to choose from.

3. The voltage has to be adjusted to match the speed. The easiest way to do this is to monitor the DC power going into the amps and adjust the voltage so the amp/motor combo is drawing rated power at the current speed. If the motor is 12W and you are using a 24VDC supply with class AB amps, then the DC current draw should be ~1A (24 x 1 x 50% eff=12W to the motor). This makes changing speeds more difficult as the motor will require more voltage the faster it spins to maintain rated power.

4. Reduce the voltage after the platter is up to speed. BLDC motors are much more efficient than AC synch and produce 2-3x the torque for the same power rating. The platter does not need that much torque once it is moving. If you don't reduce the power from the rated max, the motor will get very hot (140-150°F on a 12W motor) after 1 hour continuous use.

5. Choose a motor that is suited to the task you are trying to accomplish. You don't need a 120W motor to turn a platter, and a low voltage high power motor will be difficult to drive (ie low impedance). Rated RPM should be as close to your top speed and possible; if you need to spin the pulley at 600 RPM, don't use an 8K RPM motor. I didn't pick the motor I did arbitrarily; it has 6 Ohm windings, 2000 RPM max (at 78 RPM I need 1404 RPM at the pulley), plenty of torque, draws 12W and can be powered from a 24V amp.

The SG4 does all of the necessary functions for this if you use an external pot to set the start up voltage.
 
Last edited:
InSides-

Ralph and Tom have beat me to your answer, and they are pretty much spot-on. However, I would add these conditions:

1. Don't use transformers. There is no reason to. These motors are low voltage and the amps can easily develop the necessary voltages to drive them.

2. If you don't use xfmrs, you can't use BTL amps. There are SE class D amps or use a conventional class AB amp instead. I used class D amps because I wanted a 25W amp to fit in a package the size of a pack of cigarettes and power it from a small 24V 1A SMPS wall wart. If you don't have this restriction, there are plenty of class AB amps to choose from.

3. The voltage has to be adjusted to match the speed. The easiest way to do this is to monitor the DC power going into the amps and adjust the voltage so the amp/motor combo is drawing rated power at the current speed. If the motor is 12W and you are using a 24VDC supply with class AB amps, then the DC current draw should be ~1A (24 x 1 x 50% eff=12W to the motor). This makes changing speeds more difficult as the motor will require more voltage the faster it spins to maintain rated power.

4. Reduce the voltage after the platter is up to speed. BLDC motors are much more efficient than AC synch and produce 2-3x the torque for the same power rating. The platter does not need that much torque once it is moving. If you don't reduce the power from the rated max, the motor will get very hot (140-150°F on a 12W motor) after 1 hour continuous use.

5. Choose a motor that is suited to the task you are trying to accomplish. You don't need a 120W motor to turn a platter, and a low voltage high power motor will be difficult to drive (ie low impedance). Rated RPM should be as close to your top speed and possible; if you need to spin the pulley at 600 RPM, don't use an 8K RPM motor. I didn't pick the motor I did arbitrarily; it has 6 Ohm windings, 2000 RPM max (at 78 RPM I need 1404 RPM at the pulley), plenty of torque, draws 12W and can be powered from a 24V amp.

The SG4 does all of the necessary functions for this if you use an external pot to set the start up voltage.

Much appreciated, that is quite the detailed instruction list! :)

As to your thoughts:

1. Will definitely omit transformers. Simplifies things greatly.

2. There is no size restriction. The controller box should hopefully not exceed the typical hi-fi component size (430mm width x 100mm height) but this should be sufficient for three (or even six) AB amplification channels with ample cooling, especially at the power required.

3. Got it. Eventually might end up with a custom uC, but that is too far down the road. For the time being, don't mind adding voltage control to the SG4 via a pot.

4. Got it.

5. Using the pulley I had machined, 78rpm would yield ~1800rpm at the pulley, so even the motor you opted to use would be quite suitable. I have yet to source the motor(s).

Again, much appreciated!

P.S. I initially thought of using BLWR172S-24V-2000. Still might, as it seems quite similar to the one you picked - for me, the 42mm round frame fits better in the design.

P.P.S. Honestly, I find it very weird that TT manufacturers do not jump on this. Especially since everyone seems to focus their marketing materials quite a lot on PSU. :(
 
Last edited:
The only concern I have with using bloc motors is inherent in their design, using trapezoidal back emf, whereas permanent magnet synchronous AC motors use sinusoidal. I might well be wrong, but I would expect there to be more vibration and noise with the bloc, even if driven by a sinusoidal supply.
 
The only concern I have with using bloc motors is inherent in their design, using trapezoidal back emf, whereas permanent magnet synchronous AC motors use sinusoidal. I might well be wrong, but I would expect there to be more vibration and noise with the bloc, even if driven by a sinusoidal supply.

Actually, just the opposite occurs. If you drive these motors with 3 phase sinewaves, they exhibit no cogging at all. They are much quieter than an AC synch motor, even the tiny Premotecs, and the speed is synchronous to the drive frequency.

Some of the conventional (trapezoidal) controllers use back EMF to determine the rotor position instead of using hall sensors. In trapezoidal commutation, only 2 of the windings are energized at one time so the other (floating) winding can be used to measure back EMF to determine the rotor's position and when to commutate the windings. The math to do this is quite complex and is done in a DSP that drives the controller. This method does not work well at slow speeds as the back EMF is very small and can get buried in the noise floor. This method is useful for maximizing start up torque but not very good at precision speed control. The speed is still determined by the DC drive level and the motor sets the commutation speed (frequency).
 
Last edited:
I initially thought of using BLWR172S-24V-2000. Still might, as it seems quite similar to the one you picked - for me, the 42mm round frame fits better in the design.

That might be a better choice to use with the SG4. One other consideration is the drive frequency needed for 33 RPM. The motor RPM = Freq x 60/pole pairs. For the BLWS series, they are 4 pole motors so 600 RPM=20Hz which the SG4 will not do without modified firmware. The BLWR series is 8 poles which is 40Hz for 600 RPM. They also have 4mm shafts. The good news is, the RC boat market has aluminum sleeves to convert 4mm shafts to 3/16" ID props so you could use standard pulleys (ie VPI).

Honestly, I find it very weird that TT manufacturers do not jump on this. Especially since everyone seems to focus their marketing materials quite a lot on PSU. :(
Agreed. All the affordable (<$10K) tables use Hurst AC synch motors which IMO are not suited to the task. Anything over $10K and you start to see custom motors and more sophisticated controllers (except for VPI which use the same $30 motors and the ADS all the way up to the $48K Titan!).
 
Last edited:
  • Like
Reactions: 1 user
That might be a better choice to use with the SG4. One other consideration is the drive frequency needed for 33 RPM. The motor RPM = Freq x 60/pole pairs. For the BLWS series, they are 4 pole motors so 600 RPM=20Hz which the SG4 will not do without modified firmware. The BLWR series is 8 poles which is 40Hz for 600 RPM. They also have 4mm shafts. The good news is, the RC boat market has aluminum sleeves to convert 4mm shafts to 3/16" ID props so you could use standard pulleys (ie VPI).

For my pulley/platter ratio, this translates to ~50.73Hz for 33.3333rpm and 68.53Hz for 45rpm. At this point, 78rpm is not a must.

And I can have another custom pulley machined, so the 4mm shaft is not an issue.

Agreed. All the affordable (<$10K) tables use Hurst AC synch motors which IMO are not suited to the task. Anything over $10K and you start to see custom motors and more sophisticated controllers (except for VPI which use the same $30 motors and the ADS all the way up to the $48K Titan!).

Yeah... the VPI strategy has never been clear to me. But if it works for them... ...how many of the folks who spend 48K on that kind of turntable bother to check the speed?
 
Ralph is correct, these are BTL output amps. When in doubt, download the data sheet.

TI only make a handful of SE output class D amps. IR makes the IRS2092 which is a class D SE driver (you need to add the output transistors) and there are a bunch of kits available on e-Bay using this amp. I believe the IRS2092 circuit must use bipolar supplies (the TI amps can be single or dual supplies).

There is also a dedicated forum here on DIYAudio for class D. Maybe someone could start a thread over there on the subject for motor drive.
 
I've just bought a couple of cheap brushless DC motors that are 3 phase + controller. The motor windings appear to be star wound and I'm going to try to separate the 3 star points to create individual windings which should enable me to use the cheap little class D amps I use with the Papst motors. They're on their way from China so it will take a week or so to get to me, but I'll update the thread when I have some info.
 
To bad this is not still available, sounds to me like it would be a good candidate
Granted, I am not an electrical engineer, just following the logic

http://www.atmel.com/Images/doc8030.pdf



Not sure what you mean. This technique can be implemented in almost any uC using PWM signals and low pass filters. I assume that Pyramid has a similar setup implemented in this controller and the SG4 without speed control logic.

After reading through it a little more -- one thing to add -- I am sure that the signals from Pyramid's approach are much cleaner -- an implementation detail.
 
Last edited:
Again, I am not an electrical engineer and I assume nothing.
I am simply going off from what I can see from a document with an explanation on how it works.
It does/did have an option to see sinewaves stored in a look up table, is this not basically how his controller works?
Just sharing something I found, nothing more, nothing less.
 
Interesting link, thanks for posting that. It took awhile to work through most of it and there are some differences as well as a few good ideas that could be implemented into the current design.

For starters, their output amp is a class D H-Bridge that runs at the PWM frequency as determined by the uP (31.28kHz). This may be slightly less efficient than my design which uses 24.4kHz PWM which is converted to analog which drives a class D output amp running at 300kHz. The higher frequency of the class D amp allows the use of smaller inductors and better filtering.

The drive waveform they chose is new to me, but I think it was done in the name of code execution efficiency and speed. I wasn't aware that you could drive the the windings to produce a difference voltage (between the windings) that was a sinewave. Since the output waveforms closely approximate the block communation waveforms (trapezoidal), I wonder how much if any cogging exists? I was also confused about the statement that said that driving the motor in this way allowed for higher voltage signals. I ran a spread sheet to give the driving voltages between windings using both methods over one revolution with 1° steps and it appears that my method produces 75% higher voltages between windings. With the Atmel µP I am using, there is no problem generating 3 complete sinewaves inside the interrupt routine with plenty of clock cycles to spare, using a 25MHz xtal.

The other main difference between the 2 methods is mine is DDS based which is a feedforward system and theirs is a timer dependent PWM based system which uses feedback to control the speed. Two of the advantages of DDS system is they don't require a feedback loop to control frequency and the frequency resolution is fixed over the entire operating range whereas timer based PWM is non-linear. Ex: Their formula for RPM calculation is 60*31280/Nt where Nt is the number of PWM overflow "ticks" per revolution. At 600 RPM, Nt=3128 ticks (600.0105 RPM) At Nt=3129 ticks, the RPM=599.818 RPM so the resolution is ~0.192 RPM. At 810 RPM (45RPM platter), Nt=2317 (810.027 RPM); at Nt=2318, RPM =809.677 so the resolution is ~0.349 RPM. In contrast, the resolution of a DDS based system is fixed at 0.01667 RPM at all frequencies, which is 10x better than the timer based PWM at 600 RPM and 23x better at 810 RPM.

Something else that confuses me: The Atmel drive system synchronizes the drive signal to the rotor position at each Hall sensor trigger so the rotor is in phase with the rotating field in the windings. My understanding of BLDC motors is that they produce the least amount of torque at 0° between rotor and field and maximum torque at 90°. If they keep the rotor and field at 0° to each other, the motor would produce the minimum amount of torque. In a feedforward system, the angle between rotor and field would be determined by the amount of torque the load requires, approaching 90° at start up and reducing towards 0° when the platter is up to speed.

One possible improvement that could be added to my implementation is to use the Hall sensors to signal a stalled motor condition. If stalled at 78 RPM, the motor draws more than 12W and is unable to start rotating on its own after the stall load removed. It would be advantageous to shut the motor down when stalled and restart at a lower speed. At 33 and 45 RPM, this doesn't seem to be a problem.
 
Something else that confuses me: The Atmel drive system synchronizes the drive signal to the rotor position at each Hall sensor trigger so the rotor is in phase with the rotating field in the windings. My understanding of BLDC motors is that they produce the least amount of torque at 0° between rotor and field and maximum torque at 90°. If they keep the rotor and field at 0° to each other, the motor would produce the minimum amount of torque. In a feedforward system, the angle between rotor and field would be determined by the amount of torque the load requires, approaching 90° at start up and reducing towards 0° when the platter is up to speed.
When the phase changes, the platter speed also has to change, at least temporarily. I think the phase should stay at 90 degrees, and the drive voltage (or current) should be changed by the microcontroller (more generally, the control loop) keep the phase at this angle. This gives, instantaneously, the most available torque when the load increases (the stylus hits a loud passage causing more drag), and is the best way too keep the phase and thus speed from changing.

This is one of my several observations and speculations here, post #177 of "Why is DD bad?":
http://www.diyaudio.com/forums/analogue-source/71356-why-dd-bad-4.html#post2219981
 
Thanks for the reply. I've struggled to find any clear explanation of this phenomenon.

Question about trying to maintain a 90° lead between field and rotor: Won't this accelerate the rotor in the absence of a heavy load? If you keep distancing the field ahead of the rotor, won't it require you to increase the frequency and in effect, the speed? If you reduce the drive current to compensate, you also reduce the torque, correct? So I'm not sure what that would accomplish.

I've had a number of discussions with other engineers regarding stylus drag and torque, but not with anyone who has a firm grasp of the physics. Static drag (the difference between needle up and needle on the record) is measurable but extremely small. Since it doesn't change (or only extremely slowly from outer grooves to inner grooves), the phase angle of the rotor/field should remain constant as well. I haven't been able to measure dynamic drag (loud/soft or bass/treble passages) even with a tachometer with 3 decimal places of resolution. In theory, it must exist, but it also must be infinitesimally small, and by its very nature, momentary and short lived. I would think the inertia of the platter would make this even more difficult to detect.

To add to the difficulties, with a direct drive, this would show up as a infinitesimally small change in the rotor/field phase angle, but with a belt drive, would it not manifest itself as additional belt creep as well, possibly never reaching the motor?

I still think the best way to drive a belt drive motor is maintain constant current and frequency and let the rotor find its own phase angle with the field. The largest deviation will occur at platter start up. Once the platter is up to speed and the stylus is on the record, the torque load should be nearly constant. Sudden changes due to dynamic drag should be ameliorated by platter inertia and longer term dynamic drag would produce a new constant load that shouldn't create any audible time smear.

Thoughts?
 
For a 3-phase BLDC driver that need not use a microcontroller to control; the Allegro A4915 might be the ticket. The advantage is that the speed can be controlled using a variable resistor. Alternatively, the speed can be controlled by a variable frequency pulse from a simple timer or a microcontroller.

Allegro MicroSystems - A4915 3-Phase MOSFET Driver

This can power any BLDC motor with the correct MOSFET
 
Last edited: