ЭкоСреда ecoins

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

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

ЭкоСреда ecoins

#481

Сообщение ecoins » 15.01.2023{, 20:02}

vovka1973 писал(а):
15.01.2023{, 19:34}
хотел вашими блоками пинами воспользоваться .так как у автора аналоговый пин 1023 .должно быть 4095.
У нас применен принцип "Системной разрядности". Она может быть изменена в диапазоне 8-16 и к ней привязываются все аналоговые параметры (ADC,PWM,DAC,Touch). Это удобно в том числе и потому, что в проекте можно избегать нормализацию параметров - сейчас например можно с 12-разрядного ADC записывать напрямую 5-разрядный DAC.
В STM32F103C PWM 16-разрядный!

hallozin1
Рядовой
Сообщения: 31
Зарегистрирован: 02.08.2021{, 12:43}
Репутация: 5
Имя: Алексей

ЭкоСреда ecoins

#482

Сообщение hallozin1 » 15.01.2023{, 20:55}

vovka1973 писал(а):
15.01.2023{, 19:34}
ecoins писал(а):
15.01.2023{, 18:35}
Со временем будет подобрано подходящее решение.
Спасибо! подождем. Так как у автора мне понравился подход ,все работает почти работает но надо дорабатывать остаётся ждать .
хотел вашими блоками пинами воспользоваться .так как у автора аналоговый пин 1023 .должно быть 4095.
Поставьте блок в проект и будет 4095

Отправлено спустя 1 минуту 55 секунд:
ecoins писал(а):
15.01.2023{, 18:35}
vovka1973 писал(а):
15.01.2023{, 14:57}
и не изменится .у меня работало и там и там ,тут в другом дело когда компилируешь все проходит как только загружаешь в плату ошибки сыпятся и далее даже компиляция не проходит ,второй день бьюсь без толку решил отложить эту затею ,так как не пойму ничего раньше работало в версии 7ххх ,а теперь нет, я про стм другие мне не надо .
Несколько часов занимался проблемой STM32F103C в среде STM32duino(в этой среде подключен контроллер STM32F103C в FLProg).
Проблема состоит из 2-х частей:
1.Были небольшие огрехи в описаниях контроллера - это исправлено.
2.Похоже библиотеки FLProg для STM32F103C добавляют одноименные дополнительные объекты:
Serial2,Serial3. Здесь есть несколько решений:
2.1.Найти общее решение с разработчиком FLProg - это в принципе возможно, но наверное не лучшее решение. Такие объекты могут создавать и третьи полезные программы, которые со временем могут быть востребованы.
2.2.В нашей библиотеке начать использовать более уникальные имена, например SerialRT1.
Это можно сделать, но потребуется время. А сейчас есть более приоритетные задачи по подключению новых контроллеров.
================
Пока для STM32F103C можно использовать ядро от Clark - оно и работает гораздо быстрее. С STM32F401,STM32F411,STM32F407 работать можно.
Со временем будет подобрано подходящее решение.
=================
Спасибо! Будем подождать!
Вложения
Adc4095_(Code_-_Basic).ubi
(6.4 КБ) 18 скачиваний

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

ЭкоСреда ecoins

#483

Сообщение vovka1973 » 15.01.2023{, 21:05}

hallozin1 писал(а):
15.01.2023{, 20:57}
Поставьте блок в проект и будет 4095
работает :smile9:
Изображение

hallozin1
Рядовой
Сообщения: 31
Зарегистрирован: 02.08.2021{, 12:43}
Репутация: 5
Имя: Алексей

ЭкоСреда ecoins

#484

Сообщение hallozin1 » 17.01.2023{, 11:05}

Не компилируется при добавлении блока дисплея с входом типа string

Отправлено спустя 4 минуты 4 секунды:
при добавлении блока servo тоже не того
Вложения
Снимок экрана (10).png
Снимок экрана (9).png

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

ЭкоСреда ecoins

#485

Сообщение Naladchik » 17.01.2023{, 13:14}

hallozin1 писал(а):
17.01.2023{, 11:09}
Не компилируется...
символ подчеркивания продублированПоказать
11.png
красное-ошибка, зеленое-как должно быть
Win10-64. FLProg Portable.
Изображение

hallozin1
Рядовой
Сообщения: 31
Зарегистрирован: 02.08.2021{, 12:43}
Репутация: 5
Имя: Алексей

ЭкоСреда ecoins

#486

Сообщение hallozin1 » 17.01.2023{, 13:44}

Naladchik, увы, но не помогает

JonyBest
Сержант
Сообщения: 269
Зарегистрирован: 18.11.2015{, 22:42}
Репутация: 89
Откуда: Близко к Ставрополю
Имя: Евгений

ЭкоСреда ecoins

#487

Сообщение JonyBest » 20.01.2023{, 22:32}

hallozin1 писал(а):
17.01.2023{, 11:09}
Не компилируется при добавлении блока дисплея с входом типа string
Подтверждаю. Пропустили точку между "id_249400957 "и "custom"
Ругается на пустое значение суффикса с блоками int и др
СпойлерПоказать
Скриншот 20-01-2023 222833.jpg

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

ЭкоСреда ecoins

#488

Сообщение ecoins » 20.01.2023{, 23:07}

JonyBest писал(а):
20.01.2023{, 22:32}
Подтверждаю. Пропустили точку между "id_249400957 "и "custom"
Точку пропустил поправил, в новой версии уже будет исправлено, а пока прошу самостоятельно в блоке поправить и пользоваться.
По использованию String - не рекомендуется к частому употреблению, поскольку сама операция проверки изменения строки занимает время. В упрощенных блоках это еще и сохранение входной переменной при каждом вхождении. Там где это можно, лучше применять блок фиксированного вывода.
32-разрядных контроллерах перечисленное менее критично.
JonyBest писал(а):
20.01.2023{, 22:32}
Ругается на пустое значение суффикса с блоками int и др
Об этом вроде есть указания в описаниях.
Дело в том, что если не требуется использование суффикса или заголовка, не следует использовать пустое место - для этого используется символ ~ (тильда). Здесь проявляется особенность компилятора, возможно со временем найти какой-нибудь способ обхода - пока используйте "тильду".

Agat
Рядовой
Сообщения: 40
Зарегистрирован: 07.01.2023{, 12:29}
Репутация: 2
Имя: Дмитрий

ЭкоСреда ecoins

#489

Сообщение Agat » 21.01.2023{, 17:49}

Работаю с датчиками BME280 и BMP280 подключенными медной витой парой 15метров! Датчик ВМЕ280 работает без проблем, если выставить частоту шины 50. Но ВМР280 не работает..

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

ЭкоСреда ecoins

#490

Сообщение ecoins » 21.01.2023{, 22:17}

Agat писал(а):
21.01.2023{, 17:49}
Работаю с датчиками BME280 и BMP280 подключенными медной витой парой 15метров! Датчик ВМЕ280 работает без проблем, если выставить частоту шины 50. Но ВМР280 не работает..
Датчик BMЕ280 отличается от BMP280 наличием сенсора влажности - на BMP280 он отсутствует. Библиотека для BMP280 отличается от BME280 отсутствием опроса влажности. Можно пользоваться и блоком BME280.
Полагаю возможны две причины описанной проблемы:
1.Указан не тот адрес. Под чип выделены адреса 0x76 и 0x77 и в некоторых модулях выведен отдельный пин для изменения адреса. Некоторые производители устанавливает жестко один из адресов и однозначности их выбора я не обнаружил. Чаще всего так, как по умолчанию в блоках, но для конкретного модуля может понадобиться сменить адрес.
Особенно на этапе исследования рекомендую применять в проекте блок eсoins i2c.scan - он выводит в монитор порта адреса всех устройств, подключенных к шине.
2.Возможная причина связанная с питанием сенсора, который работает от 3.3в. Многие поставщики модуля пишут, что модуль работает от 3.3 или 5в, так я сжег приличное кол-во модулей(они горят не сразу, некоторое время работают). Изредка на модулях стоит понижающий стабилизатор, тогда можно использовать и 5в.
----------------
Сенсор оказался сложный и капризный к величине питания, дорогой. Много памяти требует для сохранения многочисленных калибровочных коэффициентов, которые индивидуальны для каждого чипа и прописаны в нем в момент изготовления.
Это один из сенсоров, который возвращает измеренные показания без контрольной суммы - в блоке мы используем некоторые ухищрения, чтобы повысить вероятность получения достоверных данных, но...
Конечно, это один из немногих сенсоров, который меряет давления. Сенсор BMP180 дешевле, проще и вроде вполне неплохо меряет(это неподтвержденное исследованием суждение).
-------------
Успехов.

Agat
Рядовой
Сообщения: 40
Зарегистрирован: 07.01.2023{, 12:29}
Репутация: 2
Имя: Дмитрий

ЭкоСреда ecoins

#491

Сообщение Agat » 22.01.2023{, 07:13}

ecoins писал(а):
21.01.2023{, 22:17}
Полагаю возможны две причины описанной проблемы:
Спасибо за развернутый ответ! Первую причину исключаю, адреса естественно просканировал, да и подключал на короткий провод - все работает! На счет питания - буду смотреть, может быть, т.к. запитаваю от 5В.
Да, еще важный момент! Подключаю BMP280 на короткий провод - работает! параллельно датчику подключаю витую пару 15м со свободными концами - показания с датчика сразу пропадают! Вывод - индуктивность провода сбивает считывания показаний..

Отправлено спустя 1 час 27 минут 17 секунд:
Запитал от 3,3В. Результат тот же: на 15м проводе ВМР280 не работает, ВМЕ280 работает! На коротком проводе работают оба.

slsl
Рядовой
Сообщения: 69
Зарегистрирован: 08.12.2021{, 22:41}
Репутация: 8
Имя: Вячеслав

ЭкоСреда ecoins

#492

Сообщение slsl » 22.01.2023{, 08:41}

Agat писал(а):
22.01.2023{, 07:13}
Вывод - индуктивность провода сбивает считывания показаний..
Ёмкость ...
Ещё попробуйте поиграться: использовать одну пару, использовать жилы разных пар, использовать две пары - в каждой паре с жилой на массу.

Agat
Рядовой
Сообщения: 40
Зарегистрирован: 07.01.2023{, 12:29}
Репутация: 2
Имя: Дмитрий

ЭкоСреда ecoins

#493

Сообщение Agat » 22.01.2023{, 09:11}

slsl писал(а):
22.01.2023{, 08:41}
Ещё попробуйте поиграться: использовать одну пару, использовать жилы разных пар, использовать две пары - в каждой паре с жилой на массу.
посадил жилы из пары на GND - работает!

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

ЭкоСреда ecoins

#494

Сообщение nalnik » 22.01.2023{, 09:43}

А подтяжка от SDA-SCL к плюсу питания есть, и какая?
Я хочу быть добрее, но люди сами нарываются.

Agat
Рядовой
Сообщения: 40
Зарегистрирован: 07.01.2023{, 12:29}
Репутация: 2
Имя: Дмитрий

ЭкоСреда ecoins

#495

Сообщение Agat » 22.01.2023{, 10:48}

nalnik писал(а):
22.01.2023{, 09:43}
А подтяжка от SDA-SCL к плюсу питания есть, и какая?

на датчиках распаяны резисторы

slsl
Рядовой
Сообщения: 69
Зарегистрирован: 08.12.2021{, 22:41}
Репутация: 8
Имя: Вячеслав

ЭкоСреда ecoins

#496

Сообщение slsl » 22.01.2023{, 11:39}

Agat писал(а):
22.01.2023{, 09:11}
посадил жилы из пары на GND - работает!
Т.к. сигнал не симметричный, использовать витуху - не камильфо, - повив увеличивает емкость кабеля.
А не заземленные жилы - как антенны помех.
Предпочтительнее для данного случая кабели без повива, например, типа CQR

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

ЭкоСреда ecoins

#497

Сообщение ecoins » 22.01.2023{, 13:43}

Agat писал(а):
22.01.2023{, 08:40}
Запитал от 3,3В. Результат тот же: на 15м проводе ВМР280 не работает, ВМЕ280 работает! На коротком проводе работают оба.
С Вами очень интересно и содержательно общаться - Вы методичны, точны и содержательны.
И Вы на практике начали заниматься удаленными датчиками, видимо для мониторинга оборудования (15м).
-----------
1.О том, что известно. Чтобы снизить вероятность ошибок в блоках/библиотеках, можно попробовать использовать во всех случаях блок BME280, при желании в нем можно отключить опрос несуществующего в BMP280 опрос влажности(есть опция в параметре "Период измерения влажности"). По результатам можно оценочно судить о качестве BMP280 - возможно модуль конструктивно выполнен как-то не так, или что-то с чипом(хотя это вряд-ли) или еще что-то.
----------
2.Предположений может быть много, но наиболее действенный способ это увидеть.
-Можно посмотреть коды ошибок. В библиотеке они есть, вывод в блоке не предусмотрен, но при его и добавить не сложно.
-Можно посмотреть что происходит на шинах SDA,SCL осциллографом - сам этим методом почти не пользуюсь, но исследование фронтов и выбросов может дать дополнительную информацию.
-Очень хорошие результаты может дать исследование того, что происходит на шине i2c используя логический анализатор. Для нас это один из основных инструментов при разработке библиотек и тестирования проектов, в т.ч. и тестовых. Есть ли у Вас такая возможность?
===============
Вы подняли интересную тему - измерение и сбор данных на физической установке(так я это увидел).
Предложение: может Вы откроете отдельную тему по этой проблематике.
Решений может много - это локальные контроллеры с WiFi+MQTT, это и какие-то простые проводные сети, это и шина CAN, это и простые беспроводные решения и т.п. Писать можно много, а вот достичь масштабируемой практики цель привлекательная.
В этой теме ecoins принял бы активное посильное участие.
----------------------
Спасибо.

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

ЭкоСреда ecoins

#498

Сообщение ecoins » 22.01.2023{, 13:57}

hallozin1 писал(а):
17.01.2023{, 11:09}
Не компилируется при добавлении блока дисплея с входом типа string
Только что проверил - скомпилировалось.
hallozin1 писал(а):
17.01.2023{, 11:09}
при добавлении блока servo тоже не того
Возможно у Вас очень старые библиотеки и блоки?
Дело в том, что в последних версиях мы убрали проект блоков servo(он изначально не был отлажен).
-------
Нам было бы проще разобраться, если можно посмотреть проект и знать версию библиотеки, которая Вами используется. Версию библиотек можно подсмотреть в отчете, выводимый в монитор порта блоками, которые есть в библиотеках блоков.

Agat
Рядовой
Сообщения: 40
Зарегистрирован: 07.01.2023{, 12:29}
Репутация: 2
Имя: Дмитрий

ЭкоСреда ecoins

#499

Сообщение Agat » 22.01.2023{, 14:11}

ecoins писал(а):
22.01.2023{, 13:43}
Есть ли у Вас такая возможность?

Спасибо за оценку и помощь.
логического анализатора нет. но по косвенным признакам можно судить, что причиной являются емкость и помехи на длинной витой паре. если заземлить парные жилы датчик работает!
И хорошо, что в ваших блоках есть возможность снизить частоту шины, с частотой по умолчанию не работает ни ВМР280 ни ВМЕ280!
Хорошо, создам отдельную тему, в проекте будет много датчиков на длинном проводе (может постепенно перейду на CQR, как советовал уважаемый slsl) и данные будут отправляться по MQTT.

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

ЭкоСреда ecoins

#500

Сообщение ecoins » 22.01.2023{, 14:13}

Agat писал(а):
22.01.2023{, 14:11}
Хорошо, создам отдельную тему
Отлично, буду ждать и будем участвовать.

Ответить

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