Разработка Электрофокусера на базе отладочной платы Arduino Uno, часть 1

в 9:20, , рубрики: A4988, arduino, arduino uno, stepper, астрономия, программирование микроконтроллеров, шаговый двигатель, метки:

Постановка задачи

Имеется любительский телескоп с простым механическим фокусировочным устройством. Фокусировка осуществляется методом вращения колеса фокусера. Процедура фокусировки (особенно для целей астрофотографии) получается весьма мучительной (даже с использованием маски Павла Бахтинова и спец. ПО оценки точности фокусировки типа DSLRFocus или BackyardEOS), так как:

  • Очень сложно приложить рукой нужное усилие и повернуть колесо на действительно маленький угол при точной фокусировке;
  • Каждое касание фокусировочного устройства вызывает колебания телескопа, что приводит к потере времени на ожидание, пока колебания утихнут и можно будет оценить результат последней итерации (и чем хуже монтировка, тем этот интервал дольше, автор имел удовольствие работать с монтировкой, где период полного затухания был ~20 секундам);
  • Описанные выше особенности процесса фокусировки практически исключают фокусировку в динамике: вращение колеса с одновременным оцениванием результата. Как следствие, фокусировка – процесс итерационный, требующий большого терпения и определенного навыка, граничащего с искусством.

Исходя из вышесказанного, ставим следующую задачу в общем виде: необходимо подсоединить к фокусировочному устройству телескопа электропривод, который будет управляться

  • с помощью выносного пульта управления;
  • «удаленно» с ПК;

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

Disclaimer

Я не являюсь инженером ни по образованию, ни по роду занятости. И уж тем более не являюсь конструктором, механиком или монтажником. В данном случае это хобби, выросшее на около профессиональном интересе и любопытстве. Не претендую на то, что данное решение оптимально – вполне возможно профессионал сходу заметит какие-то вещи, которые можно было бы сделать проще. Тем не менее, я гарантирую, что:

  • данное решение работает;
  • его может повторить любой, кто умеет пользоваться паяльником, отверткой, шуруповертом, надфилем, тестером и при этом является опытным пользователем ПК;

В тексте программ, схеме устройства и спецификации могут быть ошибки, что-то может быть сделано не оптимально – с удовольствием приму критику и предложения.

Данную разработку (исходные коды, схему, материалы) может использовать любой по своему желанию в личных, некоммерческих целях. Публикация материалов возможна со ссылкой на исходный материала и с указанием авторства.
Данный проект по реализации фокусера на платформе ардуино далеко не первый, в сети можно найти еще как минимум три:

  1. http://sourceforge.net/projects/sglfocuser/
  2. https://github.com/ejholmes/Arduino-Focuser
  3. https://github.com/sirJolo/ascom-jolo-focuser

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

Что получилось

В результате был выбран и закреплен на фокусировочном устройстве шаговый двигатель, а так-же было разработано устройство управления ШД и написано программное обеспечения к нему:

  • Шаговый двигатель Fulling Motor FL42STH47-0806M, 12В, 0.8А на фазу,
    Разработка Электрофокусера на базе отладочной платы Arduino Uno, часть 1 - 1
  • Блок управления фокусером на базе отладочной платы микроконтроллера Arduino Uno и драйвера шагового двигателя Polulu A4988 в промышленном корпусе, питание – 12В, 25 ватт
    Разработка Электрофокусера на базе отладочной платы Arduino Uno, часть 1 - 2
  • Пульт управления фокусером, для работы рядом с телескопом без использования ПК, имеет
    1. две копки вращения фокусера (желтые, вращение непрерывное с заданной скоростью пока нажата кнопка);
    2. кнопку снятия напряжение с двигателя (синяя, на случай перегрева и с целью снижения энергопотребления);
    3. рукоятку регулировки скорости вращения;

    Разработка Электрофокусера на базе отладочной платы Arduino Uno, часть 1 - 3

  • Программа управления фокусером с ПК (блок управления подключается к ПК по USB, собранная версия Focuser Control Panel (под Windows) доступна тут

Принципиальная схема блока управления и ПДУ:

Разработка Электрофокусера на базе отладочной платы Arduino Uno, часть 1 - 4

Прошивка микроконтроллера выложена на GitHub, равно как и исходный код панели управления.

Спецификация на все комплектующие доступна тут. Комплектующие приобретались преимущественно в российских интернет-магазинах, цены указаны ориентировочные. При заказе деталей в Китае стоимость может быть снижена в 2-3 раза.

Известные проблемы и идеи

Движение двигателя при подаче питания

В момент включения устройства при подаче питания на устройство (в случае, если питание двигателя и контроллера общие) двигатель «дергается». По всей видимости, это происходит при инициализации драйвера A4988. Проблема не критичная, но если очень мешает ее можно легко решить – использовать два блока питания (для ШД и для контроллера), разорвав общую шину питания (см. выше) – сначала подаем питание на блок управления, потом на двигатель.
Если кто-то найдет решение данной проблемы не использую дополнительное реле – буду благодарен.

ASCOM-драйвер

Для автоматизации процесса тонкой фокусировки хорошо бы использовать уже готовые решения вроде Backyard EOS. Для этого нужен ASCOM драйвер, которым я планирую заняться несколько позже.

Микрофокусировка

При использовании фокусера Крейфорда с ручкой микрофокусировки решение может существенно отличаться, хотя для начала необходимо точно установить, стоит ли овчинка выделки? При использовании микрошага можно осуществлять поворот оси фоксера на угол порядка 3-4’.

Сменные фильтры

Следующее желание, возникающее после механизации фокусера – механизация колеса окуляров и фильтров. Данная задача имеет куда как более сложную механику и выходит за рамки данного проекта. Однако существуют проекты, решающие данную задачу. Например: ivastro.e3w.ru/FWF/index.htm

Беспроводной пульт

Существуют различные решения, которые позволяют избавиться от проводов. Или по крайней мере из минимизировать. Есть готовые решение вида ИК-пульт + блок управления ШД. Я от них отказался, так как в моем случае они имеют ряд недостатков. Например:

  • ИК пульт требует прямой видимости, что не всегда удобно;
  • WiFi и Bluetooth модули для Ардуино достаточно дороги;
  • Для ДУ можно было бы использовать контроллер I2C, сократив кол-во проводов до 4-х и использовать тонкую витую пару, но плата с I2C контроллером и периферией обойдется примерно в $10.
  • Возможность запоминать положение — очень полезно при смене окуляров, с готовыми решениями эту функцию реализовать можетбыть затруднительно

Почему сделанно именно так? Как сделать мне?

У желающего использовать мой опыт и сделать что-то подобного вполне резонно могут возникнуть вопросы, как ему выбрать двигатель, какой нужен блок питания и т.д. Поделюсь опыт, но в силу объема материала выкладывать буду выкладывать по частям. Так что продолжение следует…

Автор: alex_flyeye

Источник


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js