A A A A Автор Тема: Универсальная система управления телескопом на Arduino  (Прочитано 190037 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн IovchАвтор темы

  • *****
  • Сообщений: 1 306
  • Благодарностей: 124
    • Сообщения от Iovch
На форуме уже имеется несколько тем, посвященных системам управления монтировками, собранных на базе компонентов ардуино, в частности:

Простая система управления монтировкой на Arduino
Управление монтировкой на ШД Arduino + grbl
GOTO на Arduino практическая реализация "Импортозамещение"

   В результате изучения этих, и многих других источников, у меня сложилось четкое представление, как простейшим образом, на базе компонентов Ардуино можно решить некоторые вопросы, связанные с управлением телескопом.
   В настоящий момент собран действующий образец управляющего блока на базе Ардуино нано и драйверов А4988 для монтировки на шаговых двигателях с выходом для подключения электрофокусера, с индикацией координат наведения и прочей информации на двухстрочном LCD, с возможностью выполнения команд GOTO задаваемых с ПК, с возможностью подключения проводного устройства управления. Реализовано прямое подключение к плагину «управление телескопом» программы Stellarium. Разработано программное обеспечение для управления экваториальной и альт-азимутальной монтировками, масса тестовых программ. Собранная система управляет монтировкой из комплекта Деагостини «Собери свой телескоп» (аналог Astro-3, на фото), но система подойдет для управления любой монтировкой на шаговых двигателях. Пришло время собрать окончательный вариант изделия уже с беспроводным управлением. В процессе переборки системы, попытаюсь систематизировать и показать в этой теме, от простого к сложному, как простейшим образом, на Ардуино можно реализовать тот или иной функционал. Думаю, материал будет полезным.

Для удобства ориентирования в теме привожу здесь ссылки на основные моменты и программы:

Астротрекер или привод оси прямого восхождения, описание электронной части:
Универсальная система управления телескопом на Arduino
Астротрекер или привод оси прямого восхождения, скетч GOTO1 + драйвер ch341ser.zip:
Универсальная система управления телескопом на Arduino
Привод оси склонений и элемент управления (джойстик), ускорение перемещений, описание:
Универсальная система управления телескопом на Arduino
Привод оси склонений и элемент управления (джойстик), ускорение перемещений, скетч GOTO2:
Универсальная система управления телескопом на Arduino
Система управления экваториальной монтировкой с функциями GOTO, описание и скетч GOTO3:
Универсальная система управления телескопом на Arduino
Прикручиваем управление фокусером к джойстику
Универсальная система управления телескопом на Arduino
Подключаем LCD, описание электронной части:
Универсальная система управления телескопом на Arduino
Подключаем LCD, скетч GOTO4 + драйвер LCD 1602:
Универсальная система управления телескопом на Arduino
Скетч GOTO4 с автоопределением и автоюстировкой джойстика:
Универсальная система управления телескопом на Arduino
Пульт ИК часть 1 (Slave), описание электронной части:
Универсальная система управления телескопом на Arduino
Пульт ИК часть 1 (Slave), скетч GOTO5SLAVE, программа настройки и драйвер пульта ИК:
Универсальная система управления телескопом на Arduino
Пульт ИК часть 2 (Master), описание электронной части и скетч GOTO5MASTER:
Универсальная система управления телескопом на Arduino
Шаговый электрофокусер, описание электронной части:
Универсальная система управления телескопом на Arduino
Шаговый электрофокусер, скетч GOTO6MASTER.zip:
Универсальная система управления телескопом на Arduino
Версии GOTO6MASTER и GOTO6SLAVE для штатного ИК пульта ардуино:
Универсальная система управления телескопом на Arduino
Энергонезависимые часы реального времени:
Универсальная система управления телескопом на Arduino
Скетч для управления альт-азимутальной монтировкой GOTO7MASTER:
Универсальная система управления телескопом на Arduino


Ссылка на яндекс-диск со всеми материалами и стабильными версиями: https://yadi.sk/d/f1jTO1AohCtbz
« Последнее редактирование: 15 Авг 2019 [15:40:58] от Deimos »

Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

Оффлайн FlexLM

  • ****
  • Сообщений: 294
  • Благодарностей: 45
  • Олег
    • Сообщения от FlexLM
    • AMount - cистема управления телескопом
AndyNigmatec, спасибо за проверку.
Мне кажется, что эта строчка drLST=RLST() в loop() для Eq-режима не требуется. По крайней мере переменная drLST используется только в отладке.
Без RLST() хорошо можно разгрузить ардуино. Я спросил у Iovch, пока подождём ответа.
Возможно, замена в AMOUNT.h функций от Iovch на те, что в спойлере тоже поможет производительности, хотя они займут несколько больше памяти.
(кликните для показа/скрытия)
SW Dob8 + xMount

Оффлайн AndyNigmatec

  • ***
  • Сообщений: 225
  • Благодарностей: 32
    • Сообщения от AndyNigmatec
Спасибо, обязательно и это попробую)))

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

Оффлайн AndyNigmatec

  • ***
  • Сообщений: 225
  • Благодарностей: 32
    • Сообщения от AndyNigmatec
Кстати, вчера обратил внимание на одну мелочь которая изначально ускользнула от моего внимания - перестал моргать светодиод, для меня совершенно не принципиально, главное что все остальное работает )))

его "моргание" в коде правил по аналогии с остальными digitalWrite так:

включение:
//digitalWrite(13, HIGH);
bitSet(PORTB,13);

выключение:
//digitalWrite(13, LOW);
bitClear(PORTB,13);

Странно что зрительно не вижу слабого свечения при работе как раньше ... может быть из-за большой скорости переключения?
Да здравствует то благодаря чему мы несмотря ни что!

Оффлайн FlexLM

  • ****
  • Сообщений: 294
  • Благодарностей: 45
  • Олег
    • Сообщения от FlexLM
    • AMount - cистема управления телескопом
Если между этими командами маленькая пауза, то моргания не увидите. Можно ввести чуть больше задержку, чтобы проверить, что и этот блок работает. Я например, при нажатии кнопок скорости не вижу моргания, хотя там подобный код. Светодиод у меня видно как загорается только при нажатии кнопок осей.

Как будет вести себя система без RLST() в loop() можно попробовать проверить виртуально в Стеллариуме, наблюдая за маркером.
« Последнее редактирование: 19 Окт 2023 [18:43:09] от FlexLM »
SW Dob8 + xMount

Оффлайн AndyNigmatec

  • ***
  • Сообщений: 225
  • Благодарностей: 32
    • Сообщения от AndyNigmatec
Подменил ф-ии StrToHEX() и HEXToStr() на ваши - все работает))

попробовал закоментить drLST=RLST()  - визуально все работает, на кнопки отзывается, ведение какое-то идет (какое-то - потому как неба нет, точнее не скажу). Но вот при этом со стеллариумом возникает проблема - телескоп (т.е. монти) он видит, но как либо наводить и привязывать маркер отказывается, и ВП при этом не может получить дату почему-то.
Расскоментировал взад - маркер в стелл ожил, ВП увидела дату ... такой вот пока результат
Да здравствует то благодаря чему мы несмотря ни что!

Оффлайн FlexLM

  • ****
  • Сообщений: 294
  • Благодарностей: 45
  • Олег
    • Сообщения от FlexLM
    • AMount - cистема управления телескопом
Игорь Юрьевич ответил, что вроде можно убрать drLST=RLST(), ≈2/3 кода у него для AltAz-режима. Похоже, что у вас ардуина стала работать быстрее ПК и Стеллариум теперь не успевает ;D
Пожалуй, в ВП мне надо добавить проверку типа монтировки, чтобы для  Eq-режима не загружать дату и время.
А вы перед подключением к Стеллариуму через ВП выбирали Eq-режим?
SW Dob8 + xMount

Оффлайн AndyNigmatec

  • ***
  • Сообщений: 225
  • Благодарностей: 32
    • Сообщения от AndyNigmatec
да, у меня выбран там EQ-north.

Но вот ежели отключу drLST=RLST() - то остаюсь без goto в стеллариуме ... в принципе не критично))) я последнее время навожусь тупо координатам, т.е. навожусь от руки примерно, делаю тестовый снимок, далее нина его ресолвит - я смотрю координаты и додвигаю уже до цели, так пара-тройка итераций - и я на месте  :D
Да здравствует то благодаря чему мы несмотря ни что!

Оффлайн FlexLM

  • ****
  • Сообщений: 294
  • Благодарностей: 45
  • Олег
    • Сообщения от FlexLM
    • AMount - cистема управления телескопом
Возможно, вместо RLST() достаточно в loop дописать работу часов AskClock(), которые как раз и находятся среди прочего кода внутри RLST().
SW Dob8 + xMount

Оффлайн AndyNigmatec

  • ***
  • Сообщений: 225
  • Благодарностей: 32
    • Сообщения от AndyNigmatec
Тоже вариант - попробую.
Да здравствует то благодаря чему мы несмотря ни что!

Оффлайн FlexLM

  • ****
  • Сообщений: 294
  • Благодарностей: 45
  • Олег
    • Сообщения от FlexLM
    • AMount - cистема управления телескопом
Итак. Взял я ардуино нано, залил скетч от Iovch, убрав из loop() только drLST=RLST(). Подключился через ВП к Стеллариуму. Маркер перемещается согласно производительности ардуины. Проверял AltAz- и Eq-режим, работает.
SW Dob8 + xMount

Оффлайн AndyNigmatec

  • ***
  • Сообщений: 225
  • Благодарностей: 32
    • Сообщения от AndyNigmatec
тогда в чем же у меня может быть дело .... почему с drLST=RLST() маркер в стелларе двигается, а без нет ... надо компорт на 9600 переключить и попробовать, я на 115200 пробовал
Да здравствует то благодаря чему мы несмотря ни что!

Оффлайн portal

  • ****
  • Сообщений: 392
  • Благодарностей: 28
  • Мне нравится этот форум!
    • Сообщения от portal
у меня тоже привязка к go to работает не идеально .... проводил две недели назад тест перемещения от сатурна к альтаиру.  по оси склонения все четко , в пределах поля обзора гида, по восхождению градусов 15 перелет, видимо надо корректировать передаточное число в скетче. Думаю только в этом причина , полярка выставлена идеально 5 минут звезда в прицеле гида идет без гидирования.
самодел рефрактор  90\800 ,130\700, Canon 550D, microsoft HDcam с UW\IR фильтром , arduino EQ 1  с гидированием и go to

Оффлайн AndyNigmatec

  • ***
  • Сообщений: 225
  • Благодарностей: 32
    • Сообщения от AndyNigmatec
по оси склонения все четко , в пределах поля обзора гида, по восхождению градусов 15 перелет, видимо надо корректировать передаточное число в скетче.

У меня наведение наоборот - по Ra норм наводилось, по Dec перебор шел, тоже склоняюсь к некорректному передаточному по Dec (у меня) - но не подгонял пока, занимался оптимизацией скетча с целью разгрузки ардуинки.
Вдобавок, в октябре вообще по goto не наводился, делал так - сначала вручную примерно на обьект, делаю снимок, ресолвю его в НИНе, смотрю на какие координаты смотрит скоп и далее уже с ручного пульта подгоняю до обьекта - так пара-тройка итераций и на месте))). Читал что вроде НИНа умеет сама по ресолву скоп двигать куда надо - но не испытывал пока сей функционал.
Да здравствует то благодаря чему мы несмотря ни что!

Оффлайн Laplase

  • *****
  • Сообщений: 1 574
  • Благодарностей: 133
  • engineer
    • Сообщения от Laplase
    • vkontakte
Я честно не понимаю, почему эта тема до сих пор жива. Есть же гарантированно рабочий OnStep.
GSO 150/750 Photo, APO DeepSky 80/480, DIY Harmonic mount, EQ6-Pro, ASI1600MM

Оффлайн AndyNigmatec

  • ***
  • Сообщений: 225
  • Благодарностей: 32
    • Сообщения от AndyNigmatec
"Раз звезды зажигают - значит это кому-то нужно" (с)  :)

А вообще - на onstep один пульт только 5+ круб стоит ...
Вдобавок когда монтировка "сделай сам" из всякого барахла (как например в моем случае) - то как раз самое оно.
Да здравствует то благодаря чему мы несмотря ни что!

Оффлайн IovchАвтор темы

  • *****
  • Сообщений: 1 306
  • Благодарностей: 124
    • Сообщения от Iovch
Labor est etiam ipse voluptas! (c) Коллеги тут уже много полезного к основной разработке добавили.
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

Оффлайн Laplase

  • *****
  • Сообщений: 1 574
  • Благодарностей: 133
  • engineer
    • Сообщения от Laplase
    • vkontakte
А вообще - на onstep один пульт только 5+ круб стоит ...
Вдобавок когда монтировка "сделай сам" из всякого барахла (как например в моем случае) - то как раз самое оно.
Дак OnStep так же из всякого барахла сделан, тем более он сейчас еще и дешевле, потому что STM32 сейчас дешевле, чем ардуино нано какой-нибудь. И вы все это можете собрать сами, не говоря что уже готовые есть разводки плат и куча всякой документации. Касаемо пульта, он собирается на одной ESP32 и дешевом экранчике SSD1309.
GSO 150/750 Photo, APO DeepSky 80/480, DIY Harmonic mount, EQ6-Pro, ASI1600MM

Оффлайн FlexLM

  • ****
  • Сообщений: 294
  • Благодарностей: 45
  • Олег
    • Сообщения от FlexLM
    • AMount - cистема управления телескопом
почему с drLST=RLST() маркер в стелларе двигается, а без нет ...
Продолжим поддержку конструкции "выходного дня"  :good:
Возможно, кому-то пригодится для скорости 115200
В AMOUNT.ino исправили строчку:
if(COMSPEED==115200) uGetStringDelay=10; //10мкс
на if(COMSPEED==115200) uGetStringDelay=80; //80мкс
Т.е. увеличили паузу при чтении символов из COM-порта.
« Последнее редактирование: 27 Окт 2023 [07:21:27] от FlexLM »
SW Dob8 + xMount

Оффлайн Толан

  • ***
  • Сообщений: 183
  • Благодарностей: 2
  • Мне нравится этот форум!
    • Сообщения от Толан
Кроме этого, ни у кого я еще не видел скетча для ведения альт-азимутальной монтировки - это действительно сложно, на пределе возможностей Ардуино нано.
Я писал, и пользуюсь, пару лет уже. Вот только не для Ардуинки, а для PIC24F.

Оффлайн IovchАвтор темы

  • *****
  • Сообщений: 1 306
  • Благодарностей: 124
    • Сообщения от Iovch
Я писал, и пользуюсь, пару лет уже. Вот только не для Ардуинки, а для PIC24F.
Замечательно, но из каких лет цитату мою выдернули!
Пару месяцев тому назад начал переписывать скетч AMOUNT с целью устранения основного недостатка - характерного стука при позиционировании. Раньше мне казалось это невозможным, т.к. требуется параллельное выполнение нескольких задач. Оказалось возможно, правда радикально переписать пришлось практически все основные функции. NEWMOUNT почти готов, если есть желающие протестировать, напишите, выложу, отсутствие ошибок не гарантирую, т.к. неба нету у нас, чтобы проверить нормально. Схемотехника и настроечные файлы полностью совместимы с AMOUNT.
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut