KREMEN Реклама
KREMEN Реклама

fast PWM и проблемы с ним, решение.

McPaul
Идет загрузка
Загрузка
28.09.2019
1911
3
Вопросы и ответы

Значит, сделал я освещение светодиодное с управлением от платы принтера.

Конечно же с возможностью регулировки яркости. Делать отдельную "крутилку" для этого совсем не хотелось.

И вот, настроив соответствующим образом прошивку обзавёлся светом с регулировкой яркости.

Но меня ждала неприятность - вентилятор обдува перестал вращаться на скоростях ниже 100%.

Ага, значит в прошивке надо выключить fast PWM и все дела.

Сделал - вентиляторы работают, но появились проблемы со светом.

На любых яркостях ниже 100% мерцание как на дискотеке. Долго бился с решением, но в итоге смирился - делал только выкл и вкл, на полную яркость.

И вот неделю или две спустя, листая строчки прошивки, споткнулся об это:

FAST_PWM_FAN_FREQUENCY [undefined by default]

 * Set this to your desired frequency.

 * If left undefined this defaults to F = F_CPU/(2*255*1)

О, кажется это то, что мне нужно.

Оказалось, с переходом на 32 бит плату управления - тактовая частота микропроцессора значительно возросла, и соответственно PWM частота тоже выросла - что и не понравилось вентиляторам.

Значит нужно явно указать частоты ШИМ для FAST_PWM.

Путём перебора нескольких частот, добился решения выставив частоту 977гЦ.

#if ENABLED(FAST_PWM_FAN)

  #define FAST_PWM_FAN_FREQUENCY 977

Если сделать частоту меньше - вентиляторы визжат с этой частотой, а если выше, то уже не способны вращаться.

Расчеты: тактовая частота СКР1.3 - 100 мГц, а ATMega 16mГц. значит:

 F = F_CPU/(2*255*1) =

СКР1.3 F= 100000000/510=196 Кгц

ATMega F= 16000000/510=31,4 Кгц

Хы, 196кГц это уже радиостанция на длинных волнах.

Вопросы:

1. Почему указание частоты в 31.4 кГц не решило проблему, а лишь 977 Гц

2. Кто нибудь обьясните, зачем вот в этой вормуле F = F_CPU/(2*255*1) присутствует цифра 1 :)

Ответы на вопросы
Lider 3D Реклама
Lider 3D Реклама