Выбор частоты ШИМ во время работы программы.
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Выбор частоты ШИМ во время работы программы.
Блоки позволяют изменять частоту ШИМ на лету, на выводах 3,9,10,11 из любого места программы. Делались для плат на Atmega328, но должны заработать и на
168-х.
На вход блока необходимо подавать число от 1 до 7(5), которое определяет делитель для тактования таймера. Описание соответствия значения на входе и реальной частоты внутри блоков.
Добавил блок для 10-и разрядного ШИМа на первом таймере. Блок не использует сторонние библиотеки.
Добавил блоки для Меги, не проверял, так что возможны неточности.
168-х.
На вход блока необходимо подавать число от 1 до 7(5), которое определяет делитель для тактования таймера. Описание соответствия значения на входе и реальной частоты внутри блоков.
Добавил блок для 10-и разрядного ШИМа на первом таймере. Блок не использует сторонние библиотеки.
Добавил блоки для Меги, не проверял, так что возможны неточности.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось RedSky 13 ноя 2019, 13:59, всего редактировалось 2 раза.
-
- Рядовой
- Сообщения: 22
- Зарегистрирован: 17 дек 2018, 11:21
- Имя: gregori
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Выбор частоты ШИМ во время работы программы.
Для 2560 не задумывал изначально. Возможно заработают нормально или на других пинах, или не заработает совсем. Нужно читать описание регистров управления таймереми.
Выбор частоты ШИМ во время работы программы.
У меня кулеры работают через пид регулятор, по шим. Надо ли менять в пид настройках что то (выходное значение. у мя от 0-255)? Раньше при стандартной частоте обороты регулировались. Мешал только писк. А сейчас до 99% мощности стоят и при 100 кулера срываются. А мосфет до 99% мощности тускло горит.
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Выбор частоты ШИМ во время работы программы.
Проект бы увидеть. Похоже как таймер занят под другую задачу.
А когда мосфет даже тускло горит - непорядок
А когда мосфет даже тускло горит - непорядок

Выбор частоты ШИМ во время работы программы.
Ок, выкладываю
Не мосфет горит, а индикация на мосфете))
Не мосфет горит, а индикация на мосфете))
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Выбор частоты ШИМ во время работы программы.
Сегодня уже не успеваю глянуть. Попробуйте пока просто светодиод с резистором на 150-300 ом вместо мосфета подключить - будет ли регулирование?
А что за мосфет такой, можно ссылку?
А что за мосфет такой, можно ссылку?
Выбор частоты ШИМ во время работы программы.
Вообщем он регулирует. Но по светодиоду, который я назвал индикатором)) и который вы посоветовали установить есть там, и видно, что блок не правильно регулирует. Если взять работу от 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 как знаковое число.
Пробовал переделать шим на 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 раз
Выбор частоты ШИМ во время работы программы.
[ref]vadulkin[/ref], вы не внимательно отнеслись к таймерам. Генератор секунд использует первый таймер - как и шим на 9 и 10. Автор блока предупреждает о проблемах с шим. Тут или отказаться от генератора на прерываниях, или использовать обычный генератор из стандартных блоков - точности думаю хватит.
Немного исправил ваш проект. Не был уверен, что подавать на вход шим переменную float хорошая идея, ну и ещё пару замечаний.
Немного исправил ваш проект. Не был уверен, что подавать на вход шим переменную float хорошая идея, ну и ещё пару замечаний.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Выбор частоты ШИМ во время работы программы.
Вроде работает, но одна хрень, нужная, перестает работать. Я так понимаю что скоростной счетчик тоже конфликтует? Через него у мя работает диммер на 220
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Выбор частоты ШИМ во время работы программы.
Скорее всего ваш диммер тоже использует таймер, надо смотреть код в IDE. Как вариант перенос шим на другие выводы.
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Выбор частоты ШИМ во время работы программы.
Добавил блок для 10-и разрядного ШИМа на первом таймере. Блок не использует сторонние библиотеки.
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Выбор частоты ШИМ во время работы программы.
Добавил блоки для Меги, не проверял, так что возможны неточности.
Выбор частоты ШИМ во время работы программы.
у меня не работает на нано
подаю число от 1-5 на блок и ничего не происходит
вентиль сидит на 9 выводе
подаю число от 1-5 на блок и ничего не происходит
вентиль сидит на 9 выводе
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- RedSky
- Лейтенант
- Сообщения: 576
- Зарегистрирован: 19 дек 2016, 20:07
- Откуда: Днепропетровск
- Имя: Алексей
- Поблагодарили: 1 раз
Выбор частоты ШИМ во время работы программы.
[ref]Di123[/ref], блок лишь меняет частоту. Для управления вентилем используйте стандартный шим выход.
-
- Рядовой
- Сообщения: 62
- Зарегистрирован: 22 янв 2024, 05:37
- Имя: Алекс
- Благодарил (а): 2 раза
- Поблагодарили: 6 раз
Выбор частоты ШИМ во время работы программы.
Добрый день..
А внутри диапазона выбранного делителя нельзя сделать чтобы плавно изменять частоту?
Спасибо..
А внутри диапазона выбранного делителя нельзя сделать чтобы плавно изменять частоту?
Спасибо..
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя