Киевский клуб любителей астрономии "Астрополис"

astromagazin.net
* *
Ласкаво просимо, Гість. Будь ласка, увійдіть або зареєструйтеся.
25 Вересня 2020, 07:31:39

Увійти

google


Автор Тема: Метеостанция на Ардуино в обсерватории своими руками  (Прочитано 3223 раз)

0 Користувачів і 1 Гість дивляться цю тему.

Ivan Kapetii

  • Offline Offline
  • Повідомлень: 123
  • Подяк: 79

В интернете немало решений метеостанции на Ардуино.
Читал много. Тем хто делился своими ньюансами огромное спасибо !
Решил поделиться тем, что получается у меня.

Прототипом начала решения было решение Бориса https://astronomy.ru/forum/index.php?topic=118732.0 , за что ему большое спасибо !

Метеостанция установлена в частной обсерватории в Бобрице http://www.astroclub.kiev.ua/forum/index.php?topic=40081.msg583364#msg583364

На выходе получилось несколько устройств, физически и программно связанных между собой.

Часть первая: Observatory_Weather.

Метеостанция - состав:
1. Контроллер Arduino Mega2560. https://arduino.ua/prod176-arduino-mega-2560-rev3 . Начинал с него.
2. Радиомодуль nRF24L01+ 2.4 ГГц https://arduino.ua/prod231-Radiomodyl_nRF24L01_24_GGc плюс к нему  адаптер модулей NRF24L01 для Arduino от RobotDyn https://arduino.ua/prod2646-adapter-modylei-nrf24l01-dlya-arduino . Впоследствии отказался от этого направления. Хотя можно и на нем остановиться.
3. Wi-Fi модуль ESP8266 версия ESP-07  https://arduino.ua/prod1444-wi-fi-modyl-esp8266-versiya-esp-07  плюс к нему  плата-адаптер для ESP8266 версий ESP-07, ESP-08, ESP-12  https://arduino.ua/prod1471-plata-adapter-dlya-esp8266-versii-esp-07--esp-08--esp-12  плюс внешняя антенна https://arduino.ua/prod1751-vneshnyaya-antenna-dlya-modylei-esp8266 .
4. После освоения ESP8266  перешел на контроллер с интегрированным ESP8266 : Плата разработчика Arduino MEGA2560+WiFi R3 от RobotDyn https://arduino.ua/prod2039-plata-razrabotchika-arduino-mega2560wifi-r3-ot-robotdyn . Замена пункта 1 и 3 (кроме антенны, антенна обязательна !).
5. Инфракрасный термометр - MLX90614 http://arduino-kit.com.ua/infrakrasnyy-termometr-mlx90614.html .
6. Барометр (датчик атмосферного давления) BMP180. https://arduino.ua/prod664-Barometr_BMP085
7. Датчик освещенности цифровой BH1750FVI . http://arduino-ua.com/prod1116-datchik-osveshhennosti-cifrovoi-bh1750fvi
8. Датчик влажности и температуры DHT22. 2 шт. Один снаружи купола, другой - внутри. http://arduino-ua.com/prod301-Datchik_vlajnosti_i_temperatyri_DHT22
9. Датчик температуры DS18B20 цифровой. Их у меня 7 штук, измеряют температуру в разных местах телескопа. http://arduino-ua.com/prod190-Datchik_temperatyri_DS18B20
10. 3.2" цветной дисплей 320 х 480 для Arduino Mega 2560 . http://arduino-ua.com/prod1129-cvetnoi-ips-displei-320-h-480-dlya-arduino-mega-due
11. Датчик дождя, влаги, снега (резистивный). http://arduino-ua.com/prod562-Datchik_dojdya
12. Датчика дождя RG-11 (срабатывание по каплям, подобно датчику дождя в автомобиле). http://store.hydreon.com/shop/rain-sensor/RG-11.html
13. Датчик скорости ветра  https://www.shop.inspeed.com/Vortex-Wind-Sensor-Classic-WS.htm
14. Датчик направления ветра https://www.shop.inspeed.com/E-Vane-II-Electronic-Wind-Direction-Sensor-EV2.htm

Что умеет:

-Измеряет температуру, влажность, точку росы снаружи и внутри купола
-Измеряет температуру неба, вычисляет степень облачности (ясно, тучи...)
-Измеряет давление, освещенность
-Имеет датчик дождя (резистивный), датчик капель дождя (количество осадков), датчик скорости и направления ветра
-Измеряет температуру разных элементов обсерватории: главное зеркало, вторичное зеркало, дополнительный телескоп (АПО), искатель, двигатели привода крышек зеркал телескопа, двигатель фокусера.
-Осуществляет автоматический подогрев вышеперечисленных элементов до температуры: точка росы + дельта 2-5 градусов (настраивается пользователем) для предотвращения выпадения конденсата, инея. Также есть ручной режим подогрева.
-На основании показаний датчиков осуществляет аварийное закрытие забрала купола в случае дождя (через радиомодуль nRF24L или WiFi модуль ESP8266)
-Управляет вентиляторами обдува/обогрева главного зеркала. Автоматический режим (с задаваемыми параметрами) и ручной
-Результаты измерений выводит на LCD экран 320*480
-Управляет крышками зеркал основного телескопа (через Serial2 и отдельный контроллер крышек на Arduino Uno)
-Управляет положением и яркостью Лайтбокса, открытием/закрытием забрала купола (через радиомодуль nRF24L или WiFi модуль ESP8266 и отдельный контроллер на Arduino Nano)
-Управляется через COM порт внешним Windows приложением (передаются все результаты измерений, настройка и состояние  режимов автоматики, состояния исполнительных устройств)
-Является исполнительным устройством внешнего Windows приложения (полный контроль параметров погоды, неба, состояния автоматики подогрева, обдува, крышек зеркал, положения забрала купола, Лайтбокса)
-Выполняет функцию аварийного закрытия забрала купола при появлении дождя, сильного ветра полностью автономно.

Все режимы работы (периоды опроса датчиков, количество отсчетов для усреднения, целевые температуры для подогрева, пороги срабатывания датчиков дождя, ветра для выдачи сигналов управляющим устройствам и т.д.) настраиваются через внешнюю управляющую программу под Windows и также сохранаются в EPROM Ардуино, что обеспечивает полностью автономную работу.
Реализован механизм WatchDog для автоматической перегрузки в случае зависаний. Один раз в час показания датчиков сохраняются в EPROM (нужно в случае перезагрузки контроллера, чтобы не ждать пока датчики не усреднят свои значения).

Программа постоянно развивается. Программный код не самый красивый, но рабочий (это моя первая программа на С/Ардуино). Управляющие команды, проходящие через СОМ порт подробно описаны в отдельных файлах, так что не составит труда разобраться с кодом. Код также содержит немал комментариев (писал в первую очередь для себя, чтобы не забыть :)

Любой датчик можно отключить/включить в исходном коде просто закомментировав соответствующий #define
Программировал в MS Visual Studio 2017 Community, чего и всем желаю. Очень удобный инструмент. К нему есть плагин  Arduino IDE for Visual Studio за 30$.

Программный код лежит здесь.https://drive.google.com/drive/folders/1_D6J3ke9xp4ivfdXjwbn-S7AcgDMkuvi?usp=sharing

Обновления будут происходить по мере их появления, без объявления. Здесь будет последняя версия. История изменений поддерживаться не будет.
Здесь расположен не только программный код, но и другие файлы: схемы электрические к примеру. Смотрите, может пригодятся.
« Останнє редагування: 09 Вересня 2018, 21:22:26 від Ivan Kapetii »
Записаний
ScopeDome M3 Made in Ukraine, RCOS RC16" Made in Ukraine,WS-240, APO TS Imaging Star 130 mm f/5, Moravian G4-16000 (KAF-16803), Moravian Filter Wheel, Filter Baader F5: LRGB, SII8, OIII8.5, HA3.5, Moravian OAG-4-M68, ZWOptic 174MM
Подякували

Ivan Kapetii

  • Offline Offline
  • Повідомлень: 123
  • Подяк: 79

Выбор компонентов.

1. Контроллер Arduino Mega2560. Почему МЕГА ? Не хотел иметь ограничения по количеству входов/выходов. Один только экран TFT 320*480 требует 16 цифровых выходов для данных + еще управляющие сигналы. Также не хотел иметь ограничений с памятью.
2. Радиомодуль nRF24L01+ 2.4 ГГц. Мне необходима беспроводная связь между Observatory_Weather и контроллером на Ардуино поворотной части купола. Начал с nRF24L01. После нескольких месяцев бодания с данным модулем отказался от него. Причины: данный модуль нестабильно работает при температуре окружающей среды ниже около 5 градусов. Добавил автоматический подогрев данного модуля. Не  спасло. Работает 3-4 дня нормально, потом не работает. Средств диагностики соединения нет. То ли передатчик перестал работать, то ли приемник - неизвестно. Программно определить невозможно.
Это еще не все. Модуль очень чувствителен к длине соединительных проводов. Если провода +/- 10 см и они не в жгуте - все нормально. При длине проводов более 10 см и менее 25-30 см  нужно обязательно выносить провод MISO отдельно от общего жгута и притом не экранировать его ! Иначе не работает. При длине проводов свыше около 30 см модуль вообще перестает работать.
3. Wi-Fi модуль ESP8266. На него перешел после отказа от nRF24L01. Он конечно тоже капризный, но в нем есть возможность запрограммировать его поведение в случае разрыва соединения, также можно отловить момент пропадания связи (путем выдачи сообщения в СОМ порт)
4.  После освоения ESP8266  перешел на контроллер с интегрированным ESP8266. Это удобное решение. Но обязательно наличие внешней антенны (модуль не имеет встроенной антенны, соединение устанавивает. Но потом автоматически регулируя мощность при потере соединения возможно где-то перегревается и перестает работать через 2-3 дня (до выключения на 2-3 часа и перезагрузки) Подключение внешней антенны похоже решило эту проблему у меня (работает несколько недель без проблем).
5. Инфракрасный термометр - MLX90614. Здесь вариантов немного. Хороший датчик. Измеряет температуру ИК излучения неба. Можно играться выбором датчика с более узкой диаграммой направленности (вроде  есть с углом около 5 градусов, хотя не знаю зачем это. Ведь он смотрит просто на небо, а не синхронно с телескопом)
6. Барометр (датчик атмосферного давления) BMP180. В принципе необязательный датчик. Давление мало на что влияет в обсерватории.
7. Датчик освещенности цифровой BH1750FVI. Нужен для определения дня/ночи. Например, зачем днем включать подогрев датчика дождя в случае появления конденсата/дождя на нем, если днем снимать небо не получится. Оба датчика BMP180 и BH1750FVI подключены по интерфейсу I2C. Так вот, подключение "звездой" не работает. Только последовательной цепочкой. Это не все. Сигнальные провода I2C, OneWire и прочие по которым идут сигналы данных, тактовые сигналы, должны находиться в отдельных жгутах/кабелях от прочих сильноточных сигналов, скажем ШИМ. В моем случае на днях прободался с отказом работы BMP180 несколько дней. Оказалось, для подогрева датчика дождя использовал ШИМ по проводу, идущему в одном кабеле с сигнальными проводами. Выключил ШИМ (макс ШИМ 255) - и все заработало.
8. Датчик влажности и температуры DHT22. Датчики полезны. Кроме температуры определяют точку росы для автоматического управления обогревом оптики (для предупреждения выпадения конденсата/инея)
9. Датчик температуры DS18B20 цифровой. Без них никуда. Предупреждение: при монтаже количество датчиков в одном шлейфе не более 5 шт. И еще соединение на шлейф только последовательно цепочкой, "звезда" не подходит. Проверено при длине шлейфа около 5 метров.
10. 3.2" цветной дисплей 320 х 480 для Arduino Mega 2560. Дивайс не обязательный. Особенно с моим решением с выводом всех результатов на основной компьютер.
11. Датчик дождя, влаги, снега (резистивный). Начал с него. Но есть вопросы. Первое, сопротивление датчика (его выходное напряжение) значительно зависит от кислотности/солености осадков. Т.е. один дождь почти дистилированный, другой - соленый. Показания разнятся значительно. Вторая проблема - датчик периодически покрывается слоем жира из воздуха. В результате капли дождя плохо смачивают его поверхность - капли просто скатываются.
12. Датчика дождя RG-11. Штука интересная. Прицепил неделю назад. Еще не было нормального дождя, чтобы определить его эффективность.
13. Датчик скорости ветра. Скорее всего датчик необходим, чтобы сильный ветер не шатал телескоп. Хотя возможно при сильном ветре неба-то и нет...
14. Датчик направления ветра. Скорее всего ненужный датчик. Пока пусть будет.
Записаний
ScopeDome M3 Made in Ukraine, RCOS RC16" Made in Ukraine,WS-240, APO TS Imaging Star 130 mm f/5, Moravian G4-16000 (KAF-16803), Moravian Filter Wheel, Filter Baader F5: LRGB, SII8, OIII8.5, HA3.5, Moravian OAG-4-M68, ZWOptic 174MM

Polaris

  • Offline Offline
  • Повідомлень: 1506
  • Подяк: 58

6. Барометр (датчик атмосферного давления) BMP180. В принципе необязательный датчик. Давление мало на что влияет в обсерватории.

Використовують для короткочасного прогнозування погоди. Якщо тиск різко падає, спостереження треба закінчувати.


13. Датчик скорости ветра. Скорее всего датчик необходим, чтобы сильный ветер не шатал телескоп. Хотя возможно при сильном ветре неба-то и нет...

Перед тим як хитати телескоп він досить сильно розхитає купол, потрібно ставити строгі допуски по швидкості.

14. Датчик направления ветра. Скорее всего ненужный датчик. Пока пусть будет.

В професійних обсерваторіях допуски на швидкість вітру відрізняються в залежності від того він дує в забрало купола чи ні. Тобто напрям має значення.
Записаний
Подякували

Ivan Kapetii

  • Offline Offline
  • Повідомлень: 123
  • Подяк: 79

Соединение всех датчиков с контроллером Ардуино МЕГА  произведено через печатную плату для шилда под Arduino Mega https://arduino.ua/prod177-pechatnaya-plata-dlya-shilda-pod-arduino-mega (сейчас нет в продаже, а жаль), в которую запаяны разъемы и провода. Этот "шилд" одевается" сверху на Мега, а на него свезху - экран TFT.
Весь этот "бутерброд" крепится на большую плату, на которой размещены источники всевозможного питания, а также электронные ключи на полевых транзисторах с опторазвязкой для работы подогрева/обдува  разных узлов.

По ссылке в 1-м посту буду выкладывать потихоньку все, что оформлю более-менее. Схемы в первую очередь. Будут все.
Я там выкладываю все, с чем разбирался сам (и не сам). Все, что может быть полезно желающему повторить/изменить мое решение.
« Останнє редагування: 06 Вересня 2018, 23:38:10 від Ivan Kapetii »
Записаний
ScopeDome M3 Made in Ukraine, RCOS RC16" Made in Ukraine,WS-240, APO TS Imaging Star 130 mm f/5, Moravian G4-16000 (KAF-16803), Moravian Filter Wheel, Filter Baader F5: LRGB, SII8, OIII8.5, HA3.5, Moravian OAG-4-M68, ZWOptic 174MM
Подякували

Ivan Kapetii

  • Offline Offline
  • Повідомлень: 123
  • Подяк: 79

6. Барометр (датчик атмосферного давления) BMP180. В принципе необязательный датчик. Давление мало на что влияет в обсерватории.

Використовують для короткочасного прогнозування погоди. Якщо тиск різко падає, спостереження треба закінчувати.


13. Датчик скорости ветра. Скорее всего датчик необходим, чтобы сильный ветер не шатал телескоп. Хотя возможно при сильном ветре неба-то и нет...

Перед тим як хитати телескоп він досить сильно розхитає купол, потрібно ставити строгі допуски по швидкості.

14. Датчик направления ветра. Скорее всего ненужный датчик. Пока пусть будет.

В професійних обсерваторіях допуски на швидкість вітру відрізняються в залежності від того він дує в забрало купола чи ні. Тобто напрям має значення.

Датчик скорости ветра - обязательный датчик. У меня порог "опасности" силы ветра настраивается из-вне пользователем. Без влезания в код.
Датчик направления ветра тоже поставил - чтобы он дул в спину забрала, а не в лицо телескопу (если ветер сильный).
Но в код это не добавил. Пока.
Спасибо
Записаний
ScopeDome M3 Made in Ukraine, RCOS RC16" Made in Ukraine,WS-240, APO TS Imaging Star 130 mm f/5, Moravian G4-16000 (KAF-16803), Moravian Filter Wheel, Filter Baader F5: LRGB, SII8, OIII8.5, HA3.5, Moravian OAG-4-M68, ZWOptic 174MM

vakula

  • Offline Offline
  • Повідомлень: 951
  • Подяк: 2442
    • www.stozhary.org

В качестве контактного шилда для Arduino Mega с надежным контактом хочу порекомендовать вот такую борду

Может конечно быть не совсем удобна для подключения дисплея, но для себя нашел ее удобной.

В каком режиме у вас работает RG-11? Индикация что пошел дождь? Или он для вычисления уровня осадков? Как будет впечатление по работе датчика в наших реалиях - дайте знать, имею личный интерес. У самого лежит такой на столе, пока все в нем нравится и планирую в ближайшее время поставить как Safety триггер на аварийное сворачивание будки.

Не думали (можем уже сделали) написать ASCOM плагины (ObservingConditions + Safety monitor + Dome control), чтобы все данные завести в софт (например ACP или SGP) и таким образом автоматизировать сьемочную сессию?
Записаний
Подякували

Ivan Kapetii

  • Offline Offline
  • Повідомлень: 123
  • Подяк: 79

Поскольку мне не нравится резистивный датчи дождя (писал выше почему), приобрел емкостной датчик дождя RadioControlli http://www.radiocontrolli.com/products/thick-film-rain-sensor.html . Приехал на днях. Буду пробовать его. Но нужно сначала придумать схему преобразования емкости в напряжение (у них на сайте есть преобразователь емкости в частоту через инвертирующий триггер Шмидта, но у меня осталось только 2 свободных вывода прерывания D2 и D3. Нужно экономить выводы. А аналоговых входов свободных валом.)

Датчики дождя RG-11 и скорости ветра у меня работают по прерыванию (за задаваемый промежуток времени прерывания регистрирует количество срабатываний датчиков и подсчетом количества срабатываний определяется то ли количество осадков (достаточно условная величина), то ли скорость ветра (количество срабатываний деленное на промежуток времени = скорости ветра)
Записаний
ScopeDome M3 Made in Ukraine, RCOS RC16" Made in Ukraine,WS-240, APO TS Imaging Star 130 mm f/5, Moravian G4-16000 (KAF-16803), Moravian Filter Wheel, Filter Baader F5: LRGB, SII8, OIII8.5, HA3.5, Moravian OAG-4-M68, ZWOptic 174MM


Ivan Kapetii

  • Offline Offline
  • Повідомлень: 123
  • Подяк: 79

В качестве контактного шилда для Arduino Mega с надежным контактом хочу порекомендовать вот такую борду
Может конечно быть не совсем удобна для подключения дисплея, но для себя нашел ее удобной.

В каком режиме у вас работает RG-11? Индикация что пошел дождь? Или он для вычисления уровня осадков? Как будет впечатление по работе датчика в наших реалиях - дайте знать, имею личный интерес. У самого лежит такой на столе, пока все в нем нравится и планирую в ближайшее время поставить как Safety триггер на аварийное сворачивание будки.

Не думали (можем уже сделали) написать ASCOM плагины (ObservingConditions + Safety monitor + Dome control), чтобы все данные завести в софт (например ACP или SGP) и таким образом автоматизировать сьемочную сессию?

Ой, я не успеваю описать то что есть, и то что планируется. В общем у меня написано в теме об моей обсерватории в 1-м посту.
По шилду для Меги меня полностью устраивает которая у меня. Взагали, отказываюсь везде где можно от соединение сигнальных цепей черех зажимы с болтиками. Провода тонкие, болтики их легко передавливают. Наклемники не помогают. Проводов много - толстые не поставишь.
Хотя и с разъемами есть вопросы. В первую очередь остатки затекшего флюса вовнутрь разъема при пайке. Пришлось купить ультразвуковую ванну промывки и не экономить изопропиловый спирт.
Дойду - опишу/отвечу
« Останнє редагування: 07 Вересня 2018, 00:05:42 від Ivan Kapetii »
Записаний
ScopeDome M3 Made in Ukraine, RCOS RC16" Made in Ukraine,WS-240, APO TS Imaging Star 130 mm f/5, Moravian G4-16000 (KAF-16803), Moravian Filter Wheel, Filter Baader F5: LRGB, SII8, OIII8.5, HA3.5, Moravian OAG-4-M68, ZWOptic 174MM

Ivan Kapetii

  • Offline Offline
  • Повідомлень: 123
  • Подяк: 79

Датчик RG-11 работает в режиме Tipping bucket rain gauge (1-й режим). При падении некоторого количества осадков на датчик (датчик сам определяет количество в зависимости от количества и размера капель и установленной чувствительности датчика)  срабатывает выходное реле на 50 мс. Вот эти срабатывания и фиксирует Мега по прерыванию. Пока не было нормального дождя, чтобы поиграться. Был несильный дождь. Уже  зонтик нужно над головой ставить. А датчик насчитывает за 10 сек  16 шт. срабатываний. При том, что поставил максимальную чувствительность = 0,001 мм. Поставил порог "есть дождь" в значение 30. Буду играться дальше.
Вообще с этим немало неясностей.
Например, формат файла BoltWood (реализовано в следующей программе "Observatory weather control") предполагает "показания датчика дождя"  за "предыдущую минуту". Мне что, целую минуту ждать ? А ведь дождь за эту минуту забрызгает каплями все зеркало !
« Останнє редагування: 07 Вересня 2018, 00:38:31 від Ivan Kapetii »
Записаний
ScopeDome M3 Made in Ukraine, RCOS RC16" Made in Ukraine,WS-240, APO TS Imaging Star 130 mm f/5, Moravian G4-16000 (KAF-16803), Moravian Filter Wheel, Filter Baader F5: LRGB, SII8, OIII8.5, HA3.5, Moravian OAG-4-M68, ZWOptic 174MM

Ivan Kapetii

  • Offline Offline
  • Повідомлень: 123
  • Подяк: 79

Функция защитного закрытия забрала в случае дождя/сильно ветра полностью возложена на Мегу. При том, что параметры (пороги) срабатывания задаются из вне с сохранением в EPROM Меги.
Не вижу необходимости возлагать эту функцию на внешнюю программу (хотя без проблем можно реализовать и это).
Я хотел полностью автономную систему защиты, без компьютеров, которые могут зависать.
Зависает конечно и Ардуино, но там есть WathDog, который перегружает Мегу, если зависло.
Записаний
ScopeDome M3 Made in Ukraine, RCOS RC16" Made in Ukraine,WS-240, APO TS Imaging Star 130 mm f/5, Moravian G4-16000 (KAF-16803), Moravian Filter Wheel, Filter Baader F5: LRGB, SII8, OIII8.5, HA3.5, Moravian OAG-4-M68, ZWOptic 174MM

Ivan Kapetii

  • Offline Offline
  • Повідомлень: 123
  • Подяк: 79

Часть 2.

Управляющая программа.
Назвал ее недолго думая  Observatory weather control.
Написана на С#. Также моя первая программа на C#.

Что может:
1. Принимает показания датчиков от Observatory_Weather (Ардуино), выводит их на форму и рисует онлайн графики.
2. Позволяет настраивать очень много параметров работы Ардуино.
3. Управляет режимами подогрева/обдува телескопа (ручной, автоматический) с подтверждением от Ардуино.
4. Управляет крышками зеркал телескопа через Observatory_Weather и отдельный контроллер крышек зеркал. С обратной связью.
5. Управляет режимами работы Лайтбокса с обратной связью.
6. Управляет забралом купола.
7. Записывает показания всех датчиков в CSV файл.
8. Рисует графики из файла CSV
8. Пишет Log файл и файл всех команд, идущих через COM порт (полезно при настройке).
9. Записывает показания датчиков в файл формата Boltwood (для будущего использования астро программами)

Инсталяции не требует. Запускаем WeatherStationForObservatory.exe из папки bin\Release.

Программа не закончена, но использовать уже можно.

Следующая модификация - доработка вывода графиков.

Следующая - запись показаний датчиков в базу данных.

Следующая - добавление ASCOM драйвера. Но с этим быстро не получится. Новая для меня тема.

Свежую версию всегда можно скачать по указанной ссылке в 1-м посте.
Записаний
ScopeDome M3 Made in Ukraine, RCOS RC16" Made in Ukraine,WS-240, APO TS Imaging Star 130 mm f/5, Moravian G4-16000 (KAF-16803), Moravian Filter Wheel, Filter Baader F5: LRGB, SII8, OIII8.5, HA3.5, Moravian OAG-4-M68, ZWOptic 174MM
Подякували

Ivan Kapetii

  • Offline Offline
  • Повідомлень: 123
  • Подяк: 79

Часть 3.

Программа управления крышками зеркал RC400_Cover_Bobriza.

Контроллер Ардуино Уно, драйвер двигателей - Adafruit motor shield  http://zelectro.cc/Adafruit_motor_shield
4 крышки, 4 обычных коллекторных двигателя постоянного тока
8 шт. концевых выключателей для фиксации состояния крышек (открыто/закрыто)


Управление: кнопки +/-. Также управление через UART: принимает команды открытия/закрытия как всех крышек, так и каждой по отдельности и отправляет информацию о состоянии крышек
Запоминает в памяти текущий режим открытия/закрытия (полезно при пропадании питания)

Схема соединений скорее всего не нужна - в программном коде описано использование выводов Uno.
Физический монтаж: коробочка подходящего размера, где размещен "бутерброд" из "Arduino Uno" + "Adafruit motor shield". Кнопки ручного управления и нужные коннекторы/разъемы для подключения концевых выключателей / двигателей крышек выбираются по вкусу.

Код программы как обычно по ссылке в 1-м посту.
Записаний
ScopeDome M3 Made in Ukraine, RCOS RC16" Made in Ukraine,WS-240, APO TS Imaging Star 130 mm f/5, Moravian G4-16000 (KAF-16803), Moravian Filter Wheel, Filter Baader F5: LRGB, SII8, OIII8.5, HA3.5, Moravian OAG-4-M68, ZWOptic 174MM

Ivan Kapetii

  • Offline Offline
  • Повідомлень: 123
  • Подяк: 79

Часть 4.

Контроллер оборудования поворотной части купола.

Назвал ScopeDomeControler.

Что может:
Контроллер оборудования на поворотной части купола обсерватории.
Входные команды принимает через радиомодуль nRF24L01+ от другого Ардуино
Также вместо радиомодуля nRF24L01+ можно использовать ESP8266 (что есть лучше).
    Выполняет:
-управление открытием/закрытием забрала купола
-управление LightBox. Включение различной яркости для L, RGB, HSO фильтров.  Поворот LightBox в положение Work и Park (серводвигателем)
-отсылает обратно сигналы положения забрала купола, LightBox. (концевые датчики и логический опрос состояния)
-измеряет и возвращает значение напряжения аккумулятора UPS поворотной части купола
-подогрев бокса LCD монитора основного компьютера обсерватории с обратной связью по датчику температуры.
-подогрев бокса платы Ардуино с обратной связью по датчику температуры. (радиомодуль nRF24L01+ нестабильно работает при Т ниже 4-5'C)
-выключает UPS купола при низком напряжении аккумулятора

Использован контроллер - Arduino Nano с загрузчиком Optiboot (китайский клон не поддерживает Watchdog !!!)
Загрузчик Optiboot https://github.com/Optiboot/optiboot

При отсутствии входящих команд (через ESP8266 или nRF24L01+) на время более 300 сек Ардуино автоматически перезагружается
Сделано для борьбы с возможными зависаниями соединений.
При перезагрузке также перезагружается аппаратно модуль ESP8266 (отдельный вывод Нано управляет входом Reset ESP8266). Програмные перезагрузки ESP8266 не всегда срабатывают корректно.

Код программы можно скачать по ссылке в 1-м посту.

Также по ссылке выше можно скачать код прошивки для ESP8266. Там код для TCP клиента и сервера соответственно.
ESP8266  используется для WiFi связи метеостанции и ScopeDomeControler (по сути прозрачный радиомост UART-UART 2-х  Ардуино).
Вообще, ESP8266 штука очень капризная, но крайне интересная. Я с ней прободался несколько месяцев, прежде чем "оседлал" ее. Но это отдельная тема скорее всего.
Поженить ESP8266  и Ардуино оказалось непростой задачей.
Первая проблема - согласование уровней TTL(5V) и 3.3В ESP.
Согласование уровней обычными резистивными делителями напряжения не пошло у меня. По входу ESP8266  TX похоже он что-то считывает при рестарте, и поэтому очень чувствителен к значению резистора этого вывода "на землю".
Поэтому в конечном счете мне пришлось отказаться от резистивных делителей напряжения и применить конверторы уровней на полевых транзисторах. Использовал этот https://arduino.ua/prod2165-preobrazovatel-logicheskih-yrovnei-dvynapravlennii
(Это не отражено в электрической схеме, пришлось "резать" дорожки платы)
Также не получилось запустить передачу/прием данных от Arduino  на ESP через стандартный Serial порт. Или передача, или прием.  Одновременно не получилось у меня.  Пришлось "городить" виртуальный "Serial" для связи Arduino с ESP8266.

Также ESP8266 очень чувствителен к значению "подтягивающих" резисторов. Используйте резисторы, обозначенные в моей схеме и вы не будете иметь тех проблем, которые я имел при "оседлании" ESP8266.
« Останнє редагування: 09 Вересня 2018, 22:05:27 від Ivan Kapetii »
Записаний
ScopeDome M3 Made in Ukraine, RCOS RC16" Made in Ukraine,WS-240, APO TS Imaging Star 130 mm f/5, Moravian G4-16000 (KAF-16803), Moravian Filter Wheel, Filter Baader F5: LRGB, SII8, OIII8.5, HA3.5, Moravian OAG-4-M68, ZWOptic 174MM

Ivan Kapetii

  • Offline Offline
  • Повідомлень: 123
  • Подяк: 79

По причине проблем с ESP8266  в связке с Arduino в моем проекте  (описаны выше)  есть огромное желание реализовать эту часть функционала обсерватории полностью на https://arduino.ua/prod2041-wi-fi-modyl-luanode32-s-esp-32
Записаний
ScopeDome M3 Made in Ukraine, RCOS RC16" Made in Ukraine,WS-240, APO TS Imaging Star 130 mm f/5, Moravian G4-16000 (KAF-16803), Moravian Filter Wheel, Filter Baader F5: LRGB, SII8, OIII8.5, HA3.5, Moravian OAG-4-M68, ZWOptic 174MM

foxit

  • Offline Offline
  • Повідомлень: 1
  • Подяк: 0

Здравствуйте.
Как успехи в развитии метеостанции?
Записаний

Ivan Kapetii

  • Offline Offline
  • Повідомлень: 123
  • Подяк: 79

Добрый день !
Много чего переделал, сейчас на заключительной стадии.
Скоро опубликую
Записаний
ScopeDome M3 Made in Ukraine, RCOS RC16" Made in Ukraine,WS-240, APO TS Imaging Star 130 mm f/5, Moravian G4-16000 (KAF-16803), Moravian Filter Wheel, Filter Baader F5: LRGB, SII8, OIII8.5, HA3.5, Moravian OAG-4-M68, ZWOptic 174MM
Подякували

Ivan Kapetii

  • Offline Offline
  • Повідомлень: 123
  • Подяк: 79

Добрый день !
Осенью случилась небольшая авария - контроллер монтировки "сошел с ума" и монтировка поехала ниже горизонта - туда, куда ехать в принципе не должна была.  В результате ферма телескопа зацепилась за оборудовани на поворотной части купола (в этом режиме что за что может цепляться не проверялось), а купол двигался ! На выходе - слегка деформированная ферма телескопа (на которой крепится вторичное зеркало). (Требуется юстировка Ричи-Кретьена. Пока не сделано).

Эта авария инициировала создание защиты монтировки телескопа от недопустимого положения, и сопутствующие ей переделки и доработки
В результате переделал несколько схем и печатных плат ( и все что с этим связано) плюс ряд апгрейдов, не относящихся напрямую к аварии (все равно печатные платы заказывались новые).
Ниже - плата защиты монтировки. На вход поступают сигналы от 4-х датчиков Холла, закрепленных на осях монтировки в крайних допустимых положениях.
Датчики Холла отключают питание монтировки при достижении граничных положений монтировкой. Также плата позволяет вывести удаленно монтировку из аварийного положения.
На микросхеме Allegro-micro ACS713LC (датчик тока на Эффекте Холла) собран датчик тока, потребляемого монтировкой. Еще смонтированы делители напряжения для измерения напряжения питания монтировки и напряжения аккумулятора основного UPS (+48В у меня). Ну и аппаратное решение отключение аккумулятора от UPS при падении напряжения на аккумуляторе до граничного.
Сформированные сигналы поступают на соответствующие входа Ардуино МЕГА  для дальнейшей обработки.
Схемы, как обычно по ссылке в 1-м посту

Замечание. Микросхему L7812 (стабилизатор +12В) лучше смонтировать на внешнем радиаторе бОльшего размера, так как она неслабо греется (только реле потребляет ток более 150 мА), хотя от реле можно отказаться, там есть мощный полевой транзистор IRF5305 для коммутации нагрузки (монтировки).


« Останнє редагування: 26 Березня 2019, 21:58:36 від Ivan Kapetii »
Записаний
ScopeDome M3 Made in Ukraine, RCOS RC16" Made in Ukraine,WS-240, APO TS Imaging Star 130 mm f/5, Moravian G4-16000 (KAF-16803), Moravian Filter Wheel, Filter Baader F5: LRGB, SII8, OIII8.5, HA3.5, Moravian OAG-4-M68, ZWOptic 174MM

Ivan Kapetii

  • Offline Offline
  • Повідомлень: 123
  • Подяк: 79

Следующая измененная плата/схема - схема соединений Ардуино МЕГА с остальным оборудованием.
Что в ней.
Добавлены датчики тока на микросхеме Allegro-micro ACS713LC (датчик тока на Эффекте Холла) на основные потребители:фокусер, подогрев датчиков, подогрев оптики, +5V.
В принципе можно добавить измерение потребляемого тока чего угодно. Хоть 220V  переменки. Все упирается в размеры платы и количество дополнительных проводов.
Аналоговые свободные входы Ардуино МЕГА закончились, поэтому добавлен мультиплексор аналоговых сигналов CD74HC4067 для мультиплексирования входов.

Также размещены заготовки (рабочие !) для размещения WiFi модулей либо ESP8266-07 либо ESP32 c преобразователями уровней 3,3V->5V на полевых транзисторах

Печатная плата ниже:
« Останнє редагування: 26 Березня 2019, 22:13:07 від Ivan Kapetii »
Записаний
ScopeDome M3 Made in Ukraine, RCOS RC16" Made in Ukraine,WS-240, APO TS Imaging Star 130 mm f/5, Moravian G4-16000 (KAF-16803), Moravian Filter Wheel, Filter Baader F5: LRGB, SII8, OIII8.5, HA3.5, Moravian OAG-4-M68, ZWOptic 174MM

Ivan Kapetii

  • Offline Offline
  • Повідомлень: 123
  • Подяк: 79

Следующий модуль - модуль внешних датчиков.
Собственно схема. Подключение всех внешних датчиков (кроме внешнего DHT22) сведено на одну плату/корпус, включая подогрев датчиков. Использован емкостной датчик влаги/дожда RadioControlli/ Схема подключения емкостного датчика использована из сайта RadioControlli, вместе с прилагаемыми библиотеками. Работает вроде хорошо. Преобразователь емкость-частота выполнен на инверторе Шмидта 74NC14N.

Это у меня 4-я версия корпуса внешних датчиков.

Важно !  Емкостной датчик чувствителен к влаге внутри корпуса смонтированной схемы (там резистор обратной связи равен 1 Мом !)

Корпус подобран из дюралюминия подходящих размеров.  Датчик емкостной прикреплен на силиконовый термоклей (важно обеспечить герметичность от влаги всех выводов емкостного датчика).

Датчик температуры неба MLX90614 закреплен на пъедестале из пластика PETG (напечатано на 3Д принтере). Не просто так. Подогрев MLX недопустим. Проверено. При Т MLX выше Т среды на 15 градусов и выше показания Т неба завышаются на эти же величины. 

Ньюансы работы датчиков будут описаны ниже.


Плата ниже:
« Останнє редагування: 26 Березня 2019, 22:47:43 від Ivan Kapetii »
Записаний
ScopeDome M3 Made in Ukraine, RCOS RC16" Made in Ukraine,WS-240, APO TS Imaging Star 130 mm f/5, Moravian G4-16000 (KAF-16803), Moravian Filter Wheel, Filter Baader F5: LRGB, SII8, OIII8.5, HA3.5, Moravian OAG-4-M68, ZWOptic 174MM

Polaris

  • Offline Offline
  • Повідомлень: 1506
  • Подяк: 58

MLX90614 це інфрачервоний сенсор. Конвертує потік в температуру абсолютно чорного тіла. Досить не вдала абстрація для неба.
Записаний