Trying to understand a 3-phase direct-drive turntable motor controller - Page 1
Forum section: electronics / beginners

author: masterl1nk
author_rank: Newbie
timestamp: August 30, 2024, 08:32:18 pm
content: Hey there!I have a Chinese turntable with a speed problem when turning the records. The speed never reaches stability, constantly making the pitch move up and down. The turntable is an Apogee D1200, and it uses a direct drive 3-phase motor with a controller PCB board.I hooked up a Hantek 6022BE oscilloscope in one of the phases, and I saw a 16KHz, 50% duty cycle signal that never settles (duty varies). I think that's related to the variation in speed. I am not sure about my measurements or if what I am seeing is what I need to. I thought I could try to build a basic 3-phase motor controller with an MCU, but I prefer to have the measurements right first.From what I see on the Internet, the formula I could use to calculate RPM/frequency is RPM = (120 * Frequency) / # of poles in the motor. I haven't counted the number of poles in the motor, but from some pictures and videos I took (I am not at home right now), it is a 12 or 16-pole motor. Based on the formula, I should have a 4.4 Hz frequency for a 33 RPM output, which seems off compared to my measurements. Still, it is more probable that I am missing something else, like doing the incorrect measurement or trying to measure an AC signal with this oscilloscope, which I think doesn't measure AC.I made a video recording about how it varies. If I try to slow down the plate with my hand, the duty goes low to 0 if I stop the plate entirely.here's also a screenshot of the oscilloscope signal:Here are a couple of photos of the PCB Boardsthanks in advance!

author: Jeff eelcr
author_rank: Frequent Contributor
timestamp: August 31, 2024, 02:54:53 am
content: Have you checked the power supply?Have you checked motor and platter closely?More pictures motor, power supply, motor drive pcb closeup and installed might help.Jeff

author: masterl1nk
author_rank: Newbie
timestamp: August 31, 2024, 12:31:46 pm
content: Hi Jeff, thanks for your reply.QuoteYes, the power supply provides stable +5, +9, and +24 VDC even under load.QuoteThe motor and platter look good from a mechanical standpoint. I also ran the motor without the platter, and the speed oscillation occurred similarly.QuoteI'll try to upload some more pictures this weekend, I completely forgot to take photos of the motor itself.

author: darkspr1te
author_rank: Frequent Contributor
timestamp: August 31, 2024, 03:22:52 pm
content: looking at the board with the MCu on it i would say thats a STM32f103 or clone like gd32f103 , if so you might be able to dump it's firmware using a stlink type device , either patch that to fix it if thats the issue or even go to a open sources bldc controlhttps://github.com/catphish/stm32_vfdorhttps://github.com/joewa/bldc-stripdarkspr1te

author: David_AVD
author_rank: Super Contributor
timestamp: August 31, 2024, 04:56:35 pm
content: I'd probably replace all of the SMD electrolytic caps on the motor board.

author: langwadt
author_rank: Super Contributor
timestamp: August 31, 2024, 05:43:15 pm
content: the 16kHz is almost certainly PWM, it you low pass filtered it you'd probably see your expected ~4Hz

author: ejeffrey
author_rank: Super Contributor
timestamp: September 01, 2024, 01:40:08 am
content: Quote from: masterl1nk on August 30, 2024, 08:32:18 pmHow much does it change? Have you measured exactly or just heard the frequency modulation? It would be good to know how much the speed varies to know what you are looking for in the electronics.QuoteThat's PWM, the duty cycle modulation is the desired drive signal. The controller is producing unfiltered PWM and relying on the motor winding inductance to filter it. If you low pass filter it you should see the 4.4 Hz signal and look for frequency modulation of that signal.

author: masterl1nk
author_rank: Newbie
timestamp: September 01, 2024, 03:15:39 am
content: thanks everyone for the replies! here are more pictures of the board(s) and the motormotor board:motor:power supply:QuoteYou are very correct, I will take a look at those repos!QuoteI don't have any equipment available to measure the platter speed precisely, but it definitely varies. Here is a video playing Oxygene IV:https://youtu.be/CS0Npx2TStkDon't account much for the platter physical oscillation, I haven't installed it properly, but doesn't affect the speed problem at all.

author: ejeffrey
author_rank: Super Contributor
timestamp: September 01, 2024, 05:37:05 am
content: Your video clip is too short and the camera keep moving around -- not keeping anything in frame for more than a second or so, which is incredibly annoying. You can definitely see the speed modulating on the strobe dots, but it's hard tell anything more because of the poor video. With a good video or just watching it in person with a stopwatch you could definitely figure out the period and magnitude of the frequency modulation.However, if I had to estimate I would say that it's varying about once per revolution. This would suggest it's a mechanical problem, and I would fix the platter mounting before worrying about anything else.

author: amyk
author_rank: Super Contributor
timestamp: September 01, 2024, 06:43:55 am
content: Quote from: David_AVD on August 31, 2024, 04:56:35 pmThis. Bad (high ESR or low capacitance) caps can cause a servo loop to exhibit this sort of "hunting" behaviour.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: September 01, 2024, 08:21:49 am
content: Quote from: masterl1nk on August 30, 2024, 08:32:18 pmNo. Variations in duty cycle do not change the speed. It looks like a BLDC motor, and the speed of those is determined by the rate the current switches from one coil to the other. I.e. by the frequency of the dire pattern, not by it's duty cycle.Changes in duty cycle are still not good as it can cause a ripple on the average speed.But something else:I see variations in duty cycle, but I do not see real changes of one phase being turned off and another phase turned on. Without such changes, a BLDC motor will not even turn at all.

author: ejeffrey
author_rank: Super Contributor
timestamp: September 01, 2024, 04:44:51 pm
content: Quote from: Doctorandus_P on September 01, 2024, 08:21:49 amIt's presumably a push pull driver where 50% duty cycle is "off". Greater than 50% is the positive part of that phase and less than 50% is negative.

author: masterl1nk
author_rank: Newbie
timestamp: September 01, 2024, 04:48:31 pm
content: QuoteHi, sorry about that. I was trying to show the audio variation, most likely.Here's a new, longer, and from a static point of view video:https://youtu.be/MmQDr62s81AI also added a piece of tape to the platter to ease the speed checks.---QuoteQuotethanks for the input! I'll try to get those caps this week.

author: ejeffrey
author_rank: Super Contributor
timestamp: September 01, 2024, 09:57:45 pm
content: Thanks, that much better So first off, it's a fraction too fast overall. That turntable has an adjustable speed, perhaps the adjustment is a little off center. It's not necessarily a big deal compared to the speed modulation, but maybe something to check?I would also still try to filter the PWM and look at the phases on the scope.It really does looks to me like the oscillation period is one full rotation in sync with the tape mark. That could just be a coincidence, but it really does suggest something mechanical with the motor, position sensor (if it has one? I don't know what's actually inside), or the platter mounting itself. For instance, mechanical drag in one spot could slow down the motor briefly, then the controller would drive it faster to catch up.I personally wouldn't suspect the capacitors, and I wouldn't specifically suggest electrolytic capacitors unless you look at the DC supply rails with an oscilloscope and see a problem. It's certainly possible, but it's not like these are ancient capacitors nor is this a high power device where they would have been subjected to a lot of stress and heat. Do you know the history of this device? Did it use to work correctly and break, or has it always done this?

author: floobydust
author_rank: Super Contributor
timestamp: September 01, 2024, 10:25:34 pm
content: I would load the TT down just a bit by letting my finger rub on the platter edge and see if it has power or not, or if the speed oscillates differently.Another thing to try is add mass to the platter, i.e. several records or some balanced weight and see if the speed ctrl gets stable. It might even be running open-loop.I don't see the speed pickup I guess it's pickoff of one-phase Hall sensor?

author: masterl1nk
author_rank: Newbie
timestamp: September 01, 2024, 10:31:25 pm
content: Hi Ejeffrey, thanks for the input!QuoteYes, I already checked the pitch control, trying to settle the platter speed by using the slider, but without any luck. The pitch changes accordingly as I move the slider, but the speed oscillation remains in the platter.QuotePerfect, I'll do that soon. I'll build an RC filter to filter out (low pass) the high frequency. Do you think it's going to be sufficient?QuoteYes, I'm starting to believe the same.QuoteThe motor/assembly doesn't have a position sensor.QuoteYes, the device is (was) brand new and never worked as intended. It was purchased in 2021. It has always suffered from the same problem, but the local seller went out of business a while ago (not surprised), and there are no official repair shops for these devices.I did an additional test by measuring the time between turns with an Arduino and an IR LED/receiver. Time and error percentages remain pretty consistent, leading me to think that the motor slows down in the middle of the route and then catches up to speed, as you noted. Maybe I need to add more data points.33 RPM:45 RPM:

author: Smokey
author_rank: Super Contributor
timestamp: September 01, 2024, 10:34:42 pm
content: What is the feedback method used here? If it's just hall sensors (or god forbid open loop), that is a pretty terrible velocity feedback source at low RPM like a record would be spinning. My guess is it's inherent instability from a poor resolution position feedback being used to calculate velocity at low RPM.The fact that they used a PWM frequency in the human hearing range means they didn't put much effort into optimizing stuff for audio quality (yes I know most old people can't hear 16khz anymore).

author: masterl1nk
author_rank: Newbie
timestamp: September 02, 2024, 02:08:54 pm
content: Quote from: floobydust on September 01, 2024, 10:25:34 pmI'll try! As far as I remember, loading the platter didn't change the speed behavior. Rubbing with the finger also proves the motor has power, comparable to other turntables I tried in the past.Quote from: floobydust on September 01, 2024, 10:25:34 pmQuote from: Smokey on September 01, 2024, 10:34:42 pmas far I can tell, there is no feedback signal, at least not with a sensor or a pickup system. I'm not sure if this whether runs fully open loop or it uses one of the windings as feedback (neither I know if that is possible!).

author: BeBuLamar
author_rank: Super Contributor
timestamp: September 02, 2024, 03:51:35 pm
content: Quote from: masterlThe motor and platter look good from a mechanical standpoint. I also ran the motor without the platter, and the speed oscillation occurred similarly.[/quote

author: David_AVD
author_rank: Super Contributor
timestamp: September 02, 2024, 08:42:37 pm
content: I've never seen a direct drive turntable running open loop. There will be either:A sensor (looks like a tape head) on the top, just under the platter that reads the magnetic pattern on the inside edge of the platter.A sensor (hall effect) and a toothed metal pattern built into the motor assembly.One or more feedback coils built into the motor assembly.As you have seen, the mass of the platter is part of the feedback loop characteristics.

author: floobydust
author_rank: Super Contributor
timestamp: September 02, 2024, 09:35:28 pm
content: I find that SOIC-8 in the center of the motor control board U1 marking code "012B1000" is aTLE5012B1000 GMR-based Angle sensor.It's not using a tachogen.The speed control graphs shows a mechanical (eccentricity) problem I think.Note the PCB mounting screw holes are not drilled accurately, the word crap comes to mind if the silkscreen is accurate. It would be critical for the board to be precisely centered about the motor axle? My theory.

author: Smokey
author_rank: Super Contributor
timestamp: September 02, 2024, 09:42:13 pm
content: You don't necessarily need a toothed cog for hall sensors. In a brushless motor, you just need to sense the magnets on the rotor. The resolution sucks for a low pole count motor, but you don't use halls for high resolution anyway.Quote from: floobydust on September 02, 2024, 09:35:28 pmEven with high quality encoders, there is essentially always some mechanical eccentricity that will show itself as velocity fluctuation. If you are fancy, you can calibrate that out with a lookup correction table.

author: masterl1nk
author_rank: Newbie
timestamp: September 07, 2024, 08:59:42 pm
content: Quote from: floobydust on September 02, 2024, 09:35:28 pmThat's quite interesting, thanks for pointing it out!Yesterday, the board decided to make some magic smoke. I think I short-circuited something near the 12v regulator as it became hot nearly instantaneously, so I'll need to dig it a bit to find out what went wrong. I'm also thinking of using a new, cheap eBay board to control the motor, adding three hall effect sensors to the motor winding. But I'm having trouble finding one that outputs as low as 4Hz of frequency (most starts on 1KHz). If you have any recommendations, that would be appreciated.