ШИМ на GyverPWM

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

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

ШИМ на GyverPWM

#1

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

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

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

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

      Блоки бета-версия: Исправления ошибок Исправление ошибок в блоке PWM_Resolution

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

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

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

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

      ШИМ на GyverPWM

      #21

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

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

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

      ШИМ на GyverPWM

      #22

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

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

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

      ШИМ на GyverPWM

      #23

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

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

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

      ШИМ на GyverPWM

      #24

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

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

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

      ШИМ на GyverPWM

      #25

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

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

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

      ШИМ на GyverPWM

      #26

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

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

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

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

      ШИМ на GyverPWM

      #27

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

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

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

      ШИМ на GyverPWM

      #28

      Сообщение 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
      Капитан
      Сообщения: 895
      Зарегистрирован: 20.10.2017{, 13:22}
      Репутация: 294
      Откуда: Ульяновск
      Имя: Александр

      ШИМ на GyverPWM

      #29

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

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

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

      ШИМ на GyverPWM

      #30

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

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

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

      ШИМ на GyverPWM

      #31

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

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

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

      ШИМ на GyverPWM

      #32

      Сообщение Di123 » 30.10.2022{, 06:22}

      AlexCrane, можете проверить блок меандра
      у меня частота не выставляется на выходе ставлю 2кгц а выдаёт 272кгц
      пробовал на двух компах и осцылограф и анализатор выдаёт одно и тоже
      на уно
      2022-10-30_101632.png
      2022-10-30_102053.png
      2022-10-30_102053.png (2.41 КБ) 3157 просмотров

      VNL64T
      Рядовой
      Сообщения: 37
      Зарегистрирован: 22.01.2024{, 05:37}
      Репутация: 3
      Имя: Алекс

      ШИМ на GyverPWM

      #33

      Сообщение VNL64T » 24.01.2024{, 05:43}

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

      Прошу, использующих данные блоки, протестировать новую библиотеку
      Доброй ночи..
      Не работает от слова вообще..

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

      //Подключаем библиотеку
      #include <GyverPWM.h>
      #include "flprogUtilites.h"
      void setup()
      {
          pinMode(10, OUTPUT);
      }
      void loop()
      {
          //Плата:1
          if ((1))
          {
      //Устанавливаем на пине 10 частоту (5L) в режиме 1 
              PWM_frequency(10, (5L), 1);
          }
          //изменить заполнение на пине 10
          PWM_set (10, (100));

      Ошибок компиляции на страницу..
      это только верхушка

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

      c:\Program Files (x86)\FLProg\ideV8\portable\sketchbook\libraries\GyverPWM\GyverPWM.cpp: In function 'void PWM_default(byte)':
      
      c:\Program Files (x86)\FLProg\ideV8\portable\sketchbook\libraries\GyverPWM\GyverPWM.cpp:17:3: error: 'TCCR2A' was not declared in this scope
      
         TCCR2A = 0b10100001;  //default pwm 8 bit phaseCorrect
      
         ^~~~~~
      
      c:\Program Files (x86)\FLProg\ideV8\portable\sketchbook\libraries\GyverPWM\GyverPWM.cpp:17:3: note: suggested alternative: 'TCCR0A'
      
         TCCR2A = 0b10100001;  //default pwm 8 bit phaseCorrect
      
         ^~~~~~
      
      
      Отправлено спустя 8 часов 28 минут 41 секунду:
      Leonardo
      GyverPWM штатный - куча ошибок
      GyverPWM 1,4 MCU не поддерживается
      GyverPWM 1,5 MCU не поддерживается
      GyverPWM 1.6 куча ошибок
      GyverPWM main MCU не поддерживается

      Naladchik
      Капитан
      Сообщения: 822
      Зарегистрирован: 04.10.2015{, 19:10}
      Репутация: 151
      Откуда: Новосибирск
      Имя: Павел

      ШИМ на GyverPWM

      #34

      Сообщение Naladchik » 24.01.2024{, 18:17}

      VNL64T писал(а):
      24.01.2024{, 14:12}
      Leonardo
      GyverPWM штатный - куча ошибок ...........
      то есть указания автора блока
      AlexCrane писал(а):
      19.05.2021{, 21:10}
      Блоки расширенной генерации ШИМ на библиотеке GyverPWM
      Поддерживаемые платформы: платы на ATmega328/168 (Arduino Nano, UNO, Pro Mini)
      идут мимо?
      Win10-64. FLProg Portable.
      Изображение

      ecoins
      Полковник
      Сообщения: 2923
      Зарегистрирован: 12.02.2016{, 11:40}
      Репутация: 453
      Откуда: Шатура
      Имя: Энвер

      ШИМ на GyverPWM

      #35

      Сообщение ecoins » 24.01.2024{, 18:39}

      Суждение по PWM: для реализации PWM (и не только) лучше c Nano переходить на Raspberry Pi Pico.
      Там два ядра, на втором ядре можно реализовать быстрый PWM (и не только).
      По стоимости - есть не дорогие аналоги:
      https://aliexpress.ru/item/100500490516 ... 5bf7EmA3uz
      Шилды под них есть неплохие:
      https://aliexpress.ru/item/100500380927 ... 56acHL95oO

      VNL64T
      Рядовой
      Сообщения: 37
      Зарегистрирован: 22.01.2024{, 05:37}
      Репутация: 3
      Имя: Алекс

      ШИМ на GyverPWM

      #36

      Сообщение VNL64T » 24.01.2024{, 19:15}

      Да спасибо понятно..
      Хорошая задумка FLprog жаль времени убил массу (стоял выбор наше или забугорное) решил наша, из-за знакомой среды блоками готовность 98% но ШИМ все испортил.. (от 0 до 60герц нужно так что вытянет и стандартный ШИМ)
      Сейчас открыл Flow code.. да для меня менее понятная среда но (на сколько вижу очень приближена к самому коду, что весьма полезно для понимания) и беглый осмотр дал понимание что может свободно управлять Периодом и Заполнением ну и бонусом какой ни какой Эмулятор...
      Понятно что дареному коню в зубы не смотрят но не известно где еще есть непробиваемая стена..
      Всем спасибо...
      Буду заглядывать может что изменится в будущем, пока увы программа не справилась..

      Отправлено спустя 16 минут 9 секунд:
      ecoins писал(а):
      24.01.2024{, 18:39}
      Суждение по PWM: для реализации PWM (и не только) лучше c Nano переходить на Raspberry Pi Pico.
      Там два ядра, на втором ядре можно реализовать быстрый PWM (и не только).
      По стоимости - есть не дорогие аналоги:
      https://aliexpress.ru/item/100500490516 ... 5bf7EmA3uz
      Шилды под них есть неплохие:
      https://aliexpress.ru/item/100500380927 ... 56acHL95oO
      Да согласен полностью 2 потока любом случае лучше одного, только в случае с текущим вопросом это ну никак не решает проблемы, Ардуинка 100% справится с моей задачей..
      А если смотреть по факту то ПИК18 с прошлой задачей (чуть более сложной) не вывез по ШИМ, и примерно по той же причине... Софт сделано в России :smile9:

      Хотя в любом случае текущий нужно доделывать и быстро, куплю МК с ATmega328 потом буду думать крепко.. :smile225:
      Всем огромное спасибо за терпение..

      ecoins
      Полковник
      Сообщения: 2923
      Зарегистрирован: 12.02.2016{, 11:40}
      Репутация: 453
      Откуда: Шатура
      Имя: Энвер

      ШИМ на GyverPWM

      #37

      Сообщение ecoins » 24.01.2024{, 20:18}

      VNL64T писал(а):
      24.01.2024{, 19:55}
      Сейчас открыл Flow code.. да для меня менее понятная среда но (на сколько вижу очень приближена к самому коду, что весьма полезно для понимания) и беглый осмотр дал понимание что может свободно управлять Периодом и Заполнением ну и бонусом какой ни какой Эмулятор...
      Относительно быстродействия Flow code - это заблуждение (большое).
      Успехов.
      С уважением, ecoins.

      intojon
      Рядовой
      Сообщения: 6
      Зарегистрирован: 07.08.2021{, 18:13}
      Репутация: 0
      Имя: Tomas

      ШИМ на GyverPWM

      #38

      Сообщение intojon » 14.04.2024{, 18:37}

      AlexCrane писал(а):
      15.11.2021{, 18:16}
      Di123, Подправил блок WatchDog
      не конфликт v2.flp
      Возможно ли заставить его работать на esp32?

      Ответить

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