Выбор рабочего выхода в пользовательском блоке
Выбор рабочего выхода в пользовательском блоке
Здравствуйте. Помогите с таким вопросом: у меня в пользовательском блоке (code) есть два выхода типа float. Но в зависимости от измеряемой величины мне нужен только один выход. Как можно осуществить выбор действующего выхода? И возможно ли это в принципе?
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Выбор рабочего выхода в пользовательском блоке
Блок в студию. Условие выбора выхода не совсем понятно. опишите детально.
Выбор рабочего выхода в пользовательском блоке
Вот такой вот блок. Хотелось чтобы так же, как выбираешь в пользовательских настройках к какому пину будет подключён ТТ, так же была возможность выбора выхода в амперах или миллиамперах.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Выбор рабочего выхода в пользовательском блоке
Ну наверное так, если я правильно понял.
П.С. немного сократил вычисления.
Del (блок оказался кривым, исправленный ниже)
П.С. немного сократил вычисления.
Del (блок оказался кривым, исправленный ниже)
Последний раз редактировалось Boroda 16 фев 2017, 07:03, всего редактировалось 1 раз.
Выбор рабочего выхода в пользовательском блоке
Boroda, заметил такую особенность на изменённом вами блоке: после загрузки скетча и при первом включении он выдает результат вдвое превышающий реальный. Далее отключаю нагрузку и значение не сбрасывается на ноль, а остаётся висеть. Если снова включить нагрузку в течение одной минуты после её отключения, то ничего не происходит. Результат висит тот же. Но если подождать больше минуты и снова включить нагрузку, то к тому удвоенному результату прибавляется ровно столько же и далее происходит то же самое. При отключении нагрузки результат измерения не сбрасывается, а висит. При повторном включении нагрузки в течение минуты ничего не произойдёт, но если включить её по истечении минуты, то в четверо увеличенное значение тока возрастёт ещё вдвое и будет показывать уже восьмикратное значение измерения.
Скажу так, Boroda, вы волшебник !!! ))) Вам удалось сделать что-то невероятное, т.е. из обычного программного амперметра вы сотворили блок измерения переменного тока с приращением результата в геометрической прогрессии, заключённый во временном интервале !!!
Скажу так, Boroda, вы волшебник !!! ))) Вам удалось сделать что-то невероятное, т.е. из обычного программного амперметра вы сотворили блок измерения переменного тока с приращением результата в геометрической прогрессии, заключённый во временном интервале !!!
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Выбор рабочего выхода в пользовательском блоке
lopezmil,
Обнулиться забыл
П.С. а почему время измерения равно 1 секунде?
П.П.С. Нагрузка какая? Случайно не лампа, которая при пуске потребляет ток в 7 раз больше, чем в разогретом состоянии?
Обнулиться забыл
П.С. а почему время измерения равно 1 секунде?
П.П.С. Нагрузка какая? Случайно не лампа, которая при пуске потребляет ток в 7 раз больше, чем в разогретом состоянии?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Boroda 15 фев 2017, 23:57, всего редактировалось 1 раз.
Выбор рабочего выхода в пользовательском блоке
Boroda, Испытательная нагрузка именно лампа. А можно словами объяснить if ( A_mA ) { wire_out = wire_out * 1000;} + запись в параметрах пользователя. Как всё это озвучить на русском языке? Я вижу что сделано, а почему сделано именно так и как это работает, каков алгоритм, мне не понятно.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Выбор рабочего выхода в пользовательском блоке
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 раз и Вы сможете наблюдать более динамичные процессы, а точность измерения останется на прежнем уровне.
Этот бит можно вытащить в качестве входа блока и управлять выдаваемыми данными налету.
Так же я сократил вычисления, которые шли выше, т.к. Вы берете только значение TrueRMS.
Добавлено (16.02.2017, 07:20)
---------------------------------------------
Думаю, вам стоит уменьшить время измерения (самое первое условие While(...)<1000). Сейчас оно составляет 1000 милисекунд. В течении одной секунды алгоритм выбирает самое большое пиковое значение тока. Если Вы уменьшите время измерения до 100 милисекунд, то отзывчивость системы увеличится в 10 раз и Вы сможете наблюдать более динамичные процессы, а точность измерения останется на прежнем уровне.
Выбор рабочего выхода в пользовательском блоке
Boroda, правильно понимаю, если в настройках блока устанавливаем:
True -на выходе Амперы
False - на выходе Миллиамперы
??
True -на выходе Амперы
False - на выходе Миллиамперы
??
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
☆Альберт Эйнштейн
Выбор рабочего выхода в пользовательском блоке
Доброго всем дня. У меня данные при выводе бегают по всему дисплею, что нужно сделать чтобы они отображались в одном месте.
Отправлено спустя 7 часов 1 минуту 58 секунд:
С дисплеем разобрался. Теперь другая проблема, два блока работают добавляю третий в проэкт и на дисплее ничего.
Отправлено спустя 7 часов 1 минуту 58 секунд:
С дисплеем разобрался. Теперь другая проблема, два блока работают добавляю третий в проэкт и на дисплее ничего.
Выбор рабочего выхода в пользовательском блоке
Добрый день. Необходимой темы не нашел, а эта тема самая близкая.
Есть датчик 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
ПОМОГИТЕ СДЕЛАТЬ ПОЛЬЗОВАТЕЛЬСКИЙ БЛОК.
Есть датчик 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 раз
- Контактная информация:
Выбор рабочего выхода в пользовательском блоке
[ref]UB6AFB[/ref], Может здесь есть ответы?
Или это, подпиливал кому-то давно...
Или это, подпиливал кому-то давно...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Выбор рабочего выхода в пользовательском блоке
[ref]UB6AFB[/ref], вот делал ка то по материалам ссылку которую Вы выложили.
Блок в проекте
Блок в проекте
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
☆Альберт Эйнштейн
Выбор рабочего выхода в пользовательском блоке
AVGN, огромное спасибо, то что нужно. Работает отлично.


Выбор рабочего выхода в пользовательском блоке
[ref]UB6AFB[/ref], 73!
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
☆Альберт Эйнштейн
-
- Рядовой
- Сообщения: 2
- Зарегистрирован: 25 сен 2021, 22:25
- Имя: kenmore507
Выбор рабочего выхода в пользовательском блоке
Добрый день!AVGN писал(а): 12 апр 2019, 19:38 [ref]UB6AFB[/ref], вот делал ка то по материалам ссылку которую Вы выложили.
Блок в проекте
Датчик тока SCT-013-030_LCD.flp
Нужна ли некая обвязка для подключения датчика? либо может кто-то располагает схемой подключения данного датчика к мк?
-
- Лейтенант
- Сообщения: 556
- Зарегистрирован: 04 июн 2022, 04:14
- Имя: Михаил
- Благодарил (а): 5 раз
- Поблагодарили: 9 раз
Выбор рабочего выхода в пользовательском блоке
Подскажите, знающие:
Делаю проект, пока тесты узловые. Добавил блок измерения тока, и производительность упала на порядок.
Мега 2560, без блока трансформатора тока 4600 циклов в сек, с блоком около 500.
Диспетчер задач использую.
В чем может быть проблема, и имеет ли она решение?
Проект будет дополняться, и производительность нужна.
-
- Полковник
- Сообщения: 4005
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Выбор рабочего выхода в пользовательском блоке
Выложите плату с блоком трансформатора тока - там наверное библиотека с серьезным delay().WildCat писал(а): 17 фев 2024, 03:43 Мега 2560, без блока трансформатора тока 4600 циклов в сек, с блоком около 500.
Попробую посмотреть.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость