User Tools

Translations of this page:

Site Tools


en:wheel_subsys

This is an old revision of the document!


Orientation flywheel
Virtual consumption - 2000mA

When in orbit, many satellites require precise orientation of certain surfaces in the correct direction - relative to the Earth, the Sun, stars or some other reference point. For example, the camera should be oriented towards the ground and the solar panels should be oriented towards the Sun. There are several known approaches for solving this problem. For example, you can use jet (rocket) orientation engines, which causes the spacecraft to rotate in the desired direction relative to the center of mass. However, this method requires the consumption of a working fluid (fuel), requires a complex system of engine nozzles, is potentially unsafe, etc. On small spacecraft, flywheels are most often used to provide a given orientation of the satellite in space relative to the center of mass.

The flywheel is an electromechanical device that consists of an electric motor with a wheel mounted on its axis of rotation. The engine rotates accelerating and slowing down from time to time and according to the law of conservation of the kinetic moment, the spacecraft itself rotates faster or slower. Since in outer space conditions there are no external forces and the amount of motion can not change, turning the flywheel clockwise causes the rotation of the whole spacecraft counterclockwise. Thus, by controlling the engine and the rotation of the flywheel we can control the motion around the center of mass (in fact, the rotation) of the whole spacecraft.

In our model free rotation of the model, and hence the flywheel, is possible only around one axis - vertical. Therefore, only one flywheel of orientation is installed on the “satellite”.

The following functions are used for working with the flywheel motor:
int32_t motor_set_speed(uint16_t num,int16_t RPM,int16_t *confirm);
Allows you to set the flywheel speed, if successful, returns LSS_OK code and the “confirm” value equal to the desired RPM. However, the real acceleration of the flywheel to the required speed can take quite a long time.

int32_t motor_request_speed(uint16_t num,int16_t *pRPM);
This function allows you to request the current flywheel speed

en/wheel_subsys.1516706371.txt.gz · Last modified: 2020/03/25 16:29 (external edit)