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

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

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

#1

Сообщение lopezmil » 15.02.2017{, 01:15}

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

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

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

#2

Сообщение Boroda » 15.02.2017{, 09:37}

Блок в студию. Условие выбора выхода не совсем понятно. опишите детально.

Аватара пользователя
Siberian
Лейтенант
Сообщения: 475
Зарегистрирован: 07.09.2015{, 11:51}
Репутация: 8
Откуда: СССР
Имя: Александр

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

#3

Сообщение Siberian » 15.02.2017{, 10:44}

Блок в студию!

lopezmil
Рядовой
Сообщения: 26
Зарегистрирован: 19.01.2017{, 00:41}
Репутация: 0

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

#4

Сообщение lopezmil » 15.02.2017{, 16:04}

Вот такой вот блок. Хотелось чтобы так же, как выбираешь в пользовательских настройках к какому пину будет подключён ТТ, так же была возможность выбора выхода в амперах или миллиамперах.
Вложения
TA12-100-CODE-.ubi
(41.19 КБ) 99 скачиваний

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

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

#5

Сообщение Boroda » 15.02.2017{, 16:57}

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

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

Del (блок оказался кривым, исправленный ниже)
Последний раз редактировалось Boroda 16.02.2017{, 07:03}, всего редактировалось 1 раз.

lopezmil
Рядовой
Сообщения: 26
Зарегистрирован: 19.01.2017{, 00:41}
Репутация: 0

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

#6

Сообщение lopezmil » 15.02.2017{, 23:09}

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

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

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

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

#7

Сообщение Boroda » 15.02.2017{, 23:25}

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

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

П.П.С. Нагрузка какая? Случайно не лампа, которая при пуске потребляет ток в 7 раз больше, чем в разогретом состоянии?
Вложения
TA12-100_2-CODE.ubi
(32.03 КБ) 111 скачиваний
Последний раз редактировалось Boroda 15.02.2017{, 23:57}, всего редактировалось 1 раз.

lopezmil
Рядовой
Сообщения: 26
Зарегистрирован: 19.01.2017{, 00:41}
Репутация: 0

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

#8

Сообщение lopezmil » 16.02.2017{, 00:34}

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

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

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

#9

Сообщение Boroda » 16.02.2017{, 07:20}

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.02.2017{, 12:23}
Репутация: 56

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

#10

Сообщение AVGN » 16.02.2017{, 07:58}

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

True -на выходе Амперы
False - на выходе Миллиамперы
??
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

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

#11

Сообщение Boroda » 16.02.2017{, 08:36}

Наоборот.

saleks
Рядовой
Сообщения: 18
Зарегистрирован: 23.01.2016{, 11:05}
Репутация: 0

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

#12

Сообщение saleks » 01.05.2018{, 08:21}

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

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

Аватара пользователя
UB6AFB
Рядовой
Сообщения: 40
Зарегистрирован: 01.05.2016{, 20:49}
Репутация: 0

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

#13

Сообщение UB6AFB » 12.04.2019{, 14:28}

Добрый день. Необходимой темы не нашел, а эта тема самая близкая.
Есть датчик 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

ПОМОГИТЕ СДЕЛАТЬ ПОЛЬЗОВАТЕЛЬСКИЙ БЛОК.
Вложения
EmonLib-master.zip
(18.44 КБ) 54 скачивания

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#14

Сообщение Sancho » 12.04.2019{, 15:52}

UB6AFB, Может здесь есть ответы?
Или это, подпиливал кому-то давно...
Вложения
Emon_no_serial_(CODE).ubi
(60.64 КБ) 66 скачиваний
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

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

#15

Сообщение AVGN » 12.04.2019{, 19:38}

UB6AFB, вот делал ка то по материалам ссылку которую Вы выложили.
Блок в проекте
Датчик тока SCT-013-030_LCD.flp
(154.2 КБ) 90 скачиваний
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

Аватара пользователя
UB6AFB
Рядовой
Сообщения: 40
Зарегистрирован: 01.05.2016{, 20:49}
Репутация: 0

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

#16

Сообщение UB6AFB » 13.04.2019{, 17:36}

AVGN, огромное спасибо, то что нужно. Работает отлично.
:smile9:

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

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

#17

Сообщение AVGN » 13.04.2019{, 20:30}

UB6AFB, 73!
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

kenmore507
Рядовой
Сообщения: 2
Зарегистрирован: 25.09.2021{, 22:25}
Репутация: 0
Имя: kenmore507

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

#18

Сообщение kenmore507 » 06.10.2021{, 14:22}

AVGN писал(а):
12.04.2019{, 19:38}
UB6AFB, вот делал ка то по материалам ссылку которую Вы выложили.
Блок в проекте
Датчик тока SCT-013-030_LCD.flp
Добрый день!
Нужна ли некая обвязка для подключения датчика? либо может кто-то располагает схемой подключения данного датчика к мк?

WildCat
Лейтенант
Сообщения: 426
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

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

#19

Сообщение WildCat » 17.02.2024{, 03:43}

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

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

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

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

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

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

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

#20

Сообщение ecoins » 17.02.2024{, 12:50}

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

Ответить

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