Low-speed direct-drive 3-phase motor and controller

Thread Starter

uzernaam

Joined Dec 12, 2021
19
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.

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 for far less money 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 to generate sine waves on the 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?
 

Attachments

GetDeviceInfo

Joined Jun 7, 2009
2,192
Nice motor. I would scrutinize the implications of any mechanics between the motor and axis, in regards to tolerances. Loading the axis to provide a constant torque over the scan path, May improve positional accuracy. Tracking with an image sensor (feedback) should be relatively straightforward. Personally, I’d be programming this in Labview, Python, or the like. Something where existing code exists.
 

Thread Starter

uzernaam

Joined Dec 12, 2021
19
Sounds like a job for a stepper motor with a gearbox to get you small increments of movement.

Bob
That configuration is what is specifically available in commercial mounts in the $1000-$10,000 range. I am very much intent on avoiding this type of design because of something called "periodic error" which is when a motor or gear causes a very tiny yet still very significant wobble and also because it required ultra-precise polar alignment and motors that turn with timing accuracy exceeding that of expensive watches. Also, stepper motors don't move smoothly, they vibrate as they turn and any vibration, no matter how slight, is very very bad when trying to track an object for 8 hours with errors less than 1/20 millionth of a rotation.

Remember - telescope optics are designed with surfaces measured in nanometers and angles measured in arcseconds.
 

MaxHeadRoom

Joined Jul 18, 2013
28,618
For many years I used Galil motion controllers, they are a motion card that uses a PC for the front end, they have been used for many decades in applications like this, the feedback response is in excess of 12Mhz.
I used them in CNC applications together with simple torque (transconductance) mode motor amplifiers.
You most likely can obtain help and advice from their engineering dept. if needed.
 

Thread Starter

uzernaam

Joined Dec 12, 2021
19
Nice motor. I would scrutinize the implications of any mechanics between the motor and axis, in regards to tolerances. Loading the axis to provide a constant torque over the scan path, May improve positional accuracy. Tracking with an image sensor (feedback) should be relatively straightforward.
I've been speaking with a machinist on another forum, and he recommends cutting v-groove into 2 flat stainless steel 3/4" thick plates, then polishing/lapping the surfaces smooth to 5 microns (4000 grit) using a negative shape of the V. Then, a teflon cage with bearing holes goes in between with silicon nitride glass ball bearings. If the diameter of the v-groove is 12 inches for the altitude motor, and 16 inches for the azimuth, then I should get absolutely smooth friction-free glass-like motion with very little wobble which the tracker should be able to compensate for on the fly.

As far as positional accuracy, I was thinking that a simple x-y axis star image could provide feedback to the motor controller. If the star moves too far one direction, the controller is instructed to adjust the speed "a notch" to keep on target. Note: a "notch" in this case would be + or - a single percent fraction of average speed, which is the exact rotation of the earth, which is 0.00069634570271622 RPM.
 

Thread Starter

uzernaam

Joined Dec 12, 2021
19
For many years I used Galil motion controllers, they are a motion card that uses a PC for the front end, they have been used for many decades in applications like this, the feedback response is in excess of 12Mhz.
I used them in CNC applications together with simple torque (transconductance) mode motor amplifiers.
You most likely can obtain help and advice from their engineering dept. if needed.
Please understand that I'm no expert at anything, just a jack of all trades DIYer. When you say feedback of 12MHz, I assume that statement means that the controller can receive input from the motor (such as hall effect sensor, encoder, backEMF etc.) or input from a computer (star tracker), perform a calculation/run an algorithm, then make an adjustment to the output as often as 12 million times a second?
 

MaxHeadRoom

Joined Jul 18, 2013
28,618
When you say feedback of 12MHz, I assume that statement means that the controller can receive input from the motor (such as hall effect sensor, encoder, backEMF etc.) or input from a computer (star tracker), perform a calculation/run an algorithm, then make an adjustment to the output as often as 12 million times a second?
Correct. feedback response time. I believe the latest versions are higher.
They have features such as Electronic gearing, one axis encoder geared off another axis at any ratio .
 

Thread Starter

uzernaam

Joined Dec 12, 2021
19
Correct. feedback response time. I believe the latest versions are higher.
They have features such as Electronic gearing, one axis encoder geared off another axis at any ratio .
Thank you, I will look into Galil and see if it might do the trick.

...This thread ain't over 'til the fat lady sings...
 

GetDeviceInfo

Joined Jun 7, 2009
2,192
I've been speaking with a machinist on another forum, and he recommends cutting v-groove into 2 flat stainless steel 3/4" thick plates, then polishing/lapping the surfaces smooth to 5 microns (4000 grit) using a negative shape of the V. Then, a teflon cage with bearing holes goes in between with silicon nitride glass ball bearings. If the diameter of the v-groove is 12 inches for the altitude motor, and 16 inches for the azimuth, then I should get absolutely smooth friction-free glass-like motion with very little wobble which the tracker should be able to compensate for on the fly.

As far as positional accuracy, I was thinking that a simple x-y axis star image could provide feedback to the motor controller. If the star moves too far one direction, the controller is instructed to adjust the speed "a notch" to keep on target. Note: a "notch" in this case would be + or - a single percent fraction of average speed, which is the exact rotation of the earth, which is 0.00069634570271622 RPM.
Cool. The thought is if 'a notch' forward is equal to a notch backwards, when executed simultaneously, or if the axis is bearing 'over center' at any point. Counterbalancing the axis throughout its range of controlled motion to in courage progression through a single controller quadrant would go a long way towards stability.
 

Thread Starter

uzernaam

Joined Dec 12, 2021
19
Cool. The thought is if 'a notch' forward is equal to a notch backwards, when executed simultaneously, or if the axis is bearing 'over center' at any point. Counterbalancing the axis throughout its range of controlled motion to in courage progression through a single controller quadrant would go a long way towards stability.
I suppose the trick here comes in trying to understand and defining precisely what your controller is going to do.

An example might be an algorithm that does this:

If the star is to the left of the crosshair, increase motor speed on azimuth axis motor a bit.
If the star is below the crosshair, increase motor speed on altitude axis motor a bit.
Decrease the motors if it's on the other side accordingly.

It will take some tweaking of the software to prevent "bad cruise control" - constant speeding up and slowing down but never settling to a smooth asymptote, so to speak. I know there can be resonance, oscillation, runaway feedback loops, and things of this sort but if I can get my fingers into the code that controls the motor I bet I can come up with a good algorithm. I'm just figuring out right now with what hardware to begin.
 

Attachments

nsaspook

Joined Aug 27, 2009
13,081
I've designed a few very low speed 3-phase AC servo motor sinusoidal brushless controllers. A raspberry pi is unsuitable (as a general purpose computer) for this type of signal generation application because the motor signal generation is pretty close to a hard real-time application that requires specialized motor-control hardware to generate the tiny phase shifts needed for very slow, high-torque tracking applications.
https://forum.allaboutcircuits.com/threads/pic32mk-mc-qei-example.150351/post-1531704

https://www.celeramotion.com/zettle...pers/direct-drive-motors-frameless-resolvers/
 

Thread Starter

uzernaam

Joined Dec 12, 2021
19
I've designed a few very low speed 3-phase AC servo motor sinusoidal brushless controllers. A raspberry pi is unsuitable (as a general purpose computer) for this type of signal generation application because the motor signal generation is pretty close to a hard real-time application that requires specialized motor-control hardware to generate the tiny phase shifts needed for very slow, high-torque tracking applications.
https://forum.allaboutcircuits.com/threads/pic32mk-mc-qei-example.150351/post-1531704

https://www.celeramotion.com/zettle...pers/direct-drive-motors-frameless-resolvers/


Please bear with me, I'm learning this stuff for the first time.
So what I'm gathering from what you're saying is that to control a motor like this so precisely is necessarily going to require a design that has direct and immediate real-time communication back and forth between the motor and controller? And by direct you mean connected by wires, with no software layers causing a lag time anywhere in between?


I can't remember where I read it... seems like it was in a magazine in the early 90s... They described an overwhelmingly simple mechanism to create "smart guided" ordnance. It was a lens and four photoresistors (photodiodes?) which controlled 4 piezoelectric transducers on the control vanes of a bomb, rocket, whatever. They'd light up the target with a laser, drop the bomb, and depending on which quadrant the laser dot landed on as projected by the lens, it caused a vane to tilt 100% one way, or 100% the other. So overall there was a constant back and forth correction that always put the thing on target. No computers, no motors, no software. Just simple components that worked every time. Foolproof.

I want to do this, more or less, with a bright star through a small guide scope onto a cheap digital camera that feeds an image to software that determines whether the star is in the top right, top left, bottom right, or bottom left quadrant of the screen. Those 4 situations will alone determine whether the motor rotation frequency needs to increase or decrease on each axis.

Yes, you're right there will be lag. Will it be so much that the star will move in the field of my camera enough to cause a trail? I want to be sure...
 
Last edited:

nsaspook

Joined Aug 27, 2009
13,081
Please bear with me, I'm learning this stuff for the first time.
So what I'm gathering from what you're saying is that to control a motor like this so precisely is necessarily going to require a design that has direct and immediate real-time communication back and forth between the motor and controller? And by direct you mean connected by wires, with no software layers causing a lag time anywhere in between?


I can't remember where I read it... seems like it was in a magazine in the early 90s... They described an overwhelmingly simple mechanism to create "smart guided" ordnance. It was a lens and four photoresistors (photodiodes?) which controlled 4 piezoelectric transducers on the control vanes of a bomb, rocket, whatever. They'd light up the target with a laser, drop the bomb, and depending on which quadrant the laser dot landed on as projected by the lens, it caused a vane to tilt 100% one way, or 100% the other. So overall there was a constant back and forth correction that always put the thing on target. No computers, no motors, no software. Just simple components that worked every time. Foolproof.

I want to do this, more or less, with a bright star through a small guide scope onto a cheap digital camera that feeds an image to software that determines whether the star is in the top right, top left, bottom right, or bottom left quadrant of the screen. Those 4 situations will alone determine whether the motor rotation frequency needs to increase or decrease on each axis.

Yes, you're right there will be lag. Will it be so much that the star will move in the field of my camera enough to cause a trail? I want to be sure...
You need to separate the tracker feed-back from the motor drive precision needed to point to X/Y/Z position and keep on point using corrections from the tracker. It's pretty hard to emulate a precision direct-drive motor system with cheap electronics or mechanical systems.

This is one of my co-workers previous telescope.
1639349697496.png1639349762604.png
 

strantor

Joined Oct 3, 2010
6,782
If you want ro roll your own direct drive motor and have its shaft position accurate within arcseconds, then everything about that motor, mechanical, electrical, all of it, is going to have to be accurate within arcseconds and ten-thousands or maybe hundred-thousands of an inch. Do you have the ability to manufacture to those tolerances? Do you even have the ability to measure those dimensions? I don't. I have two lathes and a CNC mill, and I couldn't make something accurate within a hundred thousand of an inch if my life depended on it. I wouldn't even be able to tell if someone else did. Metrology equipment to measure with that resolution is very expensive. Machines to make parts with those tolerances are ungodly expensive. Air bearing spindles and the like. You would have trouble finding a machine shop to make the parts for you if you decided to forego DIYing it. There might be a handful of job shops in the country who work exclusively with scientific research facilities who would be able to do it.

All that required accuracy to make the motor, and then you want to control it with the audio jack of a RPi and without an encoder? I think you are grossly underestimating the scope of what you are proposing. This is not a motor you can make like what you see on YouTube, out of plywood or plexiglass or 3d printed, run with a hobby RC ESC. This is a NASA-level project.

And you know what, I don't even think you need to do it. We've had telescopes like this for decades before brushless motors existed. How did they do it? I don't know personally, but I'm betting you do, and I'm betting that the answer is that they used very high reduction gearboxes, and that they were in fact good enough.

An AC servomotor turning the worm of a yuge worm wheel would be very smooth, and with some preload to eliminate backlash, also extremely accurate. I'm betting more than accurate enough to do what you want. And you can control the servo drive with your RPi. Don't make things harder (in this case impossible-er) on yourself than they need to be.
 

nsaspook

Joined Aug 27, 2009
13,081
Ooooh, that sounds like a dare :)
Not really. I think it's a good DIY project. When you pay the money for a supported product you're paying for hard earned expertise and the price of hardware.

This guy does a good job breaking down what's needed. He's got a 32-bit dedicated embedded motor controller and an RPI for higher level functions

He explains the need for high resolution in time and signal amplitude to open-loop position the motor accurately using digital PWM systems. You really need a closed-loop encoder system for proper tracking.
 
Last edited:
Top