В целях настройки и обеспечения функционирования оборудования связи необходимо управлять спутниковым конвертером (далее LNB англ. low-noise block downconverter,). Либо с помощью самого приемника, либо с помощью внешнего устройства.
Для переключения диапазона LNB используется управляющий сигнал(УС) 22 кГц.
Если формирователя нет в приёмнике, то дело усложняется. Внешние генераторы дорогие и их трудно найти.

В данной статье описаны два, на взгляд автора, простых и дешёвых в реализации способа синтезировать сигнал такой частоты с помощью популярных микроконтроллеров(МК) от компании Espressif. Это МК ESP8266 и ESP32.
Отладочная плата WeMos D1 mini (ESP8266)

Для формирования УС с помощью ESP8266 возьмём отладочную плату WeMos D1 mini. Стоит немного. Есть альтернативы приобрести дешевле, чем в магазине шаговой доступности. Полноценного цифро-аналогового преобразователя(далее ЦАП(DAC) на борту у ESP8266 нет. Формировать будем с помощью встроенного ШИМ и фильтра нижних частот (ФНЧ) по приведенной ниже схеме. Т.о. меандр заданной частоты "отмоем" до синусоиды. Частота среза ФНЧ 24 кГц.

Для написания кода программы МК воспользуемся популярной и доступной средой разработки Arduino IDE. Данная платформа, ввиду своего широкого применения, имеет всё необходимое для компиляции и загрузки программ на МК. Так же имеется множество библиотек написанных разработчиками плат, так и любителями. Как устанавливать необходимые для работы с МК ESP8266 и ESP32 расширения есть исчерпывающие статьи, а так же масса информации на других площадках:
Установка ESP8266 в Arduino IDE (руководство для ОС Windows)
Установка ESP32 в Arduino IDE (руководство для ОС Windows)
Вот целых 9 строчек невероятно сложного кода (даже ни одной библиотекой не воспользовались):
int duty; // переменная для заполнения ШИМ
void setup() {
pinMode(2, OUTPUT); //устанавливаем режим вывода МК D4(GPIO02)
duty = 512; //для установки заполнения 50% (100% - 1024)
analogWriteFreq(22800); //подбираем установку частоты работы ШИМ
}
void loop() {
analogWrite(2, (duty)); //формируем меандр
}
Загружаем скетч в МК и видим на его выводе(в схеме vol1) корявый меандр:

А вот так сигнал выглядит после первого RC звена(val2):

После второго(val3):

И на выходе с ФНЧ (val4) вы видим что-то похожее на синусоиду:

В целом, результат соответствует требованиям стандартного протокола управления спутниковым оборудованием.
Из минусов, помимо необходимости собирать ФНЧ, следует отметить:
В случае если на том же МК собрано какое-нибудь исполнительное устройство (например, кнопки и прочее управление LNB, обработка WiFi) синтез прервётся на неопределенное время. Есть ограничения использования ШИМ, в виду особенностей реализации этой функции на ESP8266.
Отладочная плата с ESP32

В отличии от платы ESP8266 такое устройство дороже примерно в два раза, но функционал и возможности на много шире. Для формирования УС используем GPIO25, на плате он отмечен как D25. Ниже приведена схема подключения.

На борту имеется два полноценных ЦАП. Однако, ввиду того что использование стандартных библиотек имеет ограничения, для прямого синтеза необходимо воспользоваться специальной библиотекой. По ссылке доступно подробное описание работы библиотеки, её возможности и примеры. https://github.com/yellobyte/DacESP32

В менеджере плат выбираем этот модуль (на нем заработало):

Собственно вот код программы с комментариями:
#include <Arduino.h>
#include "DacESP32.h" //подключаем библиотеку
DacESP32 dac1(DAC_CHANNEL_1); //называем канал
void setup() {
dac1.outputCW(19750); // подбираем значение для частоты 22 кГц
dac1.setCwScale(DAC_CW_SCALE_4);//подбираем, близкое искомому, значение по амплитуде
}
void loop()
{}
Итак, загрузили скетч на плату и видим на выходе D25 такой вот сигнал:

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

Заключение
Не смотря на широкий спектр аппаратных средств настройки и подключения спутникового оборудования - для специалистов и любителей, проектирование собственных устройств контроля остаётся актуальной темой.
Обобщая, необходимо отметить простоту получения результата и доступность модулей, использованных в работе. Возможности плат с МК ESP не ограничиваются представленными в данной статье, а так же продемонстрированные механизмы могут найти применение и в других областях. Так же следует сказать, что схожие методы можно реализовать и на базе других МК. Материалов для изучения на тему DDS в доступе не мало, что говорит о возрастающем интересе к этой теме.
zatim
Что то не похоже на шим. Формируется обычный меандр. Можно было обойтись и обычной 555 в таком случае.
Кстати, если хочется хороший синус, то есть копеечные фильтры на переключаемых конденсаторах. Порядки фильтрации там - 6...8, даже после меандра будет синус, визуально не отличимый от настоящего.
EfimkinDM Автор
Согласен. + 555 стоит копейки и стабилен. Почему не подошла такая схема в в этом конкретном случае - напряжение питания.
Про фильтры интересно. Спасибо.