User Tools

Translations of this page:

Site Tools

Action disabled: source

Angular velocity sensor

Virtual power draw: 40 mA


The angular velocity sensor (AVS) enables measurement of momentary angular velocities of orbiter rotation around three axes. Depending on sensor location, one of these indications, namely the speed of rotation around the thread, will be critically important for controlling the orbiter, while the other two can be used to track oscillations of its mass center relative to the local vertical thus also providing aids for control.

Readings of angular velocity provided by the sensor are scaled at 0.00875 deg/s per RAW unit (see hyro_request_raw in the function library).

Sample C Test Code for the Angular Velocity Sensor

#include "libschsat.h"
int control(){
	uint16_t num = 1;  	// Номер Датчика угловой скорости
	int16_t hyro_result[] = {0, 0, 0, 0};
	printf("Enable angular velocity sensor № %d", num); 
	hyro_turn_on(num); 						// Включаем ДУС
	Sleep (1);							//Ждем включения 1 секунду
	printf("\nGet RAW data from angular velocity sensor\n");
	int i;
	for (i = 0; i < 10; i++) { 		//Считываем показания 10 раз 
	hyro_result[0] = hyro_request_raw(num,& hyro_result[1],& hyro_result[2],& hyro_result[3]);
	if (!hyro_result[0])
			printf("state: %d", i);
			printf(" x_raw = %d", hyro_result[1]);
			printf(" y_raw = %d", hyro_result[2]);
			printf(" z_raw = %d\n", hyro_result[3]);
		else if (hyro_result[0] == 1)
			printf("Fail because of access error, check the connection");
		else if (hyro_result[0] == 2)
			printf("Fail because of interface error, check your code");
	printf("\nDisable angular velocity sensor № %d\n", num);
	return 0;
en/w_subsys.txt · Last modified: 2020/03/25 16:28 (external edit)