- PVSM.RU - https://www.pvsm.ru -
Продолжение, начало тут. [1]
Дабы не решать задачу совсем в общем виде, я задался определенными требованиями исходя из общих соображений (бюджета, простоты или сложности покупки комплектующих, сложности в реализации или ожидаемых проблемах в эксплуатации). В то же время, изложение данных соображений позволит сразу перевести возможный диалог в конструктивное русло, а желающему использывать мой опыт — подскажет на какие детали надо обратить внимание. Итак, приступим.
Решение должно быть:
.
Основные функции устройства:
Исходя из способа применения, необходимо иметь как минимум два варианта управления фокусировочным устройством:
При удаленной работе с ПК хочется иметь возможность так же запоминать положение фокусера и переходить к заданному положению. Это связано с тем, что при смене окуляра меняется фокусное расстояние и процедуру фокусировки нужно проводить заново. Хочется сохранить положения фокусера для каждого окуляра в виде пресетов и быстро между ними переключаться при смене окуляра. Конечно придется дофокусировать телескоп, но этого в любом случае не избежать, так как при разной температуре фокусное расстояние может немного отличаться. Исходя из этого, прошивка микроконтроллера должна считать шаги (учитывая режим микрошага) и передавать текущее положение на ПК, а так же прокручивать фокусер до заданной позиции.
Двигатель однозначно шаговый, так как большую часть времени фокусер неподвижен, вращение требуется на низких оборотах, при точной фокусировке требуется поворот на минимально возможный угол, а большую часть времени требуется жесткая фиксация положения – шаговый двигатель идеально подходит для решения такой задачи.
Крайне важный параметр, по которому нужно выбирать двигатель – необходимый крутящий момент двигателя. В моем случае, максимальный крутящий момент, который мне удалось зафиксировать составил ~2 кг/см при комнатной температуре.
Желая иметь некоторый запас, я задался минимальным крутящим моментом в 3 кг/см.
Схема 2

Не забываем привести показания динамометра к требуемым единицам и умножить на плечо рычага (обычно крутящий момент указывается в Н*м или в кг*см). Что делать, если нет динамометра? Взять безмен, кухонные весы или сделать самостоятельно с помощью пружины и линейки, например, так:

В последнем случае необходима калибровка, которую можно сделать используя бутыль с водой (1л=1кг). Точность конечно не высокая, но для нашей задачи вполне достаточная.
Важно отметить, что сила трения на подшипниках или червячном механизме фокусера может сильно зависеть от ориентации последнего в пространстве (на телескопе), а также от веса, закрепленного на фокусере оборудования (адаптеры, поворотная призма, окуляр, цифровая камера и т.п.). Поэтому я рекомендую навесить максимум оборудования и провести замеры (по 2-3 раза) в нескольких положениях (как минимум в двух, когда оптическая ось фокусера ориентирована вертикально и горизонтально).
Кроме того, надо иметь ввиду, что на морозе сила трения может заметно увеличтся, соответственно потребуется больший крутящий момент.
Следующий важный параметр – точность позиционирования. Так как я уже решил, что буду использовать шаговый двигатель, то вопрос ставится так: какой шаг должен быть у двигателя и нужно ли мне использоваться драйвер с поддержкой микрошага? Большинство доступных двигателей имеет шаг 1.8° на оборот (или 200 шагов), но так же доступны модели с шагом 0.9° (400 шагов на оборот), 7.5° и другие. Данный параметр так же индивидуален. В моем случае зона фокусировки получилась порядка 15°.
Схема 3

При этом точная фокусировка (минимальный угол, при котором становится заметным смещение среднего луча от центра) – менее 2° (выбранная методика не позволяет делать замеры точнее, но это и не нужно). Таким образом, при использовании двигателя с шагом в 1.8° вся зона фокусировки будет проходиться примерно за 10 шагов, а точная фокусировка будет фактически невозможна. Шаг 0.9° так же скорее всего будет недостаточным для хорошей фокусировки.
Измерив угол, в котором производится фокусировка с разными окулярами, я получил разные значения, но одного порядка – 10-20°. Так что влияние окуляра в данном случае, вероятно, не принципиально.
В итоге я пришел к выводу, что можно использовать шаговый двигатель с шагом 1.8° или 0.9°, но в любом случае нужен драйвер шагового двигателя с поддержкой микрошага. По этой причине мне пришлось отказаться от использования популярных драйверов, распространяемых в виде Arduino Shield – все они не поддерживают микрошаг. Выбор пал на легко доступный и дешевый Polulu A4988 [2], который правда пришлось разместить на отдельной плате.
Позже, в следующем проекте, я использовал DRV8825 [3] того же производителя и он мне понравился значительно больше.
"
Для управления A4988 нужно минимум 6 сигналов — ENABLE, STEP, DIR и три сигнала выбора микрошага MS1, MS2, MS3. Учитывая три таковые кнопки на пульте ДУ (влево, вправо и «освободить») и светодиод скорости получается, что придется задействовать 10 цифровых выходов микроконтроллера.
Arduino Uno питается достаточно широким диапазоном напряжения (рекомендованный диапазон 7-12В) и небольшим током, поэтому при выборе источника питания фактически приходится отталкивать от двигателя. Драйвер А4988 поддерживает напряжения от 8 до 35В. Шаговые двигатели представлены в широком ассортименте, с разными номинальными параметрами (под разное напряжение и ток). Источник питания хочется использовать один и для блока управления, и для самого двигателя. Отсюда получаем ограничение: напряжение питания должно быть в интервале 8-12В. Окончательный выбор можно делать после того, как будет сделан выбор двигателя исходя из требуемой мощности.
Кроме того, стоит учесть место использования телескопа. В моем случае это лоджия (~220В), крыша дома (АКБ), на выезде (автомобиль, 12В или ~220В через инвертер, но иногда машину приходится оставлять и тогда снова АКБ). Возможно кому-то стоит сразу подбирать АКБ вместо БП.
Я выбрал соосное размещение двигателя: с помощью соединительной муфты [4] двигатель фиксируется прямо на валу фокусировочного устройства. Вторая точка опоры – произвольное жесткое крепление двигателя к корпусу фокусера. Просто и надежно, хотя и требует большего крутящего момента. Такая схема позволит максимально упростить крепление (одна точка), облегчит процедуру снятия и установки двигателя при необходимости, и, самое главное, позволит избежать «юстировки» механической части – крепления и подгонки шестеренок, шкивов и т.п.
Схема 1

Так как двигатель размещается на фокусировочном устройстве на телескопе, вес важен. Слишком большой вес усложнит балансировку, повысит нагрузку на монтировку и треногу, габариты — добавят парусности. Поэтому чем меньше двигатель — тем лучше. Данный критерий достаточно индивидуален, я задался максимальной массой двигателя в 300 г.
Итак, мы уже определили, что нам нужен шаговый двигатель с определенными
Далее запускаем браузер и ищем подходящий двигатель на просторах Интернета. Средняя стоимость в Китае – 10-20USD, средняя стоимость в РФ – 1000-1500р. Стараемся выбирать двигатель, с возможно меньшем номинальным током. Теоретически, можно использовать двигатели с током до 2А, но большой ток приведет к сильному нагреву двигателя (его придется отключать каждый раз после фокусировки) и быстрому расходу АКБ. Кроме того, драйвер А4988 имеет встроенный ограничитель силы тока, что хорошо, так как к нему можно подключить двигатель рассчитанный на существенно большие токи. Плохо то, что такой двигатель не будет набирать нужный крутящий момент.
Для выбора соединительной муфты нам нужно знать посадочные диаметры. Для этого мы должны измерить диаметр вала фокусера и посмотреть диаметр вала двигателя. В моем случае получилось 8 мм и 5 мм соответственно. Так же потребуется знать крутящий момент.
Крепление двигателя к фокусеру – задача сугубо индивидуальная. Я решил ее следующим образом: К двигателю прикрутил алюминиевый уголок (специально вырезанный), а в корпусе фокусера прорезал щель, куда этот уголок вошел. Этого уже достаточно, чтобы исключить проворот, но не достаточно, чтобы исключить люфт. Для исключения люфта я взял трансформаторное кольцо, приклеил к внутренней стороне полоску медицинского ждут и закрепил на фокусере. В алюминиевом уголке просверлил еще одно отверстие по месту и стянул хомут болтом. Люфт ушел, хотя конечно вся конструкция в целом не жесткая: у меня получилась одна точка опоры на фокусере + крепление на вал через гибкую муфту. Соответственно на муфте есть небольшая подвижность. На практике, данная подвижность не мешает, но может «съесть» часть крутящего момента на деформацию муфты.
Данный вопрос является творческим и очень индивидуальным.

На самом дела, тут конечно вариантов масса, я выбрал Arduino Uno.
Ну и самое главное, Arduino Uno имеет достаточно кол-во входов и выходов и полностью готов к использованию — не требуется никакой допонительной разводки, бери и программируй.
Причем вариантов реализации масса, как Arduino-совсместимых, так реализованных на другой архитекктуре, со своими средами разработки и своими сообществами. На Arduino Uno конечно же свет клином не сошелся. Мы живем в удивительное время, когда пользуясь школьными знаниями на базе модульной электроники можно решать самые разные задачи, механизируя и автоматизируя различные процессы — телескопы, аквариумы, оранжереи, укачивание ребенка в люлке или управление высокоточными процессами. Непонятная и нелепая концепция «умного дома» ограниченная регулировками климата, освещения и т.п. наконец обретает какой-то практический смысл, дает какое-то действительно новое качество, которого очень сложно или вообще нельзя было добиться «вручную». Причем на уровне, доступном очень многим. И это просто пкрекрасно!
Очень популярное напряжение – 12В и именно на нем я и остановился. Оно подходит для Arduino; на рынке доступно много шаговых двигателей, рассчитанных на это напряжение; есть масса блоков питания, АКБ, можно подключаться напрямую от прикуривателя автомобиля.
Для своего устройства я остановился на блоке питания 12В и 25 ватт [9].
Так как изначально при разработке устройства я ставил условие использования стандартных компонент, то все комплектующие из спецификации, приведенной ниже, доступны в магазинах, а подавляющее большинство можно заказать в Интернете.
Итак, нашего устройства – это блок управления двигателем. Дабы не загромождать и не утяжелять фокусер, плату микроконтроллера Arduino Uno и драйвер А4988 я вынес в отдельный стандраный промышленный корпу [12]с. Соответственно, на корпус выведены следующие разъемы:


Как показал опыт, я выбрал не самый удачный, хотя и весьма качественный корпус. Можно брать аналогичный, но на пару сантиметров ниже, и на 1-2 сантиметра шире.
Блок управления я располагаю под телескопом либо на полке на треноге. Соответственно, длина кабеля БУ – двигатель должна быть около 1м. Кабель 4-х жильный, с сечением достаточным для тока до 2А. Можно сплести самостоятельно.
Опять-таки, можно выбирать любой корпус, лишь бы удалось разместить внутри печатную плату. Рекомендую сначала подготовить печатную плату, а потом выбирать корпус [13].
Отдельное слово о печатной плате. Мне очень не хотелось заниматься разводкой печатной платы, поэтому я взял готовую макетную плату под пайку ДИП-1М [14], отрезал от нее четверть под А4988, а остальное использовал для пульта ДУ.

На этом на сегодня все. Полная спецификая на выбронные компоненты доступна тут [10].
Принципиальная схема приведена тут [10] и в первой части [1].
В следующей части доберемся до кода микроконтроллера и кода панели управления под Windows.
Автор: alex_flyeye
Источник [15]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/arduino/76737
Ссылки в тексте:
[1] начало тут.: http://habrahabr.ru/post/245265/
[2] Polulu A4988: http://www.pololu.com/product/1182
[3] DRV8825: http://www.pololu.com/product/2133
[4] соединительной муфты: http://fixled.ru/mechanics/stepper/5-8-coupler.html
[5] http://www.aliexpress.com/wholesale?SearchText=stepper+motor+12V+nema&catId=0&initiative_id=SB_20140629043258: http://www.aliexpress.com/wholesale?SearchText=stepper+motor+12V+nema&catId=0&initiative_id=SB_20140629043258
[6] http://www.npoatom.ru/katalog/step_motor/: http://www.npoatom.ru/katalog/step_motor/
[7] http://fixled.ru/mechanics/stepper-motor-42.html: http://fixled.ru/mechanics/stepper-motor-42.html
[8] http://www.aliexpress.com/wholesale?SearchText=flexible+coupling&initiative_id=RS_20140629053745: http://www.aliexpress.com/wholesale?SearchText=flexible+coupling&initiative_id=RS_20140629053745
[9] блоке питания 12В и 25 ватт: http://www.chipdip.ru/product/gs25e12-p1j/
[10] см. схему: https://www.dropbox.com/s/1p2kela3ynu2nxv/specification.xls?dl=0
[11] мозг: http://www.braintools.ru
[12] стандраный промышленный корпу: http://www.chipdip.ru/product/g447/
[13] корпус: http://www.chipdip.ru/product/g939g/
[14] ДИП-1М: http://www.chipdip.ru/product/dip-1m-pcb/
[15] Источник: http://habrahabr.ru/post/245355/
Нажмите здесь для печати.