Страница 1 из 3

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

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

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

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

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

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

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

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

Добавлено: 19 фев 2022, 19:00
Dryundel
Версия блока обновлена до Плоттер(UART)_V0.2
Добавлено:
- Блок управления таймаутом (Масштаб по горизонтали)
- Сдвиг графика по вертикали (Offset)
- Масштабирование каждого графика по вертикали (М)
- Нулевая линия для смещенного графика
- Вход En для отключения графика "на горячую"
Все параметры управляются в реальном времени.
.
1.jpg
Тест-Пример2.jpg
[spoiler=Скриншот проекта тестового примера]
Тест-Пример1.jpg
[/spoiler]
Тест-Пример1.flp
.

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

Добавлено: 23 фев 2022, 10:13
Dryundel
Версия мультиблока обновилась до Плоттер(UART)_V0.3.

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

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

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

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

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

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

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

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

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

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

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

Добавлено: 25 фев 2022, 18:17
Dryundel
Версия мультиблока обновилась до Плоттер(UART)_V0.3.
.
0.jpg
.
- Исправлены некритичные ошибки
- В проект добавлены эмуляторы устройств (Кнопка без удержания, Потенциометр, Нагреватель с термометром)

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

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

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

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

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

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

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

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

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

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

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

Добавлено: 25 фев 2022, 18:19
Dryundel
2022-02-25_180855.jpg
.
................. :smile37: ..................

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

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

Добавлено: 25 фев 2022, 18:32
SerOv
Dryundel писал(а): 25 фев 2022, 18:19
Мда. Видимо мне не удалось донести идею.
[ref]abay[/ref], а не могли бы Вы рассказать, какая часть особенно непонятна? Что надо дополнительно осветить?
Да. Придется Вам, еще изучить видео монтаж :smile38:

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

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

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

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

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

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

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

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

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

Добавлено: 25 фев 2022, 22:19
SerOv
[ref]abay[/ref], На счет видео монтажа. Это было не к вам обращение.

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

Добавлено: 25 фев 2022, 23:00
artemka19
Screenshot_20220225-225916_Opera.jpg

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

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

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

Добавлено: 25 фев 2022, 23:08
abay
SerOv писал(а): 25 фев 2022, 22:19 [ref]abay[/ref], На счет видео монтажа. Это было не к вам обращение.
Не пАрьтесь: я - "тише воды, ниже травы".
Я никто и имя мое - "никак"!
Можно, я просто буду читать и молчать?!!
Спасибо!!!

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

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

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

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

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

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

Добавлено: 25 фев 2022, 23:16
abay
"Злые Вы!"
:D

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

Добавлено: 25 фев 2022, 23:18
artemka19
[ref]abay[/ref],
просто знайте меру и свое место.

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

Добавлено: 25 фев 2022, 23:20
abay
artemka19 писал(а): 25 фев 2022, 23:18 [ref]abay[/ref],
просто знайте меру и свое место.
спасибо вам огромное!
:smile171:

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

Добавлено: 26 фев 2022, 07:51
Naladchik
[ref=#ff8000]Dryundel[/ref],
Интересные возможности плоттера, спасибо.
Всё не доходили руки с ним поразбираться да к делу приспособить. Теперь есть от чего отталкиваться.
Эмуляторы устройств - очень интересная идея.
[spoiler=Косячки]
11.png
[/spoiler]
Отсутствуют описания параметров и значения по умолчанию - вот это уже нехорошо.

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

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