Телескопы покупают здесь


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

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

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

  • *****
  • Сообщений: 1 287
  • Благодарностей: 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 287
  • Благодарностей: 124
    • Сообщения от Iovch
NSControl много чего умеет, но тяжеловат для повторения, а главное, скетч постоянно правлю под свои потребности. Сейчас действительно рассматриваю вариант подключения модуля GPS к контроллеру монтировки для обеспечения азимутального управления, это будет самый простой вариант, но модуля етого нету пока у меня.
GoTo7 для Азимутала - работоспособный, но неудобный в использовании вариант, дорабатывать его не буду уже, лучше время потрачу на подключения модуля GPS к NSMount.
Для схемы подключения NEW_NEW_NEW требуется припаивать перемычку на CNC шильде (Ответ 13 форума), кажется уже писал об этом, иначе недопустимо медленное позиционирование будет.
Джойстик, кнопочный пульт, и гидирующее устройство все в один разъем включается RJ45 по схеме.
Кнопочный пульт управляет осями X/Y/Z (по две кнопки на каждую ось +/-) (Z - фокусер) и скоростью перемещения по ним ((S) 2 кнопки +/-) итого 8 кнопок.
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

Оффлайн BaNaN3a72rus

  • ****
  • Сообщений: 264
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от BaNaN3a72rus
Получилось на этой прошивке позиционирование из стеллариума?

Вечером скажу. Поставил двигатель новый, нормальный NEM17, а то тот что стоял типаразмер тот же вроде как, но он был снял с принтера и подключен без средней точки и явно был слабнее и пропускал шаги. А этот вчера проверил, работает.

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
Проверил со своим джойстиком, всё работает отлично. Жужжит громко, но пора бы уже и привыкнуть..)
Ведение теперь в правильную сторону. По стелариуму с кнопкой А2-земля тоже работает как надо в нужном направлении! Просто супер! Осталось проверить по небу, жаль пока его нет.
Возникло 3 вопроса.
1. Как правильно работает кнопка которая +Y и -Y переключает? Ну вот я первый раз запустил Стелариум указал что скоп направлен на пояс Ориона. Он запомнил. Потом я нажимаю на туманность Ориона, чтобы шел туда, смотрю ползёт в верх, а надо в низ. Я нажал кнопку, всё, теперь ползёт куда надо. И теперь пока я не отключить от стелариума или не перевезу скоп руками на Серевную сторону у меня будет всё правильно работать? Правильно ли я понимаю что кнопка нужна для первоначального понимания монтировки в какую сторону ей шагать? Грубо говоря если я начинаю с южного направления то кнопка нажата, а если с северного то отжата?
2. На сколько точно (при условия точной полярки) идет управление GoTo? Ну т.е к примеру если я прохожу монтировкой 30 градусов, какой шанс что с полет около 1.5 градуса я увижу что хочу?) 
3. на джойстике у меня dec и ra местами на оборот работают. Мне просто в "дано" поменять местами ? 
#define CX_SENCE A6  //Сенсор оси X элемента управления или X+ для GUIDEPORT
#define CY_SENCE A7  //Сенсор оси Y элемента управления или Y+ для GUIDEPORT
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 287
  • Благодарностей: 124
    • Сообщения от Iovch
1. Как правильно работает кнопка которая +Y и -Y переключает? Ну вот я первый раз запустил Стелариум указал что скоп направлен на пояс Ориона. Он запомнил. Потом я нажимаю на туманность Ориона, чтобы шел туда, смотрю ползёт в верх, а надо в низ. Я нажал кнопку, всё, теперь ползёт куда надо. И теперь пока я не отключить от стелариума или не перевезу скоп руками на Серевную сторону у меня будет всё правильно работать? Правильно ли я понимаю что кнопка нужна для первоначального понимания монтировки в какую сторону ей шагать? Грубо говоря если я начинаю с южного направления то кнопка нажата, а если с северного то отжата?
Тут не кнопка а переключатель (выключатель если точнее) по схеме стоит. Его включают/выключают, чтобы ось У в правильном направлении шла и все. Если телескоп перекладывается на другую сторону, то переключатель этот как раз и "перещелкивают". Т.е. понимание процесса правильное у Вас  :). А насчет джойстика, спасибо за проверку! Все не доберусь до него никак. В последнем скетче параметрическое управление им уже: чем больше наклон, тем быстрее монтировка идет.
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

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

  • *****
  • Сообщений: 1 287
  • Благодарностей: 124
    • Сообщения от Iovch
2. На сколько точно (при условия точной полярки) идет управление GoTo? Ну т.е к примеру если я прохожу монтировкой 30 градусов, какой шанс что с полет около 1.5 градуса я увижу что хочу?) 
Сама электроника очень точно позиционирует. При передаточных числах 1000-1500, на моторах Nema-17 (200 шагов на 1 оборот при х16 микрошаге) если нет пропуска шагов, не хуже заводских монтировок позиционирование. Я же специально выше писал, что проверялась и проверяется система на рефракторе F1500. При увеличениях 60-70 - объект всегда в окуляр попадал. Если есть сомнения в работе механики, или особая точность наведения нужна, то до искомого объекта можно по промежуточным опорным звездам добираться с корретировкой джойстиком положений промежуточных объектов, что не сбивает целевые координаты наведения.
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

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

  • *****
  • Сообщений: 1 287
  • Благодарностей: 124
    • Сообщения от Iovch
3. на джойстике у меня dec и ra местами на оборот работают. Мне просто в "дано" поменять местами ?
#define CX_SENCE A6  //Сенсор оси X элемента управления или X+ для GUIDEPORT
#define CY_SENCE A7  //Сенсор оси Y элемента управления или Y+ для GUIDEPORT
Да.
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

Оффлайн BaNaN3a72rus

  • ****
  • Сообщений: 264
  • Благодарностей: 5
  • Мне нравится этот форум!
    • Сообщения от BaNaN3a72rus
Сама электроника очень точно позиционирует. При передаточных числах 1000-1500, на моторах Nema-17 (200 шагов на 1 оборот при х16 микрошаге) если нет пропуска шагов, не хуже заводских монтировок позиционирование. Я же специально выше писал, что проверялась и проверяется система на рефракторе F1500. При увеличениях 60-70 - объект всегда в окуляр попадал. Если есть сомнения в работе механики, или особая точность наведения нужна, то до искомого объекта можно по промежуточным опорным звездам добираться с корретировкой джойстиком положений промежуточных объектов, что не сбивает целевые координаты наведения.

охо! Что то пропустил видимо я это) Ну есть на 1500 у вас все хорошо, я за свой f600 могу вообще не переживать :-)
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
Джойстик теперь по правельным осям работает и все хорошо. Единственное что у меня не работает в новом скетче (хотя в goto3_3 который только что был работало) это нажатие на кнопку джойстика - остановка ведения.
57°08'11.9"N 65°30'00.1"E
TS-O 154-600
CG-5 + Arduino gid
Canon 2000d
Sky-Watcher AZ-GTi

Оффлайн Парча

  • ***
  • Забанен!
  • Сообщений: 219
  • Благодарностей: 17
    • Сообщения от Парча
Пытался повторить проект,но дальше скетча 3 дело не пошло.При загрузке и проверке скетча 4_4 выдаёт вот это :


Arduino: 1.8.5 (Windows 8.1), Плата:"Arduino Nano, ATmega328P"

C:\Users\DA02~1\AppData\Local\Temp\ccNYc9mV.ltrans0.ltrans.o: In function `LCDPrintSTR(char*, int, int) [clone .constprop.10]':

sketch/GOTO4.h:178: undefined reference to `LiquidCrystal_I2C::setCursor(unsigned char, unsigned char)'

C:\Users\DA02~1\AppData\Local\Temp\ccNYc9mV.ltrans0.ltrans.o: In function `LCDPrintString(String, int, int) [clone .constprop.11]':

sketch/GOTO4.h:167: undefined reference to `LiquidCrystal_I2C::setCursor(unsigned char, unsigned char)'

C:\Users\DA02~1\AppData\Local\Temp\ccNYc9mV.ltrans0.ltrans.o: In function `__static_initialization_and_destruction_0':

E:\1 TELESCOP\MOUNT\GOTO4_3\GOTO4/GOTO4.ino:7: undefined reference to `LiquidCrystal_I2C::LiquidCrystal_I2C(unsigned char, unsigned char, unsigned char)'

C:\Users\DA02~1\AppData\Local\Temp\ccNYc9mV.ltrans0.ltrans.o: In function `setup':

E:\1 TELESCOP\MOUNT\GOTO4_3\GOTO4/GOTO4.ino:265: undefined reference to `LiquidCrystal_I2C::init()'

E:\1 TELESCOP\MOUNT\GOTO4_3\GOTO4/GOTO4.ino:266: undefined reference to `LiquidCrystal_I2C::backlight()'

C:\Users\DA02~1\AppData\Local\Temp\ccNYc9mV.ltrans2.ltrans.o: In function `LCDPrint()':

sketch/GOTO4.h:202: undefined reference to `LiquidCrystal_I2C::clear()'

collect2.exe: error: ld returned 1 exit status

exit status 1
Ошибка компиляции для платы Arduino Nano.


Кто-то может помочь - объяснить в чём тут дело?

И на ноутбуке и на большом брате одно и тоже  :-\ :-\ :-\
Открылась бездна звезд полна;
Звездам числа нет, бездне дна.

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

  • *****
  • Сообщений: 1 287
  • Благодарностей: 124
    • Сообщения от Iovch
Похоже, что библиотека <LiquidCrystal_I2C.h> не установлена или установлена неправильно.
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

Оффлайн Парча

  • ***
  • Забанен!
  • Сообщений: 219
  • Благодарностей: 17
    • Сообщения от Парча
Загадка природы-загрузил скетч 4_3  -  работает! Экран светится,со Стеллариумом общается!!! Чудеса!!! Вчера делал тоже самое -результата не было.
Открылась бездна звезд полна;
Звездам числа нет, бездне дна.

Оффлайн iskander75ice

  • Новичок
  • *
  • Сообщений: 11
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от iskander75ice
комп перезагрузить наверно надо было ,проблема стыковки по usb была наверно !

Оффлайн Парча

  • ***
  • Забанен!
  • Сообщений: 219
  • Благодарностей: 17
    • Сообщения от Парча
В папку со скетчем .ino скопировал все файлы из библиотеки    и заработало.
Открылась бездна звезд полна;
Звездам числа нет, бездне дна.

Оффлайн Piter_Korn

  • *****
  • Сообщений: 2 190
  • Благодарностей: 35
  • Мне нравится этот форум!
    • Сообщения от Piter_Korn
Нужно внимательней относиться к символам обрамляющим ссылки на файлы библиотек. <XXXXXX.h> - должны размещаться в каталоге  arduino\libraries , а "XXXXXX.h" - в папке проекта.

Оффлайн Парча

  • ***
  • Забанен!
  • Сообщений: 219
  • Благодарностей: 17
    • Сообщения от Парча
Немного добавил в управление фокусёром.
https://youtu.be/IprkQB6qYDQ

Открылась бездна звезд полна;
Звездам числа нет, бездне дна.

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

  • *****
  • Сообщений: 1 287
  • Благодарностей: 124
    • Сообщения от Iovch
Нижеприведенной схемой и скетчем закрываю разработку NSMount, т.к. работы с ней зашли в тупик. Точнее сказать, схема и скетч отработаны на практике, обеспечивают управление экваториальной монтировкой, а именно: трекинг, позиционирование джойстиком и кнопочным пультом, прямое подключение к Стеллариуму, гидирование при подключении гидирующего устройства (типа коробочки Ивана или непосредственно с устройств, которые имеют гидирующий порт) в разъем RJ45.
Не получилось добиться стабильной работы и гидирования посредством NexStar (отсюда и название NSMount) протокола и Celestron Telescope Driver. Оказалось, что проще свой Аском драйвер написать на C#. Выяснилось, что управление посредством NexStar протокола не подходит под Аском, потому команды управления будут существенно упрощены и это будет уже не NSMount. Схема контроллера монтировки вероятно больше не изменится. По сравнению с предыдущей здесь удален неиспользуемый разъем для подключения доп. устройств, добавлены подтягивающие резисторы по 20К на линии управления разъема RJ45. Добавлены ограничивающие резисторы по 10К в цепи переключателей режимов. Эти добавочные элементы улучшают работу модуля ардуино.
Для поддержки всех возможностей такого контроллера монтировки, в т.ч. азимутального режима вместо отдельного блока на ардуино Мега (NSControl) планируется небольшая программка, которую с ПК или планшета можно будет запускать.


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

Оффлайн BaNaN3a72rus

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

Оффлайн Denis Volodin

  • *****
  • Сообщений: 696
  • Благодарностей: 22
  • Генералами не рождаются, генералами становятся!
    • Сообщения от Denis Volodin
Нижеприведенной схемой и скетчем закрываю разработку NSMount, т.к. работы с ней зашли в тупик. Точнее сказать, схема и скетч отработаны на практике, обеспечивают управление.......

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

Здоровско!   ::) :) :D
На следующей недельке gps модулёк приедет. Вам можно переслать его?
Вдруг для азимутала сгодится? Будет совсем здоровско.
Так как экваториальная ардуина уже "зашла в тупик"  :) можно уточнить про азимутальный скетч в ардуине? Что то планируете улучшить в алгоритме азимутальном? Или там всё хорошо?
Спасибо.

Пс.
Чето на форуме тут с аватарами заминка, себя не узнал, и напдписи к ним по арабски читать надо.



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

  • *****
  • Сообщений: 1 287
  • Благодарностей: 124
    • Сообщения от Iovch
Подскажите, вопрос такой в связи с написанным выше. Меня сейчас всё устраивает, огромное спасибо! Но в дальнейшем хочу гидировать при помощи бюджетных камер типо укуху или что то такого с использованием phd2. Пхд сможет управлять монтировкой по последнему скутчу?
Именно для обеспечения гидирования отказываюсь от поддержки NexStar протокола. Попробовал свой простейший аском драйвер написать - получилось, причем для этого последнего скетча. Осталось немного доработать и установщик скомпилировать и можно пользоваться будет. Гидирование в PHD2 работало стабильно. Есть возможность ряд команд специально под аском написать, чем и займусь в ближайшее время. Новые прошивки естественно будут на базе последнего NSMount сделаны, только чтобы понятно было, что уже не под Celestron telescope driver написаны, название поменяется.
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

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

  • *****
  • Сообщений: 1 287
  • Благодарностей: 124
    • Сообщения от Iovch
На следующей недельке gps модулёк приедет. Вам можно переслать его?
Вдруг для азимутала сгодится? Будет совсем здоровско.
Есть проблема стыковки GPS модуля + ардуино Нано + Стеллариум, учитывая, что последние скетчи занимают 97% возможностей Нано, пока не вижу возможности все это хозяйство состыковать.
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut