ШИМ на GyverPWM

Hасширенная генерация ШИМ на Arduino

Пользовательские блоки ПИД регуляторов, прочих регуляторов и для работы с ШИМ выходами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 770
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 239
Откуда: Ульяновск
Имя: Александр

ШИМ на GyverPWM

#1

Сообщение AlexCrane » 19.05.2021{, 21:10}

Блоки расширенной генерации ШИМ на библиотеке GyverPWM

Поддерживаемые платформы: платы на ATmega328/168 (Arduino Nano, UNO, Pro Mini)
    GyverPWM.png
      Полное описание возможностей
      https://alexgyver.ru/gyverpwm/

      Используемые библиотеки (в блок не интегрированы, скачивать по ссылкам ниже):
      https://github.com/AlexGyver/GyverLibs/ ... verPWM.zip

      Блоки бета-версия:
      ШИМ_AlexCrane_GiverPWM_(Code_-_Professional)_28.05.2021.zip
      ШИМ_AlexCrane_GiverPWM_(Code_-_Professional)_27.06.2021.zip
      Исправления ошибок
      ШИМ_AlexCrane_GiverPWM_(Code_-_Professional)_27.10.2021.zip
      Исправление ошибок в блоке PWM_Resolution

      Обозначения:
      _|¯ - постоянная подача true, отработка по переднему фронту
      _|_ - Подача сигнала через RTrig на один цикл

      Описание входов и выходов добавлю позже если будут вопросы...

      Блоки не тестировал, просто упаковал в блоки. Если испытаете и отпишитесь буду благодарен
      Если блок понравился, можете отблагодарить...
      Для скачивания вложений Вы должны быть зарегистрированы.
      Последний раз редактировалось AlexCrane 27.10.2021{, 22:34}, всего редактировалось 4 раза.
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....

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

      ШИМ на GyverPWM

      #21

      Сообщение Di123 » 15.11.2021{, 20:35}

      aidar_i, верно происходит на 255
      на осцылографе это выглядит как пропуск импульсов с удержанием единицы на выходе

      2021-11-16 00-26-42.JPG
      притом чем меньше ускорение допустим раз в секунду тем он намного дольше горит на максимуме
      Для скачивания вложений Вы должны быть зарегистрированы.

      aidar_i
      Полковник
      Сообщения: 2223
      Зарегистрирован: 24.12.2016{, 16:55}
      Репутация: 321
      Откуда: Уфа
      Имя: Айдар
      Контактная информация:

      ШИМ на GyverPWM

      #22

      Сообщение aidar_i » 15.11.2021{, 22:00}

      У Гувера есть в библиотеке исправление этой ошибки (или нет?), это происходит, потому что в библиотеке Ардуино прописано (8 бит) :

      Код: Выделить всё

      void analogWrite(uint8_t pin, int val) {
      pinMode(pin, OUTPUT);
      	if (val == 0)
      	{
      		digitalWrite(pin, LOW);
      	}
      	else if (val == 255)
      	{
      		digitalWrite(pin, HIGH);
      	}
      	........
      	
      А Вы используете 10 бит.
      Нужно просто прописать на выходе если =255 то выход равно 256, те проскакиваем это или используем ШИМ без обращения к портам с помощью библиотек Ардуино (не используйте analogWrite) .
      PS. У него не нашел исправление в библиотеке.
      В других блоках он обращается напрямую к портам.

      aidar_i
      Полковник
      Сообщения: 2223
      Зарегистрирован: 24.12.2016{, 16:55}
      Репутация: 321
      Откуда: Уфа
      Имя: Айдар
      Контактная информация:

      ШИМ на GyverPWM

      #23

      Сообщение aidar_i » 15.11.2021{, 23:53}

      Удалил.
      Последний раз редактировалось aidar_i 17.11.2021{, 13:10}, всего редактировалось 2 раза.

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

      ШИМ на GyverPWM

      #24

      Сообщение Di123 » 17.11.2021{, 04:55}

      aidar_i, нет
      даже при нуле он спамит пиковыми импульсами и светодиод немного светится
      самой вспышки нету

      aidar_i
      Полковник
      Сообщения: 2223
      Зарегистрирован: 24.12.2016{, 16:55}
      Репутация: 321
      Откуда: Уфа
      Имя: Айдар
      Контактная информация:

      ШИМ на GyverPWM

      #25

      Сообщение aidar_i » 17.11.2021{, 06:20}

      Di123 писал(а):
      17.11.2021{, 04:55}
      aidar_i, нет
      даже при нуле он спамит пиковыми импульсами и светодиод немного светится
      самой вспышки нету
      Так должно быть по умолчанию. Исправляется ноль программно.

      aidar_i
      Полковник
      Сообщения: 2223
      Зарегистрирован: 24.12.2016{, 16:55}
      Репутация: 321
      Откуда: Уфа
      Имя: Айдар
      Контактная информация:

      ШИМ на GyverPWM

      #26

      Сообщение aidar_i » 17.11.2021{, 13:09}

      Di123 писал(а):
      17.11.2021{, 04:55}
      даже при нуле он спамит пиковыми импульсами и светодиод немного светится
      самой вспышки нету
      aidar_i писал(а):
      17.11.2021{, 06:20}
      Так должно быть по умолчанию. Исправляется ноль программно.
      PWM Prescaler.flp
      Отправлено спустя 1 час 39 минут 8 секунд:
      Исправил ноль.
      Для скачивания вложений Вы должны быть зарегистрированы.

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

      ШИМ на GyverPWM

      #27

      Сообщение Di123 » 17.11.2021{, 16:05}

      да теперь норм по осцылографу

      Аватара пользователя
      AlexCrane
      Капитан
      Сообщения: 770
      Зарегистрирован: 20.10.2017{, 13:22}
      Репутация: 239
      Откуда: Ульяновск
      Имя: Александр

      ШИМ на GyverPWM

      #28

      Сообщение AlexCrane » 12.12.2021{, 20:30}

      aidar_i, Di123, Команда Gyver'а после замечаний, конкретно переработали библиотеку GyverPWM.

      Прошу, использующих данные блоки, протестировать новую библиотеку
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....

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

      ШИМ на GyverPWM

      #29

      Сообщение Di123 » 13.12.2021{, 10:46}

      AlexCrane, если вы про GyverPWM-main то всеравно всплеск есть
      пусть более конкретнее переработают

      aidar_i
      Полковник
      Сообщения: 2223
      Зарегистрирован: 24.12.2016{, 16:55}
      Репутация: 321
      Откуда: Уфа
      Имя: Айдар
      Контактная информация:

      ШИМ на GyverPWM

      #30

      Сообщение aidar_i » 13.12.2021{, 12:09}

      AlexCrane писал(а):
      12.12.2021{, 20:30}
      aidar_i, Di123, Команда Gyver'а после замечаний, конкретно переработали библиотеку GyverPWM.

      Прошу, использующих данные блоки, протестировать новую библиотеку
      Про это писали ему? viewtopic.php?f=89&t=7389&sid=5ec4a0208 ... 35#p108930

      Аватара пользователя
      AlexCrane
      Капитан
      Сообщения: 770
      Зарегистрирован: 20.10.2017{, 13:22}
      Репутация: 239
      Откуда: Ульяновск
      Имя: Александр

      ШИМ на GyverPWM

      #31

      Сообщение AlexCrane » 13.12.2021{, 13:54}

      aidar_i, Вот это что то упустил....
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....

      GDAN7777
      Сержант
      Сообщения: 162
      Зарегистрирован: 15.04.2020{, 06:19}
      Репутация: 23
      Имя: Vital

      ШИМ на GyverPWM

      #32

      Сообщение GDAN7777 » 20.01.2022{, 20:40}

      Некорректно работает.Большинство блоков.Вот простейшая схема.Режим FastPwm не работает-фронты не синхронизированы.Все работает в режиме коррекции фазы.Зырю с помощью осцилла,протеусу и прочей резине не доверяю.
      Снимок.JPG
      Да и частота стоит как вкопанная на 487 Гц при любом значении.
      Для скачивания вложений Вы должны быть зарегистрированы.

      Аватара пользователя
      AlexCrane
      Капитан
      Сообщения: 770
      Зарегистрирован: 20.10.2017{, 13:22}
      Репутация: 239
      Откуда: Ульяновск
      Имя: Александр

      ШИМ на GyverPWM

      #33

      Сообщение AlexCrane » 20.01.2022{, 21:13}

      GDAN7777, Если не подавать импульс на вход установки частоты, то параметры не применяются....
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....

      GDAN7777
      Сержант
      Сообщения: 162
      Зарегистрирован: 15.04.2020{, 06:19}
      Репутация: 23
      Имя: Vital

      ШИМ на GyverPWM

      #34

      Сообщение GDAN7777 » 20.01.2022{, 21:23}

      AlexCrane писал(а):
      20.01.2022{, 21:13}
      Если не подавать импульс на вход установки частоты, то параметры не применяются....
      Вроде пробовал-без разницы.Сейчас еще раз попробую.Там импульс или постоянный уровень?

      Аватара пользователя
      AlexCrane
      Капитан
      Сообщения: 770
      Зарегистрирован: 20.10.2017{, 13:22}
      Репутация: 239
      Откуда: Ульяновск
      Имя: Александр

      ШИМ на GyverPWM

      #35

      Сообщение AlexCrane » 20.01.2022{, 21:30}

      GDAN7777, При любом изменении любого параметра нужно давать импульс, можно через отслеживание изменения после SCALE
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....

      GDAN7777
      Сержант
      Сообщения: 162
      Зарегистрирован: 15.04.2020{, 06:19}
      Репутация: 23
      Имя: Vital

      ШИМ на GyverPWM

      #36

      Сообщение GDAN7777 » 20.01.2022{, 21:32}

      AlexCrane писал(а):
      20.01.2022{, 21:30}
      При любом изменении любого параметра нужно давать импульс, можно через отслеживание изменения после SCALE
      Действительно,заработало.Вы как-то интересно припрятали важный пункт под спойлер в шапке:)Предлагаю вынести его за пределы спойлера,благо,места он занимает совсем ничего.

      Отправлено спустя 30 минут 8 секунд:
      Все заработало как надо.Сажусь плотно за проект.За блоки спасибо.

      „Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!“ — Альберт Эйнштейн

      Ответить

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