Инструменты пользователя

Инструменты сайта


w_subsys

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

w_subsys [2018/03/23 00:51]
eliseev
w_subsys [2020/03/25 16:28]
Строка 1: Строка 1:
-**Датчик угловой скорости**\\ 
-Виртуальное [[power_subsys|потребление]] - 40мА 
  
-{{ дус.png?​direct&​200|}} 
-Датчик угловой скорости (ДУС) позволяет измерять текущие угловые скорости аппарата по трем осям. В зависимости от места установки датчика одно из этих показаний,​ а именно - скорость вращения вокруг нити - будет критически важным для управления аппаратом,​ а два других помогут оценить колебания его центра масс относительно местной вертикали,​ что также может быть использовано в управлении. 
- 
-<note tip> 
-Угловая скорость,​ определяемая датчиком,​ равняется 0.00875 градусам/​секунду на одну единицу [[libschsat|RAW (см. библиотеку функций,​ hyro_request_raw)]]. 
-</​note>​ 
- 
-**Пример кода проверки датчика угловой скорости на языке C** 
- 
-<code c> 
-  #include "​libschsat.h"​ 
-  ​ 
-  /* 
-  ** Lab 3: get a raw data from a hyro 
-  */ 
-  void control(void) 
-  { 
-  int i; 
-  const int num = 1; /* hyro #1 */ 
-  printf("​Enable hyro #​%d\n",​ num); 
-  hyro_turn_on(num);​ 
-  printf("​Get RAW data from hyro #​%d\n",​ num); 
-  for (i = 0; i < 10; i++) { 
-  int16_t x, y, z; 
-  if (LSS_OK == hyro_request_raw(num,​ &x, &y, &z)) { 
-  printf("​%d:​ x=%d y=%d z=%d\n",​ i, x, y, z); 
-  } else { 
-  puts("​Fail!"​);​ 
-  } 
-    Sleep(1); 
-  } 
-  printf("​Disable hyro #​%d\n",​ num); 
-  hyro_turn_off(num);​ 
-  } 
-</​code>​ 
- 
-**Пример кода проверки датчика угловой скорости на языке Python** 
- 
-<code python> 
-  def control(): # Основная функция программы,​ в которой нужно вызывать остальные функции 
-   hyro_result = [0,0,0,0] # Инициализируем hyro_result 
-   num = 1 # Номер ДУС 
-   print "​Enable angular velocity sensor №", num  
-   hyro_turn_on(num) # Включаем ДУС 
-   sleep(1) # Ждем включения 1 секунду 
-   print "Get RAW data from angular velocity sensor"  ​ 
-   for i in range(10): ​ #​Считываем показания 10 раз 
-   hyro_result = hyro_request_raw(num) #​записываем ответ функции hyro_request_raw в переменную hyro_result 
-   if not hyro_result[0]:​ # если датчик не вернул сообщение об ошибке,​ 
-   print "​state:",​ hyro_result[0],​ "x_raw =", hyro_result[1],​ "y_raw =", hyro_result[2],​ "z_raw =", hyro_result[3] # Выводим данные 
-   elif hyro_result[0] == 1: # если датчик вернул сообщение об ошибке 1 
-   print "Fail because of access error, check the connection"​ 
-   elif hyro_result[0] == 2: # если датчик вернул сообщение об ошибке 2 
-   print "Fail because of interface error, check your code" 
-   sleep(1) # Показания считываются раз в секунду 
-  
-   print "​Disable angular velocity sensor №", num 
-   hyro_turn_off(num) ​  # Выключаем ДУС 
-</​code>​ 
w_subsys.txt · Последние изменения: 2020/03/25 16:28 (внешнее изменение)

Инструменты страницы