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


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

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

Оффлайн ASheff

  • *****
  • Сообщений: 10 499
  • Благодарностей: 247
  • Артем
    • Сообщения от ASheff
Скорее всего там автор имеет ввиду если используется драйвер в режиме микрошага и включённым ШИМ, а если шагать полным шагом и не использовать ШИМ, то наверное номинальных значений будет вполне достаточно.

Ну я и в режиме 1/2 шага пробовал, все так же хорошо. Может чем меньше микрошаг, тогда и большее напряжение надо, видимо..
- Meade Maxvision 80/480 APO
- SW HEQ5Pro belt-mod
- Canon EOS 550Da, ASI 178MC, Datyson T7M
- MC Helios 44M-6, MC Юпитер-37А,Canon 70-200/4

Оффлайн ASheff

  • *****
  • Сообщений: 10 499
  • Благодарностей: 247
  • Артем
    • Сообщения от ASheff
Кстати, там возможно описывается случай максимальной скорости вращения двигателей, когда высокое напряжение нужно для быстрого нарастания\спада тока на двигателе, преодолевая его индуктивность. Но у меня же он шагать будет в черепашьем режиме :)
- Meade Maxvision 80/480 APO
- SW HEQ5Pro belt-mod
- Canon EOS 550Da, ASI 178MC, Datyson T7M
- MC Helios 44M-6, MC Юпитер-37А,Canon 70-200/4

Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Понял, ну вон в ардуине есть вроде 500-герцовый, его для начала и задействую :)
Около 490, используется ШИМ-генератором. Достаточно одного вызова analogWrite - и всё. Хотя и он после делителя частоты получается.
У природы нет плохой погоды, у неё просто на нас аллергия.

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

Оффлайн xd

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Если надо хорошее время с секундным разрешением - используйте внешние часы реального времени.
У природы нет плохой погоды, у неё просто на нас аллергия.

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

Оффлайн ASheff

  • *****
  • Сообщений: 10 499
  • Благодарностей: 247
  • Артем
    • Сообщения от ASheff
двигатель с шагом 1.8°, если выполнить 200 подобных строчек, тот двигатель повернется ровно на полоборота, вместо ожидаемого полного. Что я не так понимаю? Пины MS1-3 не подключены, работа в полном шаге.

Не знаю куда я смотрел, дописал я свой ascom-драйвер для фокусера и понял, что один шаг это все таки смена уровней 1-0 на пине STEP. При чем мотор шагает при установке уровня 1, при установке уровня 0 ничего не делает.

В общем шаг сделал так

  digitalWrite(PIN_STEP, 1);
  delayMicroseconds(2);
  digitalWrite(PIN_STEP, 0);

2 микросекунды судя по даташиту будет достаточно.

upd: только увидел, 200 строчек кода из того сообщения это и есть пол оборота, так как установка уровней 1 там только сотня, что и есть 180 градусов, вот это я тормозил )
- Meade Maxvision 80/480 APO
- SW HEQ5Pro belt-mod
- Canon EOS 550Da, ASI 178MC, Datyson T7M
- MC Helios 44M-6, MC Юпитер-37А,Canon 70-200/4

Оффлайн ASheff

  • *****
  • Сообщений: 10 499
  • Благодарностей: 247
  • Артем
    • Сообщения от ASheff
Попробовал подать ШИМ ардуиньий на пин ENABLE драйвера A4988 - мотор визжит как зараза на этой частоте  ;D
Надо видимо пробовать поднять частоту шим, есть вроде какие то средства..
- Meade Maxvision 80/480 APO
- SW HEQ5Pro belt-mod
- Canon EOS 550Da, ASI 178MC, Datyson T7M
- MC Helios 44M-6, MC Юпитер-37А,Canon 70-200/4

Оффлайн newil86

  • Новичок
  • *
  • Сообщений: 22
  • Благодарностей: 2
  • Мне нравится этот форум!
    • Сообщения от newil86
Ардуино Mега связывает в единый блок индикатор LCD1602, накладной блок мембранной клавиатуры, джойстик, часы реального времени,  порт USB (сом1 ардуино мега), порт UART (сом2) для управления контроллером монтировки,
Добрый вечер! Скажите пожалуйста - вы логику работы со стеллариумом вынесли в Мегу или "проксируете" данные со стеллариума с com порта Меги на com порт шилда с нано?

Оффлайн Serj

  • *****
  • Сообщений: 4 532
  • Благодарностей: 94
    • Сообщения от Serj
    • Тверской астроклуб
Попробовал подать ШИМ ардуиньий на пин ENABLE драйвера A4988 - мотор визжит как зараза на этой частоте  ;D
Надо видимо пробовать поднять частоту шим, есть вроде какие то средства..

Ой! Я кажется что-то важное пропустил. А зачем ШИМ на Enable?
We have met the enemy and he is us.

Оффлайн ASheff

  • *****
  • Сообщений: 10 499
  • Благодарностей: 247
  • Артем
    • Сообщения от ASheff
Ой! Я кажется что-то важное пропустил. А зачем ШИМ на Enable?

Пытаюсь снизить потребление тока мотора в простое. Совсем убирать не хочется, что бы хоть какая то поддержка была фокусера.
В общем перевод частоты шим на 15625Гц вроде решил проблему, 35% заполнения уменьшили ток в простое примерно в 2 раза.
- Meade Maxvision 80/480 APO
- SW HEQ5Pro belt-mod
- Canon EOS 550Da, ASI 178MC, Datyson T7M
- MC Helios 44M-6, MC Юпитер-37А,Canon 70-200/4

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

  • *****
  • Сообщений: 1 287
  • Благодарностей: 124
    • Сообщения от Iovch
Ардуино Mега связывает в единый блок индикатор LCD1602, накладной блок мембранной клавиатуры, джойстик, часы реального времени,  порт USB (сом1 ардуино мега), порт UART (сом2) для управления контроллером монтировки,
Добрый вечер! Скажите пожалуйста - вы логику работы со стеллариумом вынесли в Мегу или "проксируете" данные со стеллариума с com порта Меги на com порт шилда с нано?
В последнем рабочем варианте логика работы со стеллариумом вынесена в Мегу и транслируется в контроллер монтировки по СОМ порту на шилде. А контроллер монтировки "затачивается" для работы непосредственно с ПК через Аском по USB для обеспечения гидирования.
Ньютон 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
... В общем перевод частоты шим на 15625Гц вроде решил проблему, 35% заполнения уменьшили ток в простое примерно в 2 раза.
А можно по-подробнее, как переводите частоту шима, командой tone() или что-то по-хитрее применено? Фрагмент кода интересно посмотреть.
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

Оффлайн ASheff

  • *****
  • Сообщений: 10 499
  • Благодарностей: 247
  • Артем
    • Сообщения от ASheff
А можно по-подробнее, как переводите частоту шима, командой tone() или что-то по-хитрее применено? Фрагмент кода интересно посмотреть.

Да там вроде все просто, в setup пишу
 TCCR1A = TCCR1A & 0xe0 | 3;
 TCCR1B = TCCR1B & 0xe0 | 0x09;
и все.

Много статей можно найти по запросу 'изменение частоты шим ардуино', например -> вот.

- Meade Maxvision 80/480 APO
- SW HEQ5Pro belt-mod
- Canon EOS 550Da, ASI 178MC, Datyson T7M
- MC Helios 44M-6, MC Юпитер-37А,Canon 70-200/4

Оффлайн Serj

  • *****
  • Сообщений: 4 532
  • Благодарностей: 94
    • Сообщения от Serj
    • Тверской астроклуб
Да, прочитал что
Цитата
The translator inputs STEP ,DIR and MSx, as well as  the internal sequencing logic, all remain active, independent of the ENABLE input state.
Но что делает при этом токоизмерительная цепь... Не вводите ли вы её ШИМом в резонанс?
We have met the enemy and he is us.

Оффлайн ASheff

  • *****
  • Сообщений: 10 499
  • Благодарностей: 247
  • Артем
    • Сообщения от ASheff
Но что делает при этом токоизмерительная цепь... Не вводите ли вы её ШИМом в резонанс?

Ну это вопрос конечно интересный :) Знать бы еще какая у нее частота резонанса..

А так я просто амперметром оцениваю ток одной из обмоток, без шим на ENABLE, и с шим-ом. На 488Гц мотор жужжит громко конечно, потом попробовал 5.6кГц, уже намного лучше. 15кГц уже не слышно, только если ухо поднести к моторчику, и то еле-еле.
- Meade Maxvision 80/480 APO
- SW HEQ5Pro belt-mod
- Canon EOS 550Da, ASI 178MC, Datyson T7M
- MC Helios 44M-6, MC Юпитер-37А,Canon 70-200/4

Оффлайн Луноход-1

  • **
  • Сообщений: 87
  • Благодарностей: 5
  • Директор Северо-Восточной Яблоновской обсерватории
    • Сообщения от Луноход-1
Здравствуйте. Задам дилетантский вопрос, но что-то самому не удается побороть.
Подключил движки NEMA 17HS4401 напрямую на оси червяков, через муфты. Передаточные числа редуктора ставлю в 1.
Работаю с прошивками 2_4, 4_2...4_5, использую джойстик.
При подаче питания на моторы происходит легкий удар и начинает тихо свистеть мотор X. Легкое касание джойстика сразу переводит вращение моторов в полношаговый режим, и чтобы появился микрошаг, надо сначала джойстик качнуть до упора вверх и вправо (достаточно в одну сторону по каждой оси). После этого до выключения будет микрошаг (правда только очень близко к нулевому положению джостика) и полный шаг.
При этом свист мотора Х постоянен. Нажатие на джойстик свиста не меняет.
И трекинга при этом нет ни сразу после включения, ни при нажатиях на джойстик.

Правильно ли я понимаю, что всему виной (отсутствие трекинга) именно "прямая передача"?
Труба ВОМЗ Т16х48 в тисках Зубр "Мастер - 3D", окуляр MEADE UWA 18/82

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

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

Оффлайн Луноход-1

  • **
  • Сообщений: 87
  • Благодарностей: 5
  • Директор Северо-Восточной Яблоновской обсерватории
    • Сообщения от Луноход-1
Спасибо за пинки. Поставив 1000 увидел, что трекинг есть. Правда мотор свистит при выключенном трекинге все равно.

По джойстику только с Вашего пинка смог прочитать пресловутое 40е сообщение "правильно", до этого никак не мог понять принцип применения получаемых чисел. Подставил свои, поиграл. Но общая проблема сохранилась - первое касание джойстика - скорость максималка, и только после доведения его в крайнее положение он начинает понимать, что у него есть диапазоны - для микрошага и для полного шага.
А иногда микрошаг так и не появляется....

И еще вопрос, извиняюсь если был невнимателен - микрошаг по оси Х гораздо медленнее (он мне нравится), чем по оси Y. При этом в прошивке я пишу и в iXStepX и в iYStepX одинаково "16", и проводок на шилде распаял одинаково на три пина в каждом из драйверов. Неужели где-то в тексте зашит еще коэффициент?
« Последнее редактирование: 24 Окт 2017 [21:53:06] от Луноход-1 »
Труба ВОМЗ Т16х48 в тисках Зубр "Мастер - 3D", окуляр MEADE UWA 18/82

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

  • *****
  • Сообщений: 1 287
  • Благодарностей: 124
    • Сообщения от Iovch
Да, мотор посвистывает и в остановленном положении. Это работа ШИМа самого драйвера А4988 или другого используемого. А по джойстику советую еще между контактами X и GND, а также, Y и GND впаять конденсаторы по 0,05Мкф - по-надежнее работа джойстика станет.
Ньютон SW150/750, Рефрактор триплет 100/365_H/M, CG4_GoTo_H/M, Datyson T7C, Levenhuk T510NG, Canon 450Da, БП2 10х50 Berkut

Оффлайн Луноход-1

  • **
  • Сообщений: 87
  • Благодарностей: 5
  • Директор Северо-Восточной Яблоновской обсерватории
    • Сообщения от Луноход-1
Спасибо, уже паяяю кондюки одной рукой.

Еще вопрос сформулировал. Сейчас пробую подсадить ременной привод на ось Х, чтобы уйти от числа 1. У меня получается передаточное число 3,8 (с 16 зубов на 60). У Вас же в скетчах цифра все время около 1000 (у разных товарищей).
Отсюда робкое недоумение - это ж какие шестеренки у Вас стоят, что такой сильный множитель? Или я что то упустил в подстановке передаточного числа?
« Последнее редактирование: 24 Окт 2017 [23:56:27] от Луноход-1 »
Труба ВОМЗ Т16х48 в тисках Зубр "Мастер - 3D", окуляр MEADE UWA 18/82

Оффлайн Луноход-1

  • **
  • Сообщений: 87
  • Благодарностей: 5
  • Директор Северо-Восточной Яблоновской обсерватории
    • Сообщения от Луноход-1
установка кондюков в джойстик показала, что медленный (плавный, аккуратный) микрошаг по оси Y тоже есть. Но он очень редко включается.

PS: с микрошагом выясняется другое - после первого качания джойстиком в крайнее положение микрошаг может стать "разным", как повезет. Т.е. за один сеанс работы ардуины я могу встретиться с тремя разными скоростями. Максималка (она всегда есть, включается на том наклоне джойстика, что я задал) и два вида микрошага - один не сильно отличается от максималки, и действительный микрошаг, очень медленный и плавный.
Почти всегда первым появляется "быстрый" микрошаг, а медленный появляется только после 3-4 качаний джойстиком. И так же спонтанно медленный может смениться на ускоренный. И обратно. Т.е. я бы говорил о том, что спонтанно коэф 16 меняется на 4 и обратно, или на 2 (настолько он не далек от полного шага по скорости).
Я какой-то особенный?))
« Последнее редактирование: 25 Окт 2017 [00:09:29] от Луноход-1 »
Труба ВОМЗ Т16х48 в тисках Зубр "Мастер - 3D", окуляр MEADE UWA 18/82