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

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

Добавлено: 15 фев 2017, 01:15
lopezmil
Здравствуйте. Помогите с таким вопросом: у меня в пользовательском блоке (code) есть два выхода типа float. Но в зависимости от измеряемой величины мне нужен только один выход. Как можно осуществить выбор действующего выхода? И возможно ли это в принципе?

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

Добавлено: 15 фев 2017, 09:37
Boroda
Блок в студию. Условие выбора выхода не совсем понятно. опишите детально.

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

Добавлено: 15 фев 2017, 10:44
Siberian
Блок в студию!

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

Добавлено: 15 фев 2017, 16:04
lopezmil
Вот такой вот блок. Хотелось чтобы так же, как выбираешь в пользовательских настройках к какому пину будет подключён ТТ, так же была возможность выбора выхода в амперах или миллиамперах.

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

Добавлено: 15 фев 2017, 16:57
Boroda
Ну наверное так, если я правильно понял.

П.С. немного сократил вычисления.

Del (блок оказался кривым, исправленный ниже)

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

Добавлено: 15 фев 2017, 23:09
lopezmil
Boroda, заметил такую особенность на изменённом вами блоке: после загрузки скетча и при первом включении он выдает результат вдвое превышающий реальный. Далее отключаю нагрузку и значение не сбрасывается на ноль, а остаётся висеть. Если снова включить нагрузку в течение одной минуты после её отключения, то ничего не происходит. Результат висит тот же. Но если подождать больше минуты и снова включить нагрузку, то к тому удвоенному результату прибавляется ровно столько же  и далее происходит то же самое. При отключении нагрузки результат измерения не сбрасывается, а висит. При повторном включении нагрузки в течение минуты ничего не произойдёт, но если включить её по истечении минуты, то в четверо увеличенное значение тока возрастёт ещё вдвое и будет показывать уже восьмикратное значение измерения. 

 Скажу так, Boroda, вы волшебник !!! ))) Вам удалось сделать что-то невероятное, т.е. из обычного программного амперметра вы сотворили  блок измерения переменного тока с приращением результата в геометрической прогрессии, заключённый во временном интервале !!!

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

Добавлено: 15 фев 2017, 23:25
Boroda
lopezmil
Обнулиться забыл

П.С. а почему время измерения равно 1 секунде?

П.П.С. Нагрузка какая? Случайно не лампа, которая при пуске потребляет ток в 7 раз больше, чем в разогретом состоянии?

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

Добавлено: 16 фев 2017, 00:34
lopezmil
Boroda,  Испытательная нагрузка именно лампа. А можно словами объяснить if ( A_mA ) { wire_out = wire_out * 1000;} + запись в параметрах пользователя. Как всё это озвучить на русском языке? Я вижу что сделано, а почему сделано именно так и как это работает, каков алгоритм, мне не понятно.

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

Добавлено: 16 фев 2017, 07:20
Boroda
lopezmil, В параметрах пользователя добавил бит, с помощью которого выбирается, будет ли результат wire_out умножаться на 1000. Запись if ( A_mA ) означает: если A_mA равна единице, то выполняется условие { wire_out = wire_out * 1000;}.
Этот бит можно вытащить в качестве входа блока и управлять выдаваемыми данными налету.
Так же я сократил вычисления, которые шли выше, т.к. Вы берете только значение TrueRMS.

Добавлено (16.02.2017, 07:20)
---------------------------------------------
Думаю, вам стоит уменьшить время измерения (самое первое условие While(...)<1000). Сейчас оно составляет 1000 милисекунд. В течении одной секунды алгоритм выбирает самое большое пиковое значение тока. Если Вы уменьшите время измерения до 100 милисекунд, то отзывчивость системы увеличится в 10 раз и Вы сможете наблюдать более динамичные процессы, а точность измерения останется на прежнем уровне.

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

Добавлено: 16 фев 2017, 07:58
AVGN
Boroda, правильно понимаю, если в настройках блока устанавливаем:

True -на выходе Амперы
False - на выходе Миллиамперы
??

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

Добавлено: 16 фев 2017, 08:36
Boroda
Наоборот.

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

Добавлено: 01 май 2018, 15:23
saleks
Доброго всем дня. У меня данные при выводе бегают по всему дисплею, что нужно сделать чтобы они отображались в одном месте.

Отправлено спустя 7 часов 1 минуту 58 секунд:
С дисплеем разобрался. Теперь другая проблема, два блока работают добавляю третий в проэкт и на дисплее ничего.

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

Добавлено: 12 апр 2019, 14:28
UB6AFB
Добрый день. Необходимой темы не нашел, а эта тема самая близкая.
Есть датчик SCT013 (100A, 50mA).

И вот такой рабочий код (отправляет данные в COM):
#include "EmonLib.h"
EnergyMonitor emon1;
void setup()
{ Serial.begin(9600); emon1.current(0, 30); }
void loop()
{ double Irms = emon1.calcIrms(1480); Serial.println(Irms); }

Взято с https://arduino.ua/art65-izmerenie-sili ... ct-013-030

ПОМОГИТЕ СДЕЛАТЬ ПОЛЬЗОВАТЕЛЬСКИЙ БЛОК.

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

Добавлено: 12 апр 2019, 15:52
Sancho
[ref]UB6AFB[/ref], Может здесь есть ответы?
Или это, подпиливал кому-то давно...

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

Добавлено: 12 апр 2019, 19:38
AVGN
[ref]UB6AFB[/ref], вот делал ка то по материалам ссылку которую Вы выложили.
Блок в проекте
Датчик тока SCT-013-030_LCD.flp

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

Добавлено: 13 апр 2019, 17:36
UB6AFB
AVGN, огромное спасибо, то что нужно. Работает отлично.
:smile9:

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

Добавлено: 13 апр 2019, 20:30
AVGN
[ref]UB6AFB[/ref], 73!

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

Добавлено: 06 окт 2021, 14:22
kenmore507
AVGN писал(а): 12 апр 2019, 19:38 [ref]UB6AFB[/ref], вот делал ка то по материалам ссылку которую Вы выложили.
Блок в проекте
Датчик тока SCT-013-030_LCD.flp
Добрый день!
Нужна ли некая обвязка для подключения датчика? либо может кто-то располагает схемой подключения данного датчика к мк?

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

Добавлено: 17 фев 2024, 03:43
WildCat
AVGN писал(а): 12 апр 2019, 19:38 Блок в проекте
Датчик тока SCT-013-030_LCD.flp
Подскажите, знающие:

Делаю проект, пока тесты узловые. Добавил блок измерения тока, и производительность упала на порядок.
Мега 2560, без блока трансформатора тока 4600 циклов в сек, с блоком около 500.

Диспетчер задач использую.

В чем может быть проблема, и имеет ли она решение?

Проект будет дополняться, и производительность нужна.

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

Добавлено: 17 фев 2024, 12:50
ecoins
WildCat писал(а): 17 фев 2024, 03:43 Мега 2560, без блока трансформатора тока 4600 циклов в сек, с блоком около 500.
Выложите плату с блоком трансформатора тока - там наверное библиотека с серьезным delay().
Попробую посмотреть.