Напряжение на приемнике rc

Еще раз о передатчиках и приемниках 433 МГц

Простейший комплект из приемника и передатчика ISM-диапазона 433 МГц завоевал заслуженную популярность в среде любителей электроники. Комплекты дешевы (даже в «Чипе-Дипе» их можно купить рублей за 300, а на Ali, говорят, вообще за полтинник), просты и надежны. Кроме того (о чем вы, возможно, не подозреваете), это самый дальнодействующий и проникающий способ беспроводного обмена данными — сигнал на частоте 433 МГц куда лучше проходит через препятствия и действует на более далеком расстоянии, чем в популярном диапазоне 2,4 ГГц (433 МГц полностью задерживаются стенкой в полметра бетона, а Wi-Fi умирает уже на 10 сантиметрах). Допускаю, что недавно появившиеся модули MBee-868, будучи снабженными соответствующей (направленной) антенной, «стреляют» дальше, но они как минимум на порядок дороже, сложнее в подключении, требуют управления энергосбережением и предварительной настройки. И вдобавок частота 868 МГц вдвое хуже проходит через препятствия (хотя, конечно, несравненно лучше частоты 2,4 ГГц).

О приемниках-передатчиках 433 МГц написано очень много (в том числе и на хабре, конечно). Однако, правильно включать в схему этот комплект по какой-то странной причине, кажется, не умеет никто. Когда я в который раз прочел вот тут, что комплект «принимал на 8-ми метрах в пределах прямой видимости, 9-ый метр осилить не удалось», мое терпение лопнуло. Какие еще 8 метров?! В 40-50 я бы поверил, хотя в реальности, наверное, дальность еще больше.

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

У меня такой комплект работает за городом на расстоянии примерно 25-30 метров под острым углом к бревенчатой стенке, так, что на пути сигнала оказывается примерно метр (в сумме) стен и перегородок, причем частично экранированных фольгированным утеплителем. На гораздо меньшем расстоянии, почти прямо за стенкой, WiFi уже полностью теряет сигнал. В городе сигнал добивает от одного конца трехкомнатной городской квартиры к другому через две межкомнатные перегородки, а также с балкона, где по прямой линии между передатчиком и приемником не менее 80 сантиметров кирпичной кладки и гипсолитовая перегородка. Никаких более дорогих вариантов комплектов, упомянутых в приведенном обзоре, я не употреблял.

Дополнительный плюс комплекта в том, что в паузах передатчик не потребляет ничего, причем без всяких специальных режимов Sleep, просто по принципу своего устройства (ток потребления в покое сравним с токами коллекторной утечки запертого транзистора, то есть порядка 100 нА).

Давайте разберемся, в чем тут подводные камни.

Подключение передатчика

Передатчик (он носит название FS1000A), как мы видим из его схемы ниже, представляет собой простейший генератор на основе ПАВ-резонатора на 433 МГц. Генератор собран на транзисторе Q1, а транзистор Q2, на базу которого подаются цифровые данные — просто ключ, который подключает генератор к питанию (к шине GND) при наличии высокого уровня (логической единицы) на входе. Питание может быть от 5 до 12 вольт, причем, по утверждению производителей, чем выше питание, тем дальше работает связь.

Принципиальных преимуществ увеличенного питания в рамках своей задачи я не заметил. Тем не менее, не следует пренебрегать фактом, что особых требований к питанию тут не предъявляется, и при повышенном напряжении девайс будет работать только лучше. Удобно подключать передатчик непосредственно к напряжению с адаптера 9-12 вольт, аккумулятора или комплекта из 6 батареек (контакт Vin Arduino). При нестабилизированном питании, которое может превышать 12 вольт (как, например, у аккумуляторов) я обычно развязываю передатчик от основной схемы отдельным 9-вольтовым стабилизатором (можно простейшим 78L09), причем разницы в работе между питанием 9 и 12 вольт я не наблюдаю никакой. У Uno или Nano можно для питания самого контроллера и остальных схем (например, датчиков) при этом использовать встроенный стабилизатор 5 вольт, а для Mini (особенно — его дешевых клонов) я бы посоветовал поставить отдельный 5-вольтовый стабилизатор, подключив его к выводу 5V.

Следует отметить, что в последнее время стали появляться передатчики, выглядящие несколько нестандартно (см. рис. ниже). Оказалось, что отсутствие дросселя L1 (трехвиткового), от которого остались только отверстия — фикция, он просто заменен на соответствующий SMD-компонент. Хуже в этом варианте другое: неряшливая полиграфия может ввести в заблуждение относительно подключения выводов данных и питания. Правильное подключение показано на рисунке, оно для всех вариантов одинаково:

Самое поразительное в этом деле — то, что при перепутанном подключении данных и питания передатчик на небольших расстояниях продолжает работать! Если вы рассмотрите схему, то поймете в чем дело: база Q2 через резистор при этом оказывается подключенной к питанию, транзистор всегда открыт, и влияния на работу схемы не оказывает. А логический высокий уровень на шине питания просто запитывает в нужный момент генератор. Несуразности начинаются на некотором расстоянии — понятно, что из логического вывода источник питания получается плохой.

Подключение приемника

При приобретении приемника (он может носить название вроде MX-RM-5V или XD-RF-5V) обращайте внимание на длину выводов — мне как-то попалась целая партия с укороченными штырьками, отчего из стандартного разъема PBS приемник вываливался при малейшем перекосе и его приходилось к плате специально крепить.

У приемника схема гораздо сложнее (я ее не буду воспроизводить, но можете ознакомиться, например, тут). Она должна принять и усилить высокочастотный сигнал, отфильтровать частоту 433 МГц, выделить всплески и преобразовать их в логические уровни. Приемник имеет подстроечный дроссель (посередине платы), но без точных приборов для измерения амплитудно-частотной характеристики я его крутить не советую — скорее всего, вы ничего не улучшите, а только испортите.

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

Стандартный метод снижения помех, известный в мои времена каждому школьнику, собравшему хоть один радиоприемник или усилитель, заключается в том, что для чувствительных к помехам узлов необходимо делать отдельное питание, по максимуму изолированное от остальных схем. Можно его делать разными методами: когда-то ставили отдельный стабилитрон, сейчас часто изолируют питание проблемного узла LC-фильтром (так рекомендуется поступать, например, для АЦП, посмотрите даташиты на AVR-контроллеры). Но в наших условиях, когда современные компоненты невелики и дешевы, проще просто поставить на приемник отдельный от всего остального стабилизатор.

Стабилизатор, например, типа LP2950-5.0 плюс два необходимых конденсатора к нему в самом дешевом варианте (когда оба конденсатора — керамические, в диапазоне 1–3,3 мкФ) добавит к стоимости вашей схемы рублей шестьдесят максимум. Но я предпочитаю не экономить: на выходе ставлю обычный керамический, а на входе электролит (10–100 мкФ), причем твердотельный (полимерный) или танталовый. Обойтись керамическими конденсаторами и там и там можно, если входное напряжение 7-12 вольт поступает с батареек-аккумуляторов или с другого аналогового стабилизатора. Импульсные стабилизированные источники и простейшие нестабилизированные выпрямители требуют дополнительной фильтрации. Можно использовать дешевый алюминиевый электролит, если ставить параллельно ему керамический 0,1 мкФ, еще лучше поставить на входе последовательную индуктивность в несколько долей или единиц миллигенри.

Стабилизатор следует устанавливать прямо около приемника, длина проводников должна быть минимальна. Вместо LP2950 можно взять LM2931 или аналогичный с маленьким проходным напряжением (это особенно важно, если схема питается от батареек — для обычного LM78L05 входное напряжение должно быть не менее 7,5, а лучше 8-9 вольт).

Сравнив со случаем питания приемника непосредственно от Arduino, как рекомендуется во всех публикациях (исключений я не встречал), вы поразитесь полученному эффекту — дальность и способность проникать через стенки сразу увеличивается в разы. Приемник вместе со стабилизатором для удобства можно вынести в отдельную маленькую коробочку. Связать его выход с контроллером в основном корпусе можно любым трехжильным проводом (два питания и сигнальный проводник) длиной до 3 метров, а может быть и больше. Удобнее это потому, что еще нужны антенны, и по правилам будет лучше, если они будут параллельны друг другу в пространстве, а большие корпуса не всегда удается разместить так, чтобы антенны торчали в нужной ориентации.

В простейшем варианте в качестве антенн можно обойтись обрезками одножильного провода сечением не меньше 0,5 мм и длиной 17 см ± 1-3 мм. Не следует употреблять многожильный монтажный провод! В продаже имеются более компактные спиральные антенны, но я лично их эффективность не испытывал. Кончик антенны и у передатчика и у приемника запаивается в соответствующее отверстие в углу платы (не ошибитесь в модернизированном варианте передатчика — там слово ANT тоже не на месте, см. рис. выше).

Формирование и обработка передаваемых данных

Это второй крупный недостаток большинства обзоров по нашей теме: авторы ограничиваются какой-то локальной задачей, не формулируя ее в общем виде, как передачу произвольных данных одним пакетом. Как вы поняли из описания выше, передаваться нашим комплектом может только простая последовательность бит. Стандартная библиотека VirtualWire кодирует их специальным образом (каждая тетрада кодируется 6-ю битами, впереди добавляется синхронизирующий заголовок, и еще добавляется контрольная сумма для всего пакета) и на выходе превращает в более привычную последовательность байт. Но разбираться с ней уже приходится программисту самостоятельно.

Далее мы считаем, что передатчик и приемник подключены к Arduino. Кроме VirtualWire, в связи с бумом «умных домов», есть еще много всякого подобного, вроде RC-Switch или RemoteSwitch, но они ориентированы на другие задачи, и для передачи произвольных данных их употреблять явно не стоит.

Максимальная длина одного сообщения в VirtualWire равна 27 байт (см. документацию). Передача одного полного сообщения (оно автоматически дополняется сигнатурой 0xb38, значением длины сообщения и контрольной суммой) при выбранной мной скорости 1200 бит/с составляет 0,35 секунды.

Чем больше, кстати, выбранная скорость передачи, тем дальность передачи будет меньше. По опыту применения RS-232 известно, что при увеличении дальности допустимая скорость передачи экспоненциально падает: на скорости 19200 неэкранированная линия работает на 15 метров, на 9600 — 150 метров, а на скорости 1200 — более километра. Интересно было бы экспериментально выяснить характер этой зависимости для нашего случая, ведь очень много здесь зависит и от применяемой математики.

Инициализация передатчика в VirtualWire выглядит так:

. . . . . #include . . . . . void setup() < vw_setup(1200); // Скорость соединения VirtualWire vw_set_tx_pin(10); // Вывод передачи VirtualWire D10 . . . . . >

Разберем принципы формирования данных на конкретном примере. Пусть у нас имеется выносной датчик температуры-влажности. Он выдает значения (переменные temperature и humidity) в формате действительного числа со знаком (float). Чтобы было проще разбираться на приемном конце, будем все приводить к виду положительного целого числа с числом десятичных разрядов не менее 4, переводить разряды по отдельности в ASCII-символы, передавать получившуюся строку, а на приемном конце выполнять обратные операции. Конечно, можно упростить задачу (например, обойтись без преобразования в ASCII и укоротить числа), но в таком виде она получается единообразной для почти любых разновидностей цифровых данных, что упрощает разборку при приеме.

На практике для формирования сообщения удобно воспользоваться типом String, примерно так:

. . . . . // глобальные переменные в начале #define ledPin 13 //вывод светодиода (D13, вывод 19 ATmega) char msg[13]; volatile int tmpr=0; volatile int hum=0; . . . . . void loop() < delay(1000); //пауза 1 c float temperature; float humidity; . . . . . //здесь получаем значения temperature и humidity с датчика //температуру с десятыми в целое положительное число 4 разряда: tmpr = temperature*10+2731; //2731 = абсолютный ноль в десятых градуса //влажность в целое число 4 разряда: hum = humidity*10+1000; // формируем сообщение: digitalWrite (ledPin,HIGH); //зажигаем светодиод — начало передачи String strMsg="DAH"; //сигнатура - данные strMsg+=tmpr; //температуру в строку strMsg+=hum; //присоединяем влажность strMsg.toCharArray(msg,12); //переводим строку в массив, 12 – количество знаков // и посылаем: vw_send((uint8_t *)msg, strlen(msg)); // передача сообщения vw_wait_tx(); // ждем завершения передачи delay(500); //пауза 500 мс digitalWrite (ledPin, LOW); //гасим светодиод — конец передачи >

Если требуется передавать более точные числа с большим количеством разрядов, то вы просто увеличиваете длину массива msg. Глобальные «волатильные» переменные tmpr и hum нужны в случае, если вы осредняете несколько показаний, в противном случае они тоже могут быть объявлены локальными внутри функции loop(). Сообщение, как видите, состоит из значений преобразованных температуры и влажности, в ASCII-строках по четыре байта каждое, предваряемых строкой из трех символов «DAH» (символы могут быть любыми другими из таблицы ASCII). Это сигнатура, которая позволит выделить данное сообщение из числа возможных других, посылаемых аналогичными устройствами. Не пренебрегайте сигнатурой, даже если вы полагаете, что других устройств поблизости в этом диапазоне не предвидится, заодно она служит дополнительной гарантией целостности принимаемых данных.

Заметьте также, что при преобразовании строки в массив необходимо указать на один символ больше, чем суммарная длина сообщения (3+4+4=11), это учитывается нулевой символ, замыкающий строку. А величина массива msg[] должна быть указана с запасом и может быть любой, в данном случае от 13 до 27 байт. При передаче все равно отправится ровно столько, сколько вернет функция strlen(msg), то есть 11 байт + нулевой символ.

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

#include char str[5]; вспомогательная строка для преобразований ASCII в число uint8_t buf [VW_MAX_MESSAGE_LEN]; //буфер для хранения принятых данных uint8_t buflen = VW_MAX_MESSAGE_LEN; // max длина принятых данных . . . . . void setup() < vw_set_rx_pin(2); //D2 Вывод приемника VirtualWire vw_setup(1200); // Скорость соединения VirtualWire . . . . . >

Собственно прием с разборкой строки такой:

void loop() < vw_rx_start(); // готовность приема buflen = VW_MAX_MESSAGE_LEN; //размер буфера задавать каждый раз if (vw_have_message()) < //ждем приема if (vw_get_message(buf, &buflen)) // Если данные приняты < vw_rx_stop(); //останавливаем прием и парсим: for (byte i=0; i99) hh=99; //получаем влажность в %, целое число . . . . . //выводим куда-то > //end проверка сигнатуры DAT > //end данные приняты > //прием > // end loop 

Надеюсь, у вас теперь будет меньше вопросов по применению этих дешевых и удобных в применении устройств.

  • Arduino
  • передатчик 433 МГц
  • приемник 433 МГц

Радиоуправляемое реле своими руками

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

Давайте рассмотрим, как на базе готового радиомодуля собрать несложное радиоуправляемое реле.

В качестве приёмо-передатчика я использовал готовый модуль. Купил его на AliExpress вот у этого продавца.

Комплект состоит из пульта–передатчика на 4 команды (брелок), а также платы приёмника. Плата приёмника выполнена в виде отдельной печатной платы и не имеет исполнительных цепей. Их необходимо собрать самому.

Вот внешний вид.

Модуль радиоуправления на SC2262/ SC2272

Брелок добротный, приятный на ощупь, поставляется с батарейкой 12V (23А).

В брелоке встроена плата, на которой собрана довольно примитивная схема пульта-передатчика на транзисторах и шифраторе SC2262 (полный аналог PT2262). Смутило то, что на микросхеме в качестве маркировки указано SC2264, хотя из даташита известно, что дешифратор для PT2262 – это PT2272. Тут же на корпусе микросхемы чуть ниже основной маркировки указано SCT2262. Вот и думай, что к чему . Что ж, для Китая это не удивительно.

Печатная плата пульта

Передатчик работает в режиме амплитудной модуляции (АМ) на частоте 315 МГц.

Приёмник собран на небольшой печатной плате. Радиоприёмный тракт выполнен на двух SMD-транзисторах с маркировкой R25 – биполярных N-P-N транзисторах 2SC3356. На операционном усилителе LM358 реализован компаратор, а к его выходу подключен дешифратор SC2272-M4 (она же PT2272-M4).

Плата приёмника

Как работает устройство?

Суть работы сего устройства такова. При нажатии на одну из кнопок пульта A, B, C, D передаётся сигнал. Приёмник усиливает сигнал, а на выходах D0, D1, D2, D3 платы приёмника появляется напряжение 5 вольт. Вся загвоздка в том, что 5 вольт на выходе будет только пока нажата соответствующая кнопка на брелоке. Стоит отпустить кнопку на пульте – напряжение на выходе приёмника пропадёт. Упс. В таком случае не получиться сделать радиоуправляемое реле, которое бы срабатывало при кратковременном нажатии кнопки на брелоке и отключалось при повторном.

Связано это с тем, что существуют разные модификации микросхемы PT2272 (китайский аналог – SC2272). А в такие модули почему то ставят именно PT2272-M4, у которых нет фиксации напряжения на выходе.

А какие же бывают разновидности микросхемы PT2272?

  • PT2272-M4 – 4 канала без фиксации. На выходе соответствующего канала +5V появляется только тогда, пока нажата кнопка на брелоке. Именно такая микросхема используется в купленном мной модуле.
  • PT2272-L4 – 4 зависимых канала с фиксацией. Если включается один выход, то другие отключаются. Не совсем удобно, если необходимо независимо управлять разными реле.
  • PT2272-T4 – 4 независимых канала с фиксацией. Самый лучший вариант для управления несколькими реле. Поскольку они независимы, то каждое может выполнять свою функцию независимо от работы других.

Что же сделать, чтобы реле срабатывало так, как нам нужно?

Тут есть несколько решений:

  • Выдираем микросхему SC2272-M4 и вместо неё ставим такую же, но с индексом T4 (SC2272-T4). Теперь выходы будут работать независимо и с фиксацией. То есть можно будет включить/выключить любое из 4 реле. Реле будут включаться при нажатии кнопки, и выключаться при повторном нажатии на соответствующую кнопку.
  • Дополняем схему триггером на К561ТМ2. Так как микросхема К561ТМ2 состоит из двух триггеров, то понадобиться 2 микросхемы. Тогда будет возможность управлять четырьмя реле.
  • Используем микроконтроллер. Требует навыков программирования.

На радиорынке микросхему PT2272-T4 я не нашёл, а заказывать с Ali целую партию одинаковых микрух счёл нецелесообразным. Поэтому для сборки радиоуправляемого реле решил использовать второй вариант с триггером на К561ТМ2.

Схема достаточно проста (картинка кликабельна).

Схема радиоуправления на 4 команды

Вот реализация на макетной плате.

Собранное на макетке радиоуправляемое реле

Радиореле

На макетке я быстренько собрал исполнительную цепь только для одного канала управления. Если взглянуть на схему, то можно увидеть, что они одинаковые. В качестве нагрузки на контакты реле нацепил красный светодиод через резистор в 1 кОм.

Наверняка заметили, что в макетку я воткнул готовый блок с реле. Его я вытащил из охранной сигнализации. Блок оказался очень удобным, так как на плате уже было распаяно само реле, штыревой разъём и защитный диод (это VD1–VD4 на схеме).

Пояснения к схеме.

Приёмный модуль.

Обозначение выводов для подключения модуля

Вывод VT – это вывод, на котором появляется напряжение 5 вольт, если был принят сигнал от передатчика. Я к нему подключил светодиод через сопротивление 300 Ом. Номинал резистора может быть от 270 до 560 Ом. Так указано в даташите на микросхему.

При нажатии на любую кнопку брелока светодиод, который мы подключили к выводу VT приёмника, будет кратковременно вспыхивать – это свидетельствует о приёме сигнала.

Выводы 5V и GND служат для подключения напряжения питания. Для питания схемы нам понадобится стабилизированный блок питания на 12 вольт. Ток потребления схемы небольшой, поэтому подойдёт любой блок. В качестве источника питания можно применить и блок питания, собранный своими руками.

Выводы D0, D1, D2, D3; – это выходы микросхемы дешифратора PT2272-M4. С них мы будем снимать принятый сигнал. На этих выходах появляется напряжение +5V, если был принят сигнал от пульта управления (брелока). Именно к этим выводам подключаются исполнительные цепи. Кнопки A, B, C, D на пульте (брелоке) соответствуют выходам D0, D1, D2, D3.

На схеме приёмный модуль и триггеры запитываются напряжением +5V от интегрального стабилизатора 78L05. Цоколёвка стабилизатора 78L05 показана на рисунке.

Цоколёвка интегрального стабилизатора 78L05

Буферная цепь на D-триггере.

На микросхеме К561ТМ2 собран делитель частоты на два. На вход С приходят импульсы с приёмника, и D-триггер переключается в другое состояние до тех пор, пока на вход С не придёт второй импульс с приёмника. Получается очень удобно. Поскольку реле управляется с выхода триггера, то и оно будет включено или выключено до тех пор, пока не придёт следующий импульс.

Вместо микросхемы К561ТМ2 можно использовать К176ТМ2, К564ТМ2, 1КТМ2 (в металле с позолотой) или импортные аналоги CD4013, HEF4013, HСF4013. Каждая из этих микросхем состоит из двух D-триггеров. Их цоколёвка одинаковая, но вот корпуса могут быть разные, как, например, у 1КТМ2.

Исполнительная цепь.

В качестве силового ключа используется биполярный транзистор VT1. Я использовал КТ817, но подойдёт КТ815. Он управляет электромагнитным реле K1 на 12V. К контактам электромагнитного реле K1.1 можно подключать любую нагрузку. Это может быть лампа накаливания, светодиодная лента, электродвигатель, электромагнит замка и др.

Цоколёвка транзистора КТ817, КТ815.

Цоколёвка транзистора КТ817

Следует учесть, что мощность подключаемой к контактам реле нагрузки должна быть не меньше той мощности, на которую рассчитаны контакты самого реле.

Диоды VD1–VD4 служат защитой транзисторов VT1–VT4 от напряжения самоиндукции. В момент отключения реле в его обмотке возникает напряжение, которое противоположено по знаку тому, которое поступало на обмотку реле от транзистора. В результате транзистор может выйти из строя. А диоды по отношению к напряжению самоиндукции оказываются открытыми и «гасят» его. Тем самым они берегут наши транзисторы. Не забывайте про них!

Если хотите дополнить исполнительную цепь индикатором включения реле, то добавляем в схему светодиод и резистор на 1 кОм. Вот схема.

Исполнительная цепь с индикацией включения реле

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

Вместо отдельных транзисторов в схеме можно использовать всего лишь одну микросхему с минимумом обвязки. Подойдёт микросхема ULN2003A. Отечественный аналог К1109КТ22.

Это микросхема содержит 7 транзисторов Дарлингтона. Удобно то, что выводы входов и выходов расположены друг против друга, что облегчает разводку платы, да и обычное макетирование на беспаечной макетной плате.

Работает довольно просто. Подаём на вход IN1 напряжение +5V, составной транзистор открывается, и вывод OUT1 подключается к минусу питания. Тем самым на нагрузку подаётся напряжение питания. Нагрузкой может быть электромагнитное реле, электромотор, цепь из светодиодов, электромагнит и пр.

В даташите производитель микросхемы ULN2003A хвастается, что ток нагрузки каждого выхода может достигать 500 мА (0,5А), что собственно, не мало. Тут многие из нас умножат 0,5А на 7 выходов и получат суммарный ток в 3,5 ампера. Да, здорово! НО. Если микросхема и сможет прокачать через себя такой существенный ток, то на ней можно будет жарить шашлык.

На самом деле, если задействовать все выходы и пустить в нагрузку ток, то выжать без вреда для микросхемы можно будет около ~80 – 100мА на канал. Опс. Да, чудес не бывает.

Вот схема подключения ULN2003A к выходам триггера К561ТМ2.

Подключение микросхемы ULN2003A к выходу триггера

Есть ещё одна широко распространённая микросхема, которую можно использовать – это ULN2803A.

Микросхема ULN2803A

У неё уже 8 входов/выходов. Я её выдрал с платы убитого промышленного контроллера и решил поэкспериментировать.

Схема подключения ULN2803A. Для индикации включения реле можно дополнить схему цепью из светодиода HL1 и резистора R1.

Подключение микросхемы ULN2803A

Вот так это выглядит на макетке.

Подключение микросхемы ULN2803 к выходу триггера

Кстати, микросхемы ULN2003, ULN2803 допускают объединение выходов для увеличения максимально-допустимого выходного тока. Это может потребоваться, если нагрузка потребляет более 500 мА. Соответствующие входы также объединяются.

Вместо электромагнитного реле в схеме можно применить твёрдотельное реле (SSR – Solid State Relay). В таком случае, схему можно существенно упростить. Например, если применить твёрдотельное реле CPC1035N, то отпадает необходимость в питании устройства от 12 вольт. Достаточно будет 5-вольтового блока питания для питания всей схемы. Также отпадает необходимость в интегральном стабилизаторе напряжения DA1 (78L05) и конденсаторах С3, С4.

Вот так твёрдотельное реле CPC1035N подключается к триггеру на К561ТМ2.

Подключение твёрдотельного реле к выходу триггера

Несмотря на свою миниатюрность, твёрдотельное реле CPC1035N может коммутировать переменное напряжение от 0 до 350 V, при токе нагрузки до 100 mA. Иногда этого достаточно, чтобы управлять маломощной нагрузкой.

Можно применить и отечественные твёрдотельные реле, я, например, экспериментировал с К293КП17Р.

Выдрал его с платы охранной сигнализации. В данной релюшке, кроме самого твёрдотельного реле, есть ещё и транзисторная оптопара. Её я не использовал – оставил выводы свободными. Вот схема подключения.

Подключение К293КП17Р к выходу триггера

Возможности К293КП17Р весьма неплохие. Может коммутировать постоянное напряжение отрицательной и положительной полярности в пределах -230. 230 V при токе нагрузки до 100 mA. А вот с переменным напряжением работать не может. То есть постоянное напряжение к выводам 8 – 9 можно подводить как угодно, не заботясь о полярности. Но вот переменное напряжение подводить не стоит.

Дальность работы.

Чтобы приёмный модуль надёжно принимал сигналы от пульта–передатчика, к контакту ANT на плате нужно припаять антенну. Желательно, чтобы длина антенны была равна четверть длины волны передатчика (то бишь λ/4). Так как передатчик брелока работает на частоте в 315 МГц, то по формуле длина антенны составит ~24 см. Вот расчёт.

Расчёт длины волны

Где f – частота (в Гц), следовательно 315 000 000 Гц (315 Мегагерц);

Скорость света С – 300 000 000 метров в секунду (м/c);

λ – длина волны в метрах (м).

Те, кто не знает, как переводить приставки Мега- и Кило- в нули, прочтите статью о сокращённой записи численных величин.

Чтобы узнать, на какой частоте работает пульт–передатчик, вскрываем его и ищем на печатной плате фильтр на ПАВ (Поверхностно–акустических волнах). На нём обычно указана частота. В моём случае это 315 МГц.

Фильтр на ПАВ (315 МГц)

При необходимости антенну можно и не припаивать, но дальность действия устройства сократится.

В качестве антенны можно применить телескопическую антенну от какого–нибудь неисправного радиоприёмника, магнитолы. Будет очень даже круто .

Дальность, при которой приёмник устойчиво принимает сигнал от брелока небольшое. Опытным путём я определил расстояние в 15 – 20 метров. С преградами это расстояние уменьшается, а вот при прямой видимости дальность будет в пределах 30 метров. Ожидать чего-то большего от такого простого устройства глупо, схемотехника его весьма проста.

Шифрование или «привязка» пульта к приёмнику.

Изначально, брелок и приёмный модуль незашифрованы. Иногда говорят, что не «привязаны».

Если купить и использовать два комплекта радиомодулей, то приёмник будет срабатывать от разных брелоков. Аналогично будет и с приёмным модулем. Два приёмных модуля будут срабатывать от одного брелока. Чтобы этого не происходило, применяется фиксированная кодировка. Если приглядеться, то на плате брелока и на плате приёмника есть места, где можно напаять перемычки.

Место распайки для установки кода

Выводы от 1 до 8 у пары микросхем кодеров/декодеров (PT2262/PT2272) служат для установки кода. Если приглядется, то на плате пульта управления рядом с выводами 1 – 8 микросхемы есть лужёные полоски, а рядом с ними буквы H и L. Буква H – означает High («высокий»), то есть высокий уровень.

Если паяльником накинуть перемычку от вывода микросхемы к полоске с пометкой H, то мы тем самым подадим высокий уровень напряжения в 5V на микросхему.

Буква L соответственно означает Low («низкий»), то есть, накидывая перемычку c вывода микросхемы на полоску с буквой L, мы устанавливаем низкий уровень в 0 вольт на выводе микросхемы.

На печатной плате не указан нейтральный уровень – N. Это когда вывод микросхемы как бы «висит» в воздухе и ни к чему не подключен.

Таким образом, фиксированный код задаётся 3 уровнями (H, L, N). При использовании 8 выводов для установки кода получается 3 8 = 6561 возможных комбинаций! Если учесть, что четыре кнопки у пульта также участвуют в формировании кода, то возможных комбинаций становится ещё больше. В результате случайное срабатывание приёмника от чужого пульта с иной кодировкой становится маловероятным.

На плате приёмника пометок в виде букв L и H нет, но тут нет ничего сложного, так как полоска L подключена к минусовому проводу на плате. Как правило, минусовой или общий (GND) провод выполняется в виде обширного полигона и занимает на печатной плате большую площадь.

Полоска H подключается к цепям с напряжением в 5 вольт. Думаю понятно.

Я установил перемычки следующим образом. Теперь мой приёмник от другого пульта уже не сработает, он узнает только «свой» брелок. Естественно, распайка должна быть одинаковой как у приёмника, так и у пульта-передатчика.

Распайка перемычек для установки фиксированного кода

Кстати, думаю, вы уже сообразили, что если потребуется управлять несколькими приёмниками от одного пульта, то просто распаиваем на них такую же комбинацию кодировки, как на пульте.

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

RC цепь

Как вы помните, конденсатор представляет из себя две обкладки на некотором расстоянии друг от друга.

обкладки конденсатора

Вы, наверное, помните, что его емкость зависит от площади обкладок, от расстояния между ними, а также от вещества, которое находится между обкладками. Или формулой для плоского конденсатора:

RC цепь

Ладно, ближе к делу. Пусть у нас имеется конденсатор. Что с ним можно сделать? Правильно, зарядить 😉 Для этого берем источник постоянного напряжения и подаем заряд на конденсатор, тем самым заряжая его:

RC цепь

В результате, у нас конденсатор зарядится. На одной обкладке будет положительный заряд, а на другой обкладке — отрицательный:

RC цепь

Даже если убрать батарею, у нас заряд на конденсаторе все равно сохранится в течение какого-то времени.

RC цепь

Сохранность заряда зависит от сопротивления материала между пластинами. Чем оно меньше, тем быстрее со временем будет разряжаться конденсатор, создавая ток утечки. Поэтому самыми плохими, в плане сохранности заряда, являются электролитические конденсаторы, или в народе — электролиты:

электролитические конденсаторы

Но что произойдет, если к конденсатору мы подсоединим резистор?

RC цепь

Конденсатор разрядится, так как цепь станет замкнутой. Разряжаться он будет через резистор. В разряде конденсатора через резистор и заложен весь принцип работы RC цепочки.

Постоянная времени RC-цепи

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

цифровой осциллограф OWON

Итак, план действий будет такой: мы будем заряжать конденсатор с помощью блока питания, а потом разряжать его на резисторе и смотреть осциллограмму, как разряжается конденсатор.

Соберем классическую схему, которая есть в любом учебнике по электронике:

в этот момент мы заряжаем конденсатор

RC цепь

потом переключаем тумблер S в другое положение и разряжаем конденсатор, наблюдая процесс разряда конденсатора на осциллографе

RC цепь

Думаю, с этим все понятно. Ну что же, приступим к сборке.

Берем макетную плату и собираем схемку. Конденсатор я взял емкостью в 100мкФ, а резистор 1 КилоОм.

макетная плата

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

Ну все, цепляемся щупом осциллографа к резистору

RC цепь

и смотрим осциллограмму, как разряжается конденсатор.

разряд конденсатора

Те, кто впервые читает про RC-цепи, думаю, немного удивлены. По логике, разряд должен проходить прямолинейно, но здесь мы видим загибулину. Разряд происходит по так называемой экспоненте. Так как я не люблю алгебру и матанализ, то не буду приводить различные математические выкладки. Кстати, а что такое экспонента? Ну экспонента — это график функции «е в степени икс». Короче, все учились в школе, вам лучше знать 😉

Так как при замыкании тумблера у нас получилась RC-цепь, то у нее есть такой параметр, как постоянная времени RC-цепи. Постоянная времени RC-цепи обозначается буквой t , в другой литературе обозначают большой буквой T. Чтобы было проще для понимания, давайте также будем обозначать постоянную времени RC цепи большой буквой Т.

Итак, думаю стоит запомнить, что постоянная времени RC-цепи равняется произведению номиналов сопротивления и емкости и выражается в секундах, или формулой:

где T — постоянная времени , Секунды

R — сопротивление, Ом

С — емкость, Фарады

Давайте посчитаем, чему равняется постоянная времени нашей цепи. Так как у меня конденсатор емкостью в 100 мкФ, а резистор 1 кОм, то постоянная времени равняется T=100 x 10 -6 x 1 х 10 3 =100 x 10 -3 = 100 миллисекунд.

Для тех, кто любит считать глазами, можно построить уровень в 37% от амплитуды сигнала и затем уже аппроксимировать на ось времени. Это и будет постоянная времени RC-цепи. Как вы видите, наши алгебраические расчеты почти полностью сошлись с геометрическими, так как цена деления стороны одного квадратика по времени равняется 50 миллисекундам.

постоянная времени RC цепи

В идеальном случае конденсатор сразу же заряжается, если на него подать напряжение. Но в реальном все-таки есть некоторое сопротивление ножек, но все равно можно считать, что заряд происходит почти мгновенно. Но что будет, если заряжать конденсатор через резистор? Разбираем прошлую схему и стряпаем новую:

RC цепь

как только мы замыкаем ключ S, у нас конденсатор начинает заряжаться от нуля и до значения 10 Вольт, то есть до значения, которое мы выставили на блоке питания

RC цепь

Наблюдаем осциллограмму, снятую с конденсатора

заряд конденсатора

Ничего общего не увидели с прошлой осциллограммой, где мы разряжали конденсатор на резистор? Да, все верно. Заряд тоже идет по экспоненте ;-). Так как радиодетали у нас одинаковые, то и постоянная времени тоже одинаковая. Графическим способом она высчитывается как 63% от амплитуды сигнала

RC цепь

Как вы видите, мы получили те же самые 100 миллисекунд.

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

Для примера, давайте поменяем значение емкости конденсатора в меньшую сторону. Итак, у нас был конденсатора номиналом в 100 мкФ, а мы поставим 10 мкФ, резистор оставляем такого же номинала в 1 кОм. Посмотрим еще раз на графики заряда и разряда.

Вот так заряжается наш конденсатор номиналом в 10 мкФ

RC цепь

А вот так он разряжается

RC цепь

Как вы видите, постоянная времени цепи в разы сократилась. Судя по моим расчетам она стала равняться T=10 x 10 -6 x 1000 = 10 x 10 -3 = 10 миллисекунд. Давайте проверим графо-аналитическим способом, так ли это?

Строим на графике заряда или разряда прямую на соответствующем уровне и аппроксимируем ее на ось времени. На графике разряда будет проще 😉

RC цепь

Одна сторона квадратика по оси времени у нас 10 миллисекунд (чуть ниже рабочего поля написано M:10 ms), поэтому нетрудно посчитать, что постоянная времени у нас 10 миллисекунд ;-). Все элементарно и просто.

То же самое можно сказать и про сопротивление. Емкость я оставляю такой же, то есть 10 мкФ, резистор меняю с 1 кОм на 10 кОм. Смотрим, что получилось:

RC цепь

По расчетам постоянная времени должна быть T=10 x 10 -6 x 10 x 10 3 = 10 x 10 -2 = 0,1 секунда или 100 миллисекунд. Смотрим графо-аналитическим способом:

RC цепь

Вывод: чем больше номинал конденсатора и резистора, тем больше постоянная времени, и наоборот, чем меньше номиналы этих радиоэлементов, тем меньше постоянная времени. Все просто 😉

Ладно, думаю, с этим все понятно. Но куда можно применить этот принцип зарядки и разрядки конденсатора? Оказывается, применение нашлось…

Интегрирующая RC цепь

Собственно сама схема:

интегрирующая RC цепь

А что будет, если мы на нее будем подавать прямоугольный сигнал с разной частотой? В дело идет китайский генератор функций:

генератор частоты

Выставляем на нем частоту 1 Герц и размахом в 5 Вольт

RC цепь

Желтая осциллограмма — это сигнал с генератора функций, который подается на вход интегрирующей цепи на клеммы Х1, Х2, а с выхода мы снимаем красную осциллограмму, то есть с клемм Х3, Х4:

осциллограмма интегрирующей цепи

Как вы могли заметить, конденсатор почти полностью успевает зарядиться и разрядиться.

Но что будет, если мы добавим частоту? Выставляю на генераторе частоту в 10 Герц. Смотрим что у нас получилось:

RC цепь

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

А сигнал в 100 Герц вообще не оставил ничего от сигнала, кроме малозаметных волн

RC цепь

Сигнал в 1 Килогерц на выходе вообще не дал ничего…

RC цепь

Еще бы! Попробуй-ка с такой частотой перезаряжать конденсатор 🙂

Все то же самое касается и других сигналов: синусоиды и треугольного. везде выходной сигнал почти равен нулю на частоте 1 Килогерц и выше.

RC цепь

RC цепь

«И это все, на что способна интегрирующая цепь?» — спросите вы. Конечно нет! Это было только начало.

Давайте разберемся… Почему у нас с возрастанием частоты сигнал стал прижиматься к нулю и потом вообще пропал?

Итак, во-первых, эта цепь у нас получается как делитель напряжения, и во-вторых, конденсатор — это частотно-зависимый радиоэлемент. Его сопротивление зависит от частоты. Про это можно прочитать в статье конденсатор в цепи постоянного и переменного тока. Следовательно, если бы мы подавали постоянный ток на вход (у постоянного тока частота 0 Герц), то и на выходе бы тоже получили тот же самый постоянный ток такого же значения, которое загоняли на вход. В это случае конденсатору ведь по барабану. Все что он сможет сделать в этой ситуации — тупо зарядиться по экспоненте и все. На этом его участь в цепи постоянного тока заканчивается и он стает диэлектриком для постоянного тока.

Но как только в цепь подается переменный сигнал, конденсатор вступает в игру. Тут его сопротивление уже зависит от частоты. И чем она больше, тем меньшим сопротивлением обладает конденсатор. Формула сопротивления конденсатора от частоты:

RC цепь

ХС — это сопротивление конденсатора, Ом

π — постоянная и равняется приблизительно 3,14

F — частота, Герц

С — емкость конденсатора, Фарад

F — частота, измеряется в Герцах

С — емкость, измеряется в Фарадах

Итак, что в результате получается? А получается то, что чем больше частота, тем меньше сопротивление конденсатора. На нулевой частоте у нас сопротивление конденсатора в идеале стает равно бесконечности (поставьте в формулу 0 Герц частоту). А так как у нас получился делитель напряжения

RC цепь

следовательно, на меньшем сопротивлении падает меньшее напряжение. С ростом частоты сопротивление конденсатора очень сильно уменьшается и поэтому падение напряжения на нем стает почти 0 Вольт, что мы и наблюдали на осциллограмме.

Но на этом ништяки не заканчиваются.

Давайте вспомним, что из себя представляет сигнал с постоянной составляющей. Это есть ничто иное, как сумма переменного сигнала и постоянного напряжения. Взглянув на рисунок ниже, вам все станет ясно.

RC цепь

То есть в нашем случае можно сказать, этот сигнал (ниже на картинке) имеет в своем составе постоянную составляющую, другими словами, постоянное напряжение

RC цепь

Для того, чтобы выделить постоянную составляющую из этого сигнала, нам достаточно прогнать его через нашу интегрирующую цепь. Давайте рассмотрим все это на примере. С помощью нашего генератора функций мы поднимем нашу синусоиду «над полом», то есть сделаем вот так:

RC цепь

Итак, все как обычно, желтый входной сигнал цепи, красный — выходной. Простая двухполярная синусоида дает нам на выходе RC интегрирующей цепи 0 Вольт:

RC цепь

Чтобы понять, где нулевой уровень сигналов, я их пометил квадратиком:

RC цепь

Теперь давайте я добавлю постоянную составляющую в синусоиду, а точнее — постоянное напряжение, благо это сделать мне позволяет генератор функций:

RC цепь

Как вы видите, как только я поднял синус «над полом», на выходе цепи я получил постоянное напряжение величиной в 5 Вольт. Именно на 5 Вольт я поднимал сигнал в генераторе функций ;-). Цепочка выделила постоянную составляющую из синусоидального приподнятого сигнала без проблем. Чудеса!

Но мы так и не разобрались, почему цепь называется интегрирующей? Кто хорошо учился в школе, в классе эдак 8-9, то наверняка помнит геометрический смысл интеграла — это есть ничто иное, как площадь под кривой.

Давайте рассмотрим тазик с кубиками льда в двухмерной плоскости:

RC цепь

Что будет, если весь лед растает и превратится в воду? Все верно, вода ровным слоем покроет тазик одной плоскостью:

RC цепь

Но какой будет этот уровень воды? Вот именно — средний. Это среднее значение этих башен из кубиков льда. Так вот, интегрирующая цепочка делает то же самое! Тупо усредняет значение сигналов до одного постоянного уровня! Можно сказать, усредняет площадь до одного постоянного уровня.

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

RC цепь

Как вы видите, постоянная составляющая меандра равна половине его амплитуды. Думаю, вы уже и сами догадались, если бы представили тазик с кубиками льда). Или просто подсчитайте площадь каждого импульса и размажьте его равномерным слоем по осциллограмме, как гов… как сливочное масло по хлебу 😉

Ну а теперь самое веселое. Сейчас я буду менять скважность нашего прямоугольного сигнала, так как скважность — это ничто иное, как отношение периода на длительность импульса, следовательно, мы будем менять длительность импульсов.

Уменьшаю длительность импульсов

RC цепь

Увеличиваю длительность импульсов

RC цепь

Если никто ничего до сих пор не заметил, просто взгляните на уровень красной осциллограммы и все станет понятно. Вывод: управляя скважностью, мы можем менять уровень постоянной составляющей. Именно этот принцип и заложен в ШИМ (Широтно-Импульсной Модуляции). О ней как-нибудь поговорим в отдельной статье.

Дифференцирующая RC цепь

Еще одно ругательное слово, которое пришло с математики — дифференцирующий. Башка начинает сразу же болеть от одного только их произношения. Но, куда деваться? Электроника и математика неразлучные друзья.

А вот и сама дифференциальная цепочка

дифференцирущая RC цепь

В схеме мы только переставили резистор и конденсатор местами

Ну а теперь проведем также все опыты, как мы делали с интегрирующей цепью. Для начала подаем на вход дифференциальной цепи низкочастотный двухполярный меандр с частотой в 1,5 Герца и с размахом в 5 Вольт. Желтый сигнал — это сигнал с генератора частоты, красный — с выхода дифференциальной цепочки:

RC цепь

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

Давайте увеличим частоту до 10 Герц

RC цепь

Как видите, конденсатор не успевает разрядиться, как уже приходит новый импульс.

Сигнал в 100 Герц сделал кривую разряда еще менее заметной.

RC цепь

Ну и добавим частоту до 1 Килогерца

RC цепь

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

Но и на этом тоже ништяки не заканчиваются.

Давайте я подниму входной сигнал над «уровнем моря», то есть выведу его в положительную часть полностью. Смотрим, что получается на выходе (красный сигнал)

RC цепь

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

Могу даже желтый сигнал вывести в отрицательную область, но на выходе мы все равно получим переменную составляющую сигнала без всяких хлопот:

RC цепь

Да и вообще пусть сигнал будет с небольшой отрицательной постоянной составляющей, все равно на выходе мы получим переменную составляющую:

RC цепь

Все то же самое касается и любых других сигналов:

RC цепь

RC цепь

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

Почему так происходит? Давайте разберемся. Рассмотрим нашу дифференциальную цепь:

RC цепь

Если внимательно рассмотреть эту схему, то мы можем увидеть тот же самый делитель напряжения, как и в интегрирующей цепи. Конденсатор — частотно-зависимый радиоэлемент. Итак, если подать сигнал с частотой в 0 Герц (постоянный ток), то у нас конденсатор тупо зарядится и потом вообще перестанет пропускать через себя ток. Цепь будет в обрыве. Но если мы будем подавать переменный ток, то и через конденсатор он тоже начнет проходить. Чем больше частота — тем меньше сопротивление конденсатора. Следовательно, весь переменный сигнал будет падать на резисторе, с которого мы как раз и снимаем сигнал.

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

Видео «Как работает RC-цепь РЕАЛЬНО. Понятное объяснение»

Заключение

Интегрирующую цепь также называют фильтром низких частот (ФНЧ), а дифференцирующую — фильтром высоких частот (ФВЧ). Более подробно про фильтры читаем здесь. Чтобы точнее их сделать, нужно провести расчет на нужную вам частоту. RC цепи используются везде, где надо выделить постоянную составляющую (ШИМ), переменную составляющую (межкаскадное соединение усилителей), выделить фронт сигнала, сделать задержку и тд… По мере глубины погружения в электронику вы будете часто встречаться с ними.

Крутой набор радиолюбителя по ссылке алиэкспрессе.