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

Выбор рабочего выхода в пользовательском блоке

Добавлено: 17 фев 2024, 13:20
Phazz
[ref]ecoins[/ref], [ref]WildCat[/ref], там просто в каждом цикле считывается 1480 раз аналоговый вход. То есть блок забирает 146мс времени цикла

Выбор рабочего выхода в пользовательском блоке

Добавлено: 17 фев 2024, 13:32
WildCat
ecoins писал(а): 17 фев 2024, 12:50 Выложите плату с блоком трансформатора тока - там наверное библиотека с серьезным delay().
MainBoard.flp
[ref=#808080]Phazz[/ref], [ref=#808080]ecoins[/ref], более производительный МК поможет? Или тут альтернативы переноса на второе ядро нет?

Выбор рабочего выхода в пользовательском блоке

Добавлено: 17 фев 2024, 13:39
ecoins
WildCat писал(а): 17 фев 2024, 13:32 Phazz, ecoins, более производительный МК поможет? Или тут альтернативы переноса на второе ядро нет?
Наверное в проекте что-то аккуратно надо поправить.

Выбор рабочего выхода в пользовательском блоке

Добавлено: 17 фев 2024, 13:43
Phazz
[ref]WildCat[/ref], можно немного переписать библиотеку. Используя cyberlib которая сократит время чтения аналогового входа почти в 2 раза.

Выбор рабочего выхода в пользовательском блоке

Добавлено: 17 фев 2024, 14:00
WildCat
[ref=#808080]Phazz[/ref], кто этим займется? )
Я, к сожалению, в этих вопросах не силен.

Отправлено спустя 1 минуту 53 секунды:
Но попробую переложить проект на rp2040. И второе ядро.

Но у рп всего 4 АЦП, а мне надо 5.

Похоже, опять мультиплексор придется ставить

Выбор рабочего выхода в пользовательском блоке

Добавлено: 17 фев 2024, 14:57
ecoins
WildCat писал(а): 17 фев 2024, 14:00 Похоже, опять мультиплексор придется ставить
Два ADS1115 хорошее решение, если не требуется быстродействующий ADC.

Выбор рабочего выхода в пользовательском блоке

Добавлено: 17 фев 2024, 15:46
WildCat
ecoins писал(а): 17 фев 2024, 14:57 Два ADS1115 хорошее решение
Не хотел я лишние платы городить, там и без того хватает. Но подумаю в эту сторону. 1115 есть.

Выбор рабочего выхода в пользовательском блоке

Добавлено: 17 фев 2024, 17:12
ecoins
Не предложил ADS1256. Не дешевое но отличное 24-разрядное АЦП.
Rovki в своем проекте его применил и дал хорошие отзывы.
Оно восьми канальное, работает через SPI и очень быстро.
Под него есть работающий блок.

Выбор рабочего выхода в пользовательском блоке

Добавлено: 17 фев 2024, 17:21
WildCat
ecoins писал(а): 17 фев 2024, 17:12ADS1256
Дорого и не имеет смысла в моем проекте

Re: Выбор рабочего выхода в пользовательском блоке

Добавлено: 28 сен 2024, 18:10
fsergei70
WildCat писал(а): 17 фев 2024, 14:00
Но попробую переложить проект на rp2040. И второе ядро.
Какой результат? Получилось запустить на 2 ядре?

Re: Выбор рабочего выхода в пользовательском блоке

Добавлено: 28 сен 2024, 19:35
ecoins
fsergei70 писал(а): 28 сен 2024, 18:10 Какой результат? Получилось запустить на 2 ядре?
Второе ядро работает. Есть блок который переключает с loop() c loop1().

Re: Выбор рабочего выхода в пользовательском блоке

Добавлено: 28 сен 2024, 21:20
fsergei70
ecoins писал(а): 28 сен 2024, 19:35
fsergei70 писал(а): 28 сен 2024, 18:10 Какой результат? Получилось запустить на 2 ядре?
Второе ядро работает. Есть блок который переключает с loop() c loop1().
Я читал ветку про второе ядро. Немного не понял как осуществляется обмен между ядрами. Допустим нужно чтоб одно ядро считывала аналоговый вход. к нему будет подключен трансформатор тока а на втором ядре производилась обработка считанных значений и передавались данные по модбас. В случае превышения допустимого тока надо отключать нагрузку.

Re: Выбор рабочего выхода в пользовательском блоке

Добавлено: 29 сен 2024, 03:04
ecoins
fsergei70 писал(а): 28 сен 2024, 21:20 Я читал ветку про второе ядро. Немного не понял как осуществляется обмен между ядрами. Допустим нужно чтоб одно ядро считывала аналоговый вход. к нему будет подключен трансформатор тока а на втором ядре производилась обработка считанных значений и передавались данные по модбас. В случае превышения допустимого тока надо отключать нагрузку.
Просто попробуйте.
Связь между ядрами через переменные - они общие.
Для избежания возможных логических коллизий, лучше придерживаться правила работы с переменными - одно ядро пишет, другое читает.
С уважением, ecoins.

Re: Выбор рабочего выхода в пользовательском блоке

Добавлено: 29 сен 2024, 04:42
fsergei70
ecoins писал(а): 29 сен 2024, 03:04
fsergei70 писал(а): 28 сен 2024, 21:20 Я читал ветку про второе ядро. Немного не понял как осуществляется обмен между ядрами. Допустим нужно чтоб одно ядро считывала аналоговый вход. к нему будет подключен трансформатор тока а на втором ядре производилась обработка считанных значений и передавались данные по модбас. В случае превышения допустимого тока надо отключать нагрузку.
Просто попробуйте.
Связь между ядрами через переменные - они общие.
Для избежания возможных логических кол лизий, лучше придерживаться правила работы с переменными - одно ядро пишет, другое читает.
С уважением, ecoins.
Спасибо. Контроллеры еще в пути, пока изучаю тему. Какая из библиотек для подключения трансформатора тока совместима с RP2040?
Нашел тут еще по теме видос с симуляцией в протеусе датчик тока SCT-013-030 правда с ардуино. Может кому пригодится. Код для SCT-013-030 без библиотек, если дисплей выкинуть можно блок сделать.
https://rutube.ru/video/db39c3b230dfd69 ... 44/?r=plwd

Re: Выбор рабочего выхода в пользовательском блоке

Добавлено: 29 сен 2024, 05:05
fsergei70
WildCat писал(а): 17 фев 2024, 15:46
ecoins писал(а): 17 фев 2024, 14:57 Два ADS1115 хорошее решение
Не хотел я лишние платы городить, там и без того хватает. Но подумаю в эту сторону. 1115 есть.
Если использовать ADS1115 и запитать ее от отдельного БП, на чем лучше сделать гальваническую развязку шины I2C? На оптронах или может микруха специальная есть?

Re: Выбор рабочего выхода в пользовательском блоке

Добавлено: 29 сен 2024, 08:42
slsl
Если использовать ADS1115 и запитать ее от отдельного БП, на чем лучше сделать гальваническую развязку шины I2C? На оптронах или может микруха специальная есть?
ISO1540

Re: Выбор рабочего выхода в пользовательском блоке

Добавлено: 29 сен 2024, 11:29
slsl
И по поводу отдельного БП, - проще использовать такую штуку: B0505S