Страница 1 из 1

Выбор частоты ШИМ во время работы программы.

Добавлено: 08.01.2018{, 00:36}
RedSky
Блоки позволяют изменять частоту ШИМ на лету, на выводах 3,9,10,11 из любого места программы. Делались для плат на Atmega328, но должны заработать и на
168-х.
На вход блока необходимо подавать число от 1 до 7(5), которое определяет делитель для тактования таймера. Описание соответствия значения на входе и реальной частоты внутри блоков.

Добавил блок для 10-и разрядного ШИМа на первом таймере. Блок не использует сторонние библиотеки.

Добавил блоки для Меги, не проверял, так что возможны неточности.

Выбор частоты ШИМ во время работы программы.

Добавлено: 27.12.2018{, 13:26}
gregori08091971
На 2560 не пробовали

Выбор частоты ШИМ во время работы программы.

Добавлено: 27.12.2018{, 17:33}
RedSky
Для 2560 не задумывал изначально. Возможно заработают нормально или на других пинах, или не заработает совсем. Нужно читать описание регистров управления таймереми.

Выбор частоты ШИМ во время работы программы.

Добавлено: 10.01.2019{, 17:40}
vadulkin
У меня кулеры работают через пид регулятор, по шим. Надо ли менять в пид настройках что то (выходное значение. у мя от 0-255)? Раньше при стандартной частоте обороты регулировались. Мешал только писк. А сейчас до 99% мощности стоят и при 100 кулера срываются. А мосфет до 99% мощности тускло горит.

Выбор частоты ШИМ во время работы программы.

Добавлено: 10.01.2019{, 22:42}
RedSky
Проект бы увидеть. Похоже как таймер занят под другую задачу.
А когда мосфет даже тускло горит - непорядок :D

Выбор частоты ШИМ во время работы программы.

Добавлено: 13.01.2019{, 19:00}
vadulkin
Ок, выкладываю
Не мосфет горит, а индикация на мосфете))

Выбор частоты ШИМ во время работы программы.

Добавлено: 13.01.2019{, 19:12}
RedSky
Сегодня уже не успеваю глянуть. Попробуйте пока просто светодиод с резистором на 150-300 ом вместо мосфета подключить - будет ли регулирование?
А что за мосфет такой, можно ссылку?

Выбор частоты ШИМ во время работы программы.

Добавлено: 14.01.2019{, 15:16}
vadulkin
Вообщем он регулирует. Но по светодиоду, который я назвал индикатором)) и который вы посоветовали установить есть там, и видно, что блок не правильно регулирует. Если взять работу от 0% до 99% мощности работы, соответствует шим сигналу от 0 до примерно ±50. Которого не хватает раскрутить кулер. Яркость Светодиода меняется от совсем тусклого до более менее тусклого )) но как наступает 100% ( т.е. шим 255)то кулер срывается и светодиод горит на всю, как бы минуя с 51 по 254
Пробовал переделать шим на 1023, та же херь
Отправлено спустя 2 минуты 31 секунду:
Мосфет. Я так его называю)

Отправлено спустя 7 минут 24 секунды:
Может этот случай? Цитата:

На практике выяснилось, что при установке разрядности ШИМ больше 8ми функция analogWrite() не правильно отрабатывает код 255. Например, при 10ти разрядном ШИМ все коды от 0 до 1023 работают правильно, за исключением кода 255. Вместо того чтобы сформировать сигнал скважностью 1/4, вырабатывается статический сигнал уровня лог. 1. Что соответствует коду 1023.

Не знаю причину такого эффекта. Возможно функция analogWrite() воспринимает 255 как максимальное значение и расширяет его на весь диапазон. Может она принимает 255 как знаковое число.

Выбор частоты ШИМ во время работы программы.

Добавлено: 14.01.2019{, 22:54}
RedSky
vadulkin, вы не внимательно отнеслись к таймерам. Генератор секунд использует первый таймер - как и шим на 9 и 10. Автор блока предупреждает о проблемах с шим. Тут или отказаться от генератора на прерываниях, или использовать обычный генератор из стандартных блоков - точности думаю хватит.
Немного исправил ваш проект. Не был уверен, что подавать на вход шим переменную float хорошая идея, ну и ещё пару замечаний.

Выбор частоты ШИМ во время работы программы.

Добавлено: 15.01.2019{, 16:15}
vadulkin
Вроде работает, но одна хрень, нужная, перестает работать. Я так понимаю что скоростной счетчик тоже конфликтует? Через него у мя работает диммер на 220

Выбор частоты ШИМ во время работы программы.

Добавлено: 15.01.2019{, 17:43}
RedSky
Скорее всего ваш диммер тоже использует таймер, надо смотреть код в IDE. Как вариант перенос шим на другие выводы.

Выбор частоты ШИМ во время работы программы.

Добавлено: 29.08.2019{, 16:03}
RedSky
Добавил блок для 10-и разрядного ШИМа на первом таймере. Блок не использует сторонние библиотеки.

Выбор частоты ШИМ во время работы программы.

Добавлено: 13.11.2019{, 14:00}
RedSky
Добавил блоки для Меги, не проверял, так что возможны неточности.

Выбор частоты ШИМ во время работы программы.

Добавлено: 04.12.2019{, 12:45}
Di123
у меня не работает на нано
подаю число от 1-5 на блок и ничего не происходит
вентиль сидит на 9 выводе
шим.flp
(66.6 КБ) 87 скачиваний

Выбор частоты ШИМ во время работы программы.

Добавлено: 04.12.2019{, 21:00}
RedSky
Di123, блок лишь меняет частоту. Для управления вентилем используйте стандартный шим выход.

Выбор частоты ШИМ во время работы программы.

Добавлено: 24.01.2024{, 05:10}
VNL64T
Добрый день..
А внутри диапазона выбранного делителя нельзя сделать чтобы плавно изменять частоту?

Спасибо..