ШИМ на GyverPWM

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

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

ШИМ на 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
      Лейтенант
      Сообщения: 680
      Зарегистрирован: 03.11.2018{, 19:38}
      Репутация: 14
      Имя: Дмитрий

      ШИМ на GyverPWM

      #21

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

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

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

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

      ШИМ на 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
      Полковник
      Сообщения: 2093
      Зарегистрирован: 24.12.2016{, 16:55}
      Репутация: 295
      Откуда: Уфа
      Имя: Айдар
      Контактная информация:

      ШИМ на GyverPWM

      #23

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

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

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

      ШИМ на GyverPWM

      #24

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

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

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

      ШИМ на GyverPWM

      #25

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

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

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

      ШИМ на 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
      Лейтенант
      Сообщения: 680
      Зарегистрирован: 03.11.2018{, 19:38}
      Репутация: 14
      Имя: Дмитрий

      ШИМ на GyverPWM

      #27

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

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

      Ответить

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