Автор Тема: ... плюс моторизация всей страны!  (Прочитано 33149 раз)

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

Оффлайн LatchLocker

  • Hero Member
  • *****
  • Сообщений: 849
... плюс моторизация всей страны!
« : 23 Января 2013, 22:46:32 »
Тема в наибольшей степени касается тех, кто:
  • Построил свою монтировку и теперь задумывается моторизировать её
  • Имеет Доб и помышляет довесить Go-To
  • Иные, небезразличные, и к ним приравненные, и просто интересующиеся

Что нужно, чтобы присоединиться:
  • Монтировка, с уже навешенным телескопом, и прикрученными моторами (шаговыми моторами, о иных, в частности коллекторных - будет отдельный разговор)
  • Драйверы к шаговым двигателям, способные понимать управление на уровне STEP/DIR (подробно где и чего - ровно в следующем посте, завтра, ближе к обеду)
  • Компутер (ноут) с ком-портом или его функциональным аналогом (детально почему так, "зачем нам этот архаизм" - далее, по настроению)
  • Блок питания для драйверов. Номинально, автомобильный аккумулятор в поле, компьютерный БП на стенде - подойдут
  • Паяльник, олово, канифоль, кусачки, жменя проводов, и немножко уверенности в своих силах (абы кто видел, какие криворукие мосты на материнках пересаживают, и оно потом даже работает... устыдился-бы, что паяльника боится ;))

ПС: в процессе, не стесняться, спрашивать как только вдруг что непонятно, неполучается, нехватает и т.д.
...потому что это физика, бро! Против неё даже маркетинг бессилен... (с)

Оффлайн LatchLocker

  • Hero Member
  • *****
  • Сообщений: 849
Re: ... плюс моторизация всей страны!
« Ответ #1 : 24 Января 2013, 09:38:09 »
Драйвер шагового мотора.

Путей, как всегда, много.
Короткий, но не дешёвый - купить готовый. Пример раз, пример два (рассматривается как основной далее).

Их-же можно собрать, сэкономив приблизительно 40% от цены от цены готового. Можно ещё экономнее - поискать за рубежом (как готовый модуль, так и подетально. Но этот путь для самых стойких, т.к. эпопея может затянутся, и есть все шансы на лотерею, как неоднократно пройденный, для разового проекта не рекомендую. Этот путь оправдывает себя если оборот в сотни штук, т.е. не в нашем случае.

Драйверов нужно два - по одному на мотор. Выбор мощности по принципу - более сильный драйвер будет крутить более слабый мотор, а наоборот - нет. Уравнивать в токе тоже не рекомендую, запас по току у драйвера рекомендуется выбирать приблизительно двукратный, но не менее. Так, драйвер TB6560 с одноамперными моторами будет вести себя послушно, а с трёхамперными приемистыми - уже неочень. К сведению, моторы типа HK47, при токе ок ампера, имеют удерживающий на уровне 20Н*см. Это очень большой момент, с редуктором 1:10 его хватит в аварийной ситуации сгрызть вхлам червяк от EQ-5!

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

Оффлайн LatchLocker

  • Hero Member
  • *****
  • Сообщений: 849
Re: ... плюс моторизация всей страны!
« Ответ #2 : 24 Января 2013, 11:21:59 »
Интерфейс

До сих пор подобного рода драйверами управляли через LPT порт. Именно для этих целей, готовая плата содержит оптронную гальваническую развязку, чтобы в случае аварии обезопасить очень нежный буфер LPT порта. Это хорошее решение, кроме некоторых нюансов:
  • LPT порт стал большой диковинкой
  • LPT порт трудно досягаем напрямую, т.к. современные операционные системы оборудованы нулевым кольцом защиты
  • LPT порт плохо поддаётся ретрансляции по USB
Короче говоря, LPT порт не из под ДОС-а досягается непросто, а тот-же ДОС с USB-версией уже не работает. Мало того, работа из-под ДОСа ставит крест на параллельном использовании программы-планетария и вэбкаминге на одной машине. То есть, нас это не устраивает абсолютно.

Несмотря на огромное количество реализованных интерфейсов, наиболее гибким с моей точки зрения по прежнему остаётся последовательный порт. Причины следующие:
  • Легко доступен програмно как из под ДОС-а, так и Windows/Linux и т.д.
  • Хорошо поддерживается микроконтроллерами
  • Успешно портирован на USB
  • Благодаря com0com легко коммутируется программно, позволяя делать программы-конверторы протоколов с минимальной вознёй, и трудозатратами куда меньшими, чем, к примеру, написание ASCOM-совместимого драйвера

По этому, первым этапом будет плавное слезание LPT и усаживание на СОМ. Как программное, так и аппаратное.

Итак, рассмотрим пациента подробнее.
Краткое описание находим здесь. Из него можем почерпнуть, что порт имеет 3 выходных линии - TXD, DTR, RTS. Мы-же собираемся управлять двумя двигателями, для кажого из них требуется по два сигнала: STEP1, DIR1, STEP2, DIR2, то есть, сигналов нам недостаточно.

Внедримся в суть процессов. Каждый драйвер, по приходу импулься на сигнал STEP, меняет выходной ток в обмотках мотора таким образом, чтобы ШД провернулся в направлении, определяемом сигналом DIR (0 - в одну сторону, 1 - в другую). Комбинация из двух битов имеет 4 разных состояния, из них только два - значимые, остальные два значения не имеют, но необходимы, иначе невозможно будет сформировать управляющий фронт сигнала. При этом, для сигналов STEP важен фронт, а для DIR - само значение.

Это всё здорово, но у нас нехватает бита, как нам быть? А так: если мы будем управлять всеми 4 битами, мы получим в сухом остатке возможность монтировки сделать шаг одной командой в 8 разных направлениях, условно: вперёд, назад, влево, вправо, вперёд-влево, вперёд-вправо, назад-влево, назад-вправо.

Выбросим диагонали, получится: вперёд, назад, влево, вправо. Как это сделать? Мультиплексированием!
Назначим, что импульс по TXD у нас будет означать выполнение шага, а комбинация DTR, RTS - направление, при этом что один из них будет выбирать ось, которой управляем, второй выбирать направление шага по ней.
...потому что это физика, бро! Против неё даже маркетинг бессилен... (с)

Оффлайн LatchLocker

  • Hero Member
  • *****
  • Сообщений: 849
Re: ... плюс моторизация всей страны!
« Ответ #3 : 24 Января 2013, 13:23:55 »
Преобразователь уровней

Номинально, для преобразования уровней RS-232 в TTL используется специализированная микросхема MAX232 (их производит не только Maxim, по этому маркировки отличаются, но во всех присутствует *232). Эта микросхема при однополярном питании имеет преобразователи-инверторы, позволяя реализовать по два канала в обе стороны. У нас три канала, и только в одну сторону - из RS-232 в TTL. По этому мы небудем применят эту микросхему, а соберём преобразователи на дискретных элементах. В частности, нам понадобятся, на один канал: полевой транзистор 2N7002, резистор 0.7-2кОм, и резистор 10-25кОм. Есть в продаже практически везде. Для простоты сюжета лучше брать SMD, тогда изготовление платы резко упрощается, т.к. нет нужды сверлить отверстия.

Схема подана во вложении. Как это работает.
По стандарту RS-232, логическая единица соответствует отрицательному (относительно общей земли) напряжению -3..-15В. Бортовые ком-порты выдают единицу как -11..-12В, а USB-to-COM адаптеры, как ни печально, отрицательное напряжение выдают в крайне редких случаях. Обычно, для них единица - это 0В. Независимо от того к чему схема подключена, при напряжении на входе нуль и ниже, транзистор закрыт, выходное напряжение подтянутое резистором, близко к Vcc, то есть, соответствует TTL единице. Если-же входное напряжение превысит порог открытия транзистора, открытый транзистор опустит выход до TTL нуля, что кстати соответствует логическому нулю RS-232. Таким образом мы получаем всеядный преобразователь уровней, который нормально работает как с бортовыми ком-портами, так и с USB-адаптерами.

Примечание: указанный на схеме диод встроен в транзистор (см.документацию), докупать его ненужно!

Предварительный итог: трёхканальный ПУ, менее 3грн.
...потому что это физика, бро! Против неё даже маркетинг бессилен... (с)

Оффлайн LatchLocker

  • Hero Member
  • *****
  • Сообщений: 849
Re: ... плюс моторизация всей страны!
« Ответ #4 : 24 Января 2013, 14:35:06 »
Демультиплексор

Демультиплексор собирается на счетверённом двухвходовом "И" с инверсией (Quad NAND), как указанно на схеме. Самые известные представители: К155ЛА3, и 74HC00.  Какую часть микросхемы в каком месте схемы использовать - дело вкуса, все узлы одинаковые. Простота коммутации намекает на навесной монтаж прямо ножками микросхемы.

Как работает.
По стандарту RS-232, нормальное стостояние TXD - логическая единица. При передаче байта передаётся  нулевой старт-бит, далее данные, биты чётности, и единица - стоп-бит. Таким образом, сконфигурировав программно отсутствие битов чётности, один стоп-бит, и отправляя байт $0F (00001111), на выходе мы получим меандр, с частотой в одну десятую битрейта порта. При битрейте 115200бод, частота составит 11.52кГц. Полученную цифру следует поделить на 16, т.к. мы будем работать в микрошаге 1/16, и получим максмальную скорость по одной оси - 720 шагов в секунду (3.6 оборота в секунду для шага 1.8град). Полагаю, достаточно, для использования в качестве сигнала STEP, при этом все вопросы минимального тайминга полностью берёт на себя UART порта.

В приведенной схеме DTR отвечает за направление движения по оси, RTS за выбор оси, TXD - за выполнение шага, как описано выше. В нормальных условиях STEP1 и STEP2 выдают уровень единици. Когда по TXD проскакивает ноль, то этот ноль выдаётся на STEP1 если RTS=0, и на STEP2 если RTS=1. Инвертор выполненный на DD1.2 нужен чтобы избежать выполнения шага обеих моторов при переключении RTS.

Вопрос недостатка бита вполне решён.

Примечание - входы этой схемы - это выходы вышеописанного ПУ, по штуке на канал!
...потому что это физика, бро! Против неё даже маркетинг бессилен... (с)

Оффлайн LatchLocker

  • Hero Member
  • *****
  • Сообщений: 849
Re: ... плюс моторизация всей страны!
« Ответ #5 : 24 Января 2013, 15:02:39 »
Где взять питание для схемы?

Описанные выше схемы требуют питания +5В. Оптоизоляция драйверов так-же требует внешнего питания. Где его взять? Наилучшее решение - с борта машины, к которой подключаемся. Наиболее простой, но не оптимальный способ - вывести провод из блока питания компьютера. Этот способ негодится для ноутбука, влезть в корпус которого не так просто. По этому более удобным способом будет снять +5В с питающей линии USB порта. Для этого нужно изготовить врезку-удлиннитель, через которую и подключится USB-to-COM адаптер. Самый простой способ это сделать - аккуратно зачистить изоляцию на USB удлиннителе и подпаятся к соответствующей линии. Запитанная таким образом наша часть схемы не будет требовать гальванической отвязки информационных линий. Можно поступить ещё проще, не делать врезку, а просто отрезать часть USB кабеля, но тогда теряется один порт, а это может оказатся критичным. Так-же можно врезатся сразу в кабель адаптера, или если есть возможность его разобрать - к его плате. Питания хватит на всех.

С распиновкой USB можно ознакомится здесь.
...потому что это физика, бро! Против неё даже маркетинг бессилен... (с)

Оффлайн void

  • Newbie
  • *
  • Сообщений: 32
Re: ... плюс моторизация всей страны!
« Ответ #6 : 24 Января 2013, 20:52:15 »
Очень интересно. Ждём продолжения.  В небо смотрят не только АЙТИшники и электронщики,  есть общая схема (для визуализации общей картины задачи) каковы её возможности, Вы хорошо описываете исходную информацию, даже начал цуть-цуть понимать о чём речь. Хочу уточнить?
Это -
с ком-портом или его функциональным аналогом (детально почему так, "зачем нам этот архаизм" - далее, по настроению)
есть это? -
Преобразователь уровней
плюс
Демультиплексор
плюс
Где взять питание для схемы?
« Последнее редактирование: 24 Января 2013, 21:32:38 от void »
SW MAK90 EQ1,
АПО-дудка на базе РФ5 1:10.

Оффлайн LatchLocker

  • Hero Member
  • *****
  • Сообщений: 849
Re: ... плюс моторизация всей страны!
« Ответ #7 : 24 Января 2013, 22:25:42 »
Вопрос понятен, отвечаю

RS-232 - один из самых древних интерфейсов. Наиболее яркое воспоминание должно возникнуть при напоминании что старых ПК, до появления PS/2 интерфейсов, через него подключались механические мышки. Чуть больше исторической справки даёт википедия. Ещё более тщательно описывает англоязычная википедия, уточняя, что нужное нам устройство есть частностью - последовательным портом.

Сам порт может быть реализован как бортовым UART-ом, тогда соответствующий разъём присутствует на материнской плате. Либо доставляемой MIO/MUX-картой, тогда разъём присутствует на слоте расширения. Либо, эмулятором, подключаемым по USB. Не зависимо от аппаратной реализации, важный аспект - программный доступ к порту абсолютно одинаковый. И что более важно, поддержка последовательного порта реализована практически для всех операционных систем. Таким образом, мы полностью лишаем себя необходимости написания kernel-mode драйвера устройства, и работаем с готовыми API операционной системы. Отсюда, есть все шансы что однажды написанное ПО, будет в состоянии работать даже на КПК и планшетах (факт наличия соответствующего API как минимум в Windows CE и поддержку драйверов для USB адаптера утверждаю, предполагаю высокую вероятность его наличия в Android).

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

ПС: Остальное будет детализироватся по ходу, в последовательности выкладки картинка будет проявлятся.
...потому что это физика, бро! Против неё даже маркетинг бессилен... (с)

Оффлайн void

  • Newbie
  • *
  • Сообщений: 32
Re: ... плюс моторизация всей страны!
« Ответ #8 : 24 Января 2013, 22:34:02 »
 Та отож.  Сейчас и это уже редкость. А типа такого можно пользовать, не принципиально http://en.wikipedia.org/wiki/File:FTDI_USB_SERIAL.jpg
SW MAK90 EQ1,
АПО-дудка на базе РФ5 1:10.

Оффлайн LatchLocker

  • Hero Member
  • *****
  • Сообщений: 849
Re: ... плюс моторизация всей страны!
« Ответ #9 : 24 Января 2013, 22:40:50 »
Да, можно и нужно. С точки зрения как нашей железяки так в будущем и программы - это тот самый последовательный порт. Мы-же собираем железяку, которая подключается именно к нему, и не столь важно, бортовой он, или эмулируемый. Но это чуть позже :)
...потому что это физика, бро! Против неё даже маркетинг бессилен... (с)

Оффлайн void

  • Newbie
  • *
  • Сообщений: 32
Re: ... плюс моторизация всей страны!
« Ответ #10 : 25 Января 2013, 21:22:49 »
 Уже как года два стоит семёрка, валялся такой переходник, попробовал его установить - каких только дров не накачал, :plusomet: намаялся, но чудом стал. Раньше в этот вопрос не вникал, пригляделся сквозь полупрозрачный корпус переходника, так там даже микросхем нет в привычном виде, точка компаунда как в часах, во братцы китаёзы дают.
« Последнее редактирование: 26 Января 2013, 09:41:19 от void »
SW MAK90 EQ1,
АПО-дудка на базе РФ5 1:10.

Оффлайн LatchLocker

  • Hero Member
  • *****
  • Сообщений: 849
Re: ... плюс моторизация всей страны!
« Ответ #11 : 25 Января 2013, 22:19:44 »
валялся такой переходник
И опознался как
Prolific Technology Inc. PL-2303 USB to RS-232 Bridge Controller

Это тоже полнофункционально совместимое устройство, пригодное для наших целей, которое впреть мы будем называть "последовательный порт" :)
...потому что это физика, бро! Против неё даже маркетинг бессилен... (с)

Оффлайн void

  • Newbie
  • *
  • Сообщений: 32
Re: ... плюс моторизация всей страны!
« Ответ #12 : 26 Января 2013, 08:42:09 »
Да, и ему присвоен номер порта.
SW MAK90 EQ1,
АПО-дудка на базе РФ5 1:10.

Оффлайн LatchLocker

  • Hero Member
  • *****
  • Сообщений: 849
Re: ... плюс моторизация всей страны!
« Ответ #13 : 26 Января 2013, 21:46:33 »
Посоветовался с коллегами, дословно:
Цитировать
Что-ж ты, Ирод, над людьми издеваешся? Ну куда, человеку впервые взявшему паяльник в руки миллиметровые SMD компоненты паять?! Ты ещё плату травить предложи, совсем до депрессии доведеш! По-пролетарски давай, по народному: выводными, на макетку, индикации побольше, чтобы видно было, работает или нет, и чтоб огрехов не боялось
Замечание резонно, согласен, погорячился :-\

2N7001 заменяем на 2N7000, резисторы на выводные, обзаводимся макеткой и навешаем индикации. Поутру пойду искать всё это ::)

...потому что это физика, бро! Против неё даже маркетинг бессилен... (с)

Оффлайн void

  • Newbie
  • *
  • Сообщений: 32
Re: ... плюс моторизация всей страны!
« Ответ #14 : 26 Января 2013, 22:06:20 »
Навесной монтаж и индикация это хорошо, ну а если с картинками, так вообще шик. И хотелось бы ознакомиться с концепцией в целом. Для начала хотябы общую электрическую схему, каковы возможности адаптации к самодельным приводам, разным рудукторам?
SW MAK90 EQ1,
АПО-дудка на базе РФ5 1:10.