Мяу
Всем привет. https://img.radiokot.ru/files/122323/3oeuy1ggib.png
логика определения моментов 1, 2, 3 Момент 1 (включаем питание), но надо иметь возможность не привязываться к начальном точке
ЭДС резко возрастает
Производная (градиент) d(ЭДС)/dt > 0 и большая
Момент 3 (нужно снова включать питание)
ЭДС резко изменила знак (был спад, потом рост)
Градиент d(ЭДС)/dt стал резко положительным
снова включать питание.
Как схемотехнически правильно отследить моменты?
Хочется для гибкости уйти на Arduiono подобные решения.
Но как отследить одновременно переход через ноль и нужный градиент не могу сообразить.
[uquote="crvnsk",url="/forum/viewtopic.php?p=4680553#p4680553"]Момент 3 (нужно снова включать питание)
ЭДС резко изменила знак (был спад, потом рост)[/uquote]
Стандартный способ отследить знак это с помощью операционного усилителя с двухполярным питанием.
Спасибо за информацию. Не совсем то, что хотелось.
При рассмотрении рисунка с переходными процессами, кажется, там неполное решение, так как основным условием принятия решения всегда является переход через ноль.
Это решает только момент 2. Момент 3 смена градиента
Спасибо за ссылку, теперь понятно где искать
Добавлено after 5 minutes 57 seconds: Re: Отслеживание перехода нуля с учетом смены градиента dU/dt
Хотя вы правы, для автоматики этого должно быть достаточно
[uquote="electroget",url="/forum/viewtopic.php?p=4680554#p4680554"][uquote="crvnsk",url="/forum/viewtopic.php?p=4680553#p4680553"]Момент 3 (нужно снова включать питание)
ЭДС резко изменила знак (был спад, потом рост)[/uquote]
Стандартный способ отследить знак это с помощью операционного усилителя с двухполярным питанием.
Выходы схемы:
"Градиент" (изменение знака производной)
"Знак" (переход через ноль)
Сигналы завести на входы D2 и D3 Arduino.
Логика обработки в коде
Arduino ждёт сигнал "Знак", проверяя его состояние.
Если одновременно активен "Градиент", значит, градиент отрицательный при переходе через 0 → нужно выключить сигнал.
Arduino ждёт новый переход через 0.
Когда "Градиент" снова становится положительным → включаем сигнал.
Повторяем цикл.
const int gradPin = 2; // Пин для сигнала "Градиент"
const int signPin = 3; // Пин для сигнала "Знак"
const int controlPin = 5; // Управляющий выход
void setup() {
pinMode(gradPin, INPUT);
pinMode(signPin, INPUT);
pinMode(controlPin, OUTPUT);
digitalWrite(controlPin, LOW);
}
void loop() {
if (digitalRead(signPin) == HIGH) { // Если есть переход через ноль
if (digitalRead(gradPin) == LOW) { // Если градиент отрицательный
digitalWrite(controlPin, LOW); // Выключаем сигнал
}
}
if (digitalRead(gradPin) == HIGH) { // Когда градиент меняется на положительный
digitalWrite(controlPin, HIGH); // Включаем сигнал
}
}
[uquote="HochReiter",url="/forum/viewtopic.php?p=4680735#p4680735"]Первый раз слышу, что временнУю производную называют градиентом.[/uquote]
А ее так и не называют. Так же как не называют падение напряжения электродвижущей силой. Видимо ТС термины понравились своим звучанием...
Называют. К электродважущей силе я уже привык, перестал обращать внимание, а градиент - первый раз. Но не единственный: " К градиентным реле можно отнести устройства, реагирующие на скорость изменения контролируемого параметра. Такие реле используют для контроля меняющихся во времени величин" (из журнала "Радиолюбитель", жёлтого, но всё-таки журнала с редактором и корректором)