Уважаемые пользователи! Наш сайт и форум содержится на средства полученные от рекламы. Если вы хотите и дальше продолжать общаться, скачивать, и т.п. пожалуйста отключите блокировку рекламы для нашего сайта/форума. Можно и покликать по рекламным ссылкам, так будут больше выплаты. Спасибо за понимание!

ШИИМ 10 БИТ пользовательский блока на Си

Пользовательские блоки ПИД регуляторов, прочих регуляторов и для работы с ШИМ выходами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 24
Откуда: Новосибирск

ШИИМ 10 БИТ пользовательский блока на Си

#1

Сообщение Слимпер » 07.07.2016{, 21:07}

Попалась мне на глаза интересная библиотека TimerOne, одна из функций возможность генерировать 10 Битный ШИМ с настраиваемым периодом.

Решил сделать блок:

Название :Блок ШИМ 10Бит

Разрядностью 10Бит (0-1023)
Период можно настраивать

Получилось два блока.
Описание:


PWM_CONST_(CODE)
СпойлерПоказать
Блок  ШИМ
Разрядностью 10Бит (0-1023)
Период можно настраивать
!!!!Возможны конфликты с блоками где используется Timer1 (из известных мне Rremote, Servo)

Входа
PWM_1, PWM_2, PWM_3 - задается скважность ШИМ в виде значений 0-1023

Параметры
period – Период ШИМ в микросекундах
меньше 100 лучше не ставить
Верхний предел 8388480 (8,4секунды)

pin_1, pin_2, pin_3 - номер пина соответствующего входам PWM_1, PWM_2, PWM_3
Если вход не используется, то надо выставлять 0.
Возможно использовать для следующих пинов
Arduino Uno          9, 10
Arduino Leonardo     9, 10, 11
Arduino Mega          11, 12, 13

encoder - Совместно сблоком Энкодер_С
Сделал для возможности использовать ШИМ, при примении  блока Энкодер_С, в этом режиме параметр period неиспользуется
Период ШИМ будет равен значению  period из блока Энкодер_С

! Блок Энкодер_С должен размещятся в проекте раньше Блок ШИМ
PWM_REG_(CODE)
СпойлерПоказать
Блок ШИМ
Разрядностью 10Бит (0-1023)
Период можно настраивать
!!!!Возможны конфликты с блоками где используется Timer1 (из известных мне Rremote, Servo)

Входа
PWM_1, PWM_2, PWM_3 - задается скважность ШИМ в виде значений 0-1023
period – Период ШИМ в микросекундах (если оставить пустым будет период 2000мкс)
Меньше 100 лучше не ставить (хотя это надо тестировать)
Верхний предел 8388480 (8,4секунды)

Параметры
pin_1, pin_2, pin_3 - номер пина соответствующего входам PWM_1, PWM_2, PWM_3
Если вход не используется, то надо выставлять 0.
Возможно использовать для следующих пинов
Arduino Uno              9, 10
Arduino Leonardo     9, 10, 11
Arduino Mega          11, 12, 13
Возможно использовать для следующих пинов
Arduino Uno                  9, 10
ArduinoLeonardo          9, 10, 11
ArduinoMega                11, 12, 13


!!!!Возможны конфликты с блоками где используется Timer1 (из известных мне Rremote, Servo)

Еще два блока полный аналог предыдущих, только используется Timer3 (есть только в ArduinoLeonardo ArduinoMega)

PWM_CONST_T3
PWM_REG_T3-CODE


Возможно использовать для следующих пинов
Arduino Leonardo     5
Arduino Mega            2, 3, 5


Если у кого есть осциллограф (и не лень),  проверти правильность работы и минимальной возможный период.

Обновление

Добавил второй вариант с заданием Периода через вход блока, т.е можно регулировать Период ШИМ по ходу выполнения программы.

Актуальные версии блоков находятся ШИМ 10 БИТ с изменяемым периодом 

Все вопросы и предложения в эту тему.
Последний раз редактировалось Слимпер 12.07.2016{, 04:38}, всего редактировалось 1 раз.

SVS55
Рядовой
Сообщения: 97
Зарегистрирован: 11.12.2016{, 13:56}
Репутация: 0
Откуда: Омская область г.Тара
Имя: Виталий

ШИИМ 10 БИТ пользовательский блока на Си

#21

Сообщение SVS55 » 06.10.2017{, 09:20}

Слимпер, Не могли бы Вы немного добавить входов выходов в  :Блок ШИМ 10Бит, PWM REG T1, а точнее вход для включения и выключения ШИМ и выход интеджер
Новичок

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 24
Откуда: Новосибирск

ШИИМ 10 БИТ пользовательский блока на Си

#22

Сообщение Слимпер » 06.10.2017{, 13:39}

SVS55 писал(а):Слимпер, Не могли бы Вы немного добавить входов выходов в  :Блок ШИМ 10Бит, PWM REG T1, а точнее вход для включения и выключения ШИМ и выход интеджер
А зачем входы выключения, подайте вход  PWM_1 0 и не будет импульсов.
Про выход не понял.

av
Майор
Сообщения: 1103
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 79
Имя: Алексей

ШИИМ 10 БИТ пользовательский блока на Си

#23

Сообщение av » 06.10.2017{, 14:29}

Слимпер   с какой максимальной частотой ШИМ может работать данный блок ?

Добавлено (06.10.2017, 14:29)
---------------------------------------------
Уважаемый Слимпер  могли бы вы ткнуть носом в указанный блок "Энкодер_С". Поиск по сайту результатов не дал. Заранее благодарен.

SVS55
Рядовой
Сообщения: 97
Зарегистрирован: 11.12.2016{, 13:56}
Репутация: 0
Откуда: Омская область г.Тара
Имя: Виталий

ШИИМ 10 БИТ пользовательский блока на Си

#24

Сообщение SVS55 » 06.10.2017{, 15:06}

av, Я вчера пробовал с ним разобраться частота доходила до 4 кГц
Новичок

av
Майор
Сообщения: 1103
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 79
Имя: Алексей

ШИИМ 10 БИТ пользовательский блока на Си

#25

Сообщение av » 06.10.2017{, 15:22}

SVS55 писал(а):av, Я вчера пробовал с ним разобраться частота доходила до 4 кГц
Период какой выставляли ? И что использовали для проверки, имеется ввиду нагрузка ШИМ. Звуков каких нибудь наблюдали ?

Добавлено (06.10.2017, 15:22)
---------------------------------------------
Просьба попробовать период снизить меньше 100. Интересно будет ли работать с низким периодом. Если конечно вас это не затруднит. И отписаться здесь в этой теме.
Последний раз редактировалось av 06.10.2017{, 15:18}, всего редактировалось 1 раз.

SVS55
Рядовой
Сообщения: 97
Зарегистрирован: 11.12.2016{, 13:56}
Репутация: 0
Откуда: Омская область г.Тара
Имя: Виталий

ШИИМ 10 БИТ пользовательский блока на Си

#26

Сообщение SVS55 » 06.10.2017{, 15:24}

av, В нагрузке ШИМ ничего пока нет кроме осцила. при значении в периоде 50 выдает 20кГц
Вложения
12332.flp
(476.62 КБ) 58 скачиваний
Последний раз редактировалось SVS55 06.10.2017{, 15:34}, всего редактировалось 1 раз.
Новичок

av
Майор
Сообщения: 1103
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 79
Имя: Алексей

ШИИМ 10 БИТ пользовательский блока на Си

#27

Сообщение av » 06.10.2017{, 15:44}

SVS55 писал(а):av, В нагрузке ШИМ ничего пока нет кроме осцила. при значении в периоде 50 выдает 20кГц
О... это уже радует ещё чуть чуть и за барьер слышимости человеческим ухом   .

SVS55
Рядовой
Сообщения: 97
Зарегистрирован: 11.12.2016{, 13:56}
Репутация: 0
Откуда: Омская область г.Тара
Имя: Виталий

ШИИМ 10 БИТ пользовательский блока на Си

#28

Сообщение SVS55 » 06.10.2017{, 15:47}

период 40 - частота - 25кГц  скважность 50% 512
период 30 - частота - 33кГц
период 20 - частота - 50кГц
период 10 - частота - 100кГц
период  5  - частота - 200кГц
период  1  - частота -  1мГц
Новичок

av
Майор
Сообщения: 1103
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 79
Имя: Алексей

ШИИМ 10 БИТ пользовательский блока на Си

#29

Сообщение av » 06.10.2017{, 15:52}

Сбоев не было ? Автор рекомендует ниже 100 период не опускать.

Добавлено (06.10.2017, 15:52)
---------------------------------------------
И кстати на высоких частотах ключи в цепях нагрузки почти не греются

SVS55
Рядовой
Сообщения: 97
Зарегистрирован: 11.12.2016{, 13:56}
Репутация: 0
Откуда: Омская область г.Тара
Имя: Виталий

ШИИМ 10 БИТ пользовательский блока на Си

#30

Сообщение SVS55 » 06.10.2017{, 16:02}

Сейчас повесил нагрузку НСМ -? пищалку пищит естественно при изменении периода. осцилки смотрю Hantek DSO5202P
Новичок

av
Майор
Сообщения: 1103
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 79
Имя: Алексей

ШИИМ 10 БИТ пользовательский блока на Си

#31

Сообщение av » 06.10.2017{, 16:10}

А зачем на нагрузке менять период ? Или вы имели ввиду скважность ШИМ.

Добавлено (06.10.2017, 16:10)
---------------------------------------------
Только сейчас обратил внимание что в вашем проекте регулировка стоит как раз именно на периоде. Вот только не пойму зачем ?

SVS55
Рядовой
Сообщения: 97
Зарегистрирован: 11.12.2016{, 13:56}
Репутация: 0
Откуда: Омская область г.Тара
Имя: Виталий

ШИИМ 10 БИТ пользовательский блока на Си

#32

Сообщение SVS55 » 06.10.2017{, 16:13}

av, Автор рекомендует ниже 100 период не опускать  (хотя это надо тестировать)

Добавлено (06.10.2017, 16:13)
---------------------------------------------
av писал(а):Слимпер   с какой максимальной частотой ШИМ может работать данный блок ?
я проверил частоту.
Новичок

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 24
Откуда: Новосибирск

ШИИМ 10 БИТ пользовательский блока на Си

#33

Сообщение Слимпер » 06.10.2017{, 16:26}

av писал(а):Уважаемый Слимпер  могли бы вы ткнуть носом в указанный блок "Энкодер_С". Поиск по сайту результатов не дал. Заранее благодарен.
Когда то выкладывал. Вот  еще раз ссылка

av
Майор
Сообщения: 1103
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 79
Имя: Алексей

ШИИМ 10 БИТ пользовательский блока на Си

#34

Сообщение av » 06.10.2017{, 16:28}

Слимпер писал(а):Когда то выкладывал. Вот  еще раз ссылка
Спасибо !!!

Аватара пользователя
ElectroMechaniC
Сержант
Сообщения: 229
Зарегистрирован: 21.09.2016{, 06:50}
Репутация: 1
Откуда: Донецк
Имя: Юрий

ШИИМ 10 БИТ пользовательский блока на Си

#35

Сообщение ElectroMechaniC » 12.02.2018{, 20:45}

Перезалейте блок с настраиваемым периодом пожалуйста! Страница для скачивания не доступна
:newrus: Все в руках человека. Поэтому всегда мойте руки перед и зад! :victory:
:smile225: :smile469: :smile427:

Аватара пользователя
prmres
Рядовой
Сообщения: 5
Зарегистрирован: 30.01.2018{, 20:19}
Репутация: 0
Откуда: Курская обл.
Имя: Prmres

ШИИМ 10 БИТ пользовательский блока на Си

#36

Сообщение prmres » 22.02.2018{, 01:54}

не только лишь все!

Ivan_Kornege
Сержант
Сообщения: 288
Зарегистрирован: 29.04.2017{, 08:24}
Репутация: 19
Откуда: гАндурас
Имя: Ivan

ШИИМ 10 БИТ пользовательский блока на Си

#37

Сообщение Ivan_Kornege » 22.02.2018{, 08:28}

Актуальные версии блоков находятся ШИМ 10 БИТ с изменяемым периодом
Ссылка Рабочая. Модераторы поправили. (модератор :wizard: )

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

ШИИМ 10 БИТ пользовательский блока на Си

#38

Сообщение Di123 » 23.07.2020{, 15:20}

в описании сказано что если выход неиспользуется допустим на нано я взял пвм1 - 9 а на остальные два поставил 0
то 10 вывод мне нельзя уже использовать ?
или для простейших целей можно допустим выключатель поставить на него ?

Отправлено спустя 5 минут 35 секунд:
и не понятно
два шима одновременно можно использовать ?

допустим на нано 9 и 10

Ответить

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