А. Ланко
Контроллер электрофокусера

11.10.06

 

 

   Готов  контроллер электрофокусера. Основная цель – еще одна попытка разработать контроллер электрофокусера на микропроцессоре как можно более простой для повторения. Схема адаптирована под макетный монтаж, т.е. составлялась так, чтобы максимальное кол-во соединений на макетной плате выполнить при помощи выводов самих радиодеталей. Используется внутренний генератор однокристалки - внешний кварц отсутствует.

 Контроллер сделан на 3-х микросхемах. Однокристальная микро ЭВМ ATMEGA8L – 28 выводов, токовый драйвер шагового двигателя ULN2803 – 18 выводов с выходным током 0.5А. Поскольку микросхема содержит 8 усилителей тока, а используется только 4, то возможно попарное объединение  входов-выходов для увеличение выходного тока до 1А. Третья микросхема – стабилизатор 142ЕН5. Опционально может быть установлен ЖКИ дисплей 2 строки по 16 символов, но контроллер работает и без него. Еще схема содержит 4 резисторных сборки и 3 конденсатора блокирующих питание. Управление фокусером 4-х кнопочное двухскоростное. Всего кнопок 8, 3 дополнительные кнопки – это сброс цифровой шкалы ЖКИ индикатора и вызов двух дополнительных экранных меню для настройки. 8-ая кнопка служит для расширения возможностей устройства. Обе скорости могут устанавливаться в диапазоне от 1 до 300 шагов в секунду. Также может устанавливаться люфт в диапазоне от 0 до 50 шагов. Темп настройки 1 шаг в секунду, что позволяет устанавливать скорости и люфт вслепую без ЖКИ индикатора, при наличии индикатора можно видеть подсказки, а также числовые значения параметров и цифровую шкалу фокусера. Все настройки запоминаются во внутренней энергонезависимой памяти однокристалки. Микропрограмма написана на языке С и откомпилирована бесплатно распространяемым компилятором WINAVR. При наличии интереса к данному устройству документация на него может быть опубликована на конференции.

Шаги реализованы на временных задержках, для фокусера нет смысла реализовывать шаги с высокой точностью, также реализован и обмен с ЖКИ, т.е. сигнал R/W ЖКИ индикатора сидит на земле, т.е. сигнал готовности ЖКИ не опрашивается и обмен фактически синхронный. Поскольку в системе нет ни одного асинхронного процесса и нет прерываний, то точность реализации шагов составляет несколько микротактов процессора. Внутренний генератор настроен на 4 МГц. Клавиатура обычная кнопочная  - матрица 4х2. Реализована задержка между установкой данных на вход матрицы и чтением выходов матрицы в 40 мкс. Поэтому кабель кнопочный можно будет удлинить. Скорость вводится в шагах в секунду, а затем пересчитывается в константу задержки. Ввиду некоторых тонкостей, реальная скорость отличается от введенной, величина разницы может достигать 10%. Никаких пультов для внешнего управления на ИК лучах делать не предполагается, также как и радиоуправления, а реализация протокола LX200 посредством RS232 вполне возможна в перспективе. Готовые процедуры обмена с ЖКИ индикатором взяты из цикла статей Сергея Рюмика – «микроконтроллеры AVR ступени». Часть этих статей можно прочитать здесь - http://radiodvd.jino-net.ru/Download/RA/AVR_2005.pdf. Кстати, поскольку WINAVR свободно распространяемый компилятор, то можно найти в сети очень много текстов программ написанных на этом языке, в том числе и готовые огромные библиотеки. В библиотеках есть процедуры работы с ЖКИ. В цикле статей вам нужна ступень 6.

Временные задержки Сергей Рюмик установил с 4-х кратным запасом для моего ЖКИ DV16230. ЖКИ лучше использовать отечественные - фирмы МЭЛТ, хотя сам только собираюсь их попробовать. Они все имеют температурный диапазон от –20, единственные из существующих поддерживают русскую кодировку Windows, и имеют  значительно более высокое быстродействие.  Делают их на зеленоградских микросхемах, помимо всего они более дешевые, чем остальные.

    Сейчас контроллер спаян на макетке  - отдельные несоединенные пятачки с шагом в 2,5 мм. Данную плату предполагается использовать в дальнейшем в качестве кита для настройки других устройств. Корпус будет тот же что использован для старого электрофокусера – можно найти по ссылке несколькими страницами ранее -  G1202 фирмы GAIN. Собран контроллер будет на макетке. Этапы процесса будут сфотографированы.  В статье Сергея Рюмика довольно подробно описан процесс программирования ЖКИ на уровне команд, а не языка. В сети много таких описаний. Ключевое слово "HD44780".

Кстати,  также в фирменном datasheet( англ.яз) на контроллер HD44780 в примерах инициализации пошагово расписаны последовательность команд для однострочного и двустрочного ЖКИ , а также для 8 и 4 битного интерфейса.

  Схема электрофокусераСхема фокусера, в левом нижнем углу схема программатора - кабеля. Схема нарисована в бесплатном редакторе Express Schematic.

В прицепе HEX файл и файл EEPROM.

Кнопки Foutspeed2 Foutspeed1, соответственно большая и меньшая скорость перемещения в одну сторону, Finspeed2,  Finspeed1 в другую сторону, Reset обнуляет показания шкалы фокусера, т.е. при перемещении фокусера на экран выводиться его текущее положение в шагах, при выборке люфта значение шкалы не меняется. При нажатии и удержании SpeedUpdate, появляется экран со значениями текущих скоростей в шагах/секунду. При удержании клавиши SpeedUpdate и нажиме клавиш Foutspeed2 Finspeed2 увеличивается уменьшается большая скорость, изменения видны на экране, изменения происходят в темпе 1 шаг в сек. Соответственно клавиши с префиксом 1 делают тоже самое с меньшей скоростью. Кнопка ClearanceUpdate служит для входа в меню настройки величины люфта редуктора. При удержании клавиши и нажатии клавиш с префиксом 2 изменяется значение люфта в шагах, значение также выводиться на экран. По окончании модификации значения заносятся во FLASH. Выборка люфта происходит на меньшей скорости.

   Программа программа поддерживает до четырех точечных термометра на шине I2C на основе цифровых датчиков DS1621 и поддержка протокола LX200GPS.
Точность измерения температуры составляет примерно 0.5 градуса Цельсия в диапазоне температур  -20 - +50 градусов, работают термометры в диапазоне температур –55 - +125 градусов, но точность ниже. Температура выводится на ЖКИ в виде t=+-ХХ.Х сразу для четырех датчиков, в случае отсутствия датчика  на экран выводится надпись t=----- . Датчиков может быть установлено произвольное кол-во от 0 до 4-x штук, с адресами от 0 до 3, сигналы шины I2C – SCL – PC1 ножка 24, SDA – PC0, ножка 23. Термометр был проверен с кабелем длиной 7 метров.  Однократное измерение производится при нажатии резервной кнопки.
  Реализована часть команд, далеко не все, протокола LX200GPS. Основная часть реализованных команд служит для опознания устройства стандартным матобеспечением. Поддерживаются команды двухскоростного управления фокусером, при этом используются ранее установленные и записанные во flash скорости. Работоспособность проверена на программах Astrosnap 1.3, Cartes du Ciel 2.76,  Scope driver for windows, и еще на нескольких простеньких любительских программах скаченных ранее, на которые утеряны ссылки. Как и ранее, программа написана на С WINAVR. Для COM-порта используется стандартный для MEGA8 UART, выводы RXD, TXD. Шинник выполнен на MAX232.

Схема подключения термодатчиков. Кабель - две витых пары в экране. Экран подключается к GND на плате контроллера. Одна витая пара используется для SDA, SDL, вторая для +5V и земли.

Схема подключения СОМ порта. Кабель для подключения к компьютеру 3-ч проводной. Используются две розетки DB9, на плате установлена вилка. Соединены ножки 5-5, 2-3 и 3-2. Электролитические конденсаторы 10 мкф на 16 в.

К случаю - сделал крепление двигателя фокусера для MCT150. Конструкция пионерская, крепление полностью выполнено из стеклотекстолита на пайке. Двигатель ST35, крутит диагональ 2” DeepSky, линзу барлоу НПЗ 2X и Окуляр НПЗ 32мм. Больше груза повесить не могу. Круглые части конструкции выпиливались детским лобзиком, прямые резались ножницами по металлу. Ниже фото.
Интересно чем производить автофокусировку? Пока из рабочего набора программ K3CCDTOOLS3, но не автомат, Astrosnap и Proguider. Похоже, что у любителей DeepSky могут быть проблемы с фокусировкой по протоколу LX200.

Поскольку к контроллеру фокусера был проявлен интерес, микропрограмму первой версии скачали 14 человек, было принято решение собрать контроллер и сфотографировать процесс сборки. Принятые конструктивные решения, а особенно дизайн не являются, на мой взгляд, руководством к повторению, но могут быть полезны человеку слабо разбирающемуся в электронике, за счет наличия подсказок в виде фотографий процесса сборки.
Монтаж выполнен на монтажной плате, цветными проводами для наглядности , что в принципе неправильно, поскольку для такого монтажа применяют провод в термостойкой изоляции или специальный провод в лаковой изоляции.

Был добавлен узел ЖКИ индикатора МТ-16S2H -2YLG. Индикатор выбран за низкую стоимость – 160 руб и широкий температурный диапазон – минус 20 градусов по цельсия. Для гурманов есть индикатор в этой серии с температурным диапазоном –30 градусов. Поскольку ни один человек не скачал вторую версию микропрограммы, то монтировался только 1-ый вариант.

Резистор R определяет ток подсветки шкалы индикатора и установлен равным 46 ом, при этом ток светодиодов подсветки  составляет 20 мА. Детали контроллера установлены на макетной плате, ниже вид платы со стороны деталей. На плате установлены две колодки на 28 и 18 ног, две резисторные сборки, по 4,7 кОм и по десять выводов, микросхема 142ЕН5, два конденсатора обычный и электролитический (минус внизу) и разьем. Впоследствии, этот разъем  будет использоваться для подключения индикатора и программатора. Обратите внимание на маркерное отверстие.
 

  Детали вставляются в отверстия и припаиваются по очереди, затем выполняются те соединения, которые можно выполнить голым проводом, для этой цели можно использовать жилы многожильного луженого провода. Ниже на фото можно видеть эти соединения.
 

Далее выполняются соединения проводом в изоляции, на фото ниже эти соединения выполнены цветными проводами, лучше эти соединения выполнить проводом МГТФ. Один проводочек я забыл припаять, он будет на фото в следующих постах.  Черным проводом выполнен монтаж земляного провода, Красным 5-ти вольт, желтым 12-и вольт, белым два сигнальных провода обслуживания клавиатуры. Обратите внимание на то, что красный провод припаивается на первый вывод резисторной сборки, первый вывод второй резисторной сборки попадает на вывод питания однокристалки.

 

  Затем припаиваются провода идущие на кнопки синий-желтый-зеленый-коричневый-белый-оранжевый вверху фото, на разъем двигателя белый-коричневый-зеленый-синий-желтый в левом нижнем углу фото, на разъем питания – черный- красный провода в середине фото. На второй фотографии можно видеть как эти провода припаяны к площадкам, там же можно видеть и забытый провод синего цвета.



 

  Далее паяется кабель ЖКИ индикатора, вид с двух сторон на фото.



 

На последнем фото разъем ЖКИ индикатора в плате контроллера. Там же можно видеть и резистор R. Резистор R определяет ток подсветки шкалы индикатора и установлен равным 46 Ом, при этом ток светодиодов подсветки составляет 20 мА.


 

Программатор представляет собой кабель из 5-ти проводов длинной 1 м, соединяющий  выводы однокристалки и LPT порт.  Как его паять видно на фото. Программа для прожига PONYPROG бесплатно скачивается из сети.





 

Кабель клавиатуры, припаянный к кнопкам. На срезе корпуса установлены вспомогательные кнопки – кнопки настройки скоростей , люфта и т.д. Корпус G1202 производства фирмы GAINTA.

 


 

Далее распайка проводов питания и разъема двигателя. В принципе для повторения конструкции не принципиально.  Провода двигателя припаяны к верхнему ряду разъема.

И реализация корпуса. Корпус G1202 фирмы GAINTA  в Москве в чип-дипе он стоит чуть меньше 100 руб. Для чертежей ищите фирму GAINTA, у нее есть сайт. Завтра постараюсь кратко описать процесс настройки PONYPROG и прожиг однокристалки.
Передняя панель напечатана на принтере и заламинирована в двойной самоклеющийся пакет. Затем морда наклеена. Фото неудачное, но основной принцип компоновки понятен.

 

Заменяемость деталей.

Однокристалка – в принципе с любой частотой ATMEGA8L  в корпусе DIP – ATMEGA8L-8PI,  ATMEGA8L-8PС,  ATMEGA8L-16PI,  ATMEGA8L-16PС. С буквами PC однокристалки рассчитаны на температуру работы не ниже 0 градусов, PI до –40 градусов, но по практике думаю до –20 PC должны работать, так что при отсутствии PI можно попробовать и PC.

7805 лучше заменить по возможности на 1158ЕН5 в корпусе TO220, выглядят микросхемы одинаково, цоколь тот же, но последняя допускает переплюсовку питания до  -18 В. Кстати, при смене полярности 7805 выйдет из строя со 100% гарантией, остальная часть схемы быстрее всего при этом не пострадает.

Номиналы конденсаторов стоящих в цепях питания некритичны можно применить конденсаторы 47 нф – 1 мкф вместо неполярного, и электролитический от 47мкф до 500 мкф. Напряжение же электролитического конденсатора должно быть больше максимально возможного, лучше на 25 В, при превышении напряжения на несколько процентов китайские конденсаторы сгорают с большим столбом  пламени, опасно для глаз кстати.

Резисторные сборки можно спаять из отдельных резисторов.

Фокусер, который пока используется описан здесь . Внешний вид в конце этой темы, хотя он изменился с момента фотографирования. Пример планетного астрофото здесь. Надеюсь что через месячишко он будет стоять на другом телескопе, но тип двигателя постараюсь оставить тем же.

Настройка

Контроллер спаянный без ошибок должен работать сразу по включению питания. Где-то читал, что если автор применяет такую стандартную фразу, то он не знает как настраивать устройство. Где-то наверное так и есть.

Все же несколько слов о настройке. Перед включением питания нужно проверить наличие 5-ти вольт между выводами ATMEGA8 7 -8, 20-22 и например 8-22. Напряжение в зависимости от качества U1, должно находиться в пределах  4.9- 5.1 вольта. Если, например, мы видим напряжение 6 вольт, то есть о чем задуматься и проверить U1 и ее распайку.

Микросхема U3 – 8 ключей с открытым коллектором на составных транзисторах. В случае замыкания выхода на 12 вольт выход сгорает мгновенно и навсегда. Поэтому лучше перед первым включением проверит напряжения на выходах к которым подключен двигатель.  На колодке U3, без микросхемы естественно напряжение должны быть равны нулю. Лучше еще проконтролировать напряжения на разъеме для подключения ЖКИ индикатора, все напряжения относительно вывода 1 должны составлять 5 вольт. Можно проконтролировать напряжения на всех выводах однокристалки. На всех  используемых выводах, кроме GND напряжение при отсутствии микросхемы должно составлять 5 вольт. Главное, чтобы нигде не было напряжения 12 вольт, кроме вывода 1 микросхемы U1, ножки 10 U3 и вывода 5 разъема XP3. Это достаточно высокая гарантия того, что микросхемы не выдут из строя из-за каких то ошибок в монтаже.

Несколько слов о мощности нагрузки. Каждый вывод микросхемы U3 рассчитан на ток 0,5 А. По нашим ГОСТам детали нельзя  использовать на нагрузку более 70% по мощности, хотя как правило они работают при нагрузке более 100%, импортные небольшой  мощности элементы лучше использовать наполовину заявленной мощности, по моей практике. Поэтому, если двигатель потребляет более 250 мА на обмотку, лучше включить выходы второй половинки U3 параллельно первым, при этом нужно уменьшить номинал резисторной сборки RN1 примерно вдвое, т.е. до 2.4 кОм. В контроллере используется двухфазный одношаговый режим управления двигателем. В старом контроллере электрофокусера  микросхема того же типа, что и U3 использовалась для управления  двумя двигателя с током обмотки 75 мА, т.е. одновременно работали на такой ток 4-е вывода и некоторое время использовались двигатель от дисковода и двигатель ST35, при этом два вывода работали на ток 75 мА, а два на 140 мА. Никаких признаков нагрева не было.

Одно "но", в принципе в перспективе, есть мысли использовать этот же контроллер для управления колесом фильтров, очень удобно, поскольку токовый драйвер на второй двигатель уже есть, и выводов однокристалки достаточно. В схему добавляется несколько проводов и один резистор. На мой взгляд очень логично объединить фокусер и колесо фильтров в одном устройстве, поскольку это даст возможность производить коррекции фокусировки при смене фильтров в автоматическом режиме на заранее замеренные и запомненные величины. Здесь, кстати, очень пригодиться  и шкала. Вообще хотел сразу написать, но не имею  Ч/Б камеры.

 ЖКИ индикатор может быть любым с контроллером HD44780 на две строки по 16 символов. Практически все  индикаторы сделаны на этом контроллере. На макете при отладке использовался DV16230, но он с температурным диапазоном –20 градусов втрое дороже. Индикатор подключен по 4-х проводной шине, при этом используются линии шины данных D4-D7, а также сигналы E и RS, выбор и адресный разряд для выбора внутренних регистров. Вывод R/RW индикатора должен быть заземлен, также как и вывод регулировки контрастности. Отличаются индикаторы и способами регулировки контрастности. В случае невозможности покупки используемого индикатора могу нарисовать схему включения для конкретного индикатора, но без проверки, на DV16230 могу спаять кабель и сфотографировать. Индикаторы МЭЛТ продаются с установленной оптимальной контрастностью для температурного диапазона от 0 градусов и выше. Поэтому цепи регулировки контрастности на схеме отсутствуют.  При температуре ниже 0 градусов рекомендуется использовать как и в большинстве типов индикаторов переменный резистор для регулировки, при этом в схеме должен быть источник отрицательного напряжения. Во многих случаях это перестраховка. Мой индикатор работал в морозилке при температуре –15 градусов без цепей дополнительной регулировки контрастности.

Программирование контроллера

О прожиге. Сначала необходимо скачать программу Антонио Ланконели Ponyprog версии Version  2.06f Beta  Mar  5 2005 со странички http://lancos.com/ppwin95.html (прямая ссылка на ZIP-архив ) и установить ее обычным способом. При первом запуске программа просит провести калибровку, при этом временная диаграмма прожига настраивается на быстродействие компьютера. Выберите из падающего меню "SETUP", далее "Calibration". Затем необходимо указать программе с каким оборудованием она работает. Для этого выбираем "Setup" – "Interface setup...". Далее на рисунке можно видеть каким образом должна быть настроена программа – включаем работу с параллельным портом, выбираем соответствующий для данного компьютера LPT порт и из падающего меню  выбираем "Avr ISP I/O". Далее, если вставлен кабель программатора в LPT разъем компьютера нажимаем кнопку probe и в случае рабочего программатора получаем сообщение TEST OK. На самом деле программа проверяет наличие двух перемычек, на фото - это желтый и синий проводки. В случае получения сообщения TEST FAILED, необходимо проверить как эти проводки запаяны.

Фото- разъем программатора в плате контроллера.

Далее необходимо установить процессор в панельку, подключить питание и воткнуть разъем XP2 разъем кабеля программатора. Затем в окошках помеченных цифрами 3 и 4 установить AVR micro и Atmega8. далее можно нажать кнопку 1- чтение EEPROM, для проверки. В случае если чтение проходит нормально и без ошибок, то это хороший знак работоспособности программатора. Если получаем сообщение DEVICE MISSING OR UNKNOWN DEVICE то программатор наш не работает. Вытаскиваем разъем из компьютера и прозванием выводы разьема прямо на выводы однокристалки, предварительно выключив питание контроллера. Прожигаем следующим образом выбираем FILE – Open Program (Flash) File и считываем файл микропрограмм c расширением HEX. Затем переходим к редактированию FLASH памяти.


Перепрограммируемая память MEGA8 используется для хранения 3-х переменных: скоростей 1-ой и 2-ой, а также значения люфта. Переменные целого типа, поэтому для их хранения используется 6 байт. Если не заполнить эти ячейки, то при запуске значению люфта будет присвоено значение 65535 шагов, а значения скоростей –1 и –1. Если сразу нажать любую из кнопок управления мотором, а затем выбрать обратное направление вращения, то может сложиться впечатление, что контроллер не работает. Есть три способа решения этого вопроса. 1-ый – сразу после прожига не крутить мотор, а настроить люфт и скорости. 2-ой записать FLASH используя файл из первого комплекта микропрограмм. Делается это следующий образом. Необходимо выбрать File – Open Data (Eeprom file). Затем нажать кнопку через одну за кнопой 2 с буковкой D.  3-ий набрать значения скоростей и люфта руками, а затем прожечь. Наверное последний способ самый удобный в случае отсутствия ЖКИ индикатора, формат ячеек будет описан позже. Теперь о прожиге фьюзов. Используется внутренний генератор, который программируется на частоту 4 мГц.  Необходимо нажать на иконку, на которой нарисован замочек, затем установить галочки в соответствии с рисунком, а далее  нажать кнопочку write.

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

 

 

  О формате ячеек flash памяти. В Ponyprog помимо ПЗУ существует возможность посмотреть содержимое Flash памяти. Это энергонезависимая память доступная программисту. Если воспользоваться полосой прокрутки окна данных, то мы можем увидеть содержимое flash памяти начиная с адреса 2000. При этом ponyprog выделяет данные записанные во flash синим цветом. Переменные двух скоростей и люфта целого типа и поэтому занимают по два байта. См. рисунок. 1 – меньшая скорость, 2- большая скорость, 3- люфт. Скорости и люфт выбраны соответственно -  первая скорость 10 шагов в секунду ( 0A, 00), вторая 100 шагов в секунду  (64,00), люфт 2 шага (02,00). Т.Е. сначала записан младший байт числа, затем старший, в скобках указаны значения в шестнадцатеричном  виде. При отсутствии в фокусере ЖКИ индикатора, при чтении flash можно проконтролировать значения скоростей при помощи ponyprog, а также переопределить скорости. Для этого надо отредактировать данные и прожечь flash память (нажать кнопку с буквой D). Для редактирования буфера необходимо выполнить команды – Edit (падающее меню) – Edit buffer enabled. После такой настройки одиночный щелчок мышки по нужному знакоместу приводит к появлению окна редактирования, в котором значение байта можно изменить.

    В современных персоналках наблюдается тенденция к исчезновению COM портов, и хотя, на мой взгляд, это еще долго не будет являться большой проблемой, многие пользователи пытаются приобретать и  изготавливать устройства на USB интерфейс. Во многих случаях решить этот  вопрос можно при помощи переходников USB-RS232. В случае если COM порт используется в штатном режиме, то переходник будет работать. Существуют готовые устройства такого типа, но они довольно дороги. Чаще устройства эти выполнены на микросхемах трех производителей – FTDI – FT232, Silabs – CP2101, Prolific – PL2303. Самих микросхем значительно больше, чем заявлено выше. Все микросхемы имеют планарные корпуса с малым шагом, поэтому домашнее изготовление таких устройств технологически затруднено. Пример подобного самодельного устройства можно видеть здесь - . Особенностью микросхем является наличие драйвера, поставляемого изготовителем, который создает в системе виртуальный COM-порт. Поэтому для использования микросхем не надо переписывать микропрограммное и программное обеспечение. Для уменьшения трудоемкости и затрат был выбран следующий путь.

Большинство сотовых телефонов для связи с компьютером используют COM-порт. Так называемые data-кабели представляют из себя  переходник USB-RS232. Вскрытие домашнего кабеля подтвердило это предположение. По дороге домой в ближайшем универмаге был куплен самый дешевый из имеющихся в наличии кабель – DCU-15 неизвестного мне производителя – GAOTON – для телефонов SONY-Erricson, поскольку этот кабель, перед раздракониванием , я  мог проверить на работоспособность. Вид коробочки data кабеля с двух сторон можно посмотреть на фото 1 и 2. Внутренности на фото 3. Переходник выполнен на микросхеме PL2303 последней версии. Далее кабель на RS232 телефона был прозвонен для выяснения назначения проводов. Цоколевка разъема была взята с этой странички. В результате получаем  -оранжевый провод – земля, зеленый – RX, синий -  TX (слева на фото).  Подключение переходника в данной цоколевке к контроллеру фокусера показало его полную работоспособность со всеми программами с которыми он был проверен ранее. Соответственно синий провод   должен попасть на 3-ножку ATMEGA8, а зеленый на вторую, а оранжевый на минус питания. Выводы 2 и 3 однокристалки надо соединить резисторами по 5,1 кОм с питанием 5 Вольт. Драйверы были установлены с диска проданного с data кабелем, параметры виртуального COM порта в соответствии с  требованием программ обслуживания. Квитирование не использовалось. В сети есть нарекания на надежность работы данных микросхем, вчера контроллер с примочкой отработал примерно 2 часа без зависания, тем не менее будет считать данное сообщение предварительной информацией или если хотите идеей, где взять дешевый переходник.

В случае установки микросхемы переходника USB-RS232 MAX232 не устанавливается. В том устройстве, которое я применил установлена PL2303. PL2303 имеет на выходе 5-ти вольтовый RS232, поэтому никаких сопряжений напряжений со входами однокристалки не требуется. Работоспособность была проверена только на макете, поскольку никаких проблем с com портами у меня на компьютере для астрофотографии не наблюдается. Платка USB-RS232 где-то валяется с тех пор. За все микросхемы переходников USB-RS232 отвечать не могу, но по памяти все они имеют на выходе 5-ти вольтовый RS232. Можете попробовать раздраконить свой переходник USB-RS232 для компа – он быстее всего спаян на двух микросхемах, одна переходник, вторая MAX232. Если ее выпаять и заменит двумя перемычками, то и получиться та платка, которую можно установить прямо в корпус фокусера.

Осталась некоторая неудовлетворенность от проделанной работы. В основном неудовлетворенность связана с отсутствием цифровой шкалы на экране компьютера при дистанционном управлении.

Для информации-список некоторых фокусеров со ссылками.
1 - TCF-S Temperature Compensating Focuser .
2 - Robo-Focus .
3 - DF2 .
4 - PCFocus .

Все эти фокусеры рассчитаны на применение шаговых двигателей. Единственной открытой системой является первая – TCF-S фокусер. Производитель дает на данный фокусер систему команд. Если судить о всех фокусерах по этой системе команд, то они обладают значительным преимуществом перед фокусерами с системой команд LX200 – рассчитанный по началу на ДПТ, поскольку в протоколе есть команда перемещения на определенное количествово шагов и следовательно компьютер имеет возможность производить автоматическую фокусировку с максимальной скоростью.
Фокусеры имеют цифровую шкалу, и команды, которые позволяют считывать из управляющего контроллера текущее положение.
Фокусеры имеют встроенный термодатчик, есть команды считывающие значение температуры в компьютер для коррекции фокуса при ее изменении. Утверждается, что зависимость фокусного расстояния от температуры есть  линейная функция. Контроллеры имеют возможность ввода температурной ошибки в шагах на градус Цельсия и автономной ( без компьютера) коррекции фокуса при изменении температуры.
    Программная поддержка осуществляется программами FocusAide и MaxIm DL или CCDSoft. Только первая программа доступна для скачивания в виде trial версии. FocusAide не поддерживает автофокусировку с простыми CCD камерами, применяемыми для планетной съемки.  Производитель, как правило, дает и простую программку для дистанционного управления фокусером.

    Что в сухом остатке? Не существует софта для любительской съемки планет с использованием WEB-камер с поддержкой фокусеров со шкалой и термокомпенсацией.
Возможно, исключением является AstroSnapPro посредством ASСOM драйвера.

Термодатчики

    В новую версию микропрограммного обеспечения добавлена возможность термокомпенсации положения фокусера в зависимости от температуры. Более подробно что сделано. Заменен термодатчик на DS1631 поскольку данный датчик обладает меньшим квантом измерения температуры а именно 0.0625 градусов цельсия. Поскольку датчик DS1631 имеет ту же цоколевку, что и DS1621, то его можно включить по приведенной выше схеме. Для регулировки используется термодатчик с нулевым адресом, поэтому его наличие в системе обязательно.
    Небольшое лирическое отступление. Не вдаваясь в подробности, могу сказать, что все имеющиеся у меня термодатчики DS1621 работают под протоколом DS1631 и имеют такую же точность, хотя стоят разные деньги. Под мышкой показывают 36.56 – 36.62 градуса. Поэтому термодатчик думаю можно не менять.
    Изменен формат вывода температуры на экран, она выводится с двумя цифрами после запятой. Показания нулевого термодатчика выводится в основном меню. Термокомпенсация производится на основе данных  о том, что  фокусное расстояние линейно зависит от температуры, причем растет с уменьшением температуры. Типовая зависимость подсмотренная в сети . В соответствии с этим в меню настройки люфта редуктора теперь вводится и переменная термокомпенсации в шагах на градус Цельсия.

Фокусер имеет два режима работы – Ручной и автоматический.

Ручной режим такой же как и был. В случае нажатия и удержания клавиши tempupdate в течении нескольких секунд (имеются экранные подсказки) контроллер проверяет наличие 0 - термодатчика и в случае его наличия переходит в автоматический режим. При этом контроллер считывает и запоминает во flash-памяти текущую координату и температуру – считая ее за базовую. Далее, через каждые 30 сек. производиться измерение температуры и вычисление необходимой для этой температуры координаты, в случае если рассчитанная координата и текущая различаются более чем на один шаг производиться перемещение фокусера в новую точку. При этом координата и некоторые переменные сохраняются во FLASH-памяти.

Контроллер при включении переходит в тот режим из которого был выключен. Так например, если контроллер был выключен из режима автомат, то при включении питания он в него и переходит, при этом измеряется температура и производится открутка в рассчитанное положение соответствующее текущей температуре.  В режиме автомат запрещены кнопки прямого управления перемещением фокусера, а также команды перемещения фокусера из набора LX200 и дополнительного набора команд. Запрещена также кнопка RESET. Все расчеты производятся от базовой температуры, которая была запомнена при переходе из ручного в автоматический режим. Для перехода в ручной режим необходимо нажать и удерживать кнопку tempupdate, имеются экранные подсказки. Помимо команд LX200 введены дополнительные команды – перемещения фокусера на заданное кол-во шагов, перевод из режима автомат и обратно, просмотр режима в котором находиться фокусер, чтение и запись ячеек flash памяти и соответственно изменение настроек. Чтение текущей температуры и координаты. При наличии интереса будет дополнительная информация. Ниже файл микропрограмм.
 

Наверное, это последняя микропрограмма, ПЗУ кончилось. Если будут следующие версии, то однокристалка будет заменена на ATMEGA168, цоколь тот же, но ПЗУ 16К.
Flash должна быть обязательно записана, иначе контроллер работать не будет, потом, настройки можно будет поменять на свои.

В прикрепленном архиве находятся непосредственно текст программы, маке файл и файл hex. MAKE файл - файл содержащий служебную информацию для компилятора - тип однокристалки, тип отладчика, тип оптимизации и т.д. Без особой нужды править его лучше не нужно - выходной файл может заметно вырасти в размерах. Текст микропрограмм прошел минимальную правку без проверки работоспособности. Поэтому просьба проверить и сообщить сюда о работоспособности программы, хотя неработоспособность очень маловероятна. HEX файл может не совпадать с ранее опубликованным, поскольку откомпилирован компилятором более старшей версии. Для компиляции необходим пакет WINAVR, который можно скачать из сети, компилятор абсолютно бесплатный, предназначен для любых применений.

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

У процессора два питания – цифровой и аналоговой части. Ножки 7-8 – питают все кроме встроенного АЦП. Ножки 22 и 20 аналоговое питание – от него работает АЦП, но также и выходной буфер порта С. Не помню где я это написал, но общий смысл заключался в том, чтобы при помощи тестера в режиме измерения напряжений проверить, что соединены аналоговая земля и цифровая, а также аналоговое и цифровое питание +5В.  То, что ноги земель объединены в корпусе я не знал, поскольку вообще говоря, где соединять эти две земли на схеме это дела разработчика платы, в голову не пришло, что их объединили в корпусе.
Ноги эти обе должны сидеть на земле. Резистор туда попал только потому, что так удобнее паять, ножки там все рядом, поэтому так и оставил. Естественно резистор, который получился между землей и питанием не нужен. Но поскольку из-за удобства пайки, на фотографиях он припаян, то этот факт отображен и на схеме.

Цоколевка ST35

  Некоторые дополнительные замечания. Прожиг однокристалки осуществляется в три этапа. Сначала надо прожечь flash программ, затем flash данных, а затем фьюзы. Прожиг flash данных обязателен, особенно для  последней версии микропрограмм. Поскольку кол-во используемых ячеек во flash последней версии микропрограмм довольно велико, то я поступил следующим образом. Считал данные из работающего контроллера при помощи программатора и поместил на конференцию. При этом контроллер находился в режиме автомат. Поэтому при запуске вновь собранного контроллера он в этом режиме окажется. Для перевода в ручной режим, необходимо удерживать клавишу нажатой клавишу NotUsed и следовать инструкциям на экране. При отсутствии индикатора сделать это затруднительно.  Переменная определяющая режим автомат-ручной – ячейка flash памяти с адресом 8 – ее содержимое соответственно для режима автомат – FE, для ручного режима – 1.

  Как правило, строчные индикаторы ЖКИ имеют одинаковую распиновку. Т.Е. соответствие ножек по номерам – их функциональному назначению. Конструкция самого разъема при этом может быть разной. Исключение из этого правила выводы 1 и 2 – земля и питание. Их меняют местами даже на индикаторах одного производителя. Переплюсовка питания индикатора приводит к его выходу из строя. Поскольку схема дана только для одного типа индикатора, то надо помнить, что на индикаторе должен быть заземлен вывод WRITE. Также на индикаторе заземлен вывод регулировки контрастности, но здесь возможны варианты в зависимости от типа индикатора.
 

Некоторые дополнительные пояснения к подключению L6219.
В случае установки L6219 используем схему на стр. 7 документа . Выводы 15 и 11 L6219 припаиваем на 5 В. Выводы 20, 17, 9, 8 заземляем. Данные выводы определяют величину тока обмоток двигателя при работе в микрошаговом режиме. Нулевой потенциал соответствует максимальному току обмоток. Вывод 13  - Uss припаиваем к 5 вольтам на контроллере фокусера, а вывод 24 – Us к 12 вольтам или к необходимому для работы двигателя напряжению. Микросхема ULN2803 в этом случае не устанавливается.
Управляющие выводы 16 и 10 припаиваются как написано в ответе serzg .

   Микросхема L6219 содержит встроенный ШИМ и позволяет устанавливать ток обмоток двигателя вне зависимости от активного сопротивления обмоток, но работает только с биполярными двигателями. Величина тока определяется резисторами Rs в соответствии с пунктом 3.3 стр 5 datasheeta. Максимальный ток обмоток 750 ма.
Основным недостатком микросхемы L6219 является довольно большой потребляемый ток – примерно 70 ма. Поэтому суммарный потребляемый ток контроллера достигает 100 ма в случае установки L6219. В этом случае мощность выделяемая на микросхеме стабилизатора +5 В. контроллера приближается к 1 вт и ее следует установить на небольшой радиатор.

Есть на самом деле некоторые моменты, я бы сказал филосовские, ответы на которые у меня нет. Поначалу, когда тема возникла, я собственно вообще не собирался делать контроллер фокусера, поскольку он у меня был. Затем решил все-таки собрать по первому варианту, с системой команд lx200, чтобы была возможность пользоваться автофокусировкой. Экран был введен для удобства настройки. Затем возникла мысль о термокомпенсации, узнал о TCF-S фокусере. Поскольку при планетной съемке тогда еще с Рубинаром 10/1000, стало понятно, что фокусироваться надо за вечер несколько раз, из-за изменения температуры. Наводка на звезду для фокусировки посредством искателя, на матрицу WEB камеры, с фокусом 3-4 метра, на балконе с деревянным полом, та еще задача, иногда получается сразу, а иногда минут 15 повозишься, плюнешь и пойдешь спать. Причем при этом было понятно, что для улучшения качества планетных изображений надо переходить на ч/б приемник. Поскольку на конференции проскакивала информация, что при смене фильтров надо перефокусироваться, а при планетной съемке  на все фильтры есть 2-е минуты времени, то лишние выводы однокристалки очень хорошо подходили для управления колесом фильтров, при этом при объединенном в одном устройстве фокусере и колесе была бы возможность ввести поправки на фокусировку в зависимости от того какой фильтр стоит и производить дофокусировку в автоматическом режиме при смене фильтров. Все вроде бы красиво, но есть одно но. Таких устройств никто не делает. Т.Е. есть колесо фильтров отдельно и фокусировщик отдельно. Поэтому нет готовых протоколов обмена которые бы можно было повторить и воспользоваться готовым ASСOM драйвером. Поэтому либо имеем простое устройство, обеспечивающее две функции – смену фильтров и фокусировку, но в автономном режиме, причем с экраном и термокомпенсацией, либо два устройства, но работающие с компьютером. Я даже не знаю, можно ли в принципе написать ASCOM драйвер под такое устройство или нельзя.

 

  Про системы команд прочитать  можно здесь и здесь.

Соответствие выводов движка ST35 - Fase_a,b,c,d по цветам :

Красный+коричневый - +12В.
Розовый  –      18 вывод ULN2803
Оранжевый –    17 вывод ULN2803
Желтый  -        16 вывод ULN2803
Синий –           15 вывод ULN2803

Если направление вращения не устроит, то можно будет поменять местами синий и желтый провода. Направление вращения должно быть подобрано таким образом, чтобы перемещение фокусера совпадало с названием кнопок. Т.Е. при нажатии FokusIn, расстояние между окуляром и объективом должно уменьшаться. В этом случае будет правильно работать термокомпенсация.

    Для того, чтобы подключить двигатель с 4-мя выводами надо собирать схему на L6219. А общие моменты такие – двигатель и редуктор должны обеспечивать примерно 5 микрон квант перемещения на один шаг двигателя. Минимум думаю микрон 15 и то для планет. А заработает ли ST-35 на фокусере зависит от фокусера – на резьбовом – точно нет, есть опыт применения фокусера из гелиоса – малый вес двигается легко, а побольше уже никак, а на крейфорде может и заработать – трение у него очень маленькое, надо пробовать. У меня St35 крутит ось склонений мицаровской монтировки  при прямом приводе на винт уже года два.

   Термодатчик можно попробовать использовать DS1621, его не надо заказывать и он дешевле. Точной гарантии дать не могу, но у меня все, что были DS1621 заработали как DS1631. Возможно фирма выпускает один кристалл и только пишет разные надписи на микросхемах.  Может есть какая разбраковка по точности, но доступные методы – собственная температура – этого не показали. По моей практике термодатчики в CMD корпусах оказались точнее.
 

На главную страницу

Реклама:
Hosted by uCoz
<