Блоки ускорения

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

Блоки ускорения

Сообщение Di123 »

ecoins писал(а): 25 июл 2021, 12:54 6.4095/ вкл/выкл -плохая идея делить на 0, лучше заменить на SWITCH. =4095.
нет там при прошивке в епром пишется 1 и далее через счётчик она не может опустится ниже 1 и можно выбирать 1-10 по кругу не выходя за рамки диапазона
ecoins писал(а): 25 июл 2021, 12:54 7.Вход in - синим на рисунке. Было 4095, стало 0.
ну как бы да - было 0 потомучто на входе 0 по 9 столбцу ... далее пришла 1 и на входе появилось 4095 ... а далее снова 0 в 9 столбце и на входе 0
ecoins писал(а): 25 июл 2021, 12:54 8.Выход Accel - было 4095->2032,232,0....
опрос уарта 1 сек вот он и выдернул что увидел

ну тут суть проекта была в том что я сам придумал и сделал его

у меня сложности с вашими блоками там прописи много делать надо помнится раньше низнаю как щас
вот еслиб вы предлагали их как алексграни в уже прописаном виде менюшек где нужно просто выбрать и протыкать нужны пункты и галочки это намного облегчило бы взаимодействие с ними возмите к примеру его творение на шимовских блоках всё прекрасно реализовано но если взять его творение на пидрегулятор то там мозг взорвался от попытки разобраться

вот спецально для вас собрал как просили самое простое что можно
генератор 30/30 сек
ускорение 1 сек
уарт шаг 1 сек
2021-07-25_173235.png

на видео чотко видно как график останавливается примерно после 4300 сек = 71 мин
Video_2021-07-25_173119.wmv
Отправлено спустя 2 минуты 35 секунд:
не останавливается а перестаёт рисовать выход
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4012
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 157 раз

Блоки ускорения

Сообщение ecoins »

Di123 писал(а): 25 июл 2021, 13:39 вот спецально для вас собрал как просили самое простое что можно
генератор 30/30 сек
ускорение 1 сек
уарт шаг 1 сек
Спасибо. Похоже это из-за таймера.
Попозже реализуем что-то похожее - сейчас много работаем с сенсорами, прямо сейчас конкретно BME280 с тремя интерфейсами.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Блоки ускорения

Сообщение AlexCrane »

[ref]Dryundel[/ref], [ref]Di123[/ref], [ref]ecoins[/ref], Теперь таймер не будет переполнятся
Acceleration_Overtake_v.1.16fix_(Code_-_Basic).ubi
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25 янв 2018, 22:23
Откуда: Bukovyna
Имя: Василий

Блоки ускорения

Сообщение Labu559 »

AlexCrane писал(а): 27 июл 2021, 07:20 Dryundel, Di123, ecoins, Теперь таймер не будет переполнятся
Ув. сообщество, гляньте пж. тему "_isTimer нежданчики", где ув. [ref=#ff8000]Sancho[/ref] дал развёрнутый ответ на такого рода, довольно распространённыё проблемы. Попробовал накидать визуализацию: [spoiler title= демонстрационный скетч проблемы]
Overflow_micros3.ino
Overflow_micros(is_Timer).png
[/spoiler] добавил скрин симуляции. Замена (по демо-скетчу) 8-битной переменной uint8_t _micros, 32 - битным unsigned long micros() , ничего существенно не изменит- просто отсрочит неизбежное переполнение. Смотрите, анализируйте, если найдёте ошибку- поправляйте, но обе функции (условия) из блоков if((micros() >= (loopTime + time)) и также if (((micros()-loopTime) >= time ) прекращают работать до переполнения (в демоскетче) 8-битных переменных массива loopTime[], (в оригинале) 32-битной переменной unsigned long loopTime, когда loopTime >= (0xFFFFFFFF - time). 0xFFFFFFFF/1000 мкс/1000 мс/60 сек= 71мин 34мс.
Di123 писал(а): 25 июл 2021, 13:39 ...останавливается примерно после 4300 сек = 71 мин
Да ув.Дмитрий [ref]Di123[/ref], хотя Ваш проект пока трудно назвать образцом для подражания, но Вы правы, и действительно нашли глубоко спрятанную проблему преобладающего колличества блоков использующих ф-и времени millis() и micros().
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Labu559 28 июл 2021, 08:05, всего редактировалось 1 раз.
Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03 ноя 2018, 19:38
Имя: Дмитрий

Блоки ускорения

Сообщение Di123 »

[ref]Labu559[/ref], с новым блоком покрайне мере работает без проблем два дня
на крайний случай я придумал под этот проект свой блок ускорения
Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03 ноя 2018, 19:38
Имя: Дмитрий

Блоки ускорения

Сообщение Di123 »

[ref]AlexCrane[/ref], два месяца без проблем ваша версия отработала
а можно ли её подружить с ремоте ху на ЕСП8266 ?
а то блок вытаскиваю вайфай не работает
убираю работает
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Блоки ускорения

Сообщение AlexCrane »

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

Блоки ускорения

Сообщение Di123 »

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

Блоки ускорения

Сообщение AlexCrane »

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

Блоки ускорения

Сообщение Di123 »

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

управление диммированием через ШИМ

Сообщение Di123 »

[ref]Dryundel[/ref], я у меня возникают проблемы с вашим ускорителем когда дело косается дробных частей он их не понимает
допустим состовляющая ускорителя у нас получилась 3 и всё нормально он каждую секунду нащитывает по 3 ступеньки в шиме
но стоит подать дробное число допустим берём 60 мин / 1024 = 3,5 где ускоритель отбрасывает 0,5

а счётчик я задаю любое произвольное число оно делится преобразуется и маштабируется в импульсы и далее их остаётся только пощитать до соответствующей битности
2021-10-18_200320.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2449
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 6 раз
Поблагодарили: 31 раз

управление диммированием через ШИМ

Сообщение Dryundel »

Di123 писал(а): 18 окт 2021, 16:22 Dryundel, я у меня возникают проблемы с вашим ускорителем
Блоком ускорения что ли? (Надо бы им заняться и обновить)
Di123 писал(а): 18 окт 2021, 16:22 допустим состовляющая ускорителя у нас получилась 3 и всё нормально он каждую секунду нащитывает по 3 ступеньки в шиме
но стоит подать дробное число допустим берём 60 мин / 1024 = 3,5 где ускоритель отбрасывает 0,5
Данную проблему Вы имеете вероятно уже на стадии деления. int или long при делении на int может либо отбрасывать дробную часть либо округлять (в теории). Не помню что делает штатный блок. Если хотите получить дробное значение используйте делитель float.
Блок ускорения в любом случае работает с целыми числами. Поэтому что бы все получилось используйте множитель. Т.е. умножайте делимое еще на 100 и используйте это в качестве входного значения на блок который принимает целочисленное.
Кивни если понял. :yes:
Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03 ноя 2018, 19:38
Имя: Дмитрий

управление диммированием через ШИМ

Сообщение Di123 »

Я так и делал умножал потом выход делил но не зашло срочно надо было и я глубоко невдавался в исследования и набросал альтернативу

Завтра проверю разницу между ними если ускоритель и счётчик написаны на одной функции или таймере или что там в них заложено то разницы не будет при подщете мелких частых импульсов

Кстати я в прошлом году вроде интересовался у вас как перевести медленный ШИМ пидрегулятора в мощность используя генератор Который дробил рабочий импульс а счётчик пытался пощитать их и вывести некую состовляющию но ничего не получалось и недавно изучил быстрый счётчик и оказывается это очень просто делается закорачиваем две ноги ардуино одну от пида вторую от скоростного и выбираем подщет длины импульса а зная его всю длину просто машиабируем 0-100%
В ардуино это конечно кащюнство использовать редкие пины
Но в есп зато они все прерывательные практически
Аватара пользователя
Dryundel
Полковник
Сообщения: 2449
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 6 раз
Поблагодарили: 31 раз

управление диммированием через ШИМ

Сообщение Dryundel »

Di123 писал(а): 18 окт 2021, 17:36 Кстати я в прошлом году вроде интересовался у вас как перевести медленный ШИМ пидрегулятора в мощность используя генератор Который дробил рабочий импульс а счётчик пытался пощитать их и вывести некую состовляющию но ничего не получалось и недавно изучил быстрый счётчик и оказывается это очень просто делается закорачиваем две ноги ардуино одну от пида вторую от скоростного и выбираем подщет длины импульса а зная его всю длину просто машиабируем 0-100%
А Вы явно не ищете легких путей. :)
Аватара пользователя
LRoman
Рядовой
Сообщения: 5
Зарегистрирован: 20 ноя 2021, 18:31
Имя: Роман

Блоки ускорения

Сообщение LRoman »

:smile9:
valand
Рядовой
Сообщения: 64
Зарегистрирован: 15 июл 2018, 15:12
Имя: Андрей

Блоки ускорения

Сообщение valand »

А не встречал ли кто подобных блоков ускорения\торможения где время разгона\торможения постоянно и не зависит от величины входа?
Шаги в секунду не очень удобно, так как например указав 25шагов в секунду и подав на вход шим 25, лампа будет разгораться одну секунду а подав 255 уже 10 секунд. Хочется что бы лампа (просто как пример) разгоралась ровно N секунд хоть до 25 хоть до 127 хоть до 255.
Ответить

Вернуться в «Другое»

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

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