ШИМ на GyverPWM

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

ШИМ на GyverPWM

Сообщение AlexCrane »

Блоки расширенной генерации ШИМ на библиотеке 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 окт 2021, 22:34, всего редактировалось 4 раза.
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....
      Аватара пользователя
      Vuktor
      Сержант
      Сообщения: 238
      Зарегистрирован: 11 апр 2021, 14:44
      Имя: Vuktor

      ШИМ на GyverPWM

      Сообщение Vuktor »

      :smile152:
      Аватара пользователя
      Di123
      Капитан
      Сообщения: 828
      Зарегистрирован: 03 ноя 2018, 19:38
      Имя: Дмитрий

      ШИМ на GyverPWM

      Сообщение Di123 »

      ошибка с блоком выдаёт
      Arduino: 1.8.13 (Windows 10), Плата:"Arduino Uno"

      C:\Users\User\AppData\Local\Temp\flprog\pr21\pr21.ino: In function 'void setup()':

      pr21:166:21: error: expected primary-expression before ')' token

      PWM_prescaler(3,);

      ^

      Несколько библиотек найдено для "OneWire.h"

      Используется: c:\PortableFLProg_7-3-4_Win64\ideV6\portable\sketchbook\libraries\OneWire

      Не используется: c:\PortableFLProg_7-3-4_Win64\ideV6\libraries\OneWire

      exit status 1

      expected primary-expression before ')' token



      Этот отчёт будет иметь больше информации с
      включенной опцией Файл -> Настройки ->
      "Показать подробный вывод во время компиляции"
      Отправлено спустя 3 минуты 47 секунд:
      1.rar
      Отправлено спустя 59 секунд:
      я так понял на дути мы подаём число из таблицы для выбора частоты ?
      2021-05-28_115256.png
      У вас нет необходимых прав для просмотра вложений в этом сообщении.
      Аватара пользователя
      AlexCrane
      Капитан
      Сообщения: 903
      Зарегистрирован: 20 окт 2017, 13:22
      Откуда: Ульяновск
      Имя: Александр
      Поблагодарили: 12 раз

      ШИМ на GyverPWM

      Сообщение AlexCrane »

      [ref]Di123[/ref], Спасибо за тестирование. Исправил. Качать в шапке viewtopic.php?f=89&t=7389&p=103838#p103838
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....
      Аватара пользователя
      Di123
      Капитан
      Сообщения: 828
      Зарегистрирован: 03 ноя 2018, 19:38
      Имя: Дмитрий

      ШИМ на GyverPWM

      Сообщение Di123 »

      на ресолутион в паскорект на пине 3 ничего не работает

      2021-06-27_102510.png
      У вас нет необходимых прав для просмотра вложений в этом сообщении.
      дрон
      Сержант
      Сообщения: 116
      Зарегистрирован: 09 ноя 2017, 19:25
      Откуда: Москва
      Имя: Андрей
      Поблагодарили: 16 раз

      ШИМ на GyverPWM

      Сообщение дрон »

      Здравствуйте Александр и форумчане, вот бы еще блок для серво на библиотеке SERVOSMOOTH(https://alexgyver.ru/servosmooth/ ). Прошу прощения если пишу не в той теме.
      Аватара пользователя
      Di123
      Капитан
      Сообщения: 828
      Зарегистрирован: 03 ноя 2018, 19:38
      Имя: Дмитрий

      ШИМ на GyverPWM

      Сообщение Di123 »

      [ref]av[/ref], запятая не помогает
      Аватара пользователя
      AlexCrane
      Капитан
      Сообщения: 903
      Зарегистрирован: 20 окт 2017, 13:22
      Откуда: Ульяновск
      Имя: Александр
      Поблагодарили: 12 раз

      ШИМ на GyverPWM

      Сообщение AlexCrane »

      Di123 писал(а): 27 июн 2021, 06:27 на ресолутион в паскорект на пине 3 ничего не работает
      Исправил
      av писал(а): 27 июн 2021, 10:00 Обычная ошибка (торопимся при создании блока).
      В данном случае да. Но всплыли еще некоторые особенности редактора блоков, не нравятся ему некоторые слова в именах входов ...
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....
      Аватара пользователя
      Di123
      Капитан
      Сообщения: 828
      Зарегистрирован: 03 ноя 2018, 19:38
      Имя: Дмитрий

      ШИМ на GyverPWM

      Сообщение Di123 »

      в плескареле наблюдается при плавном нарастании шим на светодиоде некий всплеск яркости под максимум в течении около милисикунды такая некая вспышка на 10 битах а на 8 битах всё норм и при убывании она же повторятся снова

      2021-07-18_164701.png

      меняю блок на ресолютион выставляю теже настройки и всё норм на 10 битах а так же на 8 и 12 всё плавно загорается и гаснет как надо

      2021-07-18_164719.png

      меняю блоки обратно и опять вспышка на плескареле
      возвращаю обратно ресолютион всё норм
      :smile37:
      2.mp4
      У вас нет необходимых прав для просмотра вложений в этом сообщении.
      Аватара пользователя
      AlexCrane
      Капитан
      Сообщения: 903
      Зарегистрирован: 20 окт 2017, 13:22
      Откуда: Ульяновск
      Имя: Александр
      Поблагодарили: 12 раз

      ШИМ на GyverPWM

      Сообщение AlexCrane »

      [ref]Di123[/ref], Может дело все-таки в проекте, можно посмотреть?
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....
      Аватара пользователя
      Di123
      Капитан
      Сообщения: 828
      Зарегистрирован: 03 ноя 2018, 19:38
      Имя: Дмитрий

      ШИМ на GyverPWM

      Сообщение Di123 »

      но в проекте ничего не меняется кроме вашего блоков

      1.rar
      У вас нет необходимых прав для просмотра вложений в этом сообщении.
      Аватара пользователя
      ingener
      Лейтенант
      Сообщения: 580
      Зарегистрирован: 14 окт 2018, 00:26
      Имя: Андрей
      Благодарил (а): 2 раза
      Поблагодарили: 3 раза

      ШИМ на GyverPWM

      Сообщение ingener »

      Почему-то не добавляется библиотека в скетче (добавить ZIP библиотеку) - выдает текст в IDE, в списке она не появляется

      Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: MALFORMED
      at java.util.zip.ZipCoder.toString(ZipCoder.java:58)
      at java.util.zip.ZipFile.getZipEntry(ZipFile.java:583)
      at java.util.zip.ZipFile.access$900(ZipFile.java:60)
      at java.util.zip.ZipFile$ZipEntryIterator.next(ZipFile.java:539)
      at java.util.zip.ZipFile$ZipEntryIterator.nextElement(ZipFile.java:514)
      at java.util.zip.ZipFile$ZipEntryIterator.nextElement(ZipFile.java:495)
      at processing.app.tools.ZipDeflater.deflate(ZipDeflater.java:41)
      at processing.app.Base.handleAddLibrary(Base.java:2414)
      at processing.app.Base$6.actionPerformed(Base.java:1124)
      at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
      at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
      at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
      at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
      at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
      at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:842)
      at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:886)
      at java.awt.Component.processMouseEvent(Component.java:6539)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
      at java.awt.Component.processEvent(Component.java:6304)
      at java.awt.Container.processEvent(Container.java:2239)
      at java.awt.Component.dispatchEventImpl(Component.java:4889)
      at java.awt.Container.dispatchEventImpl(Container.java:2297)
      at java.awt.Component.dispatchEvent(Component.java:4711)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
      at java.awt.Container.dispatchEventImpl(Container.java:2283)
      at java.awt.Window.dispatchEventImpl(Window.java:2746)
      at java.awt.Component.dispatchEvent(Component.java:4711)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
      at java.awt.EventQueue.access$500(EventQueue.java:97)
      at java.awt.EventQueue$3.run(EventQueue.java:709)
      at java.awt.EventQueue$3.run(EventQueue.java:703)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
      at java.awt.EventQueue$4.run(EventQueue.java:733)
      at java.awt.EventQueue$4.run(EventQueue.java:731)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
      Аватара пользователя
      AlexCrane
      Капитан
      Сообщения: 903
      Зарегистрирован: 20 окт 2017, 13:22
      Откуда: Ульяновск
      Имя: Александр
      Поблагодарили: 12 раз

      ШИМ на GyverPWM

      Сообщение AlexCrane »

      Исправил блоки в шапке.
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....
      Аватара пользователя
      Di123
      Капитан
      Сообщения: 828
      Зарегистрирован: 03 ноя 2018, 19:38
      Имя: Дмитрий

      ШИМ на GyverPWM

      Сообщение Di123 »

      2021-11-15_203630.png
      конфликт.flp

      ваш блок невыдаёт шим если использовать вачдог
      У вас нет необходимых прав для просмотра вложений в этом сообщении.
      Аватара пользователя
      AlexCrane
      Капитан
      Сообщения: 903
      Зарегистрирован: 20 окт 2017, 13:22
      Откуда: Ульяновск
      Имя: Александр
      Поблагодарили: 12 раз

      ШИМ на GyverPWM

      Сообщение AlexCrane »

      [ref]Di123[/ref], А вот тут непонятно чей баг, похоже на баг редактора.
      Лечится легко. Я давно для себя взял за правило кусок кода в новом редакторе заканчивать переводом строки (Enter), иначе может при компиляции объединить строки кода в одну строку (и иногда не правильно, как в этом случае).
      Так что подправьте блок WatchDog и будет все работать.
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....
      Аватара пользователя
      Di123
      Капитан
      Сообщения: 828
      Зарегистрирован: 03 ноя 2018, 19:38
      Имя: Дмитрий

      ШИМ на GyverPWM

      Сообщение Di123 »

      но я в нём ничего не понимаю :)
      для меня это набор букв и цыфр не более
      даже еслиб он был написан на китайском я бы не возмутился

      Отправлено спустя 24 секунды:
      ладно поищю автора
      Аватара пользователя
      AlexCrane
      Капитан
      Сообщения: 903
      Зарегистрирован: 20 окт 2017, 13:22
      Откуда: Ульяновск
      Имя: Александр
      Поблагодарили: 12 раз

      ШИМ на GyverPWM

      Сообщение AlexCrane »

      [ref]Di123[/ref], Подправил блок WatchDog
      не конфликт v2.flp
      У вас нет необходимых прав для просмотра вложений в этом сообщении.
      Если не знаю, то не скажу. Если скажу, то сначала проверю...
      Если нет возможности отблагодарить материально, хотя бы оцени пост....
      aidar_i
      Полковник
      Сообщения: 3357
      Зарегистрирован: 24 дек 2016, 16:55
      Откуда: Уфа
      Имя: Айдар
      Благодарил (а): 13 раз
      Поблагодарили: 100 раз
      Контактная информация:

      ШИМ на GyverPWM

      Сообщение aidar_i »

      AlexCrane писал(а): 15 ноя 2021, 18:05 А вот тут непонятно чей баг, похоже на баг редактора.
      Автор писал , это не баг, а фича!

      Отправлено спустя 2 минуты 18 секунд:
      Di123 писал(а): 18 июл 2021, 13:01 в плескареле наблюдается при плавном нарастании шим на светодиоде некий всплеск яркости под максимум в течении около милисикунды такая некая вспышка на 10 битах а на 8 битах всё норм и при убывании она же повторятся снова
      Поставьте уарт, посмотрите не на 255 вспышка?
      Аватара пользователя
      Di123
      Капитан
      Сообщения: 828
      Зарегистрирован: 03 ноя 2018, 19:38
      Имя: Дмитрий

      ШИМ на GyverPWM

      Сообщение Di123 »

      [ref=#000080]aidar_i[/ref], верно происходит на 255
      на осцылографе это выглядит как пропуск импульсов с удержанием единицы на выходе

      2021-11-16 00-26-42.JPG
      притом чем меньше ускорение допустим раз в секунду тем он намного дольше горит на максимуме
      У вас нет необходимых прав для просмотра вложений в этом сообщении.
      aidar_i
      Полковник
      Сообщения: 3357
      Зарегистрирован: 24 дек 2016, 16:55
      Откуда: Уфа
      Имя: Айдар
      Благодарил (а): 13 раз
      Поблагодарили: 100 раз
      Контактная информация:

      ШИМ на GyverPWM

      Сообщение aidar_i »

      У Гувера есть в библиотеке исправление этой ошибки (или нет?), это происходит, потому что в библиотеке Ардуино прописано (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. У него не нашел исправление в библиотеке.
      В других блоках он обращается напрямую к портам.
      Ответить

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

      Кто сейчас на конференции

      Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя