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

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

Оффлайн Oleg1601

  • *****
  • Сообщений: 997
  • Благодарностей: 34
    • Сообщения от Oleg1601
Олег! Так много написал, но вопросов больше, чем ответов осталось.
Во-первых, при включении выполняется инициализация фокусера, пока он не выйдет на ближайшую к объективу позицию и не сработает датчик этого конечного положения, никаких дальнейших действий не последует, ардуина будет думать, что фокусер не проинициализирован и не выйдет из init(), значит зависание получается. При этом никакие дополнительные кнопки он не проверяет, т.е. положение кнопки включения фокусера в этот момент не важно. Хотя проверю завтра специально еще. Здесь все почти правильно получается у тебя, мотор останавливается, значит датчик срабатывает. Про продолжительность замыкания контактов проверю, должно быть безразлично.
Про инициализацию фокусера понятно, по нему вопросов нет. Проблема в нечётком срабатывании на замыкание контактов датчика. Как уже писал, мотор останавливается всегда, но вот дальнейшее управление, после срабатывания датчика, не всегда запускается - на индикаторе пусто и джойстик бездействует.

Во-вторых не совсем понял, какой датчик используется и как он установлен. Должен быть установлен на срабатывание в ближайшем к объективу положении (крайнее задвинутое положение, как-то неоднозначно). Не понятно, при срабатывании он замыкается или размыкается при этом что именно он замыкает/размыкает у тебя землю или +5В на FO_SENCE_PIN, что он с ним делает? LOW или HIGH подает? И то и другое предусмотрено в скетче.
У меня в качестве датчика используется кнопка установленная на корпусе фокусёра, и срабатывающая, когда трубка фокусёра полностью задвигается внутрь корпуса. При срабатывании происходит замыкание на землю. Подаёт LOW, как и забито по умолчанию в твоём скетче.
#define FO_START_VAL LOW  //Это значение на FO_SENCE_PIN сигнализирует, что фокусер находится в исходном положении

В третьих, направление вращения двигателя фокусера задается переменной int iStDZ =  1;  поменяй на -1, если надо, но насколько я понял, он правильно выходит у тебя на исходную позицию, зачем тогда менять направление вращения?
Про направление вращения спрашивал, т.к. пользователями, при повторении конструкции могут применяться разные моторы и редукторы.
Телескоп: Рефрактор ахромат 102/1000 (SAM), рефлектор ньютона DS DTF 130/1000 (MOD), монтировка DS-EQ3/AT-5 (MOD)

Оффлайн Oleg1601

  • *****
  • Сообщений: 997
  • Благодарностей: 34
    • Сообщения от Oleg1601
Никаких мыслей, как устранить озвученные выше косяки?
Телескоп: Рефрактор ахромат 102/1000 (SAM), рефлектор ньютона DS DTF 130/1000 (MOD), монтировка DS-EQ3/AT-5 (MOD)

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

  • *****
  • Сообщений: 1 306
  • Благодарностей: 124
    • Сообщения от Iovch
Никаких мыслей, как устранить озвученные выше косяки?
Собираю электрофокусер. Полдела уже сделано. ТопОрненько, но работает исключительно, для проверки сойдет, руками мне так не сфокусироваться! Осталось датчик приладить. К выходным будет готов. На реальном образце протестирую. Косяки конечно поправлю.
« Последнее редактирование: 05 Окт 2016 [21:04:11] от Iovch »

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

Оффлайн D1M0N

  • Новичок
  • *
  • Сообщений: 29
  • Благодарностей: 1
    • Сообщения от D1M0N
Супер, у меня такой же мотор с редуктором от мфу, если можно распишите какие значения в скетче и какой микрошаг на драйвере мотора...
спс

Оффлайн azimuth

  • *****
  • Сообщений: 1 090
  • Благодарностей: 80
  • Сергей
    • Сообщения от azimuth
Никаких мыслей, как устранить озвученные выше косяки?
Кнопка притянута к питанию резистором?
SW BK709EQ2, Ахромат 90x900, DeA 114x1000, ЗТ Besser 20-60x60, EQ5, Canon 400D

Оффлайн Oleg1601

  • *****
  • Сообщений: 997
  • Благодарностей: 34
    • Сообщения от Oleg1601
Кнопка притянута к питанию резистором?
Нет. Она к питанию вообще не притянута.
Телескоп: Рефрактор ахромат 102/1000 (SAM), рефлектор ньютона DS DTF 130/1000 (MOD), монтировка DS-EQ3/AT-5 (MOD)

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

  • *****
  • Сообщений: 1 306
  • Благодарностей: 124
    • Сообщения от Iovch
Нет. Она к питанию вообще не притянута.
Вообще-то вот здесь подключается внутренний подтягивающий к питанию резистор, если FO_START_VAL==LOW как у Олега:
if(FO_START_VAL==LOW) pinMode(FO_SENCE_PIN, INPUT_PULLUP); else pinMode(FO_SENCE_PIN, INPUT);
Включается вот этим значением: INPUT_PULLUP
Ньютон 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
Супер, у меня такой же мотор с редуктором от мфу, если можно распишите какие значения в скетче и какой микрошаг на драйвере мотора...
спс
Оптимальные значения пока не нашел. Но микрошаг был 8х и он мне вчера очень не понравился, сильные колебания системы при фокусировке, буду пробовать на 16х
Ньютон 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
Никаких мыслей, как устранить озвученные выше косяки?
Специально собрал схему как у тебя. Никаких косяков программирования не выявлено. Все работает штатно. А вот по электрике заморочек было полно. Паразитные наводки очень сильно влияют на ардуино. В теме "импортозамещения" https://astronomy.ru/forum/index.php/topic,137688.msg3807458.html#msg3807458 этой проблеме в последние дни много внимания уделялось. Из всего арсенала применил только конденсатор номиналом 0,1 (мкф или нф не обозначено было) параллельно кнопке стопа фокусера. При длительном ее нажатии иногда замечены были ложные срабатывания джойстика (загрубил значения в скетче), но видимо, еще последовательно кнопке резистор 1К просится, иначе просадка по +5 В чувствуется. Скетч немного переделал на свои коэффициенты и чтобы фокусер в начале работы не в исходную позицию, а в положение фокусировки переходил. На нем и проверял (GOTO4_7.zip прилагается).
Ньютон 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
Схема автономного шагового электрофокусера представляется такой. Джойстик конечно не лучший вариант основного элемента управления. А вот ИК оптопара отлично работает в качестве датчика исходного положение фокусера. Такие датчики обычно используются в принтерах. Вместо этой оптопары можно просто кнопку на замыкание вместо верхнего фотодиода использовать. Скетч специальный под эту схемку чуть позже выложу.
« Последнее редактирование: 22 Окт 2016 [18:27:06] от Iovch »
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

Оффлайн Oleg1601

  • *****
  • Сообщений: 997
  • Благодарностей: 34
    • Сообщения от Oleg1601
Давненько я здесь не появлялся...
Эту схему я повторял на Arduino UNO и драйверах А3967, которые полноценно работают в микрошаговом режиме 1/8. Но вот захотелось бОльшей плавности хода, в результате чего были приобретены, в дополнение к Arduino UNO, шилд CNC Shield V3 с драйверами DRV8825. Захотелось микрошагового режима 1/32...
НО, столкнулся с тем, что при установке на драйверах нужного тока шагового двигателя (у меня 17HS2408 (ток 0,6А)) моторы вообще не крутятся. Ток выставлял по методе описанной здесь http://3deshnik.ru/blogs/akdzg/pravilnaya-nastrojka-toka-dlya-shagovyx-dvigatelej , т.е. согласно формулы выставлял 0,3В.
Моторы начали работать и выполнять команды с джойстика лишь при повышении тока до 0,37А. Возможно у китайцев большой разброс параметров. Возможно...
НО, (ещё одно НО) мотор на оси RA , в режиме трекинга (выставлен режим 1/32), просто ужасно пропускает шаги. Можно сказать, что он работает как тикалка, причём довольно редкая, чуть ли не тик в секунду...   :o
Нормальный микрошаговый режим начинал работать только тогда, когда на драйверах поднимал напряжение до 1,5В, при этом и драйверы, и моторы раскалялись как утюги.  :o  В режимах 1/16 и 1/8 аналогично, разве что напряжение приходилось выставлять чуть ниже - 1,2В.
Что за фигня?  :facepalm:
« Последнее редактирование: 29 Окт 2016 [18:40:44] от Oleg1601 »
Телескоп: Рефрактор ахромат 102/1000 (SAM), рефлектор ньютона DS DTF 130/1000 (MOD), монтировка DS-EQ3/AT-5 (MOD)

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

  • *****
  • Сообщений: 1 306
  • Благодарностей: 124
    • Сообщения от Iovch
НО, столкнулся с тем, что при установке на драйверах нужного тока шагового двигателя (у меня 17HS2408 (ток 0,6А)) моторы вообще не крутятся.
Не забывайте, что кроме тока, вторая важнейшая величина - это напряжение. Возможно как раз его и не хватает на приводе ШД. Не вдаваясь в детали, мощность на валу примерно равна произведению тока на напряжение W=I*U. Конечно, очень удобно использовать 12 вольт, но не для всех движков этой величины достаточно.
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

Оффлайн аспирант

  • *****
  • Сообщений: 1 829
  • Благодарностей: 60
    • Сообщения от аспирант
Плюс нужно учитывать индуктивность двигателя. Если она повышенная, то возможно нормально работать и не будет. И зачем 1/32? Плавности оно не добавит.

Оффлайн Oleg1601

  • *****
  • Сообщений: 997
  • Благодарностей: 34
    • Сообщения от Oleg1601
Не забывайте, что кроме тока, вторая важнейшая величина - это напряжение. Возможно как раз его и не хватает на приводе ШД. Не вдаваясь в детали, мощность на валу примерно равна произведению тока на напряжение W=I*U. Конечно, очень удобно использовать 12 вольт, но не для всех движков этой величины достаточно.
У меня 28 вольт
Телескоп: Рефрактор ахромат 102/1000 (SAM), рефлектор ньютона DS DTF 130/1000 (MOD), монтировка DS-EQ3/AT-5 (MOD)

Оффлайн Oleg1601

  • *****
  • Сообщений: 997
  • Благодарностей: 34
    • Сообщения от Oleg1601
Плюс нужно учитывать индуктивность двигателя. Если она повышенная, то возможно нормально работать и не будет. И зачем 1/32? Плавности оно не добавит.
Вы невнимательно читали, на драйверах А3967 режим 1/8 работает нормально, а на шилде CNC Shield V3 с драйверами DRV8825 режимы 1/32, 1\16 и 1/8 работают с пропуском шагов.
И кто вам сказал, что режим 1/32 не добавит плавности?
Вы просто представьте себе, что, например, одно движение секундной стрелки (режим 1/1) разбивается на 8 более мелких движений - частей (режим 1/8) или на 32 части (режим 1/32). Где, по вашему, будет плавнее?
Телескоп: Рефрактор ахромат 102/1000 (SAM), рефлектор ньютона DS DTF 130/1000 (MOD), монтировка DS-EQ3/AT-5 (MOD)

Оффлайн аспирант

  • *****
  • Сообщений: 1 829
  • Благодарностей: 60
    • Сообщения от аспирант
Нет проблем - делайте. В микрошаге хорошо работают мощные двигатели с обмотками из толстого провода и с соответственно меньшей индуктивностью. Из практики в построении станков выше 1/8 ничего не даёт, хотя использовались драйвера с возможностью выставлять 1/256 :o. Двигатель должен быть рассчитан на микрошаг и цена у такого движка....

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

  • *****
  • Сообщений: 1 306
  • Благодарностей: 124
    • Сообщения от Iovch
Не понятно тогда. У меня все работает от одного источника 12В/2А. Приводы двух осей + шаговый фокусер причем без каких-либо энергосберегающих модулей в программе. Приведенная схема фокусера является фрагментом общей схемы установки, управляющей ньютоном 114/1000.
« Последнее редактирование: 30 Окт 2016 [08:22:16] от Iovch »
Ньютон 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
CNC Shield V3 с драйверами DRV8825 режимы 1/32, 1\16 и 1/8 работают с пропуском шагов.
Вот это не проверял. Есть у меня этот драйвер, но использую 4988.
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

Оффлайн аспирант

  • *****
  • Сообщений: 1 829
  • Благодарностей: 60
    • Сообщения от аспирант
Oleg1601, очень важно точно выставить ток ШИМа. Для этого понадобится хороший осциллограф, тестер измеряет действующее значение напряжения и не может применяться для измерения импульсных напряжений. Всё таки у движка великовата индуктивность - 10 миллигенри.... :(

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

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