Широтно-імпульсна модуляція (ШІМ) – це вишуканий термін для позначення типу цифрового сигналу. ШІМ використовуються в різних застосуваннях, включаючи складні схеми керування. Поширений спосіб їх використання в SparkFun – це регулювання яскравості RGB-світлодіода або керування напрямком сервоприводу. Ми можемо досягти різних результатів в обох цих застосуваннях, оскільки ШІМ дозволяє нам змінювати час, протягом якого сигнал є високим, аналоговим способом. Хоча сигнал може бути лише високим (зазвичай 5 В) або низьким (земля) в будь-який момент часу, ми можемо змінювати пропорцію часу, протягом якого сигнал є високим порівняно з низьким протягом постійного інтервалу часу.
Коли сигнал має високий рівень, ми називаємо його «увімкненим за часом». Щоб описати тривалість «увімкнення», ми використовуємо поняття шпаруватості. Штучність вимірюється у відсотках. Відсоток шпаруватості конкретно описує відсоток часу, протягом якого цифровий сигнал увімкнений протягом інтервалу або періоду. Період є оберненою величиною до частоти форми хвилі. Якщо цифровий сигнал увімкнений половину часу та вимкнений іншу половину, ми кажемо, що цифровий сигнал має шпаруватість 50%, подібно до ідеальної прямокутної хвилі. Якщо відсоток вищий за 50%, цифровий сигнал проводить більше часу у високому стані, ніж у низькому, і навпаки, якщо шпаруватість менша за 50%. Наступна діаграма ілюструє ці три випадки:

100% шпаруватість дорівнює встановленню напруги на 5 вольт (висока). 0% шпаруватість дорівнює підключенню сигналу до землі.
приклад
Ви можете керувати яскравістю світлодіода, регулюючи робочий цикл.

За допомогою світлодіодів RGB (червоний, зелений та синій) ви можете контролювати кількість кожного з трьох кольорів, що змішуються, шляхом їх затемнення на різну величину.

Якщо всі три кольори ввімкнути в рівній кількості, результатом будуть різні відтінки білого світла. Таке ж змішування синього та зеленого створить блакитно-зелений колір. Для дещо складнішого прикладу спробуйте повністю ввімкнути червоний, повністю ввімкнути зелений при 50% шпаруватості та повністю вимкнути синій, щоб створити помаранчевий колір.

Під час керування світлодіодами частота прямокутної хвилі має бути достатньо високою для досягнення належного ефекту затемнення. Хвиля з 20% шпаруватістю на частоті 1 Гц чітко покаже вашому оку, як вона вмикається та вимикається, тоді як 100% шпаруватість на частоті 20 Гц або вище буде здаватися тьмянішою, ніж коли вона повністю ввімкнена. По суті, якщо вашою метою є досягнення ефекту затемнення за допомогою світлодіодів, період не може бути занадто великим. Ви також можете використовувати широтно-імпульсну модуляцію для керування кутом серводвигуна, підключеного до механічного пристрою, такого як роботизована рука. Серводвигун має вал, який повертається в певне положення на основі його лінії керування. Наші серводвигуни мають діапазон приблизно 180 градусів.
Частота/період залежить від керування певним сервоприводом. Типовий серводвигун очікує оновлення кожні 20 мс, з імпульсом від 1 мс до 2 мс, іншими словами, робочий цикл від 5% до 10% на частоті хвилі 50 Гц. При імпульсі 1,5 мс серводвигун буде знаходитися у своєму природному положенні під кутом 90 градусів. При імпульсі 1 мс серводвигун буде знаходитися під кутом 0 градусів, а при імпульсі 2 мс – під кутом 180 градусів. Ви можете отримати повний діапазон руху, оновлюючи значення сервоприводу до проміжних значень.
Широтно-імпульсна модуляція використовується в різних сферах застосування, особливо в управлінні. Тепер, коли ви знаєте, що її можна використовувати для регулювання яскравості світлодіодів та керування кутом серводвигунів, ви можете почати досліджувати інші можливі способи її використання. Якщо ви розгублені, ознайомтеся з набором винахідника SparkFun, який містить приклади використання широтно-імпульсної модуляції. Якщо ви готові одразу почати програмувати та маєте Arduino, ознайомтеся з прикладами ШІМ-кодування тут.
Час публікації: 31 липня 2025 р.


