Разработки ecoins

Библиотеки для разных контроллеров

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

Разработки ecoins

#341

Сообщение ecoins » 12.08.2019{, 21:11}

В первом посте файл Lib_EIS. Там же пользовательские блоки.

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

Разработки ecoins

#342

Сообщение ecoins » 18.08.2019{, 10:50}

Информация - кому-то может быть полезна:
АЦП esp8266 выдает значение в диапазоне 0-1024 !!! (AVR328, MEGA2560 выдают нормальные 10 разрядов 0-1023).
----
При текущей разработке универсальной библиотеки для работы с внешними устройствами на различных контроллерах проявилась такая особенность и пока не разобрались, отняла много времени :smile37:

CraCk
Лейтенант
Сообщения: 632
Зарегистрирован: 10.09.2015{, 21:51}
Репутация: 10

Разработки ecoins

#343

Сообщение CraCk » 18.08.2019{, 20:46}

ecoins писал(а):
12.08.2019{, 21:11}
В первом посте файл Lib_EIS. Там же пользовательские блоки.
Не работает блок. Все время выдает значение 2
Вложения
hcsr04_test.flp
(207.29 КБ) 54 скачивания

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

Разработки ecoins

#344

Сообщение ecoins » 19.08.2019{, 10:58}

CraCk, Сейчас в отъезде, в течении суток постараюсь ответить.

Отправлено спустя 8 часов 5 секунд:
CraCk писал(а):
18.08.2019{, 20:46}
Не работает блок. Все время выдает значение 2
Проверил Ваш проект - работает.
Вероятные причины у Вашего исполнения:
1) Вы используете контроллер wemos(ESP8266), для которого нормальным является питание 3.3в. Распространенные HC-SR04 не работают на этом напряжении и потому требуется преобразователь уровня. Попробуйте стандартный блок - он ведь тоже работать не будет. С преобразователем уровня работает хорошо.
2) Мы испытали и используем доработанные HC-SR04P - они работают и от 3 и от 5 вольт.
https://ru.aliexpress.com/item/32796336 ... b201603_52

CraCk
Лейтенант
Сообщения: 632
Зарегистрирован: 10.09.2015{, 21:51}
Репутация: 10

Разработки ecoins

#345

Сообщение CraCk » 22.08.2019{, 23:23}

ecoins писал(а):
19.08.2019{, 18:59}
1) Вы используете контроллер wemos(ESP8266), для которого нормальным является питание 3.3в. Распространенные HC-SR04 не работают на этом напряжении и потому требуется преобразователь уровня.
Я использую такое подключение через резисторный делитель
https://www.letscontrolit.com/wiki/inde ... le=HC-SR04
Работает на библиотеке newping. В свзи с тем что у меня несовсем нормальны HC-SR04. Вот моя тема.
viewtopic.php?f=10&t=734&p=73791#p73791
ecoins писал(а):
19.08.2019{, 18:59}
Попробуйте стандартный блок - он ведь тоже работать не будет.
Да на стандартном блоке HC-SR04 не работает, даже с ардуиной 5-ти вольтовой.
Думал на вашей быблиотке тоже заведется. Но увы нет :(

Аватара пользователя
kalinovsky1965
Рядовой
Сообщения: 10
Зарегистрирован: 06.05.2018{, 18:35}
Репутация: 1
Откуда: г. Константиновка Дон. обл.
Имя: Влад

Разработки ecoins

#346

Сообщение kalinovsky1965 » 05.09.2019{, 20:08}

А где все?
FlProgPortabl64 7.3.0

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

Разработки ecoins

#347

Сообщение ecoins » 05.09.2019{, 21:35}

Вопрос не совсем понял.
ecoins сейчас полностью переделывает библиотеки. Будет быстрее, компактнее и новые возможности.
Работы много, много времени уходит на тестирование.
Основные принципы реальное время и мультиплатформенность сохраняются.
Сейчас Поддержка nano, mega, due,esp8266, esp32, stm32f1 нескольких типов.

uglerod
Рядовой
Сообщения: 73
Зарегистрирован: 27.11.2016{, 18:32}
Репутация: 5

Разработки ecoins

#348

Сообщение uglerod » 05.09.2019{, 22:53}

Тишина насторожила всех. Удачи вам! Ждём результат. Хоть периодически выходите на связь.

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

Разработки ecoins

#349

Сообщение ecoins » 06.09.2019{, 02:03}

uglerod писал(а):
05.09.2019{, 22:53}
Тишина насторожила всех. Удачи вам! Ждём результат. Хоть периодически выходите на связь.
В числе полезных блоков, которые давно хотелось сделать отлажены:
1) ЧТЕНИЕ c пина аналогового сигнала ====== (с учетом особенностей STM32)
СпойлерПоказать
======ЧТЕНИЕ c пина аналогового сигнала ====== (с учетом особенностей STM32)
1. Блок проверяет на допустимость пина для работы на аналоговый ввод с учетом особенностей контроллера.
Если пин недопустимый, ввод выполнятся не будет, vd=0;
2. Блок возвращает три значения:
vd-считанное с АЦП значение в единицах АЦП.
vd очищается от погрешности дрейфа нуля АЦП (vd<=параметр пользователя ДРЕЙФ НУЛЯ) .
Если параметр ДРЕЙФ НУЛЯ==0, очистка не выполняется.
vd очищается от небольших колебаний измерения, размер которых определяется параметром пользователя ДЕЛЬТА ОТКЛОНЕНИЯ
по условию (abs(предыдущее значение - vd)<= ДЕЛЬТА ОТКЛОНЕНИЯ).
Если ДЕЛЬТА ОТКЛОНЕНИЯ=0, очистка от колебаний измерения не производится.
vs-приведенное измеренное значение vd к разрядности, установленной в библиотеке (default=12) и может быть изменен пользователем при инициализации системы;
va-усредненное значение vs. Размер массива сохраняемых последних значений для усреднения определяется параметром пользователя УСРЕДНЕНИЕ.
Если УСРЕДНЕНИЕ=0, усреднение не производится, va=vs.
-------------------------------------
ecoins@mail.ru 29.08.18
2) Вывод на пин дискретного сигнала.
СпойлерПоказать
====== Вывод на пин дискретного сигнала ======.
1. Блок проверяет на допустимость пина для работы на дискретный вывод с учетом особенностей контроллера.
Если пин недопустимый, вывод выполнятся не будет.
2. При первом обращении осуществляется инициализация параметров и настройка пина по параметру пользователя ТИП ВХОДА :
'I' - вход без подтяжки (pinMode(pin,INPUT);
'F'- вход плавающий (STM32) ( (pinMode(pin,INPUT_FLOATING);
'U'-вход с подтяжкой к +Vcc (pinMode(pin,INPUT_PULLUP);
'D'- вход с подтяжкой к GND (ESP32,STM32) (pinMode(pin,INPUT_PULDOWN);
3. Если параметр пользователя ИНВЕРСИЯ=''I' - (или любой другой, отличный от 'N') - инверсия измеренного сигнала включена.
4. Если параметр пользователя ЗАЩИТА ОТ ДРЕБЕЗГА=''R' - (или любой другой, отличный от 'R') - включена защита от дребезга.
В этом режиме контролируется неизменность измеренного сигнала в течении времени, определяемый параметром ВРЕМЯ ЗАЩИТЫ ОТ ДРЕБЕЗГА.
В отличии от стандартной реализации Arduino, режим реализован без delay() и потому блок можно использовать в системах реального времени.
Рекомендуется устанавливать блок в платах, вызываемой как одна из фоновых задач.
-------------------------------------
ecoins@mail.ru 29.08.1
========
3) Также реализовано: 1)универсальное для всех контроллеров управление пином с ШИМ, для ESP32 опрос сенсорных входов и встроенного в корпус датчика Холла.
4) Полностью переделана концепция работы со строками и выводом их на консоль - теперь данные хранятся во флэш.

shurik
Рядовой
Сообщения: 21
Зарегистрирован: 06.09.2019{, 13:59}
Репутация: 1
Имя: Александр

Разработки ecoins

#350

Сообщение shurik » 12.09.2019{, 14:16}

Здравствуйте, подскажите пожалуйста как будет выглядеть схема в связке nodemcu+реле подключенное через mcp23017 (GPA0)(21)). Я новичок в этом деле.НЕ как не могу разобраться с блоком от ecoins msp23017. Со встроенным блоком всё работает, но есть проблема с WI-FI.

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

Разработки ecoins

#351

Сообщение ecoins » 12.09.2019{, 22:05}

Потерпите немного.
Дорабатываю базовые библиотеки, мне нравится что получается.
Заметка: проекты c Wi-fi - по ним лучше настраиваться на ESP32 - многие проблемы с ESP8266 пропадут.

shurik
Рядовой
Сообщения: 21
Зарегистрирован: 06.09.2019{, 13:59}
Репутация: 1
Имя: Александр

Разработки ecoins

#352

Сообщение shurik » 13.09.2019{, 09:02}

Спасибо Вам огромное. Буду ждать с нетерпением.

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

Разработки ecoins

#353

Сообщение ecoins » 13.09.2019{, 18:26}

О неожиданном.
При отладке программы перестал грузиться код в MEGA2560 - в Nano, ESP8266, а в MEGA2560 никак - зависает.
Потратил изрядное кол-во времени, как обычно искал проблему в своих текстах, а оказалось проблема в загрузчике MEGA2560 -плата с аппаратным загрузчиком.
Никак он не хотел принимать последовательность "!!!", заменил на "***" и проблема ушла.
Видимо недокументированная особенность - какая-то значимая для загрузчика последовательность.
Полезно конечно, но времени потраченного жалко :smile37: :smile37: :smile37:

Аватара пользователя
3JlOU64
Рядовой
Сообщения: 9
Зарегистрирован: 03.10.2015{, 20:17}
Репутация: 0
Откуда: Саратов

Разработки ecoins

#354

Сообщение 3JlOU64 » 22.09.2019{, 13:34}

Arduino: 1.8.9 (Windows 10), Плата:"Generic STM32F103C series, STM32F103C8 (20k RAM. 64k Flash), STM32duino bootloader"

Внимание: platform.txt из ядра 'STM32 Boards (STM32duino.com)' содержит устаревшие recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}", автоматически преобразовано в recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}". Ожидайте обновления ядра.
In file included from c:\Program Files (x86)\FLProg\ideV3\libraries\RT_10_HW_LCD_44780_v2.3\src/RT_HW_LCD_HD44780.h:26:0,

from C:\Users\*******\AppData\Local\Temp\flprog\pr16\pr16.ino:1:

c:\Program Files (x86)\FLProg\ideV3\hardware\Arduino_STM32\STM32F1\libraries\Wire/Wire.h:50:13: error: expected unqualified-id before numeric constant

#define SDA 19

^

c:\Program Files (x86)\FLProg\ideV3\libraries\RT_01_HW_Wire_v1.1\src/RT_HW_Wire.h:79:9: note: in expansion of macro 'SDA'

int16_t SDA,SCL,SDA1,SCL1;

^

exit status 1
Ошибка компиляции для платы Generic STM32F103C series.

Подскажите как быть????

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

Разработки ecoins

#355

Сообщение ecoins » 23.09.2019{, 14:34}

Не уверен, что это связано с библиотекой. У меня то же стояла 1.8.9.
Пришлите на почту проект - я посмотрю.
P.S. В ближайшее время выложу новую библиотеку - иные подходы и возможности.

Аватара пользователя
3JlOU64
Рядовой
Сообщения: 9
Зарегистрирован: 03.10.2015{, 20:17}
Репутация: 0
Откуда: Саратов

Разработки ecoins

#356

Сообщение 3JlOU64 » 24.09.2019{, 07:20}

Проект взят с описания видео на вашем ютюб канале. Называется : Академия Развития_Пример вывода значений типа INT на LCD_Full. Еще заметил что не правильно указаны номера пинов I2C интерфейса.

masterw
Рядовой
Сообщения: 9
Зарегистрирован: 15.09.2019{, 14:50}
Репутация: 0
Имя: Владимир

Разработки ecoins

#357

Сообщение masterw » 25.09.2019{, 02:10}

Возможно ли разработать блоки работы с памятью FRAM (FM24CL..., MB85RC256 доступны на Ali) по i2c и SPI? Множество проектов требуют хранения информации в энергонезависимой памяти, но количество циклов записи EEPROM да и скорость работы сильно ограничивают реализацию проектов.

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

Разработки ecoins

#358

Сообщение ecoins » 25.09.2019{, 14:09}

3JlOU64 писал(а):
24.09.2019{, 07:20}
Проект взят с описания видео на вашем ютюб канале. Называется : Академия Развития_Пример вывода значений типа INT на LCD_Full. Еще заметил что не правильно указаны номера пинов I2C интерфейса.
Не хотите прислать то, что Вы грузите в контроллер?
Ну и правильно. Мы начинаем подготовку к выгрузке новой библиотеки.

Отправлено спустя 3 минуты 34 секунды:
masterw писал(а):
25.09.2019{, 02:10}
Возможно ли разработать блоки работы с памятью FRAM (FM24CL..., MB85RC256 доступны на Ali) по i2c и SPI? Множество проектов требуют хранения информации в энергонезависимой памяти, но количество циклов записи EEPROM да и скорость работы сильно ограничивают реализацию проектов.
Думаю возможно. Закончили работу по новой версии базовой библиотеки.
Некоторое время уйдет на адаптацию базовых устройств -LCD,MCP23017,PCA9685.
Затем в планах беспроводная связь - Wi-fi, BlueTooth, NRF2401 и т.п.
Потом можно взяться и за новые устройства.

Отправлено спустя 13 минут 51 секунду:
И Вас могут возникнуть проблемы с прошивкой загрузчика в STM32F103С (blue).
----------------------------
Схема платыПоказать
stm32_blue_sxema.jpg

---------------------------
Получили новую партию плат и возникли проблемы с записью загрузчика.
Прилично время потратили, пока как-то разобрались - дело в том, что платы почти неидентичные.
Перелопатили сведения в интернете - никто, ничего не пишет...
----------------------------------------------
По схеме последовательно c входами BOOT0 и BOOT1(PB2) на платах установлены резисторы 100 кОм!!!
Как-то неправильно это. Раньше как-то прошивались платы с натяжкой... А новые никак.
Правильно установить резисторы 10кОм - но таких маленьких под рукой не оказалось.
Проблема решается и заменой резистор на BOOT0 - R3 на перемычку. R4 на BOOT1 трогать не стоит.
После этого вся партия (10шт.) прошивалась неоднократно без проблем.
------------------------------------------------
Успехов.

Отправлено спустя 21 минуту 52 секунды:
Закончили новую версию библиотеки RT_HW_MAIN.h
Напоминаем основные принципы в наших проектах:
1. Работа без delay(). Реализация простейшей системы диспетчерирования задач (система Real-Time - реальное время).
2. Кросс-платформенность. Подразумевает, что один и тот же проект может грузиться и исполняться на разных контроллерах с разными ресурсами (номера и свойства пинов, последовательные порты и т.п.). Если ресурс на выбранном контроллере отсутствует или его свойство не соответствует задаваемому действию (например это не вход АЦП при чтении аналог. сигнала), действие пропускается, проект продолжает работать.
Поддерживаются - AVR328, MEGA2560, SAM3X8E (DUE), ESP8266, ESP32, STM32F103C, STM32F103R, STM32F103V, STM32F407V. Все контроллеры кроме последнего прошли испытания на тестовой программе на FLProg.
3. В систему встроены функции консоли (вместо блока отправки в UART), которые существенно упрощают отладку проектов.
4. После включения можно одноразово вывести все доступные и используемые пины. В примере показано.
5. Действия с пинами - ADC,DAC,PWM реализованы с 12-разрядным разрешением (может быть изменено) - библиотека сама осуществляет требуемое масштабирование.
==========================================
Для ESP32 дополнительно реализованы чтение сенсорных входов и встроенного датчика Холла (эти сенсоры у нас восторга не вызвали).
ЦАП предусмотрены, но не реализованы - не простая задача оказалась (как ни странно...)
Последний раз редактировалось ecoins 02.10.2019{, 09:03}, всего редактировалось 1 раз.

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

Разработки ecoins

#359

Сообщение ecoins » 25.09.2019{, 14:49}

IMG_2454.jpg
IMG_2453.jpg
Новые платы, на которых успешно прошли испытания.
Часть плат - производитель фирма "Фрактал" (г.Зеленоград) - делают настоящие профессионалы, но дорого.
Собраны на STM32F103R (512 кБайт) . Очень удачный форм-фактор.
На второй фотографии модули имеют крышки и могут крепиться на дин-рейку.

bdw5
Рядовой
Сообщения: 19
Зарегистрирован: 26.12.2018{, 22:04}
Репутация: 0
Откуда: минск
Имя: дмитрий

Разработки ecoins

#360

Сообщение bdw5 » 25.09.2019{, 21:54}

извините, а новая версия выложена где нибудь?

Закрыто

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