Pull to refresh

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

Developing for Arduino *
Sandbox

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


Имеется любительский телескоп с простым механическим фокусировочным устройством. Фокусировка осуществляется методом вращения колеса фокусера. Процедура фокусировки (особенно для целей астрофотографии) получается весьма мучительной (даже с использованием маски Павла Бахтинова и спец. ПО оценки точности фокусировки типа 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 и драйвера шагового двигателя Polulu A4988 в промышленном корпусе, питание – 12В, 25 ватт

  • Пульт управления фокусером, для работы рядом с телескопом без использования ПК, имеет
    1. две копки вращения фокусера (желтые, вращение непрерывное с заданной скоростью пока нажата кнопка);
    2. кнопку снятия напряжение с двигателя (синяя, на случай перегрева и с целью снижения энергопотребления);
    3. рукоятку регулировки скорости вращения;


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


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



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

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

Идеи на будущее



ASCOM-драйвер


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

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


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

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


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

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


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


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


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

UPD: Продолжение следует.
UPD2: проблема с дергающимся при запуске двигателем решилась банально — по возможности не использовать 13-ый пин Arduino. Схема исправлена, код прошивки на github`е обновлен.
Tags:
Hubs:
Total votes 17: ↑17 and ↓0 +17
Views 18K
Comments 35
Comments Comments 35

Posts