<<<

Конференция.

Файлы

Версия 2.

DiSEqC 1.2 позиционер.



   Предлагаемое для самостоятельного изготовления устройство (далее - позиционер) предназначено для автоматического наведения антенны ресивера спутникового ТВ на заранее запрограммированные позиции при переключении каналов. Позиционер работает с ресиверами, поддерживающими протокол DiSEqC 1.2 и позволяет запоминать до 30 спутниковых позиций. Антенна устанавливается на полярную подвеску.
   Принцип действия позиционера основан на передаче ресивером исполнительному устройству (slave) команд, определенных протоколом DiSEqC 1.2. Этот протокол использует широтно-импульсную модуляцию несущей частотой 22 кГц для передачи команд по кабелю снижения от антенны. При этом '0' и '1' кодируются так, как показано на рис.1.

Рис.1

   Команда DiSEqC содержит несколько байтов данных. Согласно протокола, команда состоит из следующих байтов (каждый из которых оканчивается битом контроля четности):
1 - 'Framing byte' - определяет источник команды (master или slave), а также, требуется ли ответ (replay) для источника (например, "Е0h" - от master, ответ не требуется);
2 - 'Address byte' - указывает, какому из устройств, находящихся на шине, предназначена команда (например, "31h" - для позиционера);
3 - 'Command byte' - определяет действие, которое должно выполнить адресованное устройство (например, "6Ah" - сохранить позицию);
4 и все последующие байты - 'Data bytes' - содержат данные, относящиеся к команде (например, команда "E0 31 6A 02" означает сохранить текущую позицию под номером 2 в памяти позиционера);
   Байты передаются один за другим, при этом, старший бит передается первым (Most Significant Bit first).
   Подробнее протокол описан в Bus Functional Specification.
   Конструкция проста в изготовлении и не содержит дефицитных компонентов. Принципиальная схема позиционера приведена на рис. 2.

View Image - подробнее...
Рис.2

   На элементах VT1, D1, C1, R1 собран детектор тонового сигнала 22 кГц. IC1 (К140УД1208) - включен по схеме компаратора, приводит сигнал на выходе детектора к логическим уровням. С выхода компаратора (вывод 6) сигнал поступает на вход PIC-контроллера IC2, где и просходит последующая обработка сигнала.
   Двигатель актюатора управляется двумя реле: РЭС-49 включает/выключает двигатель, РЭС-80 переключает направление его вращения. Оба реле расчитаны на рабочее напряжение 12в.
   Для питания эл. двигателя актюатора используется два отдельных провода, подсоединеные к точкам POW1, POW2 (см. схему). Контакты MOT1, MOT2 подключаются к двигателю. Стандартами предполагается возможность питания двигателя от сигнального кабеля (современные ресиверы способны обеспечить нагрузку 400-500 mA), однако, во избежание возможных перегрузок, использованы отдельные провода. При выключениии двигателя, его выводы замыкаются сами на себя, что обеспечивает более резкий останов за счет тока самоиндукции.
   Два высокочастотных разъема на корпусе позиционера соединены параллельно, при этом центральные контакты подсоединены ко входу IF_IN через индуктивность 10-20 мкГн (на схеме не показана), экран к IF_GND (см. схему).
   Контакты XP1 и XP2 поключаются к контактному датчику актюатора (нормально разомкнут). При их замыкании и последующем размыкании позиционер "считает", что позиция антенны изменилась на шаг. Разрешающая способность позиционера - 65536 шагов.
   Устройство не требует дополнительного источника питания - напряжение подводится по кабелю, подключенному к высокочастотному входу ресивера.
   Для отработки электрической части позиционера, а также отладки программного обеспечения был собран макет устройства (рис. 3).

Рис.3

   В качестве исполнительного механизма использовался редуктор, на выходном валу которого была укреплена стрелка, "указывающая на спутники". На промежуточном валу редуктора укреплен магнит, замыкающий котнакты геркона, для подсчета оборотов вала и определения, таким образом, положения антенны. Отладочная информация от PIC-контроллера выводилась на COM-порт компьютера.
   При подключении к точке DISEQC (см. рис. 2) звуковой платы компьютера и выдаче ресивером команды позиционеру, наблюдается сигнал (рис. 4).

GOTO 01 - Воспроизвести...
Рис.4 (Нажмите на картинку, чтобы прослушать сигнал).

   При ближайшем рассмотрении сигнала в соответствии с принятым методом кодирования информации, видно следующее.
   Первым передается байт 11100000 (E0h), за ним - 00110001 (31h) и т.д. Таким образом, передавалась команда E0 31 6B 01 (GOTO 01), сообщающая позиционеру о необходимости повернуть антенну на позицию 01.
   Полный набор команд позиционера приведен в Positoner Application Note.
   Печатная плата устройства изготовлена из фольгированного стеклотекстолита известным методом "лазерно-принтерной технологии". Расположение элементов приведено на рис. 5. На плате имеется перемычка (показана на рисунке красным цветом). Микроконтроллер устанавливается на панельку для дальнейшего обновления прошивки. Правильно собранная схема в настройке не нуждается 1. Перед включением позиционера рекомендуется проверить монтаж на отсутствие замыканий, особенно во входной части.
   Для проверки работоспособности схемы вывод TX (рис. 2) PIC-контроллера подключить через резистор 2к ко входу RX COM-порта компьютера (HEX, 38400 8N1). При подаче DiSEqC команд ресивером, их прием можно наблюдать на терминале. Также выводится текущая позиция антенны (двухбайтное целое число) при замыкании контактов XP1 и XP2. Наряду с этим, проверяются срабатывания реле при выдаче соответствующих команд.

View Image - подробнее...
Рис.5

   Схема соединения позиционера с прочими устройствами указана на рис. 6. В настоящее время, блок питания включается вручную, но в дальнейшем его включение планируется производить автоматически (одновременно с включением ресивера) с использованием выхода 12v/50mA, имеющегося в ресивере HUMAX VACI-5300 (красный провод на рис). Выход 12v/50mA будет подключен к реле, включающему БП.

Рис.6

   Окончательный вариант позиционера тестировался на макете антенны (рис.7).
   Устройство смотировано в пластмассовом влагозащитном корпусе с креплениями под установку.

Рис.7


  
Рекомендации к применению

   Предполагается, что антенная подвеска с актюатором установлена, а ось ee вращения совпадает с полярной осью (подробно об установке антенного подвеса можно прочитать здесь). Позиционер размещается поблизости от антенны. Один ВЧ разъем соединяется коротким отрезком кабеля с конвертором, другой подключается к ресиверу. Далее:
   -вывести актюатор на середину хода;
   -сориентировать антенну на полярном подвесе направлением на юг и закрепить ее;
   -выполнить соединения, согласно схемы (рис. 6);
   -включить ресивер;
   - найти в меню ресивера в разделе "Настройка антенны" пункт "Перезапуск" ("Recalculate") и выполнить эту команду;
   -включить питание актюатора;
   -все дальнейшие операции по настройке антенны производить по инструкции, прилагаемой к ресиверу.

  Примечание: После выполнения команды "Recalculate", в позиции всех спутников в памяти устройства прописывается Reference позиция. В дальнейшем, при выполнении команды "Goto Reference" или "Goto [любой ненастроенный спутник]", будет осуществлен поворот антенны на середину хода (юг). В прошивках версии ниже 1.1 есть bug (исправлено в последующих версиях)- сбивается "Reference" позиция после команд, управляющих пределами актюатора. При использовании прошивки v1.1, и более поздних, после команды "Recalculate" отменяются пределы актюатора.

   Позиционер способен запоминать до 30 (28 в прошивках с поддержкой пределов) позиций спутников, что в большинстве случаев представляется вполне достаточным. Позиции хранятся в энергонезависимой памяти PIC16F84.
   Следует отметить, что я не использую готовый актюатор. Для поворота антенны (0.9 м) используется самодельная конструкция с эл. двигателем (работает уже ок. 5 лет) с герконовым датчиком в качестве измерителя угла поворота. При обработке сигнала контактного датчика введена программная задержка 20мс для подавления дребезга контактов. Я не располагаю информацией о том, с какой частотой следуют импульсы от штатного актюатора, отмечаю лишь, что если период этих импульсов составляет менее 25мс, могут возникнуть проблемы с точностью позиционирования2.
   Рассматривается возможность добавления в позиционер возможности переключателя антенн (DiSEqC switch). В этом случае, помимо управления положением антенны, осуществлялось бы переключение, например, между двумя антеннами - одной подвижной, другой - на фиксированную позицию.


Рис.8 Позиционер, установленный на подвесе автора.


Поддерживаемые DiSEqC команды.

Command Byte (hex)КомандаОписание команды
60HaltОстановка движения актюатора
63Limits OffОтмена пределов актюатора
66Limit EУстановить восточный предел актюатора
67Limit WУстановить западный предел актюатора
68Drive EastДвижение на восток
69Drive WestДвижение на запад
6AStore nnЗапомнить позицию nn и разрешить пределы актюатора
6BGoto nnПереход на позицию nn
6FSet Posns.Пересчитать позиции
   


Примечания:
1 - Во всяком случае, рабочий вариант, собранный после макета, заработал сразу.
2 - Валерий (val@summer.tuapse.ru) сообщает, что позиционер успешно работал с готовым актюатором (при этом использовался кварц на 3.58 МГц (!) и устанавливалась емкость 0.1мкФ между XP1 и XP2).

Модифицированная схема позиционера

Прислал
Jonas.

Текущая версия 1.4.


Схема соединения устройств


Вариант исполнения ВЧ части



Железо: Печатная плата: TIF

Схемы Jonas.
v1
v1.2 (плата в pdf печатается при разрешении 600 dpi).
v1.3 (без супервизора).
v1.3 (без супервизора, реле TRU-12VDC-SB-CL).
v1.4 Схема с модифицированной цепью датчика.
Прошивки PIC: v1.0 - первый рабочий вариант.
v1.1 - добавлена поддержка пределов актюатора (28 позиций спутников)
v1.2 - добавлена поддержка набора команд DiSEqC 1.0.
  Позиционер может работать совместно с ресиверами, не поддерживающими протокол версии 1.2, но поддерживающими DiSEqC переключатель на 4 LNB. Настройка происходит на позиции 1-4 (по версии DiSEqC 1.2) с помощью DiSEqC генератора, либо с помощью ресивера, поддерживающим DiSEqC 1.2, обычным образом. При этом учитывается, что на месте позиции 1 ресивера с DiSEqC 1.2 надо будет выбрать LNB A на ресивере с DiSEqC 1.0, на месте позиции 2 - LNB B и т.д.
  Затем на место генератора или ресивера ставится ресивер с DiSEqC 1.0. В дальнейшем, при выборе LNB A позиционер повернет антенну на 1-ю позицию, LNB B - на 2-ю и т.д. Всего возможны 4 позиции.
v1.21 - введено автоматическое отключение двигателя при его аварийном останове (заклинивание, обледенение и пр.) через ~1.5сек; подправлена работа с пределами; некоторая оптимизация кода.
v1.3 - добавлены две кнопки в схему позиционера для настройки четырех позиций в режиме DiSEqC 1.0. Теперь настройка антенны с ресивером, не поддерживающим DiSEqC 1.2 не требует ресивера с 1.2 или генератора (см. пояснение к v.1.2). Настройка производится следующим образом. Перед первым(!) включением позиционера актюатор выводится на середину хода. Нажимаются две кнопки одновременно (эквивалент команды Recalculate для DiSEqC 1.2). Затем настраиваются позиции спутников. Выбирается LNB DiSEqC A. Кнопками производится поворот антенны до появления максимального сигнала с желаемого спутника. Далее производится поиск и сохранение нужных программ, передаваемых со спутника. Выбирается LNB DiSEqC B и та же процедура повторяется для следующего спутника. Схема включения кнопок показана на рисунке. Кнопки монтируются так, чтобы исключить их случайное одновременное нажатие (позиции при этом стираются - Recalculate). Если ресивер работает в режиме DiSEqC 1.2, то кнопки не работают.
Прошивки для схемы Jonas
v1.1J - прошивка для схемы Jonas
v1.11J - "Nokia patched" версия
v1.2J - Переключение внешнего ключа происходит на 2-й позиции (DiSEqC B)
v1.21J
v1.21J_vl - Прошивка без поворота на 5-й позиции. Предназначена для работы совместно с фиксированной антенной, подключенной через 12в переключатель. Фиксированная антенна настраивается на 5-ю позицию, и при переходе на неЈ поворота не происходит, что ускоряет переключение между позициями.

Fusers: OSC - XT, WDT - off, PWR - on, CP - как угодно
Материалы по теме: www.eutelsat.org
Чешский сайт с описанием DiSEqC 1.2 позиционера.
Перевод описания чешского позиционера. Прислал Владимир.
Руководящие документы: Digital Satellite Equipment Control (DiSEqC). Bus Functional Specification V4.2 (pdf)
Digital Satellite Equipment Control (DiSEqC). Positoner Application Note V1.0 (pdf)

   Номиналы элементов в схеме изделия могут изменяться с целью усовершенствования конструкции.
   Автор не несет никакой ответственности за неаккуратность решившего изготовить это устройство, приведшую к выходу из строя ресивера.


   Огромная благодарность конференции ALLSAT, в особенности, Богдану, SOLO, Alex Babenko, давших дельные советы, пригодившиеся при усовершенствовании этой конструкции.
   Спасибо Jonas за развитие идеи.

   Ваши замечания и предложения приветствуются.

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

DiSEqC - торговая марка Eutelsat

@tty