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


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

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

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

  • *****
  • Сообщений: 993
  • Благодарностей: 34
    • Сообщения от Oleg1601
На создание этой устройства меня сподвигла мысль собрать простую и достаточно удобную систему управления своей монтировкой DS EQ-3 с помощью микроконтроллера. Хотелось сделать её такой, чтобы можно было с комфортом визуалить и заниматься планетным астрофото. Поскольку пайкой заниматься не хотелось, взгляд упал на популярную аппаратную платформу Ардуино. Из её модулей и было решено собирать электрическую часть. Все электронные блоки и моторы были приобретены мною на интернет-портале eBay b Aliexpress.
Что касается пульта управления, то была идея сделать его простым в управлении, чтобы не делать "распальцовку" по кнопкам пульта, как на кодовом замке подъезда, а чтобы было пропорциональное управление джойстиком, то есть, чем дальше наклоняем ручку джойстика от центрального положения, тем выше скорость поворота монтировки на соответствующей оси. Что собственно и было реализовано при написании скетча.

В итоге, получилась простая система практически ручного управления, безо всяких го-то и прочего. Прошу заметить, что я не специалист в области программирования, и с написанием скетча для Ардуино, а также сделать некоторые расчёты и детали, мне помогли другие люди, особенно форумчане с никами D_a_r_k_man и Mr.Kubikus, за что им огромное СПАСИБО.
Возможно в будущем добавится ещё что-то, что позволит автоматизировать какие-либо процессы, но пока имеем то, что имеем.

Система выполняет следующие функции:
 1.   Управление обоими осями с помощью шаговых двигателей;
 2.  Управление скоростью поворота с помощью джойстика;
 3.   Режим ведения с астрономической скоростью для одной (полярной) оси.

 4. Добавлено увеличение скорости в режиме наведения
 Простая система управления монтировкой на Arduino

 5. Добавлено управление электрофокусером с помощью джойстика
 Простая система управления монтировкой на Arduino

Описание работы программы:
Тут всё просто. После подачи питания монтировка переходит в режим дистанционного управления по командам от джойстика. Направление движения, а также скорость, задаётся ручкой джойстика. Возможно движение трубы телескопа одновременно по двум осям, правда скорость в этом случае ниже, чем  движение по какой-то одной выбранной оси.
Для того, чтобы включить режим ведения со звёздной скоростью для наблюдения за выбранным объектом (по оси RA), нужно нажать на кнопку джойстика. При этом загорается красный светодиод индикации на пульте. Во время работы этого режима повороты трубы, с помощью джойстика, отключаются. Чтобы вернуться к первоначальному управлению поворотами трубы телескопа нужно повторно нажать кнопку джойстика.

Итак, из чего всё состоит:
Сердце всей системы – это, конечно же, плата Arduino UNO R3, собранная на микропроцессоре ATmega328P CH340.
Сигналы управления с неё поступают на два драйвера EasyDriver V44, собранные на микросхемах А3967, которые подходят к любым биполярным шаговым двигателям на ток до 750 мА.
По умолчанию (без установки перемычек) драйверы EasyDriver уже работают в микрошаговом режиме 1/8, который позволяет получать на моторе, делающего 200 полных шагов/оборот, 1600 микрошагов/оборот. Этот режим и был использован в работе устройства. Напряжение питания (от 6 до 30 В и ток 2А; в моём случае 28 В) на драйвера подаётся с внешнего блока питания по кабелю. Вообще, чем выше напряжение, тем выше крутящий момент на высоких скоростях.
Транзисторы, и особенно микросхемы драйверов во время работы существенно нагреваются – поэтому, в обязательном порядке, пришлось придумать их охлаждение. На корпуса этих радиоэлементов были приклеены радиаторы, а напротив самих плат драйверов, в крышку корпуса, врезан компьютерный кулер охлаждения.
Блок управления собран в корпусе из отжившего свой век компьютерного CD-рома. В нём размещены платы микроконтроллера, драйверов, стабилизатор на 12 вольт для питания кулера охлаждения (на фото его ещё нет), а также элементы коммутации.

Все разъёмы управления и питания, а также индикация включения, вынесены на фронтальную панель корпуса - это 2 розетки под вилки RJ-11 4P-4C для подключения моторов и одна розетка под вилку RJ-45 8P-8C для подключения пульта ДУ. Здесь же находится 5мм гнездо для подачи напряжения питания (28 вольт) на драйверы ШД, кнопка включения/выключения, светодиод индикации включения, а также выходы платы микроконтроллера Ардуино - гнездо подачи напряжения питания (5 вольт) и розетка mini USB для подключения к ПК. Если Ардуино подключено к ПК через mini USB, то 5В через отдельное гнездо можно не подавать.
Блок управления с пультом соединяется кабелем Path Сord с разъёмами RJ-45 на концах.
Сигналы управления моторами передаются через кабели (удлинители) FD-6113 с разъёмами RJ-11 на концах, используемые в телефонной связи. Плюс этих кабелей, кроме того, что они оснащены удобными миниатюрными разъёмами в том, что они совершенно не замерзают на морозе и остаются гибкими - не «дубеют».
« Последнее редактирование: 13 Апр 2017 [14:52:17] от Oleg1601 »

Телескоп: Рефрактор ахромат 102/1000 (SAM), рефлектор ньютона DS DTF 130/1000 (MOD), монтировка DS-EQ3/AT-5 (MOD)

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

  • *****
  • Сообщений: 993
  • Благодарностей: 34
    • Сообщения от Oleg1601
Продолжение темы:

Проводной пульт управления собран в корпусе вышедшего из строя радиотелефона Siemens. Отверстия оставшиеся от удалённых кнопок, дисплея и прочих внутренностей были заполнены клеем «холодная сварка». После того, как клей высох, корпус шлифовался и красился.

Внутри корпуса пульта деталей разместилось совсем немного – плата с джойстиком, светодиод индикации режима «ведения со звёздной скоростью» и разъём RJ-45 для подключения кабеля. Ручка джойстика вынесена наружу корпуса через удачно расположенное отверстие вызывного динамика телефона - нужно было только удалить его решётку.
Режим «Стоп» включается в «нейтральном», среднем, положении ручки джойстика, т.е., не трогаем джойстик – телескоп не движется.
Слежение со звёздной скоростью (горит красный светодиод на пульте), включается при нажатии на среднюю кнопку джойстика.

« Последнее редактирование: 26 Мар 2016 [09:30:47] от Oleg1601 »
Телескоп: Рефрактор ахромат 102/1000 (SAM), рефлектор ньютона DS DTF 130/1000 (MOD), монтировка DS-EQ3/AT-5 (MOD)

Оффлайн Igor-crveni

  • *****
  • Сообщений: 1 396
  • Благодарностей: 57
    • Сообщения от Igor-crveni
Вот мне что-то подобное и надо для EQ-3 SW - обеспечить ведение объекта с заданной скоростью... Не за 10 тыс. же моторы покупать...
SW Dob 250/1200, ОСК-2 150/1600,
Биноньютон 200/1000

Оффлайн toh@

  • *****
  • Сообщений: 4 003
  • Благодарностей: 237
    • Сообщения от toh@
В целом - круто, только картинки смотреть не возможно (сначала ждешь пока реклама загрузится, потом - пока порнуха... к моменту загрузки самого изображения забываешь, зачем зашел...) ;)
А для чего нужно было менять скорости, при движении по обеим осям? Или так вышло?
Astro-Tech 8" f/4+Paracorr(I)+SBIG ST-8300C на NEQ6 Pro, ED-80+0,85, Orion SSAG

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

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

Оффлайн toh@

  • *****
  • Сообщений: 4 003
  • Благодарностей: 237
    • Сообщения от toh@
Вы имеете в виду, когда сразу по двум осям одновременно? Если - да, то так само получается.
да, именно это. Понятно.
Astro-Tech 8" f/4+Paracorr(I)+SBIG ST-8300C на NEQ6 Pro, ED-80+0,85, Orion SSAG

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

  • *****
  • Сообщений: 993
  • Благодарностей: 34
    • Сообщения от Oleg1601
Используемый скетч для прошивки:

(кликните для показа/скрытия)
« Последнее редактирование: 09 Июн 2016 [12:08:47] от Oleg1601 »
Телескоп: Рефрактор ахромат 102/1000 (SAM), рефлектор ньютона DS DTF 130/1000 (MOD), монтировка DS-EQ3/AT-5 (MOD)

andreichk

  • Гость
и зачем тут выложена эта портянка? достаточно было положить пришитый файл

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

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

Оффлайн INPan

  • *****
  • Сообщений: 8 696
  • Благодарностей: 196
  • Игорь Панкратов
    • Сообщения от INPan
Олег, отличная реализация идеи! Особенно ценно то, что монти джойстиком рулится. Это на мой взгляд удобнее, чем кнопками.
А мощи движков хватает?

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

  • *****
  • Сообщений: 993
  • Благодарностей: 34
    • Сообщения от Oleg1601
А мощи движков хватает?
Да, конечно. Иначе не писал бы о конкретных типах моторов. Может видео выложу как-нибудь, как всё работает.


« Последнее редактирование: 29 Мар 2016 [13:01:14] от Oleg1601 »
Телескоп: Рефрактор ахромат 102/1000 (SAM), рефлектор ньютона DS DTF 130/1000 (MOD), монтировка DS-EQ3/AT-5 (MOD)

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

  • *****
  • Сообщений: 993
  • Благодарностей: 34
    • Сообщения от Oleg1601
Продолжение темы:

Повороты осей монтировки осуществляют биполярные шаговые двигатели Nema17 42х42мм, марка 17HS2408, рассчитанные на ток 600мА. Вращение от них на червячные приводы монтировки передаётся через одноступенчатые редукторы, выполненные из двух пар металлических шестерёнок. Малые шестерни, диаметром 10мм, имеют по 30 зубьев. Большие шестерни, диаметром 50мм, имеют по 168 зубьев. Передаточное отношение у таких пар шестерён редуктора получается - 5.6, что с червячными парами (по оси DEK - 88 зубьев, на RА - 138 зубьев) даст передаточное отношение 1:492.8 и 1:772.8 соответственно.
Телескоп: Рефрактор ахромат 102/1000 (SAM), рефлектор ньютона DS DTF 130/1000 (MOD), монтировка DS-EQ3/AT-5 (MOD)

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

  • *****
  • Сообщений: 993
  • Благодарностей: 34
    • Сообщения от Oleg1601
Продолжение темы:

Количество шагов для установки в скетч (для обеспечения звёздной скорости) #define MODE2_MAX_SPEED 14.31 рассчитывалось так (в расчётах даны цифры монтировки DS EQ-3):
1. Сначала считаем количество импульсов на оборот оси RA монтировки
- передаточное отношение основной червячной пары (138) умножается на передаточное число редуктора (5.6), умножается на число шагов ШД на полный оборот (200), и ещё умножается на кратность микрошага - 8.
138 х 5.6 х 200 х 8 = 1 236 480

2. Период обращения Земли - 23 часа 56 минут 4 секунды, это будет 1 градус в 4 минуты времени, или же 15 угловых секунд в секунду времени.
Пересчитываем в градусах, минутах и секундах, на сколько угловых секунд или их долей RA будет смещаться на один тик шаговика (учитывая микрошаг, редуктор и саму ЧП), делим 15" на получившееся число. Это и будет кол-во импульсов в секунду.

360° это 360 х 60 = 21 600 угловых минут или 21 600 х 60 = 1 296 000 угловых секунд.
Значит, с такой редукцией, на таком микрошаге, получается чуть больше одной угловой секунды на один микрошаг шаговика, а именно 1 296 000/1 236 480 = 1.048136645962733 угловых секунды на один "тик" на входе STEP драйвера. Это и есть разрешающая способность монтировки по ведению.
То есть, для 15 угловых секунд в секунду времени нужно сделать 15/1.048136645962733 = 14.31 импульса.


Скетч и библиотека AccelStepper 1.48 в одном архиве:
Чтобы скетч скомпилировался, надо скопировать библиотеку AccelStepper в папку libraries в директории, в которой у вас хранятся скетчи для Arduino.

Ссылка для скачивания:
http://www.fayloobmennik.net/5971490
« Последнее редактирование: 29 Авг 2016 [19:09:43] от Oleg1601 »
Телескоп: Рефрактор ахромат 102/1000 (SAM), рефлектор ньютона DS DTF 130/1000 (MOD), монтировка DS-EQ3/AT-5 (MOD)

Оффлайн INPan

  • *****
  • Сообщений: 8 696
  • Благодарностей: 196
  • Игорь Панкратов
    • Сообщения от INPan
Олег, сразу куча вопросов.
1. Откуда такие шестерни?
2. Откуда джойстик, с чего снят или продаётся такой?
3. Где у джойстика средняя кнопка? Там кнопок вообще ни каких не видно.

Оффлайн INPan

  • *****
  • Сообщений: 8 696
  • Благодарностей: 196
  • Игорь Панкратов
    • Сообщения от INPan
А ещё, я бы движок полярной оси перевернул на 180 чтоб не торчал. Он мешать будет.

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

  • *****
  • Сообщений: 993
  • Благодарностей: 34
    • Сообщения от Oleg1601
Олег, сразу куча вопросов.
1. Откуда такие шестерни?
2. Откуда джойстик, с чего снят или продаётся такой?
3. Где у джойстика средняя кнопка? Там кнопок вообще ни каких не видно.
Отвечаю по порядку:
1. Шестерни мне помог приобрести D_a_r_k_man, где он их достал - не знаю.
2. Джойстик, как и все остальные "электрические" комплектующие (Ардуинку, драйверы, джойстик, моторы) приобрел на Ebay (можно на Aliexpress)
Ардуино - http://www.ebay.com/itm/NEW-UNO-R3-ATmega328P-CH340-Mini-USB-Board-for-Compatible-Arduino-/311155383820?pt=LH_DefaultDomain_0&hash=item48724e5e0c
Драйверы - http://www.ebay.com/itm/EasyDriver-Shield-stepping-Stepper-Motor-Driver-V44-A3967-For-Arduino-/400522271040?pt=LH_DefaultDomain_0&hash=item5d40fcd940
Джойстик - http://www.ebay.com/itm/5Pin-JoyStick-Breakout-Module-Shield-PS2-Joystick-Game-Controller-AL-/311154090095?pt=LH_DefaultDomain_0&hash=item48723aa06f
3. Да, кнопки не видно, но она есть. При наклонах ручки джойстика работают два переменных резистора, на фото их видно, а если на нажать на саму ручку, (т.е. вертикальное нажатие) то срабатывает кнопка расположенная внизу, под самой ручкой.
« Последнее редактирование: 26 Мар 2016 [12:58:53] от Oleg1601 »
Телескоп: Рефрактор ахромат 102/1000 (SAM), рефлектор ньютона DS DTF 130/1000 (MOD), монтировка DS-EQ3/AT-5 (MOD)

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

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

Оффлайн D_a_r_k_man

  • *****
  • Сообщений: 593
  • Благодарностей: 67
  • Ширин Юрий
    • Skype - D_a_r_k_man
    • Сообщения от D_a_r_k_man
1. Откуда такие шестерни?
1. Шестерни мне помог приобрести D_a_r_k_man, где он их достал - не знаю.
Из личных запасов)
Подобрал две одинаковые пары шестеренок, выточил переходники под двигатели. Потому что у маленьких шестеренок внутренний диаметр 4мм, а вал шаговика - 5мм. Большим шестерёнкам ничего не делал, только винты М2 подобрал, резьба в них уже была.

А ещё, я бы движок полярной оси перевернул на 180 чтоб не торчал. Он мешать будет.
Редуктор из одной ступени, а двигатель 42х42, места не хватило бы) Были б шестеренки ведомые миллиметров 80 диаметром, получилось бы развернуть двигатель в "правильную" строну)
- SW 254/1200, клубный GSO Dob 16"
- Монтировка для 254/1200
- Lumenera Lu070M + искатель 8х50,
- QHY163M, Astronomic LRGB 2", MPCC Mk.III

Оффлайн Serj

  • *****
  • Сообщений: 4 532
  • Благодарностей: 94
    • Сообщения от Serj
    • Тверской астроклуб
Цитата
#define MOTOR1_MAX_SPEED 8000.0 // Максимальная скорость моторов в режиме 1

Скорость реально замеряли?  Я пришёл к выводу,  что ардуина не умеет шагать так "быстро", не её это.
We have met the enemy and he is us.

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

  • *****
  • Сообщений: 993
  • Благодарностей: 34
    • Сообщения от Oleg1601
    #define MOTOR1_MAX_SPEED 8000.0 // Максимальная скорость моторов в режиме 1

Скорость реально замеряли?  Я пришёл к выводу,  что ардуина не умеет шагать так "быстро", не её это.
Поскольку драйвер работает в режиме дробления шага на 8, то для инициализации библиотеки количество шагов на 1 оборот вала двигателя указываем 1600 = 200 х 8.
По максимальной скорости - разработчики библиотеки AccelStepper не рекомендуют при использовании метода setSpeed() указывать частоту импульсов больше 1000 имп/с. Поэтому в нашем случае максимальная скорость вращения ШД с учетом ограничения метода setSpeed() и дробления шага на 8 будет  8000 = 1000 х 8.
Телескоп: Рефрактор ахромат 102/1000 (SAM), рефлектор ньютона DS DTF 130/1000 (MOD), монтировка DS-EQ3/AT-5 (MOD)