Serial Plotter (Плоттер по последовательному соединению)

Пользовательские блоки не подходящее под другие разделы
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Serial Plotter (Плоттер по последовательному соединению)

#1

Сообщение Dryundel » 16.02.2022{, 17:45}

Plotter
.
В Arduino IDE, есть очень удобная штука - Плоттер по последовательному соединению.
С его помощью можно отслеживать происходящее в контроллере визуально. Это очень помогает при отладке проектов. Общение с плоттером осуществляется через UART - по тому же USB кабелю, что и загрузка проекта в контроллер.
Однако, по моим наблюдениям, данным удобством пользуются не многие, а зря.

Для облегчения данной коммуникации и создан этот мультиблок.
С его помощью можно не только выводить данные на плоттер в виде графиков, но и изменять настройки и параметры, имитировать поведение датчиков и органов управления прямо из окна плоттера в онлайн режиме.
.
Serial Plotter.jpg
===============================================================================
Список доступных функций в актуальной версии.
- Вывод нескольких графиков
- Подпись параметра
- Вывод верхней и нижней границ (борьба с авто-масштабированием)
- Управление таймаутом вывода (отправки в плоттер)
- Сдвиг графика по вертикали (Offset)
- Масштабирование каждого графика по вертикали (Масштаб)
- Вывод нулевая линия для смещенного графика
- Вход En для отключения графика "на горячую"
- Отправка переменной из плоттера в контроллер. (обратная связь)
- Управление настройками и параметры, имитация поведения датчиков и органов управления из окна плоттера.
- Эмуляция устройств, таких как кнопка, потенциометр, нагреватель с термометром.
-

V 0.4 (Актуальная)
============================================================
- Исправлены некритичные ошибки
- В проект добавлены эмуляторы устройств (Кнопка без удержания, Потенциометр, Нагреватель с термометром)
.
0.jpg
0.jpg (11.03 КБ) 3524 просмотра
Плоттер(UART)_V0.4_(Code_-_Professional).ubi
(1.21 МБ) 167 скачиваний
.
Подробности ниже, в посте #4.

V 0.3
============================================================
2.jpg
2.jpg (10.35 КБ) 3597 просмотров
Плоттер(UART)_V0.3_(Code_-_Professional).ubi
(569.41 КБ) 79 скачиваний
Добавлено:
- Блок отправки переменной из плоттера в контроллер. (обратная связь)
Очень мощная функция, позволяющая общаться с контроллером онлайн. Теперь ложно легко изменять настройки и параметры, имитировать поведение датчиков и органов управления прямо из окна плоттера.

Подробности и пример использования описаны ниже. Пост #3
.
V 0.2
============================================================
1.jpg
1.jpg (8.01 КБ) 3657 просмотров
Плоттер(UART)_V0.2_(Code_-_Professional).ubi
(425.41 КБ) 87 скачиваний
Добавлено:
- Блок управления таймаутом (Масштаб по горизонтали)
- Сдвиг графика по вертикали (Offset)
- Масштабирование каждого графика по вертикали (М)
- Нулевая линия для смещенного графика
- Вход En для отключения графика "на горячую"

.
Плоттер(UART)_V0.1_(Code_-_Professional).ubi
(254.49 КБ) 107 скачиваний
Блок для вывода параметра(переменной) в Serial Plotter

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Serial Plotter (Плоттер по последовательному соединению)

#2

Сообщение Dryundel » 19.02.2022{, 19:00}

Версия блока обновлена до Плоттер(UART)_V0.2
Добавлено:
- Блок управления таймаутом (Масштаб по горизонтали)
- Сдвиг графика по вертикали (Offset)
- Масштабирование каждого графика по вертикали (М)
- Нулевая линия для смещенного графика
- Вход En для отключения графика "на горячую"
Все параметры управляются в реальном времени.
.
1.jpg
1.jpg (8.01 КБ) 1733 просмотра
Тест-Пример2.jpg
Скриншот проекта тестового примераПоказать
Тест-Пример1.jpg
Тест-Пример1.jpg (25.43 КБ) 1734 просмотра
Тест-Пример1.flp
(624.43 КБ) 81 скачивание
.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Serial Plotter (Плоттер по последовательному соединению)

#3

Сообщение Dryundel » 23.02.2022{, 10:13}

Версия мультиблока обновилась до Плоттер(UART)_V0.3.

Добавлена обратная связь. Это очень мощная функция, позволяющая общаться с контроллером онлайн. Теперь можно легко изменять настройки и параметры, имитировать поведение датчиков и органов управления прямо из окна плоттера.

Для того, чтобы изменить какую либо настройку, достаточно в строке окна плоттера написать имя переменной и ее значение.
Например O=8 Сразу после нажатия "Отправить" или Enter, изменения вступят в силу, что можно наблюдать на графике.
Скачать блок в первом посте
Пример смотри ниже.

.
2.jpg
2.jpg (10.35 КБ) 1664 просмотра
Тест-Пример3.jpg
Скриншот тестового проектаПоказать
Тест-пример работы сплоттером.jpg
Тест-пример работы сплоттером.flp
(1021.44 КБ) 80 скачиваний
.
Список возможностей V 0.3
- Вывод нескольких графиков
- Подпись парамера
- Смещение графика по вертикали.
- Вывод верхней и нижней границ (борьба с автомасштабированием)
- Вывод нулевого уровня переменной (при смещении)
- Масштабирование по горизонтали (Таймаут)
- Масштабирование по вертикали (Масштаб (М))
- Управление графиком "на горячую", в реальном времени.
- Отправка переменной из плоттера в контроллер

Описание работы с блоком PlonntrGet (получение параметра из Serial Plotter)

Имя отправляемой переменной должно точно совпадать с именем
введенном в блоке и написано на латинице.

Пример: Yarkost или TEMP или V

Для отправки переменной из плоттера на контроллер, в строке плоттера введите
имя переменной и ее значение через знак " = " или " / " или " *." или пробел
(Подойдет любой удобный знак отличный от буквы) и нажмите "Отправить" или Enter.
Отрицательные значения тоже поддерживаются.
Дробное значение переменной вводится через точку.

Пример: Yarkost/-57 или TEMP=36.6 или V*220

Все очень просто и удобно. Успехов Вам и вашим проектам!

ВСЕХ С ДНЕМ ЗАЩИТНИКА ОТЕЧЕСТВА!

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Serial Plotter (Плоттер по последовательному соединению)

#4

Сообщение Dryundel » 25.02.2022{, 13:45}

Версия мультиблока обновилась до Плоттер(UART)_V0.3.
.
0.jpg
0.jpg (11.03 КБ) 1602 просмотра
.
- Исправлены некритичные ошибки
- В проект добавлены эмуляторы устройств (Кнопка без удержания, Потенциометр, Нагреватель с термометром)

Скачать в посте #1

Эмуляторы устройств
Данные блоки позволяют тестировать проект без подключения реальных устройств.
Управление эмуляторами может осуществляться из окна плоттера.

Кнопка без удержания
Управляя переменными из плоттера, сложно сымитировать короткое нажатие. Данный блок позволяет это сделать.
В случае если с плоттера пришла переменная с именем кнопки на выход
блока будет подан импульс длительностью настроенной пользователем.
При Времени клика "0" - импульс будет в один цикл программы.
Для данной кнопки значение переменной из плоттера не имеет значения,
должно быть хотя бы имя и пробел(знак). Можно вообще без значения

Пример: buttA_ или KnopB* или D/

Потенциометр
Данный блок принимает из плоттера новое значение и плавно изменяет текущее со настроенной скоростью.
Скорость настраивается исходя из времени поворота потенциометра из одного крайнего положения в другое.
Новое значение вводится в строку плоттера через пробел или знак после имени.
Значение имеет процентный формат и должно быть от 0 до 100
Пример: Pot=20 или ResA 85 или Rb*30

Нагреватель с термометром
Этот блок заслуживает отдельной темы. В его основе математическая модель нагревателя с измерением текущей температуры. И хотя данная модель очень упрощена, ее вполне достаточно, что бы например потренироваться с настройками ПИД регулятора.

Данный блок может использоваться автономно.

Эмулятор имеет довольно гибкие настройки.
- Типы управления - Дискретный(реле) или Аналоговый (регулятор мощности в %)
- Температура покоя (комнатная, окружающая среда)
- Максимальная температура нагрева
- Скорости нагрева и остывания (градусов в минуту)
- Тепловая инерция нагревателя (агрегата, емкости и т.п.) в условных единицах (0-10)

Блок имеет дополнительный выход "Ta" - это температура ТЭН без учета инерции.
Этот выход скорее больше информативный. По нему можно составить представление о происходящих в нагревателе, физических процессах.

Тестовый проект эмуляции ТЭН и настройки ПИД регулятора.
(Для теста нужен только контролер и всё! Уставку и все коэффициенты можно подстраивать из плоттера.)
Весьма забавный и увлекательный процесс. Надеюсь, что загрузив данный проект, вы сможете прояснить для себя многие моменты по настройке ПИД. При изменении настроек эмулятора, получается нагреватель с новыми характеристиками, для которого требуются свои коэффициенты ПИД регулятора.
3.jpg
Скриншот тестового проекта с ПИД регуляторомПоказать
1.jpg
Тест-ПИД.flp
(1.82 МБ) 70 скачиваний
.
Примеры настройки ПИД регулятора.
Правильная настройкаПоказать
32.jpg
Слишком большая раскачка при выходе в режимПоказать
31.jpg
Невыход в режимПоказать
33.jpg
Слишком долгий выход в режимПоказать
34.jpg

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Serial Plotter (Плоттер по последовательному соединению)

#5

Сообщение Dryundel » 25.02.2022{, 18:19}

2022-02-25_180855.jpg
.
................. :smile37: ..................

Мда... Видимо мне не удалось донести идею.
abay, а не могли бы Вы рассказать, какая часть особенно непонятна? Что надо дополнительно рассказать "неглупым парням"?

SerOv
Лейтенант
Сообщения: 569
Зарегистрирован: 06.01.2018{, 19:50}
Репутация: 26

Serial Plotter (Плоттер по последовательному соединению)

#6

Сообщение SerOv » 25.02.2022{, 18:32}

Dryundel писал(а):
25.02.2022{, 18:19}

Мда. Видимо мне не удалось донести идею.
abay, а не могли бы Вы рассказать, какая часть особенно непонятна? Что надо дополнительно осветить?
Да. Придется Вам, еще изучить видео монтаж :smile38:

abay

Serial Plotter (Плоттер по последовательному соединению)

#7

Сообщение abay » 25.02.2022{, 21:33}

SerOv писал(а):
25.02.2022{, 18:32}
Да. Придется Вам, еще изучить видео монтаж
Не стоит Вам тратить на меня драгоценное свое время!
Я сам как нибуть, потихоньку, доростать буду :smile427:

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Serial Plotter (Плоттер по последовательному соединению)

#8

Сообщение Dryundel » 25.02.2022{, 21:50}

abay писал(а):
25.02.2022{, 21:33}
Не стоит Вам тратить на меня драгоценное свое время!
Я сам как нибуть нибудь, потихоньку, доростать дорастать буду .
С таким отношением к труду других и пренебрежительным отношением к русскому языку, дорастете до бана.

abay

Serial Plotter (Плоттер по последовательному соединению)

#9

Сообщение abay » 25.02.2022{, 21:56}

Dryundel писал(а):
25.02.2022{, 21:50}
abay писал(а):
25.02.2022{, 21:33}
Не стоит Вам тратить на меня драгоценное свое время!
Я сам как нибуть нибудь, потихоньку, доростать дорастать буду.
С таким отношением к труду других и пренебрежительным отношением к русскому языку, дорастете до бана.
Я такой ответ и предполагал, внучик...

Отправлено спустя 4 минуты 21 секунду:
abay писал(а):
25.02.2022{, 21:56}
Dryundel писал(а):
25.02.2022{, 21:50}
abay писал(а):
25.02.2022{, 21:33}
Не стоит Вам тратить на меня драгоценное свое время!
Я сам как нибуть нибудь, потихоньку, доростать дорастать буду.
С таким отношением к труду других и пренебрежительным отношением к русскому языку, дорастете до бана.
Я такой ответ и предполагал, внучик...
Банить меня не обязательно. Ты сам на рожон нарываться начал :no:
Я спокойно помолчу и почитаю.
Мне ничего от вас не нужно, кроме Знаний...

Отправлено спустя 6 минут 38 секунд:
Уважаемый Друмель!
Я бы хотел вАс попросить вести себя приличнее, "полковник" :yes:
СпойлерПоказать
1.png

SerOv
Лейтенант
Сообщения: 569
Зарегистрирован: 06.01.2018{, 19:50}
Репутация: 26

Serial Plotter (Плоттер по последовательному соединению)

#10

Сообщение SerOv » 25.02.2022{, 22:19}

abay, На счет видео монтажа. Это было не к вам обращение.

artemka19
Лейтенант
Сообщения: 540
Зарегистрирован: 03.09.2020{, 15:41}
Репутация: 216
Откуда: Питер
Имя: Артем

Serial Plotter (Плоттер по последовательному соединению)

#11

Сообщение artemka19 » 25.02.2022{, 23:00}

Screenshot_20220225-225916_Opera.jpg

artemka19
Лейтенант
Сообщения: 540
Зарегистрирован: 03.09.2020{, 15:41}
Репутация: 216
Откуда: Питер
Имя: Артем

Serial Plotter (Плоттер по последовательному соединению)

#12

Сообщение artemka19 » 25.02.2022{, 23:02}

:smile469: вот так)))
кто то оказывается слямзил блок, а создателя зовут николай)))
Всего то седьмой десяток человеку)))
страшно за реактор)

abay

Serial Plotter (Плоттер по последовательному соединению)

#13

Сообщение abay » 25.02.2022{, 23:05}

SerOv писал(а):
25.02.2022{, 22:19}
abay, На счет видео монтажа. Это было не к вам обращение.
Не пАрьтесь: я - "тише воды, ниже травы".
Я никто и имя мое - "никак"!
Можно, я просто буду читать и молчать?!!
Спасибо!!!

Отправлено спустя 3 минуты 50 секунд:
artemka19 писал(а):
25.02.2022{, 23:02}
:smile469: вот так)))
кто то оказывается слямзил блок, а создателя зовут николай)))
Всего то седьмой десяток человеку)))
страшно за реактор)
в смысле? Поясните - кто кого слямзил?
Кого зовут Николаем?
И какой негодяй "вывел реактор из эксплуатации" в 2001 году, за который Вам страшно по сей день??

artemka19
Лейтенант
Сообщения: 540
Зарегистрирован: 03.09.2020{, 15:41}
Репутация: 216
Откуда: Питер
Имя: Артем

Serial Plotter (Плоттер по последовательному соединению)

#14

Сообщение artemka19 » 25.02.2022{, 23:09}

abay писал(а):
25.02.2022{, 23:05}
Не пАрьтесь: я - "тише воды, ниже травы".
Я никто и имя мое - "никак"!
Можно, я просто буду читать и молчать
сказал проектировщик путающий имена)

artemka19
Лейтенант
Сообщения: 540
Зарегистрирован: 03.09.2020{, 15:41}
Репутация: 216
Откуда: Питер
Имя: Артем

Serial Plotter (Плоттер по последовательному соединению)

#15

Сообщение artemka19 » 25.02.2022{, 23:11}

abay писал(а):
25.02.2022{, 23:09}
смысле? Поясните - кто кого слямзил?
Кого зовут Николаем?
И какой негодяй "вывел реактор из эксплуатации" в 2001 году, за который Вам страшно по сей день
жги еще!)


artemka19
Лейтенант
Сообщения: 540
Зарегистрирован: 03.09.2020{, 15:41}
Репутация: 216
Откуда: Питер
Имя: Артем

Serial Plotter (Плоттер по последовательному соединению)

#17

Сообщение artemka19 » 25.02.2022{, 23:18}

abay,
просто знайте меру и свое место.

abay

Serial Plotter (Плоттер по последовательному соединению)

#18

Сообщение abay » 25.02.2022{, 23:20}

artemka19 писал(а):
25.02.2022{, 23:18}
abay,
просто знайте меру и свое место.
спасибо вам огромное!
:smile171:

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

Serial Plotter (Плоттер по последовательному соединению)

#19

Сообщение Naladchik » 26.02.2022{, 07:51}

Dryundel,
Интересные возможности плоттера, спасибо.
Всё не доходили руки с ним поразбираться да к делу приспособить. Теперь есть от чего отталкиваться.
Эмуляторы устройств - очень интересная идея.
КосячкиПоказать
11.png
Отсутствуют описания параметров и значения по умолчанию - вот это уже нехорошо.
Win10-64. FLProg Portable.
Изображение

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Serial Plotter (Плоттер по последовательному соединению)

#20

Сообщение Dryundel » 26.02.2022{, 09:08}

Naladchik писал(а):
26.02.2022{, 07:51}
Отсутствуют описания параметров и значения по умолчанию - вот это уже нехорошо.
Опечатки поправлю. Возможно описание сделал не в каждом параметре, но в общих описаниях где то точно писал про значение по умолчанию.
Допишем, допилим в след. версии.
По эмуляторам в планах: энкодер и Эл. двигатель со скоростным счётчиком оборотов. Мат. модель вроде уже придумал.
Сложность в том, что мат. модель должна быть простой по коду, что бы не сильно жрать ресурсы контроллера. Приходится сильно упрощать.

Ответить

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