Перейти к содержанию
    

Какую выбрать программу для визуализации данных от контроллера с сом-порта?

32 минуты назад, Herz сказал:

если в Плоттер можно запросто передавать большие числа в формате ASCII посредством Serial.print() и он сам переводит их в десятичный вид, то с SerialPlot это не прокатывает:

Походите по вот этим вкладкам, там многое настраивается. Например, в этом режиме он принимает любые числа в ASCII: и целые, и float и даже сам считает их кол-во.2021-05-07_124802.jpg.1a8c452a13bca86a9b3ae01e50254f20.jpg

При выборе "Simple Binary" и "Custom Frame" - еще много вкусностей по форматам данных.

Настройки можно сохранять в файл.

 

Здесь настройки для каждого графика и для осей. И, кстати, можно жестко задать шкалы, отключив галочки "Auto" справа.

(Что такое "Select Range Preset" - я пока не понял). 

Ход времени - не совсем настраивается, но можете попробовать "Plot Width".

2021-05-07_124838.thumb.jpg.a688ebaf6b9b6ed978772aad50cf56d7.jpg

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо. Я пробовал выбирать ASCII, но тогда вообще ничего не происходит. Как быть с float - вообще загадка. Ладно, не буду Вам морочить голову, надо разбираться. Но пока мне и встроенного Плоттера - вполне.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, Herz сказал:

Если не секрет, какой алгоритм использовали? И чем управляли?

У меня 1 этаж многоэтажного дома, и вытяжка тянет очень сильно, иногда бывает ощутимо трудно закрыть окно. Перепад давления, создаваемого вытяжкой, зимой был 50-80 пА, сейчас 30-50 пА. Соответственно ни о каком качестве воздухообмена говорить не приходится, да еще оно пытается затягивать в квартиру воздух из подвала, коридора и т.д.

Я сделал 2 управляемые заслонки на вент. отверстия в кухне и туалете. Каждый модуль содержит заслонку с шаговым двигателем и датчик скорости потока, сделанный из компьютерного вентилятора. (Еще пришлось загерметизировать всякие щели в районе санузла, а это работа не меньше, чем сделать контроллер :)

Теперь контроллер поддерживает скорости потока на заданном уровне (пока поставил 1 м/с), я пока не пересчитал это в объем, но по ощущениям получилось самое то: через щель приоткрытого окна идет спокойный приток без сквозняков (и тихо, без гудения!) Потом еще поставлю приточные клапаны на окна.

Получившийся перепад давления пока не измерял, но наверное он порядка 5-10 пА и у меня нет прибора на такой диапазон.

Сами приводы работают очень тихо и вся система потребляет от 5В до 400 мА, а когда не крутит заслонки - то до 100 мА.

20210501_135319.thumb.jpg.9f7879f168934b8944bb6d224385071d.jpg

Алгоритм простейший: П-Д регулятор с мертвой зоной (И - интегрирует сам датчик потока, он получился довольно инерционный).

Датчик выдает импульсы (несколько имп. в секунду), они преобразуются в частоту и далее вычисляется количество шагов двигателя на открывание или закрывание. Сейчас дифференциальную составляющую сделал довольно большую, это помогает быстро отрабатывать ситуации открывания двери, окна и т.д. В среднем регулировка после больших перепадов занимает секунд 20-30, не считая "хвост" из небольших колебаний.

Еще я думал, что будет проблема взаимного влияния регуляторов из-за перетока давления воздуха и что надо будет их как-то синхронизировать, но пока вроде такого не заметил. Так что на одной ардуине живут 2 независимых регулятора.

Существует проблема, что приводы движутся раз в несколько секунд (видимо, потоки нестабильные), и мертвая зона не сильно помогает. Сколько они проживут в таком режиме - неизвестно, хотя нагрузка небольшая.

Возможно, для экономии моторесурса надо делать какой-то более интеллектуальный алгоритм, но пока "и так сойдет"(с).

58 минут назад, Herz сказал:

Я пробовал выбирать ASCII, но тогда вообще ничего не происходит. Как быть с float - вообще загадка.

Надо выбрать правильный разделитель (пробел, запятая и т.д.) - такой же, как в Ваших данных.

У меня работает вот так: есть и целые, и float в одной строке. Разделены пробелами:

0.00 527 30 0.00 271 20

Строка заканчивается переводом строки - печатается функцией Serial.println();

Программа все автоматически подхватывает.

Да, еще нужно выбрать порт и нажать кнопку "Open" (открыть порт). При этом, кстати, тоже сбрасывается контроллер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у stm есть утилита мониторинга переменых в чипе онлайн - если есть бинарь elf, она с него переменные импрортирует. и по жтаг или свд цепляется к ядру и читает их прямо из памяти.

никакой дополнительной оснастки журналировария в софте тут не нужно.

оди недостаток - слабая скорость канала не позволяет считывать данные быстро. быстрее семпл/20мс у меня не получалось на винде.

тула умеет строить графики и сливать все в жуналы, сохранять сессию и загружать сохраненное.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 часов назад, AlexRayne сказал:

у stm есть утилита мониторинга переменых в чипе онлайн

Какое это имеет отношение к теме?

Цитата

Делаю несложный контроллер на ардуино

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Herz сказал:

Какое это имеет отношение к теме?

в исходном топике фигурировало желание отследить рабрту ПИД. я это делал утилой от стм, т.к. городить дамп в уарт, и парсинг - это возня на неделю. а тут все из коробки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Автор же прямо указал на желание отследить работу ПИД на Ардуино. Более того, это ему удалось, и задача решена.

Упоминание после всего этого Вами стм и его утилиты как-то... ни к селу, как бы там красиво ни был организован мониторинг.

Вам бы эту информацию, да в специализированную ветку. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

07.05.2021 в 14:02, alexvu сказал:

Программа все автоматически подхватывает.

Кстати, вышла 12-я версия. Сейчас всё работает безупречно, я доволен. Возможно, и в предыдущей просто не успел разобраться...

 

17.05.2021 в 10:06, Arlleex сказал:

Вот еще, только увидел. Сам не пользовался.

Интересно, спасибо. Надо попробовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

07.05.2021 в 13:11, alexvu сказал:

Настройки можно сохранять в файл.

Не нашёл, как сохранять логи. То есть, запись вроде включается, и в окошке для сохранения видны имена файлов, которые, якобы, записывались. Но в проводнике их не найти, и ничего об этих файлах Виндовс не знает. Загрузить обратно в SerialPlot тоже нельзя. Вам удавалось сохранять записи?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

21 hours ago, Herz said:

Не нашёл, как сохранять логи. То есть, запись вроде включается, и в окошке для сохранения видны имена файлов, которые, якобы, записывались. Но в проводнике их не найти, и ничего об этих файлах Виндовс не знает. Загрузить обратно в SerialPlot тоже нельзя. Вам удавалось сохранять записи?

Откройте Resource Monitor и посмотрите куда пишет (и пишит ли вообще)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

08 01 02 E4 00 08 01 06 E4 
  7F 1C 00 00 AA AF 00 00 A1 38 00 00 A4 FF 3F 00 80 0C 94 05 22 00 22 00 05 00 80 0F 
  7F 1D 00 00 82 B7 00 00 A1 38 00 00 9B FF 41 00 80 0C 95 05 22 00 22 00 05 00 80 0F 
  7F 1E 00 00 A3 B7 00 00 A1 38 00 00 D5 FF 1A 00 80 0C 90 05 22 00 22 00 05 00 80 0F 
  7F 1F 00 00 CD B7 00 00 A1 38 00 00 D0 FF 18 00 80 0C 0C 06 22 00 22 00 05 00 80 0F 
  7F 20 00 00 DA B8 00 00 A1 38 00 00 CF FF 1A 00 80 0C 0C 06 22 00 22 00 05 00 80 0F 
  7F 21 00 00 A1 B9 00 00 A1 38 00 00 D1 FF 1A 00 80 0C 0C 06 22 00 22 00 05 00 80 0F 
  7F 22 00 00 72 BA 00 00 A1 38 00 00 D1 FF 19 00 80 0C 0C 06 22 00 22 00 05 00 80 0F 
  7F 23 00 00 C8 BA 00 00 A1 38 00 00 D2 FF 18 00 80 0C 0C 06 22 00 22 00 05 00 80 0F 
  7F 24 00 00 93 D0 00 00 A1 38 00 00 37 FF 1C 00 80 0C 0D 06 22 00 22 00 05 00 80 0F 
  7F 25 00 00 B8 D1 00 00 A1 38 00 00 CD FF 1C 00 80 0C 0D 06 22 00 22 00 05 00 80 0F 
  7F 26 00 00 3F D5 00 00 A1 38 00 00 27 F4 1B 00 80 0C 0D 06 22 00 22 00 05 01 84 0F 

в структуре знаковые и беззнаковые 32, 16, битовые.

Возможно есть готовая программа или скрипт для экселя чтобы перевести в читаемый вид?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

любой понравившийся простой скриптовый язык

на lua например можно превратить строку в бинарную (последовательность байтов), и потом уже из бинарной строки выдернуть циферки нужного размера, формата, знаковости и endianess:

https://www.lua.org/manual/5.4/manual.html#6.4.2

str = "7F 1C 00 00 AA AF 00 00 A1 38 00 00 A4 FF 3F 00 80 0C 94 05 22 00 22 00 05 00 80 0F"
t = {}
for s in str:gmatch("%x%x") do table.insert(t,tonumber(s,16)) end
f1,f2,f3 = (">I4I2I4"):unpack(string.char(table.unpack(t)))
print(f1,f2,f3)

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 hours ago, siargy said:

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

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

08 01 02 E4 00 08 01 06 E4 
  7F 1C 00 00 AA AF 00 00 A1 38 00 00 A4 FF 3F 00 80 0C 94 05 22 00 22 00 05 00 80 0F 
  7F 1D 00 00 82 B7 00 00 A1 38 00 00 9B FF 41 00 80 0C 95 05 22 00 22 00 05 00 80 0F 
  7F 1E 00 00 A3 B7 00 00 A1 38 00 00 D5 FF 1A 00 80 0C 90 05 22 00 22 00 05 00 80 0F 
  7F 1F 00 00 CD B7 00 00 A1 38 00 00 D0 FF 18 00 80 0C 0C 06 22 00 22 00 05 00 80 0F 
  7F 20 00 00 DA B8 00 00 A1 38 00 00 CF FF 1A 00 80 0C 0C 06 22 00 22 00 05 00 80 0F 
  7F 21 00 00 A1 B9 00 00 A1 38 00 00 D1 FF 1A 00 80 0C 0C 06 22 00 22 00 05 00 80 0F 
  7F 22 00 00 72 BA 00 00 A1 38 00 00 D1 FF 19 00 80 0C 0C 06 22 00 22 00 05 00 80 0F 
  7F 23 00 00 C8 BA 00 00 A1 38 00 00 D2 FF 18 00 80 0C 0C 06 22 00 22 00 05 00 80 0F 
  7F 24 00 00 93 D0 00 00 A1 38 00 00 37 FF 1C 00 80 0C 0D 06 22 00 22 00 05 00 80 0F 
  7F 25 00 00 B8 D1 00 00 A1 38 00 00 CD FF 1C 00 80 0C 0D 06 22 00 22 00 05 00 80 0F 
  7F 26 00 00 3F D5 00 00 A1 38 00 00 27 F4 1B 00 80 0C 0D 06 22 00 22 00 05 01 84 0F 

в структуре знаковые и беззнаковые 32, 16, битовые.

Возможно есть готовая программа или скрипт для экселя чтобы перевести в читаемый вид?

Отправляй из одного терминала в другой через com0com и распарсивай построчно. 

image.thumb.png.7877cc6f9b9c29b9646ffadf94bc431f.pngimage.thumb.png.1d869598ff00b029743ce834d9da5e0c.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, ДЕЙЛ said:

Отправляй из одного терминала в другой через com0com и распарсивай построчно. 

тут нет битовых полей

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...