Страница 2 из 2
Блоки ускорения
Добавлено: 25 июл 2021, 13:39
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 секунд:
не останавливается а перестаёт рисовать выход
Блоки ускорения
Добавлено: 25 июл 2021, 13:47
ecoins
Di123 писал(а): 25 июл 2021, 13:39
вот спецально для вас собрал как просили самое простое что можно
генератор 30/30 сек
ускорение 1 сек
уарт шаг 1 сек
Спасибо. Похоже это из-за таймера.
Попозже реализуем что-то похожее - сейчас много работаем с сенсорами, прямо сейчас конкретно BME280 с тремя интерфейсами.
Блоки ускорения
Добавлено: 27 июл 2021, 07:20
AlexCrane
[ref]Dryundel[/ref], [ref]Di123[/ref], [ref]ecoins[/ref], Теперь таймер не будет переполнятся
Acceleration_Overtake_v.1.16fix_(Code_-_Basic).ubi
Блоки ускорения
Добавлено: 27 июл 2021, 21:13
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().
Блоки ускорения
Добавлено: 28 июл 2021, 02:58
Di123
[ref]Labu559[/ref], с новым блоком покрайне мере работает без проблем два дня
на крайний случай я придумал под этот проект свой блок ускорения
Блоки ускорения
Добавлено: 12 окт 2021, 05:13
Di123
[ref]AlexCrane[/ref], два месяца без проблем ваша версия отработала
а можно ли её подружить с ремоте ху на ЕСП8266 ?
а то блок вытаскиваю вайфай не работает
убираю работает
Блоки ускорения
Добавлено: 12 окт 2021, 07:24
AlexCrane
[ref]Di123[/ref], Проект можно увидеть?
Блоки ускорения
Добавлено: 12 окт 2021, 19:06
Di123
он загружается но к телефону не подключается и на вемосе постоянно моргает светодиод а в уарте какой то мусор хотя он не подключен
2021-10-12_223822.png
удаляю блок ускорения и всё норм загружается и подключается к телефону
тест.flp
Блоки ускорения
Добавлено: 12 окт 2021, 21:26
AlexCrane
[ref]Di123[/ref], Возможно деление на ноль (там где 4095/сек)
Блоки ускорения
Добавлено: 13 окт 2021, 05:35
Di123
[ref]AlexCrane[/ref], спасибо теперь заработало всё
управление диммированием через ШИМ
Добавлено: 18 окт 2021, 16:22
Di123
[ref]Dryundel[/ref], я у меня возникают проблемы с вашим ускорителем когда дело косается дробных частей он их не понимает
допустим состовляющая ускорителя у нас получилась 3 и всё нормально он каждую секунду нащитывает по 3 ступеньки в шиме
но стоит подать дробное число допустим берём 60 мин / 1024 = 3,5 где ускоритель отбрасывает 0,5
а счётчик я задаю любое произвольное число оно делится преобразуется и маштабируется в импульсы и далее их остаётся только пощитать до соответствующей битности
2021-10-18_200320.png
управление диммированием через ШИМ
Добавлено: 18 окт 2021, 16:37
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 и используйте это в качестве входного значения на блок который принимает целочисленное.
Кивни если понял.

управление диммированием через ШИМ
Добавлено: 18 окт 2021, 17:36
Di123
Я так и делал умножал потом выход делил но не зашло срочно надо было и я глубоко невдавался в исследования и набросал альтернативу
Завтра проверю разницу между ними если ускоритель и счётчик написаны на одной функции или таймере или что там в них заложено то разницы не будет при подщете мелких частых импульсов
Кстати я в прошлом году вроде интересовался у вас как перевести медленный ШИМ пидрегулятора в мощность используя генератор Который дробил рабочий импульс а счётчик пытался пощитать их и вывести некую состовляющию но ничего не получалось и недавно изучил быстрый счётчик и оказывается это очень просто делается закорачиваем две ноги ардуино одну от пида вторую от скоростного и выбираем подщет длины импульса а зная его всю длину просто машиабируем 0-100%
В ардуино это конечно кащюнство использовать редкие пины
Но в есп зато они все прерывательные практически
управление диммированием через ШИМ
Добавлено: 18 окт 2021, 17:49
Dryundel
Di123 писал(а): 18 окт 2021, 17:36
Кстати я в прошлом году вроде интересовался у вас как перевести медленный ШИМ пидрегулятора в мощность используя генератор Который дробил рабочий импульс а счётчик пытался пощитать их и вывести некую состовляющию но ничего не получалось и недавно изучил быстрый счётчик и оказывается это очень просто делается закорачиваем две ноги ардуино одну от пида вторую от скоростного и выбираем подщет длины импульса а зная его всю длину просто машиабируем 0-100%
А Вы явно не ищете легких путей.

Блоки ускорения
Добавлено: 26 апр 2022, 16:31
LRoman
Блоки ускорения
Добавлено: 26 сен 2022, 23:18
valand
А не встречал ли кто подобных блоков ускорения\торможения где время разгона\торможения постоянно и не зависит от величины входа?
Шаги в секунду не очень удобно, так как например указав 25шагов в секунду и подав на вход шим 25, лампа будет разгораться одну секунду а подав 255 уже 10 секунд. Хочется что бы лампа (просто как пример) разгоралась ровно N секунд хоть до 25 хоть до 127 хоть до 255.