Страница 1 из 3
ШИМ на GyverPWM
Добавлено: 19 май 2021, 21:10
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 на один цикл
Описание входов и выходов добавлю позже если будут вопросы...
Блоки не тестировал, просто упаковал в блоки. Если испытаете и отпишитесь буду благодарен
Если блок понравился, можете отблагодарить...
ШИМ на GyverPWM
Добавлено: 19 май 2021, 21:23
Vuktor
ШИМ на GyverPWM
Добавлено: 28 май 2021, 07:53
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
ШИМ на GyverPWM
Добавлено: 28 май 2021, 08:57
AlexCrane
[ref]Di123[/ref], Спасибо за тестирование. Исправил. Качать в шапке
viewtopic.php?f=89&t=7389&p=103838#p103838
ШИМ на GyverPWM
Добавлено: 27 июн 2021, 06:27
Di123
на ресолутион в паскорект на пине 3 ничего не работает
2021-06-27_102510.png
ШИМ на GyverPWM
Добавлено: 27 июн 2021, 10:43
дрон
Здравствуйте Александр и форумчане, вот бы еще блок для серво на библиотеке SERVOSMOOTH(
https://alexgyver.ru/servosmooth/ ). Прошу прощения если пишу не в той теме.
ШИМ на GyverPWM
Добавлено: 27 июн 2021, 11:48
Di123
[ref]av[/ref], запятая не помогает
ШИМ на GyverPWM
Добавлено: 27 июн 2021, 20:09
AlexCrane
Di123 писал(а): 27 июн 2021, 06:27
на ресолутион в паскорект на пине 3 ничего не работает
Исправил
av писал(а): 27 июн 2021, 10:00
Обычная ошибка (торопимся при создании блока).
В данном случае да. Но всплыли еще некоторые особенности редактора блоков, не нравятся ему некоторые слова в именах входов ...
ШИМ на GyverPWM
Добавлено: 18 июл 2021, 13:01
Di123
в плескареле наблюдается при плавном нарастании шим на светодиоде некий всплеск яркости под максимум в течении около милисикунды такая некая вспышка на 10 битах а на 8 битах всё норм и при убывании она же повторятся снова
2021-07-18_164701.png
меняю блок на ресолютион выставляю теже настройки и всё норм на 10 битах а так же на 8 и 12 всё плавно загорается и гаснет как надо
2021-07-18_164719.png
меняю блоки обратно и опять вспышка на плескареле
возвращаю обратно ресолютион всё норм
2.mp4
ШИМ на GyverPWM
Добавлено: 18 июл 2021, 13:24
AlexCrane
[ref]Di123[/ref], Может дело все-таки в проекте, можно посмотреть?
ШИМ на GyverPWM
Добавлено: 18 июл 2021, 13:36
Di123
но в проекте ничего не меняется кроме вашего блоков
1.rar
ШИМ на GyverPWM
Добавлено: 15 сен 2021, 11:50
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)
ШИМ на GyverPWM
Добавлено: 27 окт 2021, 22:37
AlexCrane
Исправил блоки в шапке.
ШИМ на GyverPWM
Добавлено: 15 ноя 2021, 17:11
Di123
2021-11-15_203630.png
конфликт.flp
ваш блок невыдаёт шим если использовать вачдог
ШИМ на GyverPWM
Добавлено: 15 ноя 2021, 18:05
AlexCrane
[ref]Di123[/ref], А вот тут непонятно чей баг, похоже на баг редактора.
Лечится легко. Я давно для себя взял за правило кусок кода в новом редакторе заканчивать переводом строки (Enter), иначе может при компиляции объединить строки кода в одну строку (и иногда не правильно, как в этом случае).
Так что подправьте блок WatchDog и будет все работать.
ШИМ на GyverPWM
Добавлено: 15 ноя 2021, 18:14
Di123
но я в нём ничего не понимаю
для меня это набор букв и цыфр не более
даже еслиб он был написан на китайском я бы не возмутился
Отправлено спустя 24 секунды:
ладно поищю автора
ШИМ на GyverPWM
Добавлено: 15 ноя 2021, 18:16
AlexCrane
[ref]Di123[/ref], Подправил блок WatchDog
не конфликт v2.flp
ШИМ на GyverPWM
Добавлено: 15 ноя 2021, 20:08
aidar_i
AlexCrane писал(а): 15 ноя 2021, 18:05
А вот тут непонятно чей баг, похоже на баг редактора.
Автор писал , это не баг, а фича!
Отправлено спустя 2 минуты 18 секунд:
Di123 писал(а): 18 июл 2021, 13:01
в плескареле наблюдается при плавном нарастании шим на светодиоде некий всплеск яркости под максимум в течении около милисикунды такая некая вспышка на 10 битах а на 8 битах всё норм и при убывании она же повторятся снова
Поставьте уарт, посмотрите не на 255 вспышка?
ШИМ на GyverPWM
Добавлено: 15 ноя 2021, 20:35
Di123
[ref=#000080]aidar_i[/ref], верно происходит на 255
на осцылографе это выглядит как пропуск импульсов с удержанием единицы на выходе
2021-11-16 00-26-42.JPG
притом чем меньше ускорение допустим раз в секунду тем он намного дольше горит на максимуме
ШИМ на GyverPWM
Добавлено: 15 ноя 2021, 22:00
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. У него не нашел исправление в библиотеке.
В других блоках он обращается напрямую к портам.