Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
sun_subsys [2018/03/23 00:45] eliseev |
sun_subsys [2022/03/15 14:07] (текущий) ekaterina.manucharova |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | **Солнечный датчик ** \\ | + | ======Солнечный датчик====== |
Виртуальное [[power_subsys|потребление]] - 45мА | Виртуальное [[power_subsys|потребление]] - 45мА | ||
- | {{ сд_4.png?direct&200|}} | + | {{сд_4.png?direct&200| Солнечные датчики}} |
+ | |||
+ | //Рисунок 1. Солнечные датчики// | ||
- | Солнечные датчики на спутниках выполняют роль датчиков ориентации, определяя пространственное положение спутника относительно Солнца. Очень часто они используются для грубой ориентации панелей солнечных батарей спутника на Солнце. Следует заметить, что полностью определить ориентацию спутника только по показаниям солнечных датчиков невозможно - всегда останется неопределенность с углом поворота аппарата вокруг направления "спутник-Солнце". | + | Солнечные датчики на спутниках выполняют роль датчиков ориентации, определяя пространственное положение спутника относительно Солнца (рисунок 1). Очень часто они используются для грубой ориентации панелей солнечных батарей спутника на Солнце. Следует заметить, что полностью определить ориентацию спутника только по показаниям солнечных датчиков невозможно - всегда останется неопределенность с углом поворота аппарата вокруг направления "спутник-Солнце". |
Для получения сырых данных измерений можно воспользоваться функцией (на языке С): \\ | Для получения сырых данных измерений можно воспользоваться функцией (на языке С): \\ | ||
Строка 17: | Строка 20: | ||
<note tip> | <note tip> | ||
- | Следует обратить внимание, что точность установки самих сенсоров внутри корпусов солнечных датчиков не идеальна - так оно и бывает в реальной жизни, делая каждый датчик по-своему уникальным. Это связано с неточностью изготовления корпусов относительно требуемых размеров, погрешностями установки плат электроники внутри корпусов, неидеальностью самих сенсоров (все они немного отличаются друг от друга). Большинство подобных погрешностей остается неизменными в течение срока эксплуатации, хотя бывают и погрешности, сильно зависящие от внешних факторов (например, температуры). В нашем случае полагаем, что погрешности измерений каждого из датчиков неизменны во времени, несильно зависят от температуры, и это дает возможность выполнить их однократную калибровку перед началом использования. | + | Следует обратить внимание, что точность установки самих сенсоров внутри корпусов солнечных датчиков не идеальна - так оно и бывает в реальной жизни, делая каждый датчик по-своему уникальным. Это связано с неточностью изготовления корпусов относительно требуемых размеров, погрешностями установки плат электроники внутри корпусов, неидеальностью самих сенсоров (все они немного отличаются друг от друга).\\ |
+ | \\ | ||
+ | Большинство подобных погрешностей остается неизменными в течение срока эксплуатации, хотя бывают и погрешности, сильно зависящие от внешних факторов (например, температуры). В нашем случае полагаем, что погрешности измерений каждого из датчиков неизменны во времени, несильно зависят от температуры, и это дает возможность выполнить их однократную калибровку перед началом использования. | ||
</note> | </note> | ||
Строка 34: | Строка 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++) { | ||
Строка 90: | Строка 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 секунду | + | |
Строка 106: | Строка 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|__старой__]] версии датчика. | Описание [[old_sun_subsys|__старой__]] версии датчика. |