Very low-speed direct-drive 3-phase motor and controller

Summary: I want to build some large high-torque very-low-speed axial flux 3-phase motors (including controllers) to direct the altitude and azimuth of a telescope to track stars accurately for long-exposure astrophotography.

Apologies if I’ve posted in the wrong section.

Greetings! -

I'm a new user here hoping to get myself mixed in with some smart people who can point me in the right direction. I've taken on an ambitious project and am very excited to get started.

I've been an amateur astronomer for a while, and have built a few telescopes from scratch (even ground my own mirrors!) and I want to take it to the next level.

So to begin, I saw this video and was hooked. PlaneWave at AIC 2011 - Sky & Telescope - YouTube

I was marveling at how smooth and accurate the direct-drive motor system works and want something similar.

This telescope carries a $200,000 price tag, but I know that with perseverance I can get away with building it myself and still get good results. I don’t expect this project to be completed overnight; I’m sure I will be tinkering and improving things over months and months.

Because I’m just a single person without a lot of resources, I have to keep things to a budget as much as possible.

So I want to make a 2-motor alt-az telescope mount. The motors on that telescope are large axial flux motors using permanent magnets and coils. Someone at that company designed the motor controllers so that they can provide very slow but very steady motion so that the telescope can track the stars extremely accurately. The specification they list is less than 0.07 arcsecond deviation (1 / 52,000th of a degree) from perfect while tracking the entire night. This kind of tracking accuracy is an astrophotographer’s dream.

My idea is rather than engineer some complex custom motor controller from scratch, why not use the computational abilities of a raspberry pi (or any other programmable modular electronics system) to generate the 3 sine waves (audio output?), feed those into some rather simple audio amplifiers, and feed the amp outputs into the coils that control the motor?

Sounds easy? Of course, we'd need some way to tell the motor to speed up, slow down, or otherwise slew to a certain location in the sky. Absolute location accuracy would require encoders, but maybe I can get away with something simpler?

I know there are commercial telescope equatorial mounts which do a good job on their own - but using a guide star, small tracking scope and a digital camera sensor attached to the guide scope there is software that feeds back corrections to these commercial telescope mounts to keep them even more accurately on target than they do without feedback. I'm thinking a similar arrangement would allow me to point my scope to a target, start tracking it via software, and not have to worry about the expense and complication of using high-resolution encoders on the motor axes (for now).

Anyway, that's the idea. At this moment I feel confident enough to begin several areas of this project, but programming a raspberry pi to control a motor is a bit over my head, although I do have some amateur electronics, computer, and programming experience.

I'm really wondering what all the people here who are smarter than I am think of this? Any advice?

With that type of project, I think you will be forgiven to spend extra on a nicer MCU (for the motor controller). At a minimum, a Cortex M3+ with it's advance timer capabilities would generate some complex waveforms in hardware needed for your motors.

hzrnbgy - Do you mean that the raspberry pi doesn't have enough compute power to generate 3 amplitudes? We're only talking about a 3-phase motor here, just a very slow-turning one. Even though the pi is a tiny and inexpensive computer I would guess that it could still control hundreds of motors while still running a web server and star-tracker at the same time... right?

Maybe another board could natively generate the waveforms, but then I have to tell that hardware what waveform, and make the decisions why - which is why I think the pi is ideal because it gives me a GUI, software libraries, and control inputs and outputs.

Perhaps you do not understand why a three-phase motor rotates. It rotates because the three sine waves themselves rotate through 360 degrees 60 time per second. That sets the speed of the motor. Can't go faster, can't go slower.
So, your three-phase motor, to rotate at a very slow speed must have the three-phase sine waves go through 360 degrees in say once every 10 or 100 seconds.
That is very different that creating a set of sine waves at a fixed frequency.

Yes, I understand 3 phase motors. I have built the "reverse" with an axial flux wind turbine generator

The idea is that you "rotate" a magnetic field by combining 3 separate fields that are physically 120 degrees from each other and modulating each field to have a sine wave 120 degrees off relative to the others. 3 coils, 2 permanent magnet poles, the magnets chase the field made by the coils.

You can multiply the number of coils so long as you multiply the magnets accordingly.

Yes, my motor will turn at a speed of 0.00069634570271622 RPM with a positional error of no less than 1/52,000th of a degree, and that is the challenge. If I'm only using 3 coils, then the controller will cycle all 3 phases through once in about 24 hours. I'm using 24 coils, however and 16 magnets and I might even use a toothed flux guide to create "magnetic gearing" so that there would be multiple stators shelled within each other, geared down so that the first heavy stator can build a flywheel effect to keep smooth rotation. The point of using magnets instead of gears for this whole scenario is to give the whole apparatus an extremely smooth motion with no variability, rocking, shaking, vibration, or backlash.

It's a very slow rotating field, but with the torque capability of a large axial flux motor, it can be done and there are commercial products available that do it for $25,000 and up. I think that with help I can get one built for a lot less than that. I have plenty of time, but not plenty of money.

That will require double precision arithmetic, which AVR based Arduinos do not support. The RPi would be fine.

feed those into some rather simple audio amplifiers

"Audio" does not include 0 Hz (DC) which is required for this project.

I think a BLDC motor and a Stepper motor are not all that much different when you start increasing the number of poles. I know a stepper has a slightly different armature.

I've read that some model train motors skew the laminations to make the torque more controllable.

I know when vinyl records were the media of choice the best turntables were belt driven.

I don't have any experience with micromovement servos, but perhaps one of the above might be helpful.


Some amps I've built can sustain a DC offset indefinitely when I remove certain caps. I've got several just sitting around and parts to build more.

I am not entirely averse to a pwm situation, but slamming things with squarewaves just feels dirty by comparison. Ya, ya... inductance...

But here is what I want:
(Good part starts at 11:20)

Notice how the slightest touch can cause this huge scope to move, but when the motors are engaged, it's stiff as a board.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.