На малой яркости старая подсветка заметно мерцала на камеру. Я перенёс ШИМ на 24 кГц и сделал три одинаковых канала. Главная трудность оказалась не в прошивке: длинный провод превращал каждый фронт в маленький звон.

Резистор 47 Ом в затворе AO3400A немного замедлил фронты. Подтяжка 100 кОм держит канал выключенным во время старта. На входе стоят предохранитель и 470 мкФ; питание ленты 12 В. При токе 2 А корпус транзистора на моей плате нагревался до 58 °C при комнатных 24 °C. Для закрытого корпуса ток ограничил до 1,5 А на канал.
Что стоит на плате
| Поз. | Компонент / номинал | Кол. |
|---|---|---|
| U1 | STM32G031K8T6 | 1 |
| Q1–Q3 | AO3400A | 3 |
| R1–R3 | 47 Ом, 0603 | 3 |
| R4–R6 | 100 кОм, 0603 | 3 |
| C1 | 470 мкФ / 25 В | 1 |
Небольшой фрагмент прошивки
Этот фрагмент фиксирует одно решение; полный проект с настройкой периферии сюда не включён.
// TIM3 уже настроен: частота счётчика 24 МГц, ARR = 999.
constexpr uint16_t pwm_top = 999;
uint16_t target = gamma_table[brightness];
target = (target > pwm_top) ? pwm_top : target;
if (duty < target) ++duty;
else if (duty > target) --duty;
__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_1, duty);
// Один шаг каждые 2 мс. Начальное значение CCR — ноль.
Журнал изменений
Записал результаты двухчасового прогрева.
Изменил резисторы затворов с 10 до 47 Ом.
Первое включение трёх каналов.
Записи по проекту
Два часа на полной яркости
Новая плата драйвера пережила вечер на стенде. Три канала нагружал резистивными эквивалентами, потому что метров ленты на все опыты уже не хватало.
Почему пищит тихая подсветка
Поднял частоту ШИМ до 24 кГц и решил, что теперь всё будет тихо. Но при длинном кабеле слышался слабый звук, а на фронте был звон.
Материалы проекта
Обсуждаю схемы, платы и прошивку по почте. Если заинтересовала разработка, напишите: hello@microcontrolltech.dev.
- KiCad
- BIN
- ZIP