Открытый исходный код для математики гелиостата?

Теоретически, используя Raspberry Pi, (по крайней мере) одно зеркало и два двигателя, можно построить гелиостат , то есть устройство, которое перенаправляет солнечный свет в фиксированное место, например куст в тени здания.

Сейчас я ищу исходный код гелиостата (открытый) , в идеале на питоне, надеюсь, с достаточным количеством комментариев. Также: правильный ли мой следующий грубый подход?

  1. Нам нужно знать точное географическое положение зеркала по долготе, широте. Для простоты будем считать, что само зеркало всегда имеет свободный от препятствий вид на солнце.
  2. Для заданного времени мы можем использовать небесную механику для расчета пути солнца по небу.
  3. Используя закон отражения из геометрической оптики, мы можем определить положение зеркала, поскольку нам известен вектор от положения зеркала до точки, куда мы хотим направить свет.

Звучит достаточно просто, по крайней мере, теоретически. Я читал, что для шага 2 многие используют предварительно рассчитанные таблицы. Почему? Это численно так сложно?

Рекомендации

Вы были на сайте ВМС США? usno.navy.mil/астрономия
Одна из причин, по которой для определения положения Солнца в небесных координатах используются таблицы, заключается в том, что прямое восхождение и склонение Солнца сложным образом меняются в течение года. См. статьи Википедии об уравнении времени и аналемме .
@MichaelSeifert Спасибо за подсказку об аналемме . Я также нашел положение солнца , что мне нужно сделать в первую очередь.
ты построил гелиостат?
@jumpjack Еще нет.

Ответы (2)

Я написал источник, который вам нужен несколько лет назад:

https://jumpjack.wixsite.com/progetti/sorgenti-ipsun

Версия Arduino/Processing была просто демонстрационной программой для ручного управления камерой TENVIS с помощью нескольких кнопок, в ней отсутствует «астрономический алгоритм».

Версия Javascript содержит астрономические расчеты и демонстрационную страницу, которая подключается к локальной камере TENVIS.

Я тоже построил прототип...

опытный образец https://jumpjack.wixsite.com/progetti/ipsun

...потом я нашел на MakerFairRome 2016 производителя, который продавал на Kickstarter готовый гелиостат, первоначально названный " Lucy ", затем переименованный в " Caia "... но прошло 5 лет, а он так и не родился.. , поэтому я думаю, что мне придется вернуться к своему проекту и разработать свой собственный гелиостат.

Но тем временем я нашел эту страницу о «статическом гелиостате», и теперь я пытаюсь перепроектировать его , чтобы выяснить, может ли он быть проще/дешевле:

Статический гелиостат

Статический гелиостат - солнечная полоса

http://cleardomesolar.com/solareflexpanels.html

Дополнительный ресурс с десятками ссылок на гелиостаты, целостаты и прочее...:

http://www.redrok.com/main.htm#gsc.tab=0

Я ответил на ваш вопрос о SolarReflector. Итак, каким был бы ваш идеальный дизайн дешевого и практичного рефлектора? Меня тоже очень интересует эта работа :-)

Предполагая, что вы знаете высоту/возвышение и азимут солнца в заданном месте на Земле (вы можете рассчитать его с помощью любой астрономической библиотеки, такой как suncalc.js ), а также высоту/возвышение и азимут цели относительно зеркала, зеркало должно указывать на это. направление:

mirrorAz = TargetAz + (SunAz - TargetAz) / 2
mirrorAlt = TargetAlt + (SunAlt - TargetAlt) / 2

Объяснение азимута

Объяснение высоты

Еще один ваш полезный ответ. В частности , github.com/mourner/suncalc/blob/master/suncalc.js кажется очень полезным, но мне еще не удалось прочитать его полностью.