Разработки ecoins

Аватара пользователя
Phazz
Полковник
Сообщения: 3131
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 234 раза
Поблагодарили: 114 раз

Разработки ecoins

Сообщение Phazz »

[ref]ecoins[/ref], Как работает блок вывод параметров контролера?
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

Phazz писал(а): 20 окт 2021, 22:38 ecoins, Как работает блок вывод параметров контролера?
1.после того как Вы выбираете в Arduino IDE нужный контроллер(из списка поддерживаемых ecoins) компиляция выполняется с учетом этого контроллера.
Блок вывода параметров плат выводит параметры этого контроллера по настраиваемому списку:
- время компиляции
-тип контроллера
- перечень всех доступных пинков в том числе с разбивкой по типам(дискретный ввод, дискретный вывод ит.д.)
- перечень интерфейсных пинков
И тд
Использовать просто, но в реализации есть нюансы, которые учитываются для универсального вывода для разных контроллеров.
—-
Возможно я не вполне парня вопрос....
Аватара пользователя
Phazz
Полковник
Сообщения: 3131
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 234 раза
Поблагодарили: 114 раз

Разработки ecoins

Сообщение Phazz »

[ref]ecoins[/ref], меня интересует примение в проекте. Добавляю блок есп уходит в ребут. Может я его как-то неправильно готовлю )
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

Phazz писал(а): 21 окт 2021, 16:44 ecoins, меня интересует примение в проекте. Добавляю блок есп уходит в ребут. Может я его как-то неправильно готовлю )
Проверил и на ESP8266, ESP32 на тестах:
FLProg_Test08_Sensor_Lcd_v03_211021_mcp23017_ESP8266.zip
FLProg_Test08_Sensor_Lcd_v03_211021_mcp23017_ESP32.zip
---------------------------------------------------------------
Работает и на ESP8266
Board_ESP8266.PNG
---------------------------------------------------------------
Работает и на ESP32
Board_ESP32.PNG
---------------------------------------------------------------
Пришлите Ваш проект который перезапускается - поищу проблему.
=============================================
На LCD индицируется быстродействие [loop() в сек]:
ESP8266 - 52500;
ESP32 - 272500.
Т.е. на ESP32 в 5 раз больше!!!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Phazz
Полковник
Сообщения: 3131
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 234 раза
Поблагодарили: 114 раз

Разработки ecoins

Сообщение Phazz »

Причину ребута понял, был в проекте блок uart. Но никакой информации в консоль не получаю.
Так можно соединять?
2021-10-21 22-36-27 FLProg-7.3.8.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

Phazz писал(а): 21 окт 2021, 20:37 Причину ребута понял, был в проекте блок uart. Но никакой информации в консоль не получаю.
Так можно соединять?
Можно.
Но не обязательно, блоки вывода на консоль работают следующим образом - ожидается готовность консоли (это важно для таких контроллеров Arduino DUE, STM32 и др.).
Блок cns.init рекомендуется использовать, когда много блоков вывода. В этом случае их лучше разместить на отдельной плате и вызывать по условию "Заголовок"=1.
Такой прием несколько ускоряет проект....
--------------------
Ниже пример с одним блоком вывода - будет выводить параметры подключенного контроллера.
ESP32_board_small.rar
Board_ESP32_small_1.png
Board_ESP32_1.PNG
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Phazz
Полковник
Сообщения: 3131
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 234 раза
Поблагодарили: 114 раз

Разработки ecoins

Сообщение Phazz »

Спасибо все заработало, оказывается отключать платы с блоками уарт не достаточно. Нужно их совсем удалять из проекта.
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

Phazz писал(а): 21 окт 2021, 22:25 Спасибо все заработало, оказывается отключать платы с блоками уарт не достаточно. Нужно их совсем удалять из проекта.
Остаюсь в замешательстве из-за непонимания - как применение UART (например на ESP32) может приводить к ребуту? :no:
starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05 апр 2016, 23:30
Откуда: Санкт-Петербург
Имя: Илья

Разработки ecoins

Сообщение starshoy81 »

[ref]ecoins[/ref], а как задаются номера аналоговых пинов для чтения, например для атмеги328? Номера выводов микросхемы?
атм328.PNG
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

Для Arduino Nano - A0-A7 -> пины №14-21;
Для Arduino Mega2560 -A0-A15 ->пины №54-69;
Номер пина задается на входе блока аналогово ввода.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2436
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 31 раз

Разработки ecoins

Сообщение Dryundel »

Приветствую, [ref]ecoins[/ref].
Посмотрел свежие версии библиотек. Мое почтение Изображение, порядка стало гораздо больше.
Однако описание блоков оставляет желать лучшего. :smile14: Но видимо надежда есть. :yes:

Ладно, сейчас не об этом.
Вопрос по конкретному блоку HC-SR04. Есть у него выход "Ok". На сколько я понимаю, своим мягким мозгом, на нем должен бы генерироваться импульс по завершении пинга. Хотел использовать его для фильтра, но обломался. Импульсов нет. Может чо не так понял?
Sonar.rar
А в целом блок понравился. работает весьма стабильно.

С размером проектов тоже засада. Проект из двух блоков 13 МБ. Не камильфо это. Надо раздергивать мультиблоки, я так думаю.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

Dryundel писал(а): 26 окт 2021, 19:10 Посмотрел свежие версии библиотек. Мое почтение , порядка стало гораздо больше.
Спасибо.
Dryundel писал(а): 26 окт 2021, 19:10 Ладно, сейчас не об этом.
Сейчас готовится новая версия -другая разбивка, несколько иная подача материала, новые функциональные блоки, новые устройства.
Dryundel писал(а): 26 окт 2021, 19:10 Вопрос по конкретному блоку HC-SR04. Есть у него выход "Ok". На сколько я понимаю, своим мягким мозгом, на нем должен бы генерироваться импульс по завершении пинга. Хотел использовать его для фильтра, но обломался. Импульсов нет. Может чо не так понял?
Блок работает по прерываниям, если пин Echo подключен к пину с прерываниями.
Для Arduino Nano это 2,3 пины, для ESP32 это почти все пины, для STM32 все пины.
Благодаря этому блок не тормозит.
Если пин без прерывания, то он ожидает возврат ответного времени по времени и возможная задержка зависит от измеряемого расстояния. Поэтому в блоке рекомендуется при работе без прерываний ограничивать измеряемое расстояние 150см.
----
На выходе блока всегда последнее измеренное расстояние. Если оно верно, выход ок=1.
Если измерение ошибочно (в самом контроллере SR04 задана "правильная" временная последовательность),
то через несколько подряд ошибочных выход ок=0.
Dryundel писал(а): 26 окт 2021, 19:10 Хотел использовать его для фильтра, но обломался. Импульсов нет. Может чо не так понял?
Идея любопытная. В структуре есть сигнал fresh - флаг нового результата, можно сделать дополнительный выход (событие) для использования
внешними функциями.
Много потратили времени для создания встроенных в блок фильтров - задач оказалась не простой.
Появляются случайные выбросы из-за отражения от случайных предметов и могут добавляться звуки от посторонних предметов (например шум двигателей и пр.)
Но решение такой задачи было бы весьма полезной.
Dryundel писал(а): 26 окт 2021, 19:10 А в целом блок понравился. работает весьма стабильно.
Есть у меня к нему претензии на малых (<2 cм) расстояниях из-за аппаратной реализации сенсора - в нем в одном "прожекторе" излучатель, в другом приемник.
Вроде есть исполнение в одном "прожекторе" - мне не попадались.
Dryundel писал(а): 26 окт 2021, 19:10 С размером проектов тоже засада. Проект из двух блоков 13 МБ. Не камильфо это. Надо раздергивать мультиблоки, я так думаю.
Вы об этом уже писали - согласен.
Не дождавшись новой версии редактора, вместе с общей переделкой библиотек стали "раздергивать" мультиблоки - эта внешне красивая идея на мой взгляд оказалась "иллюзорно" с точки зрения удобства и очень "вредной" с точки зрения размеров проектов.
----------
Успехов.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2436
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 31 раз

Разработки ecoins

Сообщение Dryundel »

ecoins писал(а): 26 окт 2021, 20:20 Если измерение ошибочно (в самом контроллере SR04 задана "правильная" временная последовательность),
то через несколько подряд ошибочных выход ок=0.
"Я молчу, не смея волю дать словам…
Милый мой, хороший, догадайся сам!" :)
Ну реально не хватает описания.
ecoins писал(а): 26 окт 2021, 20:20 Идея любопытная. В структуре есть сигнал fresh - флаг нового результата, можно сделать дополнительный выход (событие) для использования внешними функциями.
Думаю это будет весьма полезно и не только в этом блоке, а и во всех которые выдают значения периодически.
ecoins писал(а): 26 окт 2021, 20:20 Много потратили времени для создания встроенных в блок фильтров - задач оказалась не простой.
Появляются случайные выбросы из-за отражения от случайных предметов и могут добавляться звуки от посторонних предметов (например шум двигателей и пр.)
Возьмите на вооружение алгоритм медианного фильтра из блока который в проекте. Это фильтр для быстрых процессов. Медиана из 3 значений. С одиночными выбросами отлично справляется. Я над ним 2 дня думал, прежде чем упихал в 5 тернарников.
Если не считать запись значения в стек, сам алгоритм выполняется за 1,5 - 2,5 мкс на стандартной NANO, что для фильтра ну очень быстро.
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

Dryundel писал(а): 26 окт 2021, 22:03 "Я молчу, не смея волю дать словам…
Милый мой, хороший, догадайся сам!"
Ну реально не хватает описания.
На модуле SR04 установлен собственный 8-битный контроллер с жестко прошитой программой - она особо нигде не описана. Мы исследовали работу этого контроллера и модуля в целом - там есть совокупность нюансов.
В основном они отражены в комментариях в библиотеке C++.
Не думаю, что это надо раскрывать в описании к блоку.
Если кому интересны эти специфические знания в достаточно узкой области, в индивидуальном порядке мы готовы поделиться.
Dryundel писал(а): 26 окт 2021, 22:03 Думаю это будет весьма полезно и не только в этом блоке, а и во всех которые выдают значения периодически.
Возможно, задумались. Может быть будем предусматривать в сенсорах настраиваемый выход fresh.
Dryundel писал(а): 26 окт 2021, 22:03 Возьмите на вооружение алгоритм медианного фильтра из блока который в проекте. Это фильтр для быстрых процессов. Медиана из 3 значений. С одиночными выбросами отлично справляется. Я над ним 2 дня думал, прежде чем упихал в 5 тернарников.
Если не считать запись значения в стек, сам алгоритм выполняется за 1,5 - 2,5 мкс на стандартной NANO, что для фильтра ну очень быстро.
Фильтрами сейчас заниматься не планируем.
Что-такое 5 тернарников?
По поводу времени алгоритма 1.5-2.5 мкс - вызывает сомнения... Может единицы измерения не те.
Если все-же так как Вы написали, то интересно посмотреть код...
Аватара пользователя
Dryundel
Полковник
Сообщения: 2436
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 31 раз

Разработки ecoins

Сообщение Dryundel »

ecoins писал(а): 26 окт 2021, 22:39 Не думаю, что это надо раскрывать в описании к блоку.
Если кому интересны эти специфические знания в достаточно узкой области...
Не про специфические знания идет речь, а про элементарное описание блока, функционала, назначения входов/выходов, специфике настройки, предупреждениях и т.п.
Вот как по вашему пользователь должен понять назначение выхода "Ok" ?
2021-10-26_224548.jpg
ecoins писал(а): 26 окт 2021, 22:39 Что-такое 5 тернарников?
тернарный оператор
ecoins писал(а): 26 окт 2021, 22:39 По поводу времени алгоритма 1.5-2.5 мкс - вызывает сомнения... Может единицы измерения не те.
Нет. Ошибки нет. Именно 1.5-2.5 мкс.
ecoins писал(а): 26 окт 2021, 22:39 Если все-же так как Вы написали, то интересно посмотреть код...
Так посмотрите. :)

Отправлено спустя 10 минут 44 секунды:
Заодно и протестируйте, выведите значения на плоттер и помашите перед "прожекторами" чем нибудь.

Отправлено спустя 4 минуты 46 секунд:
Не хватает только выхода fresh. Эрзац с генератором не очень мне нравится.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

Dryundel писал(а): 26 окт 2021, 23:20 Вот как по вашему пользователь должен понять назначение выхода "Ok" ?
Во всех наших разнообразных блоках выход ok означает- "Устройство работает".
Аватара пользователя
Dryundel
Полковник
Сообщения: 2436
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 31 раз

Разработки ecoins

Сообщение Dryundel »

ecoins писал(а): 26 окт 2021, 23:28 Во всех наших разнообразных блоках выход ok означает- "Устройство работает".
Хорошо, что Вы об этом знаете. :)
Аватара пользователя
Dryundel
Полковник
Сообщения: 2436
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 31 раз

Разработки ecoins

Сообщение Dryundel »

Dryundel писал(а): 26 окт 2021, 19:10 А в целом блок понравился. работает весьма стабильно.
[ref]ecoins[/ref], похоже я поторопился с выводами. Тестировал на пинах без прерывания (NANO) и был уверен что уж с прерываниями будет еще лучше. Подключил на D2 D3 и началась свистопляска. Показания прыгают как жеребцы не объезженные.

Отправлено спустя 8 минут 50 секунд:
D2 D3
D2 D3.jpg
.
А вот это D7 D8 - все четенько.
D7 D8.jpg
И в чем может быть проблема? Менял только пины.
(Красный - до фильтра, синий - после)

Отправлено спустя 9 минут 14 секунд:
И еще есть вопрос:
2021-10-27_161251.jpg
Отправлено спустя 1 минуту 29 секунд:
Ну про "через один пин" понятно, хотя и не совсем по русски. А вот три вариации не понятны.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

Dryundel писал(а): 27 окт 2021, 16:18 ecoins, похоже я поторопился с выводами. Тестировал на пинах без прерывания (NANO) и был уверен что уж с прерываниями будет еще лучше. Подключил на D2 D3 и началась свистопляска. Показания прыгают как жеребцы не объезженные.
У меня на столе стенд на MEGA2560 - много устройств (пять дисплеев, сенсоры и пр), SR04 подключен Echo - пин 2, Trig - пин 3.
Только что установил препятствие перед сонаром - 10см, показания на дисплее стабильные -10см.
Выкладываю результаты с логического анализатора:
SR04_Развертка одного измерения 10см_625mcs.png
SR04_Периодические измерения 100mc.png
Верхняя линия - пин Trig, нижняя пин Echo.
Период измерения задан в блоке 100мс.
Можно установить и 50мс - меньше не стоит из-за возможных помех от паразитного ультразвукового отражения с близко находящимися препятствиями.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

Dryundel писал(а): 27 окт 2021, 16:18 И в чем может быть проблема? Менял только пины.
(Красный - до фильтра, синий - после)
Возможно все правильно работает. Просто очень быстро.
Если водить рукой перед сонаром, то на дисплее очень быстро меняются показания (и они правильные), "глаза не поспевают"...
Специфика ультразвукового сонара такова, что использовать его надо аккуратно - он очень чувствителен.
Есть проект медленный, то и показания не скачут "как жеребцы" - а у Вас и проект видимо быстрый, и LCD на который Вы наверное выводите "шустрый", и сонар с препятствием не зафиксирован - вот и скачут показания....
Закрыто

Вернуться в «Команда ecoins»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя