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

Мониторинг загруженности контроллера

Добавлено: 23 авг 2021, 20:45
ingener
Было бы очень полезным посмотреть в реальном времени, насколько загружен контроллер в процессе выполнения программы, и насколько можно снизить степень загрузки, оптимизируя схему работы.
Например, есть проект с блоками ШД, работающими на высоких скоростях и с постоянной сменой направления (колебатель).
Иногда даже на слух понятно, что мотор ЩД раотает нестабильно - то скорость чуть меняется, то пауза чуть дольше.
Но стоит, к примеру, отключить блоки дисплея при работе ШД, и сразу работа стабилизируется.
Как бы посмотреть, как тяжело контроллеру и насколько становится легче при оптимизации схемы :smile37:

Мониторинг загруженности контроллера

Добавлено: 23 авг 2021, 21:29
Ingwar
ingener писал(а): 23 авг 2021, 20:45 посмотреть в реальном времени насколько загружен контроллер
Думаю это понятие не применимо к простым микроконтроллерам в силу особенностей выполнения программы.
В лучшем случае можно контролировать свободную оперативную память (но я не в теме).
Измеряйте лучше время цикла.
Хотя любой контроль повысит "нагрузку" :smile171:

Мониторинг загруженности контроллера

Добавлено: 23 авг 2021, 21:30
ecoins
ingener писал(а): 23 авг 2021, 20:45 Было бы очень полезным посмотреть в реальном времени, насколько загружен контроллер в процессе выполнения программы, и насколько можно снизить степень загрузки, оптимизируя схему работы.
Например, есть проект с блоками ШД, работающими на высоких скоростях и с постоянной сменой направления (колебатель).
Иногда даже на слух понятно, что мотор ЩД раотает нестабильно - то скорость чуть меняется, то пауза чуть дольше.
Но стоит, к примеру, отключить блоки дисплея при работе ШД, и сразу работа стабилизируется.
Как бы посмотреть, как тяжело контроллеру и насколько становится легче при оптимизации схемы
Наиболее активное представление можно получить выводя сигнал blink на пин каждые цикл loop() и наблюдение за ним логическим анализатором. Это получать данные о быстродействии на длительном диапазоне.
В библиотеках ecoins это реализована как вывод блока диспетчера задач и используется во всех проектах.

Мониторинг загруженности контроллера

Добавлено: 23 авг 2021, 22:53
RedSky
Косвенно можно судить по времени выполнения одного цикла программы. Правда в него войдут и искуственные задержки типа delay.
Тут есть блоки viewtopic.php?f=77&t=6560