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

На этом форуме Вы можете задать вопросы знатокам программы и автору.
lopezmil
Рядовой
Сообщения: 26
Зарегистрирован: 19 янв 2017, 00:41

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

Сообщение lopezmil »

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

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

Сообщение Boroda »

Блок в студию. Условие выбора выхода не совсем понятно. опишите детально.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 34 раза
Поблагодарили: 5 раз

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

Сообщение Siberian »

Блок в студию!
lopezmil
Рядовой
Сообщения: 26
Зарегистрирован: 19 янв 2017, 00:41

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

Сообщение lopezmil »

Вот такой вот блок. Хотелось чтобы так же, как выбираешь в пользовательских настройках к какому пину будет подключён ТТ, так же была возможность выбора выхода в амперах или миллиамперах.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01 май 2016, 01:04
Откуда: Коломна
Имя: Станислав
Контактная информация:

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

Сообщение Boroda »

Ну наверное так, если я правильно понял.

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

Del (блок оказался кривым, исправленный ниже)
Последний раз редактировалось Boroda 16 фев 2017, 07:03, всего редактировалось 1 раз.
lopezmil
Рядовой
Сообщения: 26
Зарегистрирован: 19 янв 2017, 00:41

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

Сообщение lopezmil »

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

 Скажу так, Boroda, вы волшебник !!! ))) Вам удалось сделать что-то невероятное, т.е. из обычного программного амперметра вы сотворили  блок измерения переменного тока с приращением результата в геометрической прогрессии, заключённый во временном интервале !!!
Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01 май 2016, 01:04
Откуда: Коломна
Имя: Станислав
Контактная информация:

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

Сообщение Boroda »

lopezmil
Обнулиться забыл

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

П.П.С. Нагрузка какая? Случайно не лампа, которая при пуске потребляет ток в 7 раз больше, чем в разогретом состоянии?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Boroda 15 фев 2017, 23:57, всего редактировалось 1 раз.
lopezmil
Рядовой
Сообщения: 26
Зарегистрирован: 19 янв 2017, 00:41

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

Сообщение lopezmil »

Boroda,  Испытательная нагрузка именно лампа. А можно словами объяснить if ( A_mA ) { wire_out = wire_out * 1000;} + запись в параметрах пользователя. Как всё это озвучить на русском языке? Я вижу что сделано, а почему сделано именно так и как это работает, каков алгоритм, мне не понятно.
Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01 май 2016, 01:04
Откуда: Коломна
Имя: Станислав
Контактная информация:

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

Сообщение 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 раз и Вы сможете наблюдать более динамичные процессы, а точность измерения останется на прежнем уровне.
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

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

Сообщение AVGN »

Boroda, правильно понимаю, если в настройках блока устанавливаем:

True -на выходе Амперы
False - на выходе Миллиамперы
??
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01 май 2016, 01:04
Откуда: Коломна
Имя: Станислав
Контактная информация:

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

Сообщение Boroda »

Наоборот.
saleks
Рядовой
Сообщения: 18
Зарегистрирован: 23 янв 2016, 11:05

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

Сообщение saleks »

Доброго всем дня. У меня данные при выводе бегают по всему дисплею, что нужно сделать чтобы они отображались в одном месте.

Отправлено спустя 7 часов 1 минуту 58 секунд:
С дисплеем разобрался. Теперь другая проблема, два блока работают добавляю третий в проэкт и на дисплее ничего.
Аватара пользователя
UB6AFB
Рядовой
Сообщения: 40
Зарегистрирован: 01 май 2016, 20:49

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

Сообщение 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

ПОМОГИТЕ СДЕЛАТЬ ПОЛЬЗОВАТЕЛЬСКИЙ БЛОК.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

[ref]UB6AFB[/ref], Может здесь есть ответы?
Или это, подпиливал кому-то давно...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

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

Сообщение AVGN »

[ref]UB6AFB[/ref], вот делал ка то по материалам ссылку которую Вы выложили.
Блок в проекте
Датчик тока SCT-013-030_LCD.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Аватара пользователя
UB6AFB
Рядовой
Сообщения: 40
Зарегистрирован: 01 май 2016, 20:49

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

Сообщение UB6AFB »

AVGN, огромное спасибо, то что нужно. Работает отлично.
:smile9:
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

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

Сообщение AVGN »

[ref]UB6AFB[/ref], 73!
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
kenmore507
Рядовой
Сообщения: 2
Зарегистрирован: 25 сен 2021, 22:25
Имя: kenmore507

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

Сообщение kenmore507 »

AVGN писал(а): 12 апр 2019, 19:38 [ref]UB6AFB[/ref], вот делал ка то по материалам ссылку которую Вы выложили.
Блок в проекте
Датчик тока SCT-013-030_LCD.flp
Добрый день!
Нужна ли некая обвязка для подключения датчика? либо может кто-то располагает схемой подключения данного датчика к мк?
WildCat
Лейтенант
Сообщения: 556
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил
Благодарил (а): 5 раз
Поблагодарили: 9 раз

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

Сообщение WildCat »

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

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

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

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

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

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

Сообщение ecoins »

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

Вернуться в «Спросить у знатоков»

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

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