04-10-2021, 05:59
Модуль ШИМ может использоваться для управления потребителями, питающимися от низкого напряжения и потребляющими значительный ток, например двигателями постоянного тока или источниками света. Он позволяет не только включать, но и регулировать мощность (яркость) и получать эффект затемнения / осветления / плавного пуска. Им можно управлять с помощью компьютера, оснащенного любой микроконтроллерной системой, например Raspberry или Arduino с преобразователем UART / RS485.
Принципиальная схема модуля ШИМ представлена на рисунке. За управление отвечает микроконтроллер Attiny24, стабилизированное напряжение обеспечивает 78M05, связь с шиной RS485 осуществляется через MAX485.
Исполнительные элементы представляют собой два транзистора MOSFET-N. Нагрузочная способность зависит от типа используемых транзисторов. В схеме модели используется IRL3803 с максимальным напряжением 30 В и очень большим током стока, но без дополнительного радиатора он не должен превышать 5 А.
Можно использовать транзисторы другого типа и получать другие параметры, но они должны быть транзисторами, "совместимыми на логическом уровне". На рисунке показан способ подключения нагрузки к модулю ШИМ. Следует помнить, что индуктивные нагрузки, например двигатели или реле, требуют диода (1N4007) для защиты от перенапряжения.
Управление модулем осуществляется по шине RS485 с помощью простых команд. Управляющая команда должна начинаться со строки «P x x», где «xx» - это адрес модуля в диапазоне 00 ... 99. В случае цифрового управления остальная часть команды должна принимать один из трех вариантов:
Однако в случае управления ШИМ команда должна иметь вид "= vvv, ddd <CR>", где: "vvv" - значение коэффициента заполнения формы сигнала ШИМ в диапазоне 0 ... 255, " ddd "- коэффициент задержки, с которым это будет достигнуто, ранее указанное значение заполнения. Возможный диапазон 0 ... 255.
Запрос о состоянии выхода возвращает ответ в виде P xx = vvv <CR>, где «xx» - это адрес модуля, а «vvv» - текущее значение коэффициента ШИМ. Когда вывод управляется цифровым способом, значение будет 000 или 255. Во всех случаях в командах нет пробелов, а <CR> - это символ конца строки - значение ASCII, равное 0x0D.
Схема требует первоначальной настройки - понадобится терминал с интерфейсом RS485, например конвертер AVTMOD14, подключенный к ПК, и программа Bray Terminal +. Установка перемычки в положение 1 запускает автоматическую отправку состояния выхода.
Эта функция может быть активирована только на одном модуле на всей шине и только в том случае, если нет ведущего. Примерно каждые 4 секунды он отправляет на шину команду со статусом выхода. Это может быть полезно для идентификации модулей, поскольку команда содержит адрес модуля.
Установка перемычки в положение 2 и последующее включение питания модуля восстановит адрес по умолчанию со значением «00». Установка перемычки в положение 3 и включение питания модуля приводит к переходу в режим смены адреса.
Модуль отправляет значение текущего адреса, а затем ожидает ввода нового значения. После подтверждения клавишей Enter новое значение будет сохранено, и схема будет готова к работе. Следует помнить, что второй выход модуля автоматически увеличивает адрес на единицу, поэтому модулям следует назначать адреса, увеличенные на 2.
Принципиальная схема модуля ШИМ представлена на рисунке. За управление отвечает микроконтроллер Attiny24, стабилизированное напряжение обеспечивает 78M05, связь с шиной RS485 осуществляется через MAX485.
Исполнительные элементы представляют собой два транзистора MOSFET-N. Нагрузочная способность зависит от типа используемых транзисторов. В схеме модели используется IRL3803 с максимальным напряжением 30 В и очень большим током стока, но без дополнительного радиатора он не должен превышать 5 А.
Можно использовать транзисторы другого типа и получать другие параметры, но они должны быть транзисторами, "совместимыми на логическом уровне". На рисунке показан способ подключения нагрузки к модулю ШИМ. Следует помнить, что индуктивные нагрузки, например двигатели или реле, требуют диода (1N4007) для защиты от перенапряжения.
Управление модулем осуществляется по шине RS485 с помощью простых команд. Управляющая команда должна начинаться со строки «P x x», где «xx» - это адрес модуля в диапазоне 00 ... 99. В случае цифрового управления остальная часть команды должна принимать один из трех вариантов:
- "= 1 <CR>" - включает выход,
- "= 0 <CR>" - выключает выход,
- "=? <CR>" - возвращает ответ системы, содержащий текущее состояние выхода.
Однако в случае управления ШИМ команда должна иметь вид "= vvv, ddd <CR>", где: "vvv" - значение коэффициента заполнения формы сигнала ШИМ в диапазоне 0 ... 255, " ddd "- коэффициент задержки, с которым это будет достигнуто, ранее указанное значение заполнения. Возможный диапазон 0 ... 255.
Запрос о состоянии выхода возвращает ответ в виде P xx = vvv <CR>, где «xx» - это адрес модуля, а «vvv» - текущее значение коэффициента ШИМ. Когда вывод управляется цифровым способом, значение будет 000 или 255. Во всех случаях в командах нет пробелов, а <CR> - это символ конца строки - значение ASCII, равное 0x0D.
Схема требует первоначальной настройки - понадобится терминал с интерфейсом RS485, например конвертер AVTMOD14, подключенный к ПК, и программа Bray Terminal +. Установка перемычки в положение 1 запускает автоматическую отправку состояния выхода.
Эта функция может быть активирована только на одном модуле на всей шине и только в том случае, если нет ведущего. Примерно каждые 4 секунды он отправляет на шину команду со статусом выхода. Это может быть полезно для идентификации модулей, поскольку команда содержит адрес модуля.
Установка перемычки в положение 2 и последующее включение питания модуля восстановит адрес по умолчанию со значением «00». Установка перемычки в положение 3 и включение питания модуля приводит к переходу в режим смены адреса.
Модуль отправляет значение текущего адреса, а затем ожидает ввода нового значения. После подтверждения клавишей Enter новое значение будет сохранено, и схема будет готова к работе. Следует помнить, что второй выход модуля автоматически увеличивает адрес на единицу, поэтому модулям следует назначать адреса, увеличенные на 2.