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

Пользовательские блоки ПИД регуляторов, прочих регуляторов и для работы с ШИМ выходами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

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

#1

Сообщение RedSky » 08.01.2018{, 00:36}

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

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

Добавил блоки для Меги, не проверял, так что возможны неточности.
Вложения
ШИМ2560.ubl
(31.14 КБ) 214 скачиваний
ШИМ.ubl
(33.7 КБ) 240 скачиваний
Последний раз редактировалось RedSky 13.11.2019{, 13:59}, всего редактировалось 2 раза.

gregori08091971
Рядовой
Сообщения: 22
Зарегистрирован: 17.12.2018{, 11:21}
Репутация: 0
Имя: gregori

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

#2

Сообщение gregori08091971 » 27.12.2018{, 13:26}

На 2560 не пробовали

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

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

#3

Сообщение RedSky » 27.12.2018{, 17:33}

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

vadulkin
Рядовой
Сообщения: 7
Зарегистрирован: 31.05.2018{, 11:42}
Репутация: 0
Имя: Вадим

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

#4

Сообщение vadulkin » 10.01.2019{, 17:40}

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

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

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

#5

Сообщение RedSky » 10.01.2019{, 22:42}

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

vadulkin
Рядовой
Сообщения: 7
Зарегистрирован: 31.05.2018{, 11:42}
Репутация: 0
Имя: Вадим

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

#6

Сообщение vadulkin » 13.01.2019{, 19:00}

Ок, выкладываю
Не мосфет горит, а индикация на мосфете))
Вложения
1.flp
(747.63 КБ) 157 скачиваний

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

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

#7

Сообщение RedSky » 13.01.2019{, 19:12}

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

vadulkin
Рядовой
Сообщения: 7
Зарегистрирован: 31.05.2018{, 11:42}
Репутация: 0
Имя: Вадим

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

#8

Сообщение vadulkin » 14.01.2019{, 15:16}

Вообщем он регулирует. Но по светодиоду, который я назвал индикатором)) и который вы посоветовали установить есть там, и видно, что блок не правильно регулирует. Если взять работу от 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 как знаковое число.
Вложения
-1689716793-737068731.jpg

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

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

#9

Сообщение RedSky » 14.01.2019{, 22:54}

vadulkin, вы не внимательно отнеслись к таймерам. Генератор секунд использует первый таймер - как и шим на 9 и 10. Автор блока предупреждает о проблемах с шим. Тут или отказаться от генератора на прерываниях, или использовать обычный генератор из стандартных блоков - точности думаю хватит.
Немного исправил ваш проект. Не был уверен, что подавать на вход шим переменную float хорошая идея, ну и ещё пару замечаний.
Вложения
2.flp
(754.57 КБ) 111 скачиваний
ошибка.png

vadulkin
Рядовой
Сообщения: 7
Зарегистрирован: 31.05.2018{, 11:42}
Репутация: 0
Имя: Вадим

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

#10

Сообщение vadulkin » 15.01.2019{, 16:15}

Вроде работает, но одна хрень, нужная, перестает работать. Я так понимаю что скоростной счетчик тоже конфликтует? Через него у мя работает диммер на 220
Вложения
Безымянный.jpg

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

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

#11

Сообщение RedSky » 15.01.2019{, 17:43}

Скорее всего ваш диммер тоже использует таймер, надо смотреть код в IDE. Как вариант перенос шим на другие выводы.

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

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

#12

Сообщение RedSky » 29.08.2019{, 16:03}

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

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

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

#13

Сообщение RedSky » 13.11.2019{, 14:00}

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

Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03.11.2018{, 19:38}
Репутация: 29
Имя: Дмитрий

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

#14

Сообщение Di123 » 04.12.2019{, 12:45}

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

Аватара пользователя
RedSky
Лейтенант
Сообщения: 574
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 72
Откуда: Днепропетровск
Имя: Алексей

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

#15

Сообщение RedSky » 04.12.2019{, 21:00}

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

VNL64T
Рядовой
Сообщения: 37
Зарегистрирован: 22.01.2024{, 05:37}
Репутация: 3
Имя: Алекс

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

#16

Сообщение VNL64T » 24.01.2024{, 05:10}

Добрый день..
А внутри диапазона выбранного делителя нельзя сделать чтобы плавно изменять частоту?

Спасибо..

Ответить

Вернуться в «ПИД регуляторы (PID), блоки для ШИМ»