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

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

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

Сообщение RedSky »

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

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

Добавил блоки для Меги, не проверял, так что возможны неточности.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось RedSky 13 ноя 2019, 13:59, всего редактировалось 2 раза.
gregori08091971
Рядовой
Сообщения: 22
Зарегистрирован: 17 дек 2018, 11:21
Имя: gregori

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

Сообщение gregori08091971 »

На 2560 не пробовали
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

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

Сообщение RedSky »

Для 2560 не задумывал изначально. Возможно заработают нормально или на других пинах, или не заработает совсем. Нужно читать описание регистров управления таймереми.
vadulkin
Рядовой
Сообщения: 7
Зарегистрирован: 31 май 2018, 11:42
Имя: Вадим

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

Сообщение vadulkin »

У меня кулеры работают через пид регулятор, по шим. Надо ли менять в пид настройках что то (выходное значение. у мя от 0-255)? Раньше при стандартной частоте обороты регулировались. Мешал только писк. А сейчас до 99% мощности стоят и при 100 кулера срываются. А мосфет до 99% мощности тускло горит.
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

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

Сообщение RedSky »

Проект бы увидеть. Похоже как таймер занят под другую задачу.
А когда мосфет даже тускло горит - непорядок :D
vadulkin
Рядовой
Сообщения: 7
Зарегистрирован: 31 май 2018, 11:42
Имя: Вадим

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

Сообщение vadulkin »

Ок, выкладываю
Не мосфет горит, а индикация на мосфете))
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

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

Сообщение RedSky »

Сегодня уже не успеваю глянуть. Попробуйте пока просто светодиод с резистором на 150-300 ом вместо мосфета подключить - будет ли регулирование?
А что за мосфет такой, можно ссылку?
vadulkin
Рядовой
Сообщения: 7
Зарегистрирован: 31 май 2018, 11:42
Имя: Вадим

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

Сообщение 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 как знаковое число.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

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

Сообщение RedSky »

[ref]vadulkin[/ref], вы не внимательно отнеслись к таймерам. Генератор секунд использует первый таймер - как и шим на 9 и 10. Автор блока предупреждает о проблемах с шим. Тут или отказаться от генератора на прерываниях, или использовать обычный генератор из стандартных блоков - точности думаю хватит.
Немного исправил ваш проект. Не был уверен, что подавать на вход шим переменную float хорошая идея, ну и ещё пару замечаний.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
vadulkin
Рядовой
Сообщения: 7
Зарегистрирован: 31 май 2018, 11:42
Имя: Вадим

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

Сообщение vadulkin »

Вроде работает, но одна хрень, нужная, перестает работать. Я так понимаю что скоростной счетчик тоже конфликтует? Через него у мя работает диммер на 220
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

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

Сообщение RedSky »

Скорее всего ваш диммер тоже использует таймер, надо смотреть код в IDE. Как вариант перенос шим на другие выводы.
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

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

Сообщение RedSky »

Добавил блок для 10-и разрядного ШИМа на первом таймере. Блок не использует сторонние библиотеки.
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

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

Сообщение RedSky »

Добавил блоки для Меги, не проверял, так что возможны неточности.
Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03 ноя 2018, 19:38
Имя: Дмитрий

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

Сообщение Di123 »

у меня не работает на нано
подаю число от 1-5 на блок и ничего не происходит
вентиль сидит на 9 выводе
шим.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

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

Сообщение RedSky »

[ref]Di123[/ref], блок лишь меняет частоту. Для управления вентилем используйте стандартный шим выход.
VNL64T
Рядовой
Сообщения: 62
Зарегистрирован: 22 янв 2024, 05:37
Имя: Алекс
Благодарил (а): 2 раза
Поблагодарили: 6 раз

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

Сообщение VNL64T »

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

Спасибо..
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя