As part of a school project, I have to build my own reaction wheel to be used for an engineering model of a nanosat orbiting in the LEO. I am kind of lost as how to progress on building my own reaction wheel, and how to predict the actuation accuracy. This is what I know:

The reaction wheel would need : a motor driver(basically a current amplifier, or can a microcontroller be used as well?) , gyro rate sensor , a DC brushless motor , and a wheel.

My questions are:

  1. Would I be able to use a microcontroller as my motor driver? I've heard about speed control algorithms as well, but I'm not sure what they are used for.

  2. What should I use as the wheel?

  3. I am required to state the pointing accuracy that I would be able to achieve, I honestly don't know how to gauge this, what I'm thinking of doing is just going with the bare minimum, maybe take the accuracy of a space grade reaction wheel and reduce it by 20-30%.

Thanks for the help!


Maybe an old hard drive platter would make a good wheel? They are certainly machined to very precise measurements. You'd probably be able to recycle some of the mounting and axle from one too, but as to the motor I'm not sure. HD's probably use something much more complex than a simple dc motor tho.

As to accuracy, just guessing isn't going to get you much points, even if you are correct with 20-30%, your method for determining that value is rubbish. At least do some maths involving the mass of the wheel, its rotation speed, make an estimte of its moment of inertia and thus an estimate of its angular momentum. It's your homework after all, we shouldn't do it for you.

  • $\begingroup$ I apologize if I forgot to clarify, I'm not looking for answers, I won't learn anything that way. I'm looking for hints. Anyway, I've tried researching online and I have only going articles which explain the dynamic equation of the reaction wheel, relating angular velocity, torque and the inertial tensor. But nothing on how the weight or size of the wheel ties in. Do you by chance have any useful links or articles? $\endgroup$ – John Sep 11 '16 at 2:01
  • $\begingroup$ forums.xkcd.com/viewtopic.php?t=19788 $\endgroup$ – Innovine Sep 11 '16 at 5:45
  • $\begingroup$ I read the post, but I don't see how will this help me determine the actuation accuracy that I can achieve, or estimate it. $\endgroup$ – John Sep 11 '16 at 6:49
  • $\begingroup$ Ok well in that case then I suggest you have a chat with your teacher because you're totally out of your depth. $\endgroup$ – Innovine Sep 11 '16 at 11:58

OK. Let's go in order:

  1. You could, but you have to take in account that driving a wheel to be used in attitude control isn't that simple. For one thing, you have to compute the radiation dose that your electronics will have to survive, then use the appropriate components for the task. Even if you won't be using rad hard components for your project you have to be sure that the proper components exist so your model will be representative of what the actual wheel will be. Then, you will most likely use a sine wave controller to lower the wheel rotation noise (which will have an impact on the attitude control accuracy). You may live with a simpler controller, but if you want to do it properly, this is the way to go.
  2. You should ask someone with a lathe to manufacture a proper wheel (maximizing the MOI while lowering the mass). Professional reaction wheels usually have the rotor integral to the wheel, but you won't be doing that. Be careful with the balance of the wheel! Your attitude control will see any dynamic imbalance that it will have (in fact, you should find a way to properly balance it). By the way, you will want to use a sensored BLDC motor, with three phases... And be careful with the lubricants because most of them won't behave properly in space (vacuum, radiation, temperature cycles).
  3. As for the accuracy, it is a very difficult question. It depends on a lot of things. Usually you start with a system level requirement, then you build your control and compute the requirements for all the parts (usually there are several tradeoffs involved, since each subsystem responsible will try to make his/her life easier, usually making the life of the other people harder). Back to the wheel, the parameters which will affect the accuracy are the imbalance, rotation jitter and vibration and torque bit. You will also want to have a look to the maximum momentum storage capacity of the wheel, whether if it will have to be reversible (will the satellite be momentum stabilized?... be aware that the dynamics of the wheel will change for low RPMs...).

You can either use a high-speed stepper motor, the kind used in hard disks and CD-ROM drives, or even a brushless DC motor. While you may order or otherwise improvise the flywheel itself, you won't get a better precision than using a stack of hard disk plates; these provide precision in excess of anything you can have custom-made on reasonable budget and provide a decent density; mass easily regulated through changing the number of plates used.

The wheel speed readout, while helpful, is not essential; in case of brushless DC it's achievable from the same Hall sensor that drives the motor; in case of steppers you just assume the motor follows your control and only monitor current to determine if it's not falling behind or blocked. But these, again, are non-critical. You need to be able to regulate the speed, but not its precise value, only delta, "faster/slower than now".

You need rotational speed of the satellite, and use that to drive the wheel through a closed-loop algorithm (PID or similar). Accelerometers are helpful in estimating that - after substracting common bias of Earth's gravity (not applicable in space but your major headache when testing) you will have the remaining centrifugal acceleration value. Estabilishing direction of rotation will be a bit more tricky. Likely accelerometer response to changing speed of the reaction wheel will tell you - if you accelerate your wheel clockwise (and craft counterclockwise) increasing centrifugal acceleration means it was spinning clockwise in the first place; decreasing - that you just reduced its angular velocity.

Once you get the spin in check and reduced to reasonable values (a few rotations per second max) then you may employ a gyroscope to arrest the rotation entirely. (it will be saturated before that, producing no usable output).

Now for control: Whether using DC motor, or stepper, you'll need a microcontroller, and a driver chip. Microcontroller to read the sensors, provide the calculations and control signal, the driver to convert signal into actual driving current. In case of DC, that will be an amplifier, capable of inverting the signal, or a H-bridge, where you drive with PWM (as opposed to voltage from DAC for use with amplifier) and it enables you to switch the direction of the motor; steppers use specialized stepper motor driver chips. The reason is that your microcontroller will be able to produce maybe 50 milliampers of current on its output pins, and your motor needs way more to run; also in case of steppers it's an awful bother to control the sequence of coils activation; the driver lets you output "direction" and "step" instead of requiring which coils need to be on and which ones off.

Your control program will be a major piece of work. You'll need sensor readout, conversion to useful units, control algorithm, and output, plus external "steering" input so that your reaction wheel can rotate the satellite to desired angle, or perform desaturation operation, instead of just holding the platform immobile in one position forever. You'll need data sheets of the components you use, and a lot of stuff to learn. Not a lesson for a single StackeExchange answer.

Last, the pointing accuracy. Either you derive it by adding expectable errors, or determine it experimentally. Hang your rig on a thin string (fishing line), so it can spin freely and be stabilized in the spin axis by the reaction wheel. Attach a small mirror, shine a laser at that mirror and determine how stable you can keep the dot of the reflected ray. Using trigonometry and determining how much the dot travels while stabilized after angle change or external disturbance, you can determine how accurately you control the angle.


Ad 1: Do not try to implement motor control yourself, unless you have special interest in this aspect. This can easily be a project on its own. A stepper will be way too noisy for accuracy, BLDC with hall-sensor will run very smooth. Look for prebuilt controllers like this one.

Ad 2: You need specs for moment of inertia of the nanosat. There will be a tradeoff between RPM and wheel-mass. RPM is related to bearings and possibly also to evacuated/pressurized casing. Be sure to consider evaporation of lubricants, this can get nasty in low pressure environments. The machined wheel needs set screws for precision balance adjustment.

Ad 3: The accuracy will depend on sensors (feedback) and disturbance.

In fact, with a rate sensor alone, you can not have any pointing at all, because the rate is the derivative of the pointing error (this is different from an inverted pendulum, where pointing error will result in acceleration and can be sensed by a rate sensor). So you need a sun tracker for pointing, and pointing accuracy will depend on the trackers performance.

In LEO, I would expect only very low frequency disturbances, you probably get away with a very low end microcontroller, and you can average sensor readings over a long interval to suppress noise.

  • $\begingroup$ A thing of beauty (in the video), and I don't mean the orchids :) $\endgroup$ – uhoh Feb 14 '17 at 22:11
  • 1
    $\begingroup$ @uhoh Search for "Cubli" in Youtube :-) Even more impressive. $\endgroup$ – Andreas Feb 14 '17 at 22:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.