Найти в Дзене
АЛАЕВ

Контроллер управления лестничным аттенюатором - регулятором громкости (дополнение)

К публикации Контроллер управления лестничным аттенюатором - регулятором громкости один из Читателей проявил повышенное внимание и обнаружил, что информация, касающаяся подключения ИК-пульта дистанционного управления, не отражена в полной мере. Читателем было предложено обновить информацию в предыдущей публикации, либо поделиться актуальной схемой подключения ИК-приемника для пульта дистанционного управления (ПДУ). Почему бы и нет... Я решил, что первый вариант (обновить предыдущую информацию) не подходит, так как выложенная для общего доступа прошивка не включает в себя поддержку работы ПДУ и полностью соответствует представленной схемотехнике модулей. Второй вариант (поделиться актуальной схемой) больше подходит для общего восприятия, так как в будущем планируется дальнейшее развитие обсуждаемых модулей. Его и примем за рабочий вариант. Итак, в чем произошло рассогласование и как это было исправлено. Ниже представлена схема сборки Модуля энкодера и индикации. По этой схеме мы

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

Скриншот переписки с Читателем
Скриншот переписки с Читателем

Читателем было предложено обновить информацию в предыдущей публикации, либо поделиться актуальной схемой подключения ИК-приемника для пульта дистанционного управления (ПДУ).

Почему бы и нет...

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

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

Его и примем за рабочий вариант.

Итак, в чем произошло рассогласование и как это было исправлено.

Ниже представлена схема сборки Модуля энкодера и индикации.

Схема сборки Модуля энкодера и индикации
Схема сборки Модуля энкодера и индикации

По этой схеме мы видим, что выход ИК-приемника, который подключается к J2, помечен связью "4".

Номерное обозначение связей осталось для совместимости с Модулем управления, в котором числовые шины были просто зарезервированы для будущего применения.

Связь "4", помеченная как IR, приходит на вывод "10" разъема J1, который в свою очередь выполняет роль межплатного соединителя, по нему сигналы с Модуля энкодера и индикации попадают на Модуль управления и обратно.

Теперь смотрим, что у нас происходит на Модуле управления (ревизия "А")?

Модуль управления, схема сборки, ревизия "А"
Модуль управления, схема сборки, ревизия "А"

На межплатный соединитель J7 на контакт "10" приходит сигнал с ИК-приемника Модуля энкодера и индикации, но, как видим по схеме, до контроллера он не доходит!

Собственно, в этом и был главный вопрос от внимательного Читателя.

Сигнал ИК-приемника не доходит до контроллера
Сигнал ИК-приемника не доходит до контроллера

Изначально я полагал, что я подключу сигнал от ИК-приемника монтажным проводом на любой свободный пин контроллера, например, на D12, который в данном проекте не задействован. Именно так я и сделал, но, к сожалению, разработать стабильно работающую программу с таким включением мне не удалось! Я планировал программно опрашивать пин в ожидании посылки от ИК-приемника, но это оказалось плохой идеей. В конечном итоге я пришел к выводу, что для того, чтобы стабильно "ловить" все посылки от ПДУ - крайне необходимо использовать пин с внешним аппаратным прерыванием, а таких пинов у Arduino Nano только два: D2 и D3 и оба заняты под работу с энкодером. Пришлось менять пины местами и переделывать код программы.

Я проверил работу схемы на макете, после чего было сделано следующее обновление.

1. Выполнить соединение вывода "10" разъема "J7" c D2 Arduino (линия данных датчика IR).

Доработка модуля управления Рев. А для поддержки пульта ДУ
Доработка модуля управления Рев. А для поддержки пульта ДУ
Доработка модуля управления Рев. А для поддержки пульта ДУ
Доработка модуля управления Рев. А для поддержки пульта ДУ

2. Разорвать соединение дорожки.

Доработка модуля управления Рев. А для поддержки пульта ДУ
Доработка модуля управления Рев. А для поддержки пульта ДУ

3. Выполнить соединение верхней части дорожки c D12 Arduino (линия данных энкодера).

Доработка модуля управления Рев. А для поддержки пульта ДУ
Доработка модуля управления Рев. А для поддержки пульта ДУ

Фактически, этой доработкой мы поменяли местами пины D12 и D2.

В такой схеме включения, когда сигнал ИК-приемника приходит на пин внешнего аппаратного прерывания D2, все работает стабильно!

На основе проведенных манипуляций Модуль управления был переразведен согласно новой ревизии "В".

Модуль управления, полная схема связей, ревизия "В"
Модуль управления, полная схема связей, ревизия "В"

Можно увидеть, что сигналы ИК-приемника и энкодера поменялись местами.

Сигнал ИК-приемника приходит на вход аппаратного прерывания D2
Сигнал ИК-приемника приходит на вход аппаратного прерывания D2

Такая схемотехника позволяет стабильно работать модулю управлению и "ловить" все посылки ИК-пульта.

Итак, что мы имеем сейчас в конечном остатке:

Модуль управления Рев. А - подходит для управления релейным аттенюатором, не поддерживает работу с пультом ДУ. Для совместимости с пультом ДУ требует небольшой доработки (см. выше).

Модуль управления Рев. В - последняя на данный момент версия модуля управления, поддерживает весь заявленный функционал.