User Tools

Site Tools


en:w_subsys

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:w_subsys [2018/01/22 17:55]
ashley
en:w_subsys [2020/01/20 09:21]
golikov
Line 1: Line 1:
-**//Angular ​velocity sensor//** \\  +====== Angular velocity sensor ====== 
-Virtual ​[[power_subsys|consumption]] - 40mA+  
 +Virtual power draw: 40 mA 
 + 
 +{{ :​ru:​дус.png?​direct&​200| ДУС }} 
 + 
 +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. 
 + 
 +<note tip> 
 +**//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).//** 
 +</​note>​ 
 + 
 +==== Sample C Test Code for the Angular Velocity Sensor ==== 
 + 
 +<file c hyro_test.c>​ 
 +#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"​);​ 
 +
 + Sleep(1);​ 
 +  
 + }  
 + printf("​\nDisable angular velocity sensor № %d\n", num); 
 + hyro_turn_off(num);​  
 + return 0; 
 +
 + 
 +</​file>​
  
-{{ ru:​device_standart.jpg?​direct&​200|}} 
-This sensor allows you to measure the spacecraft current angular velocities of the device in three axes. Depending on the location of the sensor, one of readings, specifically the speed of rotation around the thread, will be critical for controlling the spacecraft. The other two readings will help to estimate the oscillations of the spacecraft'​s center of mass relative to the local vertical axis. These readings can also be used in control of the spacecraft. 
-The angular velocity determined by the sensor is 0.00875 degrees/​second per unit [[libschsat|RAW (see the function library, hyro_request_raw)]]. 
en/w_subsys.txt · Last modified: 2020/03/25 16:28 (external edit)