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

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


sun_subsys

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
sun_subsys [2018/03/21 17:25]
veronika
sun_subsys [2022/03/15 14:07] (текущий)
ekaterina.manucharova
Строка 1: Строка 1:
-**Солнечный датчик ​** \\ +======Солнечный датчик====== 
 Виртуальное [[power_subsys|потребление]] - 45мА Виртуальное [[power_subsys|потребление]] - 45мА
  
-{{ ru:​sunsensor_new.jpg?​direct&​200|}}+{{сд_4.png?​direct&​200| ​Солнечные датчики}} 
 + 
 +//​Рисунок 1. Солнечные датчики//​
  
-Солнечные датчики на спутниках выполняют роль датчиков ориентации,​ определяя пространственное положение спутника относительно Солнца. Очень часто они используются для грубой ориентации панелей солнечных батарей спутника на Солнце. Следует заметить,​ что полностью определить ориентацию спутника только по показаниям солнечных датчиков невозможно - всегда останется неопределенность с углом поворота аппарата вокруг направления "​спутник-Солнце"​.+Солнечные датчики на спутниках выполняют роль датчиков ориентации,​ определяя пространственное положение спутника относительно Солнца ​(рисунок 1). Очень часто они используются для грубой ориентации панелей солнечных батарей спутника на Солнце. Следует заметить,​ что полностью определить ориентацию спутника только по показаниям солнечных датчиков невозможно - всегда останется неопределенность с углом поворота аппарата вокруг направления "​спутник-Солнце"​.
  
 Для получения сырых данных измерений можно воспользоваться функцией (на языке С): \\  Для получения сырых данных измерений можно воспользоваться функцией (на языке С): \\ 
Строка 12: Строка 15:
 </​code>​ </​code>​
  
-Датчик возвращает показания с двух сенсоров осматривающих левую и правую полусферы соответственно. При засветке одного из сенсоров по уровню освещенности можно оценить угол наведения на солнце. При засветке двух датчиков более правильным подходом будет использование отношения уровней освещенности на обоих сенсорах. ​+Датчик возвращает показания с двух сенсоров осматривающих левую и правую полусферы соответственно. При засветке одного из сенсоров по уровню освещенности можно оценить угол наведения на Солнце. При засветке двух датчиков более правильным подходом будет использование отношения уровней освещенности на обоих сенсорах. ​
  
 Вычисление конкретных зависимостей угла от уровней освещенности называется калибровкой датчика под различные условия. Тем не менее даже без калибровки датчики подобной конструкции могут быть использованы для наведения на солнце путем анализа взаимной освещенности правой и левой полусфер датчика. Вычисление конкретных зависимостей угла от уровней освещенности называется калибровкой датчика под различные условия. Тем не менее даже без калибровки датчики подобной конструкции могут быть использованы для наведения на солнце путем анализа взаимной освещенности правой и левой полусфер датчика.
  
-**//​Точность установки://​** \\  +<note tip> 
-Следует обратить внимание,​ что точность установки самих сенсоров внутри корпусов солнечных датчиков не идеальна - так оно и бывает в реальной жизни, делая каждый датчик по-своему уникальным. Это связано с неточностью изготовления корпусов относительно требуемых размеров,​ погрешностями установки плат электроники внутри корпусов,​ неидеальностью самих сенсоров (все они немного отличаются друг от друга). ​Понятно,​ что большинство подобных погрешностей остается неизменными в течение срока эксплуатации,​ хотя бывают и погрешности,​ сильно зависящие от внешних факторов (например,​ температуры). В нашем случае полагаем,​ что погрешности измерений каждого из датчиков неизменны во времени,​ несильно зависят от температуры,​ и это дает возможность выполнить их однократную калибровку перед началом использования. В ваших руках есть набор из 4-х датчиков,​ желательно выполнить калибровку каждого из них до начала соревнований. ​ Подумайте сами, как это можно было бы это сделать,​ или обращайтесь к нам за консультациями+Следует обратить внимание,​ что точность установки самих сенсоров внутри корпусов солнечных датчиков не идеальна - так оно и бывает в реальной жизни, делая каждый датчик по-своему уникальным. Это связано с неточностью изготовления корпусов относительно требуемых размеров,​ погрешностями установки плат электроники внутри корпусов,​ неидеальностью самих сенсоров (все они немного отличаются друг от друга).\\  
- +\\  
-Описание [[old_sun_subsys|старой]] версии датчика+Большинство подобных погрешностей остается неизменными в течение срока эксплуатации,​ хотя бывают и погрешности,​ сильно зависящие от внешних факторов (например,​ температуры). В нашем случае полагаем,​ что погрешности измерений каждого из датчиков неизменны во времени,​ несильно зависят от температуры,​ и это дает возможность выполнить их однократную калибровку перед началом использования. 
 +</​note>​
  
 **Пример кода проверки солнечных датчиков на языке С** **Пример кода проверки солнечных датчиков на языке С**
Строка 35: Строка 39:
     printf("​Enable sensor #​%d\n",​ num);     printf("​Enable sensor #​%d\n",​ num);
   sun_sensor_turn_on(num);​   sun_sensor_turn_on(num);​
 +    Sleep(1);
     printf("​Get RAW data from sun sensor #​%d\n",​ num);     printf("​Get RAW data from sun sensor #​%d\n",​ num);
   for (i = 0; i < 10; i++) {   for (i = 0; i < 10; i++) {
Строка 91: Строка 96:
  print "​Enable sun sensor №", sun_sensor_num  print "​Enable sun sensor №", sun_sensor_num
  sun_sensor_turn_on(sun_sensor_num) # Включаем солнечный датчик  sun_sensor_turn_on(sun_sensor_num) # Включаем солнечный датчик
- sun_sensor_num +=1 +         ​sleep(1) # Ждем включения 1 секунду
- sleep(1) # Ждем включения 1 секунду +
   
   
Строка 107: Строка 111:
  print "Fail because of interface error, check your code"  print "Fail because of interface error, check your code"
  sleep(1) ​ # Показания считываются раз в секунду  sleep(1) ​ # Показания считываются раз в секунду
- sun_sensor_num +=1 +
- i += 1+
   
  for sun_sensor_num in range (1,5):   for sun_sensor_num in range (1,5):
  print "​Disable sun sensor №", sun_sensor_num  print "​Disable sun sensor №", sun_sensor_num
  sun_sensor_turn_off(sun_sensor_num) ​ # Выключаем солнечный датчик  sun_sensor_turn_off(sun_sensor_num) ​ # Выключаем солнечный датчик
- sun_sensor_num +=1 +</​code>​  
-</​code>​ + 
 +Описание [[old_sun_subsys|__старой__]] версии датчика.
sun_subsys.1521642328.txt.gz · Последние изменения: 2020/03/25 16:29 (внешнее изменение)

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