Оглавление:

Умный светодиодный диммер DIY, управляемый через Bluetooth: 7 шагов
Умный светодиодный диммер DIY, управляемый через Bluetooth: 7 шагов

Видео: Умный светодиодный диммер DIY, управляемый через Bluetooth: 7 шагов

Видео: Умный светодиодный диммер DIY, управляемый через Bluetooth: 7 шагов
Видео: СДЕЛАЛ УМНЫЙ ДОМ ***ЗА 10 МИНУТ!*** 2024, Июль
Anonim
Умный светодиодный диммер DIY, управляемый через Bluetooth
Умный светодиодный диммер DIY, управляемый через Bluetooth

В этом руководстве описывается, как создать интеллектуальный цифровой диммер. Диммер - это обычный выключатель света, который используется в домах, гостиницах и многих других зданиях. Старые версии диммерных переключателей были ручными и обычно включали поворотный переключатель (потенциометр) или кнопки для управления уровнем освещенности. В этом руководстве описывается, как создать цифровой диммер, у которого есть два способа управления интенсивностью света; смартфон и физические кнопки. Эти два режима могут работать вместе, так что пользователь может увеличивать или уменьшать яркость как с помощью кнопки, так и со смартфона. Проект реализован с использованием модуля SLG46620V CMIC, Bluetooth HC-06, кнопок и светодиодов.

Мы собираемся использовать SLG46620V CMIC, поскольку он помогает минимизировать дискретные компоненты проекта. ИС GreenPAK ™ имеют небольшие размеры и содержат многоцелевые компоненты, что позволяет проектировщику уменьшать количество компонентов и добавлять новые функции. Кроме того, впоследствии снижается стоимость проекта.

SLG46620V также содержит интерфейс подключения SPI, блоки PWM, FSM и множество полезных дополнительных блоков в одном крошечном чипе. Эти компоненты позволяют пользователю создать практичный интеллектуальный диммер, которым можно управлять с помощью устройства Bluetooth или настенных кнопок, поддерживать диммирование в течение длительного времени и добавлять выбираемые функции без использования микроконтроллера или дорогостоящих компонентов.

Ниже мы описали шаги, необходимые для понимания того, как было запрограммировано решение для создания интеллектуального светодиодного диммера, управляемого через Bluetooth. Однако, если вы просто хотите получить результат программирования, загрузите программное обеспечение GreenPAK, чтобы просмотреть уже заполненный файл дизайна GreenPAK. Подключите GreenPAK Development Kit к компьютеру и запустите программу, чтобы создать интеллектуальный светодиодный диммер, управляемый через Bluetooth.

Шаг 1. Особенности и интерфейс проекта

Особенности проекта и интерфейс
Особенности проекта и интерфейс

Особенности проекта:

1. Два метода контроля; мобильное приложение и реальные кнопки.

2. Плавный переход света. Это более полезно для глаз потребителя. Это также дает ощущение большей роскоши, которое привлекает отели и другие сферы услуг.

3. Функция спящего режима. Это будет добавленной стоимостью для этого приложения. Когда пользователь активирует этот режим, яркость света постепенно уменьшается в течение 10 минут. Это помогает людям, страдающим бессонницей. Это также полезно для детских спален и розничных магазинов (время закрытия).

Интерфейс проекта

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

ВКЛ / ВЫКЛ: включить / выключить свет (мягкий старт / стоп).

ВВЕРХ: увеличить уровень освещенности.

Вниз: уменьшить уровень освещенности.

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

Система выдаст сигнал ШИМ, который будет передан на внешний светодиодный индикатор и светодиодный индикатор спящего режима.

Конструкция ГринПАК состоит из 4 основных блоков. Первый - это приемник UART, который получает данные от модуля Bluetooth, извлекает заказы и отправляет их в блок управления. Второй блок - это блок управления, который принимает команды от приемника UART или от внешних кнопок. Блок управления определяет необходимое действие (включить / выключить, увеличить, уменьшить, включить спящий режим). Этот блок реализован с использованием LUT.

Третий блок поставляет генераторы CLK. В этом проекте счетчик FSM используется для управления PWM. Значение конечного автомата будет изменяться (вверх, вниз) в соответствии с порядком, заданным тремя частотами (высокая, средняя и низкая). В этом разделе будут сгенерированы три частоты, и требуемый CLK перейдет к FSM в требуемом порядке; При включении / выключении высокая частота переходит в FSM для плавного пуска / остановки. Во время диммирования проходит средняя частота. Низкая частота переходит в спящий режим для более медленного уменьшения значения конечного автомата. Затем яркость света тоже медленно уменьшается. Четвертый блок - это блок ШИМ, который генерирует импульсы на внешние светодиоды.

Шаг 2: Дизайн GreenPAK

Лучший способ построить диммер с использованием GreenPAK - использовать 8-битный автомат и ШИМ. В SLG46620 FSM1 содержит 8 бит и может использоваться с PWM1 и PWM2. Модуль Bluetooth должен быть подключен, что означает, что должен использоваться параллельный выход SPI. Соединения битов 0-7 параллельного выхода SPI мультиплексируются с выходами DCMP1, DMCP2 и LF OSC CLK, OUT1, OUT0 OSC. PWM0 получает свой вывод от FSM0 (16 бит). FSM0 не останавливается на 255; увеличивается до 16383. Чтобы ограничить значение счетчика 8 битами, добавляется еще один конечный автомат; FSM1 используется как указатель, чтобы узнать, когда счетчик достигает 0 или 255. FSM0 использовался для генерации импульса PWM. Поскольку значения двух конечных автоматов должны быть изменены одновременно, чтобы иметь одно и то же значение, конструкция становится немного сложной, поскольку в обоих конечных автоматах есть предопределенная, ограниченная, выбираемая CLK. CNT1 и CNT3 используются в качестве посредников для передачи CLK обоим конечным автоматам.

Дизайн состоит из следующих разделов:

- приемник UART

- Устройство управления

- Генераторы и мультиплексор CLK

- ШИМ

Шаг 3: приемник UART

Приемник UART
Приемник UART

Во-первых, нам нужно настроить модуль Bluetooth HC06. HC06 использует протокол UART для связи. UART означает универсальный асинхронный приемник / передатчик. UART может конвертировать данные между параллельным и последовательным форматами и обратно. Он включает в себя приемник из последовательного в параллельный и преобразователь из параллельного в последовательный, которые синхронизируются отдельно. Данные, полученные в HC06, будут переданы на наше устройство GreenPAK. Состояние ожидания контакта 10 - ВЫСОКИЙ. Каждый отправленный символ начинается с логического стартового бита LOW, за которым следует настраиваемое количество битов данных и один или несколько логических HIGH стоповых битов.

HC06 отправляет 1 бит START, 8 бит данных и один бит STOP. Его скорость передачи по умолчанию - 9600. Мы отправим байт данных из HC06 в блок SPI GreenPAK SLG46620V.

Поскольку блок SPI не имеет битов START или STOP, эти биты вместо этого используются для включения и выключения тактового сигнала SPI (SCLK). Когда контакт 10 переходит в состояние НИЗКОГО, IC получает бит START, поэтому мы используем детектор спадающего фронта PDLY для определения начала связи. Этот детектор спадающего фронта синхронизирует DFF0, что позволяет сигналу SCLK синхронизировать блок SPI.

Наша скорость передачи составляет 9600 бит в секунду, поэтому период SCLK должен быть 1/9600 = 104 мкс. Поэтому мы установили частоту OSC на 2 МГц и использовали CNT0 в качестве делителя частоты.

2 МГц - 1 = 0,5 мкс

(104 мкс / 0,5 мкс) - 1 = 207

Следовательно, мы хотим, чтобы значение счетчика CNT0 было 207. Чтобы гарантировать, что данные не будут пропущены, к тактовому сигналу SPI добавляется задержка в половину тактового цикла, чтобы блок SPI синхронизировался в нужное время. Это достигается за счет использования CNT6, 2-битного LUT1 и внешних часов блока OSC. Выходной сигнал CNT6 становится высоким только через 52 мкс после тактирования DFF0, что составляет ровно половину нашего периода SCLK, равного 104 мкс. Когда он становится высоким, 2-битный логический элемент LUT1 AND позволяет сигналу OSC 2 МГц проходить в EXT. Вход CLK0, выход которого подключен к CNT0.

Шаг 4: блок управления

Устройство управления
Устройство управления

В этом разделе команды будут выполняться в соответствии с байтом, полученным от приемника UART, или в соответствии с сигналами от внешних кнопок. Контакты 12, 13, 14, 15 инициализируются как входы и подключаются к внешним кнопкам.

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

DFF6 используется для активации спящего режима, в котором его выход изменяется на высокий с нарастающим фронтом, поступающим из 2-битного LUT4, в то время как DFF10 используется для поддержания состояния освещения, а его выход изменяется с низкого на высокий и наоборот с каждым приходом нарастающего фронта. с 3-битного выхода LUT10.

FSM1 - 8-битный счетчик; он дает высокий импульс на своем выходе, когда его значение достигает 0 или 255. Следовательно, он используется для предотвращения превышения FSM0 (16-битного) значения 255, поскольку его выход сбрасывает DFF и изменяет состояние DFF10 с включенного на выключенное и наоборот, если освещение регулируется кнопками +, - и достигнут максимальный / минимальный уровень.

Сигналы, подключенные ко входам FSM1, сохраняются, вверх доходят до FSM0 через P11 и P12 для синхронизации и сохранения одного и того же значения на обоих счетчиках.

Шаг 5: генераторы и мультиплексор CLK

Генераторы и мультиплексор CLK
Генераторы и мультиплексор CLK

В этом разделе будут сгенерированы три частоты, но только одна будет синхронизировать конечные автоматы в любой момент времени. Первая частота - это RC OSC, которая выбирается из матрицы от 0 до P0. Вторая частота - это LF OSC, которая также выбирается из матрицы с 0 по P1; третья частота - выход CNT7.

3-битный LUT9 и 3-битный LUT11 позволяют пропускать одну частоту в соответствии с 3-битным выходом LUT14. После этого выбранные часы передаются в FSM0 и FSM1 через CNT1 и CNT3.

Шаг 6: ШИМ

ШИМ
ШИМ

Наконец, значение FSM0 преобразуется в сигнал ШИМ, который появляется через контакт 20, который инициализируется как выход и подключается к внешним светодиодам.

Шаг 7. Приложение для Android

Приложение для Android
Приложение для Android
Приложение для Android
Приложение для Android
Приложение для Android
Приложение для Android

В приложении для Android есть виртуальный интерфейс управления, аналогичный реальному интерфейсу. На нем пять кнопок; ВКЛ / ВЫКЛ, ВВЕРХ, ВНИЗ, спящий режим и подключение. Это приложение для Android сможет преобразовывать нажатия кнопок в команды и отправлять команды в модуль Bluetooth для выполнения.

Это приложение было создано с помощью MIT App Inventor, не требующего опыта программирования. App Inventor позволяет разработчику создавать приложения для устройств на ОС Android с помощью веб-браузера, соединяя блоки программирования. Вы можете импортировать наше приложение в MIT App Inventor, щелкнув «Проекты» -> «Импортировать проект (.aia) с моего компьютера» и выбрав файл.aia, включенный в эту заметку о приложении.

Чтобы создать приложение для Android, необходимо запустить новый проект. Требуется пять кнопок: одна - это средство выбора списка для устройств Bluetooth, а другие - кнопки управления. Нам также нужно добавить клиента Bluetooth. На рисунке 6 показан снимок экрана пользовательского интерфейса нашего приложения для Android.

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

Эти числа показаны в таблице 1.

Заключение

Эта инструкция описывает интеллектуальный диммер, которым можно управлять двумя способами; приложение для Android и настоящие кнопки. В GreenPAK SLG46620V выделены четыре отдельных блока, которые управляют потоком процесса для увеличения или уменьшения ШИМ света. Кроме того, функция спящего режима представлена как пример дополнительной модуляции, доступной для приложения. Показанный пример относится к низкому напряжению, но его можно изменить для реализации с более высоким напряжением.

Рекомендуемые: