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

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

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

  • *****
  • Сообщений: 1 306
  • Благодарностей: 124
    • Сообщения от Iovch
То есть если мне хватало ведения как в предыдущих версиях, я ставлю цифру "0" понял. Просто мне кажется что это цифра коррекции она правиться даже не от монтировки, а то точности выставления полярки? Переставил монтировку, и меняй константу..?
Это не правильно, "цифра коррекции" lDMSS подбирается на правильно выставленной монтировке. Этот коэффициент пришлось ввести для монтировок с большим передаточным числом, более 3000, когда столкнулись с тем, что монтировка бежит вперед звезды, совершенно не понятно было и не подавалось логике такое поведение. Теперь понимание пришло, что это ошибки идущих расчетов/округлений.
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

Оффлайн BaNaN3a72rus

  • ****
  • Сообщений: 264
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от BaNaN3a72rus
У меня передаточные  ра432, дек 312. Значит все таки у меня параметр коректции 0..) ну видимо на моем фокусе достаточно.
А у вас видно было что монтировка бежит в переди звёзды на каком интервале времени?
57°08'11.9"N 65°30'00.1"E
TS-O 154-600
CG-5 + Arduino gid
Canon 2000d
Sky-Watcher AZ-GTi

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

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

Оффлайн BaNaN3a72rus

  • ****
  • Сообщений: 264
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от BaNaN3a72rus
В общем криворукость моя не знает границ как всегда. Пере собрал плату по новой с еще кнопочным пультом и с портом под фокус. И что-то пошло не так..
На пультике работает только -Y кнопка.... ну да ладно, может где то там в пайке накосячил.  С компа запущу с ВП думал.
 
В общем у меня не прошивается адруино нано когда стоит на шилде..  Хотя определяется сразу же на COM3. Хотя на шилде шагает, трекинг работает.
Как только снимаю с шилда - сразу прошивается, хотя в распознавании с компьютера разницы нет.
когда на шилде пытаюсь прошить пишет - avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00 до 10 раз проходит и всё. Ни чего конкретного в ошибке нет..

После прошивания снятой с платы нано, ставлю на шилд обратно -  всё хорошо. На шилде шагает трекингом, при нажатии кнопки смены направления Х, шагает в другую сторону. Когда ардуино на шилде шагает - через диспетчер устройств видно так же как и обычную любую другую плату ср340...
Кз питания и gnd нет - не звонится, да и скетч работает, шагает же. Единственное что заметил в отличии от предыдущего скетча - драйвера греются сильнее чем на предыдущей AMOUNT, рука радиатор не терпит.

ВП:
Если по проводу соединять шилд с нано и с компом, то при запуске ВП пишет "убедитесь в подключении Амоунт к порту СОМ3" (хотя через диспетчер устройств опять же плату как ch340 видно)
Если без провода, но сопряжено по блютус с платой и пытаюсь запустить приложение ВП щёлкая по ярлыку - сначала думал что вообще ничего не происходит, а потом пару раз еще попробовал позапускать и вижу что на доли секунд открывается окошко завершение работы приложения. Как когда в винде любое приложение зависает и закрывается само.. (хотя для чистоты у меня другой пароль блютус модуля чем 1234 и другое ее имя но дело думаю явно не в этом)
 В общем даже не знаю что и думаю, что же я такого перепутал на шилде, что получился такой "эффект" ..... :facepalm:
57°08'11.9"N 65°30'00.1"E
TS-O 154-600
CG-5 + Arduino gid
Canon 2000d
Sky-Watcher AZ-GTi

Оффлайн FlexLM

  • ****
  • Сообщений: 304
  • Благодарностей: 45
  • Олег
    • Сообщения от FlexLM
    • AMount - cистема управления телескопом
Похоже, вы используете очень старый ВП 2018 г. Вам надо скачать скетч и ВП 2019 г. на яндекс-диске (см. шапку темы), либо на 87 странице скачать бета версии vcAMount20190620+AMOUNT20190901 (бета следует вместе использовать, т.к. есть изменения в системе команд контроллера и т.д.).
Ардуина на шилде может не прошиваться, если работает блютуз-модуль. Поэтому в руководстве по созданию системы управления (см. яндекс-диск) на схеме есть выключатель питания отдельно для блютуз. Перед прошивкой контроллера это питание надо отключать!
Когда будете управлять монтировкой по USB-кабелю, то питание, подаваемое на блютуз, тоже отключайте.

Воспроизведение ошибки при попытке прошивки ардуины с включенным питанием блютуз-модуля на шилде см. ниже:
« Последнее редактирование: 05 Сен 2019 [14:58:04] от FlexLM »
SW Dob8 + xMount

Оффлайн xd

  • *****
  • Сообщений: 17 982
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
В общем у меня не прошивается адруино нано когда стоит на шилде..  Хотя определяется сразу же на COM3. Хотя на шилде шагает, трекинг работает.
Как только снимаю с шилда - сразу прошивается, хотя в распознавании с компьютера разницы нет.
когда на шилде пытаюсь прошить пишет - avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00 до 10 раз проходит и всё. Ни чего конкретного в ошибке нет..
Возможно, дело в том, что пины D0 и D1 используются в шилде. Если дело в этом, то в процессе прошивки их надо отсоединять от контроллера.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн BaNaN3a72rus

  • ****
  • Сообщений: 264
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от BaNaN3a72rus
Д1 д0 попробую, спасибо. Хотя раньше нормально же у всех пришивались? ВП да, с Яндекса скачал, а надо с 87 стр, понял. Блютус да, у меня отключен был всегда, когда не использую его. У меня на него выключатель.
57°08'11.9"N 65°30'00.1"E
TS-O 154-600
CG-5 + Arduino gid
Canon 2000d
Sky-Watcher AZ-GTi

Оффлайн BaNaN3a72rus

  • ****
  • Сообщений: 264
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от BaNaN3a72rus
ВП с 1734 ответа подключил по БТ. ВП Всё отрабатывает. К стеллариуму подключается. Единственное что не пойду, потому так драйвера сильно очень греются и двигатели греются.  Видимо да, цифры надо подбирать хорошо, те что в прошлом скетче не подходят. в GoTo со стеллариума заметил что очень медленно едет телескоп. Прям минимальная скорость. От одного конца медведицы малой до другой минуты 4 ехал. Прям жутко долго. Хотя в ВП на максимальной скорости очень быстро передвижение происходит. И заметил вот еще что. У меня сейчас как включаю вп и все включено шагает в правильном направлении. Если ставлю в вп -Ra -Dec шагает в обратном направлении - это всё правильно.  Но если в GoTo в стеллариуме еду к примеру от районе полярной, градусов в 10 от нее пробовал и в низ, до горизонта, у меня осень Dec, а возможно и Ра (за РА не уверен пока что) едут в противоположном направлении. Ну для dec переключил в вп и всё хорошо. Но если переключаю Ra чтобы готу правильно шагал, то у меня в противоположную сторону будет трекинг звёзд то... попробую еще поиграться с настройкой EQ Северной и ЮГ (не понял когда еще ее переключать) хотя  я был только в Северной части. И стояла северная EQ.
57°08'11.9"N 65°30'00.1"E
TS-O 154-600
CG-5 + Arduino gid
Canon 2000d
Sky-Watcher AZ-GTi

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

  • *****
  • Сообщений: 1 306
  • Благодарностей: 124
    • Сообщения от Iovch
Результат совместных усилий с Олегом (FlexLM) новая версия прошивки AMount. Максимальную скорость скорость движков  в микрошаге удалось поднять от 10000 до 20000 и выше микрошагов в сек (подбираем в конфиге максимальные imStepsXPS и imStepsYPS без пропуска шагов). iStepsXPS и iStepsYPS - пока еще используются, но их значения лучше всего задать значениями imStepsXPS/10 и imStepsYPS/10. Шумы двигателей сведены к минимуму. Скорость порта увеличена до 115200. Пока архив прикреплен только к этому сообщению, т.к. проверки на реальном небе не было. Кто сможет протестировать точность позиционирования, обязательно напишите. В ближайшее время эта версия будет основной, т.к. правки предполагаются только по точности позиционирования. На скорости порта 115200 работает только с новой (сегодняшней) версией  виртуального пульта! Проверяйте обновление ВП. Аском драйвер тоже пока не адаптирован на 115200, но в ближайшее время и его обновим на эту скорость и новые возможности.
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

Оффлайн BaNaN3a72rus

  • ****
  • Сообщений: 264
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от BaNaN3a72rus
System.IO.IOException: Операция ввода/вывода была прервана из-за завершения потока команд или по запросу приложения.

   в System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str)
   в System.IO.Ports.SerialStream.EndRead(IAsyncResult asyncResult)
   в System.IO.Ports.SerialStream.Read(Byte[] array, Int32 offset, Int32 count, Int32 timeout)
   в System.IO.Ports.SerialStream.Read(Byte[] array, Int32 offset, Int32 count)
   в System.IO.Ports.SerialPort.InternalRead(Char[] buffer, Int32 offset, Int32 count, Int32 timeout, Boolean countMultiByteCharsAsOne)
   в System.IO.Ports.SerialPort.ReadTo(String value)
   в VirtualConsole.Form1.serialPort1_DataReceived(Object sender, SerialDataReceivedEventArgs e)

Скачал последний скетч и такой вопрос. С новый скетчем не подключается в ВП который последний был тут на 87стр. Ни по проводу ни по блютус. А без подключения ардуино "проверить обновления пульта" не активна.
Со скетчем с 87 стр. ВП подключается и по проводу и по блютус и проверить обновление ВП активно, но при нажатии пишет "Входная строка имела неверный формат."
Отсюда вопрос: как обновить ВП для выше выложенного скетча?


Код который выше - это с последним скутчем я пытаюсь по проводу подключиться к ардуино..
57°08'11.9"N 65°30'00.1"E
TS-O 154-600
CG-5 + Arduino gid
Canon 2000d
Sky-Watcher AZ-GTi

Оффлайн FlexLM

  • ****
  • Сообщений: 304
  • Благодарностей: 45
  • Олег
    • Сообщения от FlexLM
    • AMount - cистема управления телескопом
Издержки переходного этапа... В дальнейшем ещё перепайку перемычек на шилде предложим (китайцы неправильный делают). Поэтому оставляйте возможность для снятия шилда. Пока перемычки оставляйте, как есть.
Новый ВП: http://amount.ucoz.net/vcAMount20190905.zip
Обращаю внимание, что в скетче AMount20190905 (см. конфиг) появился параметр настройки скорости COM-порта (только 9600 или 115200): #define COMSPEED 115200. В скетче и ВП должны быть заданы одинаковые скорости. В ВП скорость порта настраивается через меню "Настройки -> Скорость порта".
По-умолчанию блютуз-модуль HC-06 настроен на скорость порта 9600. У вас, похоже, HC-05 тоже настроен на эту скорость, а в скетче задано 115200. В этом случае для модуля через AT-команду надо устанавливать скорость 115200 или везде пока использовать 9600. Свой блютуз ещё не тестировал на 115200.

« Последнее редактирование: 06 Сен 2019 [04:12:46] от FlexLM »
SW Dob8 + xMount

Оффлайн BaNaN3a72rus

  • ****
  • Сообщений: 264
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от BaNaN3a72rus
А с какой целью вы увеличиваете скорость? Той (9600 стандартной) не достаточно точно позиционируется? У меня НС-06, как и у вас.
57°08'11.9"N 65°30'00.1"E
TS-O 154-600
CG-5 + Arduino gid
Canon 2000d
Sky-Watcher AZ-GTi

Оффлайн FlexLM

  • ****
  • Сообщений: 304
  • Благодарностей: 45
  • Олег
    • Сообщения от FlexLM
    • AMount - cистема управления телескопом
Увеличение скорости порта полезно для ускорения обмена данными между ВП и ардуиной, и для аском-драйвера будет актуально. Игорь Юрьевич отметил, что даже ШД ещё тише работают.
В ВП при 115200 можно попробовать  уменьшать таймаут отклика команд до 10мс (см. настройки по умолчанию).
« Последнее редактирование: 06 Сен 2019 [04:34:59] от FlexLM »
SW Dob8 + xMount

Оффлайн lolovo

  • **
  • Сообщений: 99
  • Благодарностей: 19
  • Мне нравится этот форум!
    • Сообщения от lolovo
Вопрос немного не в кассу, но все же: Кто-нибудь может подсказать где можно купить/заказать скользящие крепежи (для самостоятельного регулирования натяжения ремня) для nema17 по RA/DEC осям на монти eq3-2 ? Так чтобы без допработ или хотя бы без сложных работ по металлу (максимум - в домашних условиях...отверстия просверлить или дремелем воспользоваться , но не более)? У многих вижу просто уголки перфорированные, но с их помощью натяжение ремня не отрегулируешь нормально.... есть ли у кого опыт работы с пластиком (если затрагивать тему 3d-печати), насколько он плох в данном аспекте (хрупкий, деформируется и тп) ? Видел в продаже (в интернете) крепежи спец для nema17 (L-образные), но они не скользящие и для eq3-2 не особо подходят....по крайней мере для RA.

Оффлайн BaNaN3a72rus

  • ****
  • Сообщений: 264
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от BaNaN3a72rus
Сделайте такое вот скользящее крепление под болт. Натянули до нужного натяга ремень, затянули болт. у меня так. мм 5 пластик делайте не меньше. Да и на уголке перфарировангом так же делайте и будет вам счастье. Динамических ремней для настройки натяжки не бывает на сколько я знаю.
57°08'11.9"N 65°30'00.1"E
TS-O 154-600
CG-5 + Arduino gid
Canon 2000d
Sky-Watcher AZ-GTi

Оффлайн BaNaN3a72rus

  • ****
  • Сообщений: 264
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от BaNaN3a72rus
скачал сейчас пульт с 1750 поста, работает с предыдущей версией от Амоунт от 1 сентября. (с ней правда не обновляется, но это и понятно) Поставил сейчас версию Амоунт от 5 сентября поставил #define COMSPEED 115200
в пульте та же скорость. Думал почему не подключается и понял что забыл перепрошить Блютус модуль на эту скорость.. (кстати читал что на такой большой скорости блютус модуль может тупить и отваливаться, посмотрим завтра как обновлю модуль)

Было мало неба, буквально часа 1.5. Настроил полярку точнее 2 градусов по искателю. С объективом 250мм на 5 минутах с ведением смаз как на 30сек без ведения.
Да даже при 30сек смаз виден при увеличении на фотоаппарате.
const long lDMSS = 0;  было.

Поставил const long lDMSS = -15585000; Всё равно на 30сек вижу смаз звезд на 250мм фокуса... хм. Продолжу гадать цыфру дальше...
А так, если будет хорошее небо, то просто поставлю думаю прошивку Амоунт старую, у меня от 07/04/18 лежит.  И буду на ней пока (хотя без вп с ней и блютуса) там идеальное для меня ведение. даже на телескопе до 1 мин без смаза было, а тут на объективе даже 30с пока не сделать :(
Кстати в той старой версии цыфра
long lDMSS = -52000; //Поправка к Millis() за средние солнечные сутки (86400000ms)

и вело то отлично! попробую ее завтра. В общем завтра посмотрю что получится, надеюсь будет небо лучше чем сегодня.
57°08'11.9"N 65°30'00.1"E
TS-O 154-600
CG-5 + Arduino gid
Canon 2000d
Sky-Watcher AZ-GTi

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

  • *****
  • Сообщений: 1 306
  • Благодарностей: 124
    • Сообщения от Iovch
Сегодня ночью настраивал трекер. Вот кроп с Canon 450Da + Юпитер 37 выдержка 1 минута. Поправка lDMSS = 39625000;
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

Оффлайн lolovo

  • **
  • Сообщений: 99
  • Благодарностей: 19
  • Мне нравится этот форум!
    • Сообщения от lolovo
Сделайте такое вот скользящее крепление под болт.
Спасибо за инфо, а не могли бы выложить файлы проекта для 3д принтера для держателей по обеим осям ra и dec? Попробую заказать у кого-нибудь.
П.с. ремень и шкив соответственно не цепляются за пластик? Какой макс диаметр шкива можно использовать?

Оффлайн BaNaN3a72rus

  • ****
  • Сообщений: 264
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от BaNaN3a72rus
Отправлю в личку. В меня под максимальные размеры доступных звёзд на Али. Дольше кстати уже цепляет.

Поправка lDMSS в каких диапазонах значения тут существуют? Это поправка импульсов? И по сути сколь угодно?
57°08'11.9"N 65°30'00.1"E
TS-O 154-600
CG-5 + Arduino gid
Canon 2000d
Sky-Watcher AZ-GTi

Оффлайн lolovo

  • **
  • Сообщений: 99
  • Благодарностей: 19
  • Мне нравится этот форум!
    • Сообщения от lolovo
Сегодня ночью настраивал трекер.

Мне кажется, Вам стоит воплотить взаимодействие с шаговиками на таймерах (думаю, в avr есть таймеры), как это сделано в onstep! И не мучиться с настройкой ведения через коэф-ты, а так же избавиться от стука мотора, который проявляется в результате неравномерных задержек между шагами из-за вычислений, производимых в цикле до/после шага, т.к. все у Вас выполняется последовательно. Так же чз таймер можно вычислять LST (так же как и в онстеп) и не делать постоянно громоздкие вычисления. Все это я реализовал у себя (на стм32) и все прекрасно работает, осталось только отладку по небу произвести.