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


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

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

Оффлайн 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
Погодите править функции в скетче. Стук обусловлен передачей данных по порту, в момент передачи цикл приостанавливается, а затем шагами выбирается отставание монтировки. Передача данных раз в секунду в свое время делалась для прямого соединения со Стеллариумом. Следовательно надо блокировать передачу данных на Стелларум. Если не ошибаюсь сделать в скетче Stellarium = false; И переходить на скорость соединения 115200.
Основная логика программы: в цикле пересчитываются все необходимые величины и прием/передача данных по порту, фиксируется время цикла, считается поворот земли и оценивается, требуется ли очередной шаг(и) для компенсации вращения земли, делается необходимое количество шагов.
Стеллариум в свою очередь сейчас работает через аском, через аском к нему и следует подключаться.
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

Оффлайн John_nc

  • Новичок
  • *
  • Сообщений: 3
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от John_nc
Попробовал "boolean bStellarium=false;" и скорость передачи до 115200 бит/с поднять, ничего не изменилось.

Оффлайн portal

  • ****
  • Сообщений: 386
  • Благодарностей: 27
  • Мне нравится этот форум!
    • Сообщения от portal
вчера собрал всю схему на UNO есть непонятный моменты. Первое включение , все гудит- вдруг начинается движение по разным осям , на мех пульт реагирует , не едет а дрюкает туда сюда по оси RA . DEC только в одну сторону , фокусер крутит работает очеенньь медленно .Проверил фунцию S- скорость меняется циклично  по DEC и  F .Попроверял обмотки , начало и конец , замерил  питание драйверов все норм.. Сегодня запустил через виртуальный пульт , настройки завершены. Поигрался с реверсом и ось RA заработала как надо , трекинг звездный есть , прямой ход реверс тоже есть, а вот ось DEC так и осталась крутит в одну сторону и все.КАк думаете в чем причина? напряжение на DIR же должно менятся при изменении хода на реверс?
спустя полчаса нашел перелом по штекеру DIR , все норм. И даже мех пульт вместе с виртуальным работает как надо. Запустил платформу ASCOM , при подключении монтировки возникло окно виртуального пульта , через PHD2 в ручке все работает. :good:Теперь понесу на улицу и буду подбирать погрешности хода, а вот еще пара вопросов:1) вот сейчас в доме на холостом от 12 вольт крутит все а как нагружу противовесами вдруг не пойдет подниму Vmot до 24 в - надо снова настравать ток опорный драйверов?2)
const int iStepsZPS =  200; //Полных шагов в секунду на двигателе Z
const int iZStepX   =   16; //Кратность шага драйвера Z
int iStDZ           =    1; //Исходное направление шага двигателя Z
я так понимаю здесь надо внести изменения чтобы фокусер еще быстрее крутил?
« Последнее редактирование: 01 Мар 2023 [23:54:51] от portal »
самодел рефрактор  90\800 ,130\700, Canon 550D, microsoft HDcam с UW\IR фильтром , arduino EQ 1  с гидированием и go to

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

  • *****
  • Сообщений: 1 287
  • Благодарностей: 124
    • Сообщения от Iovch
Если изменить const int iStepsZPS =  200 до 1000 например, фокусер назначенные шаги выполнит в 5 раз быстрее. Количество же шагов Steps за цикл на каждой из скоростей iZRate задается здесь:
boolean Focus(char *sSTR)
{
  boolean Focus=true;
  int Direction=0, Steps=-1;
  switch (sSTR[2])
  {
   case '+': {Direction=  iStDZ; break;}
   case '-': {Direction =-iStDZ; break;}
  }
  switch (sSTR[1])
  {
   case '0': {Steps=0;   iZRate=0; break;}
   case '1': {Steps=1;   iZRate=1; break;}
   case '2': {Steps=2;   iZRate=2; break;}
   case '3': {Steps=4;   iZRate=3; break;}
   case '4': {Steps=8;   iZRate=4; break;}
   case '5': {Steps=16;  iZRate=5; break;}
   case '6': {Steps=32;  iZRate=6; break;}
   case '7': {Steps=64;  iZRate=7; break;}
   case '8': {Steps=128; iZRate=8; break;}
   case '9': {Steps=256; iZRate=9; break;}
   default: Focus=false;
  };
  if(Steps>0)
  {   
   Force_Z(false); // if(Steps>(iZStepX^2)) {Steps/=iZStepX; Force_Z(true);}
   Stepper_Z_step(Direction*iStDZ*Steps);   
  }
 return Focus;
}

Т.е. Steps на каждом case можно изменить под свой фокусер, в вашем случае, увеличить.

А вот с напряжения на моторах я бы не советовал увеличивать, лучше увеличить токи шаговиков и тщательно балансировать монтировку.

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

Оффлайн portal

  • ****
  • Сообщений: 386
  • Благодарностей: 27
  • Мне нравится этот форум!
    • Сообщения от portal
колеги кто собрал уже поделитесь астрофото
самодел рефрактор  90\800 ,130\700, Canon 550D, microsoft HDcam с UW\IR фильтром , arduino EQ 1  с гидированием и go to

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

  • *****
  • Сообщений: 1 287
  • Благодарностей: 124
    • Сообщения от Iovch
Фото не мое, у меня так не получается технику свою же настроить, но работаю, чтобы упростить настройки. Фото скопировал из ВК, надеюсь, автор Летовальцев Андрей меня простит. Он потрясающий инженер-механик, сделал самодельную(!) монтировку под управлением AMOUNT. Туманность "Медвежий коготь". Телескоп Ш-Н250 (тяжелый, F=1000 мм), камера QHY163c, фильтр оптолонг еХтрим, 19Х1200сек. Фото исключительно для демонстрации возможностей системы.
« Последнее редактирование: 05 Мар 2023 [20:14:34] от Iovch »
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

Оффлайн portal

  • ****
  • Сообщений: 386
  • Благодарностей: 27
  • Мне нравится этот форум!
    • Сообщения от portal
А вот с напряжения на моторах я бы не советовал увеличивать,
Все таки объясните почему не рекомендуете? Ведь увеличится крутящий момент и нагрев драйвера будет меньше. а4988 расчитана же до 36 вольт , у меня она отдельно без шиелда . Я обьеденю GND UNO и драйвера ,UNO питается от 12 в а драйвер будет от 24 вольт
самодел рефрактор  90\800 ,130\700, Canon 550D, microsoft HDcam с UW\IR фильтром , arduino EQ 1  с гидированием и go to

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

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

Оффлайн portal

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

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

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

Оффлайн AndyNigmatec

  • ***
  • Сообщений: 181
  • Благодарностей: 31
    • Сообщения от AndyNigmatec
Добрый день!

Всю тему пока не осилил, написано страниц как в Войне и Мире почти))) , но занимаюсь. В электронике познания/умения не ахти какие, но с какой стороны паяльник держать знаю ))

Суть вопроса:
1. имеем самопальный экваториал из говна и палок, ведение - только по RA (с бюджетом туго, поэтому так)
что хочу:
1. ведение по RA посредством ШД (Nema 17)
2. возможность небольшой ручной корректировки скорости ведения
3. возможность гидирования

п.1 и 2 хотелось бы сразу, п.3 - как расширение готового на чуть-чуть потом.

Я так понимаю что все это как раз и возможно в данном варианте.

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

али_наше_фсе/item/32846654263.html?spm=a2g2w.productlist.search_results.2.60bb5429r0B9zd&sku_id=66223171506


и еще вопрос к практикующим - возможно ли плавное вращение ШД типа nema 17 в микрошаге в диапазоне 0,5-2 rpm ?
« Последнее редактирование: 12 Апр 2023 [16:51:37] от AndyNigmatec »
Да здравствует то благодаря чему мы несмотря ни что!

Оффлайн AndyNigmatec

  • ***
  • Сообщений: 181
  • Благодарностей: 31
    • Сообщения от AndyNigmatec
Наконец-то осилил всю тему, какая все же работа проделана!

Думаю рискну частично повторить у себя, для начала на один движок по RA. Сейчас у меня реализовано простейшее ведение (обычный коллекторный движок с рудуктором + DCDC для выбора напруги(и оборотов) и как стабилизатор). Для визуала - уже норм. Но хотелось фото, а вот с этим закономерная засада. Нужны выдержки хотя бы 30 сек - а даже этого мой франкенштейн пока не позволяет, сильно проявляется периодика ведущей шпильки (явно видно изменение скорости ведения на один ее оборот).

Поскольку у меня самопальный Гамон, то передаточное соотношение выходит примерно 1500*3 т.е. 4500  (рычаг-радиус 300мм, шаг шпильки 1,25мм, редуктор по шкивам 60/20 т.е. 3)

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

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

Оффлайн AndyNigmatec

  • ***
  • Сообщений: 181
  • Благодарностей: 31
    • Сообщения от AndyNigmatec
Всем доброго!

Никто ничего не присоветовал ... и я решил таки попробовать ))

заказал вот комплектухи для эксперименту, потом как придет - соберу, напишу что получилось

« Последнее редактирование: 20 Апр 2023 [14:44:31] от AndyNigmatec »
Да здравствует то благодаря чему мы несмотря ни что!

Оффлайн portal

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

Оффлайн AndyNigmatec

  • ***
  • Сообщений: 181
  • Благодарностей: 31
    • Сообщения от AndyNigmatec
Пока в процессе, ШВП едет наверно с Сатурна - уже больше месяца и все никак ((( а вот остальное пришло - разбираюсь-распаиваюсь потихоньку
Да здравствует то благодаря чему мы несмотря ни что!

Онлайн Jozef

  • Новичок
  • *
  • Сообщений: 30
  • Благодарностей: 2
  • Мне нравится этот форум!
    • Сообщения от Jozef
Автору темы большой респект! Жаль, что я не увидел ее немного раньше...я пока постигал азы программирования с нуля, пока писал простенький скетч для своего самопального экваториала - чуть башка не лопнула!

Оффлайн portal

  • ****
  • Сообщений: 386
  • Благодарностей: 27
  • Мне нравится этот форум!
    • Сообщения от portal
во во я тоже изучал  с примитивных команд библитотек accestepler  а тут и phd2 и связь со стелариумом онлайн ввод переменых ) автору большой респект за популизацию програмирования) . Мне вот год назад прилетала шабашка  по автоматизации на OPC сервере я думал яж технарь а не глубокий программист , я могу контроллеры обвязать и в оболочке ПО настроить но чтобы код править это ого знать надо.. ав этом году месяц изучения языка и практика в програмировании до трех ночи  и вуаля обьект поднял на контролерах ОВЕН в булевой логике)
самодел рефрактор  90\800 ,130\700, Canon 550D, microsoft HDcam с UW\IR фильтром , arduino EQ 1  с гидированием и go to

Оффлайн portal

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

Оффлайн AndyNigmatec

  • ***
  • Сообщений: 181
  • Благодарностей: 31
    • Сообщения от AndyNigmatec
А в чем проявляется эта неадекватность?

Сейчас тестово на столе погонял систему, пока у меня только один движок по RA (Х в терминах скетча) - кнопочный пульт работает, виртуальный пока не пробовал.

Что заметил - при микрошаге 32 и большом передаточном числе (у меня 7320) - реакция на нажатие на пульте "вперед" - все норм, а вот реакция на "назад" - мотор начинает вращаться назад и резко переключается вперед(((
Уменьшение микрошага в настройках и/или уменьшение передаточного числа - решает эту проблему, но тогда мне не хватает оборотов (скорости ведения), пока выкрутился тем что существенно (в разы) уменьшив параметр

double dVMSPSS = 14400000; //Виртуальных милисекунд в солнечных сутках = 86400000+lDMSS
не знаю насколько это правильно, далее посмотрим.
Также пока не уяснил еще один момент - у меня DRV8825 - т.е. микрошаг 32, соответственно в параметрах я должен строго ставить
const int iXStepX    =      32; //Кратность шага драйвера X ведь на шилде то перемычки сняты и проводки распаяны ... или могу тут играть значением (16, 8 ...) - не понял пока.
Да здравствует то благодаря чему мы несмотря ни что!

Оффлайн AndyNigmatec

  • ***
  • Сообщений: 181
  • Благодарностей: 31
    • Сообщения от AndyNigmatec
В итоге, в ходе экспериментов "на столе" выяснилось: передаточное число более 1000 приводит к неадекватному поведению системы - т.е. просто ведение работает ровно, но уже на кнопочный пульт реагирует криво, и при попытке позиционироваться в стеллариуме не может зафиксировать целевой объект.

В моем случае остается только уменьшить микрошаг (сделал 16 вместо штатных 32 на DRV8825 перепаяв немного перемычку на шильде и соотв. поправив в настройке скетча) и значительно (у меня в 20 раз) уменьшать параметр  - dVMSPSS (Виртуальных милисекунд в солнечных сутках). При таком раскладе все более-менее ровно работает.

Из непонятного осталось: позиционирование рывками в стеллариуме на целевой объект, не нашел пока как это победить .
Да здравствует то благодаря чему мы несмотря ни что!