PDA

Просмотр полной версии : Лямбда-зонд - подключение к ПЛК



powerman
10.05.2023, 07:20
Коллеги всех приветствую!

Вопрос у меня следующий: у меня есть проект, где я автоматизировал щеповую котельную на латвийских котлах ORIONS. На котельной установлены два котла ORIONS - 3H4 мощностью по 3 мВт каждый и маленький ручной котел ORIONS -2H2M мощностью 1 мВт для ГВС на лето.

Так вот, котельная эта была автоматизирована на Siemens S7-400, но заводская автоматика пришла в негодность ввиду ненадлежащего хранения (консервации). Что я сделал - выкинул нафиг сименс и сделал с нуля все на ОВЕНе. Котельная прекрасно отработала сезон, в целом все устраивает но есть один нюанс который очень хотелось бы доделать:

Вентиляторы поддува сейчас управляются в ручную (частота вращения), а должны управляться регулятором, который поддерживает необходимый % кислорода в уходящих газах. У латышей это было реализовано через Lambdasonde NGK OZA685-WW1 - обычный автомобильный лямбда-зонд. Только загвоздка в том, что он выдает сигнал 0-1,3 В и нужен преобразователь lambda transmitter - OZA, 12V ip. / 0-10V op чтобы ПЛК мог воспринимать этот сигнал. Оба этих прибора разумеется не купить...

Я начал искать варианты и, как раз в этот момент, попал на наладку щеповых котлов "Гейзер" Ковровского завода. Технология там точно такая же, но там ребята используют лямбду BOSH 1 St/Pc и преобразователь ETAS CSB105.1-2. Лябду такую купить можно без проблем, а вот преобразователь я найти не смог. Видимо он тоже попал в "черный список".

Так вот, ребята поделитесь пожалуйста опытом кто сталкивался с такой проблемой и как вы ее решали. Всем спасибо!

Spawn
10.05.2023, 09:22
Siemens S7-400... выкинул нафиг... и сделал с нуля все на ОВЕНе... жестко Вы "рубите", однако...:D

прошу прощения за оффтоп, не сдержался...:o

melky
10.05.2023, 09:27
Если у ПЛК есть вход 0-10В то нафига вам какие-то преобразователи сдались? Просто в настройках входа ставите масштабирование 0-10В. На датчик кидаете экранированный кабель с сечение жилы потолще и масштабирование делаете програмно.

0-1,3В попадают в диапазон 0-10В.
Я так на ПР200 использую датчик температуры LM335 у которого диапазон напряжения вообще в пределаз 2,15 - 3,7В всего на всю шталу температур.

нашли блин проблему... основная тут это потери в кабеле, но думаю если погрешность в пару % вас никак не убивает, то можно пробовать.

если проще сказать, пофигу какую лямбду вы используете, лишь бы выходное напряжение у него было в пределах 0-10В а не обязательно строго таким же.
И даже если у него не линейная характеристика а ступенями, это тоже обходится через else if и скалированием каждой ступеньки.

Вот пример формулы, когда характеристика датчика не линейна. Ставили нам тут на генератор датчик и тарировали по 5 литров.


double Benzscale (double inp)
{
double res = 0;
if (inp > 0 & inp < 773) res = Scaler (inp, 53, 773, 0, 5);
else if (inp > 773 & inp < 1468) res = Scaler (inp, 774, 1467, 5, 10);
else if (inp > 1467 & inp < 2061) res = Scaler (inp, 1468, 2060, 10, 15);
else if (inp > 2060 & inp < 2452) res = Scaler (inp, 2061, 2451, 15, 20);
else if (inp > 2451 & inp < 2870) res = Scaler (inp, 2452, 2869, 20, 25);
else if (inp > 2869 & inp < 3278) res = Scaler (inp, 2870, 3277, 25, 30);
else if (inp > 3277 & inp < 3700) res = Scaler (inp, 3278, 3699, 30, 35);
else if (inp > 3699 & inp < 4096) res = Scaler (inp, 3700, 4095, 35, 36);
return res;
}

думаю смысл понятен. Scaler это линейная формула масштабирования где входная переменная. 0 и макс значения датчика и 0 и макс литража. и в зависимости от ступеньки нули смещаются... Для нелинейных датчиков тоже можно применить что-то подобное

Eugene.A
10.05.2023, 09:45
Аналоговые входы - это типа МВ110-224.8А?
Ну так у него входы напряжения 0…1 В.
И зачем толстые провода, какие потери, если входное сопротивление не менее 200 кОм?
Привести эти ваши 0...1,3 В к 0…1 В с помощью резистивного делителя, и все дела.

melky
10.05.2023, 10:18
Eugene.A интересная у вас логика, если человек ищет с преобразователем в 0-10В то вероятно такие входа есть в наличии :) иначе и вопрос бы звучал иначе.

Толстые не в плане 1мм2, а хотя бы не применять UTP с их 0,022 или сколько там... :)

Newcomer
10.05.2023, 10:22
Аналоговые входы - это типа МВ110-224.8А?
Ну так у него входы напряжения 0…1 В.
И зачем толстые провода, какие потери, если входное сопротивление не менее 200 кОм?
Привести эти ваши 0...1,3 В к 0…1 В с помощью резистивного делителя, и все дела.

Человек же написал, что надо 0...10 В. Надо сварганить схему на ОУ, и все дела.;)

Eugene.A
10.05.2023, 10:34
Человек же написал, что надо 0...10 В. Надо сварганить схему на ОУ, и все дела.;)

Хотелось бы знать, где у Овена 0...10 В?

melky
10.05.2023, 10:35
8AC, на счет ПЛК не помню, 150-е были тоже вроде с 0-10В, 160-й ПЛК например + ПР-ки

Eugene.A
10.05.2023, 10:49
8AC...
А, ну да, я и забыл, что они не только токовые, но и напряжения.

Sergej_
10.05.2023, 11:03
Можно поставить преобразователь напряжение/ ток , например, 4-20ма особенно если провод длинный , лучше будет.

Филоненко Владислав
12.05.2023, 10:52
Какой тип лямбда датчика Вы используете? Если самый примитивный потенциометрический без управляемого подогрева, то для его корректной работы всё же нужен инструментальный предусилитель. Иначе сопротивление входа ПЛК будет слишком низко для корректной регистрации реального потенциала.
Конечно можно регулировать в режиме 0/1 В. Но тогда надо делать интегратор внутри программы.

powerman
12.05.2023, 12:25
Если у ПЛК есть вход 0-10В то нафига вам какие-то преобразователи сдались? Просто в настройках входа ставите масштабирование 0-10В. На датчик кидаете экранированный кабель с сечение жилы потолще и масштабирование делаете програмно.

0-1,3В попадают в диапазон 0-10В.
Я так на ПР200 использую датчик температуры LM335 у которого диапазон напряжения вообще в пределаз 2,15 - 3,7В всего на всю шталу температур.

нашли блин проблему... основная тут это потери в кабеле, но думаю если погрешность в пару % вас никак не убивает, то можно пробовать.

если проще сказать, пофигу какую лямбду вы используете, лишь бы выходное напряжение у него было в пределах 0-10В а не обязательно строго таким же.
И даже если у него не линейная характеристика а ступенями, это тоже обходится через else if и скалированием каждой ступеньки.

Вот пример формулы, когда характеристика датчика не линейна. Ставили нам тут на генератор датчик и тарировали по 5 литров.


double Benzscale (double inp)
{
double res = 0;
if (inp > 0 & inp < 773) res = Scaler (inp, 53, 773, 0, 5);
else if (inp > 773 & inp < 1468) res = Scaler (inp, 774, 1467, 5, 10);
else if (inp > 1467 & inp < 2061) res = Scaler (inp, 1468, 2060, 10, 15);
else if (inp > 2060 & inp < 2452) res = Scaler (inp, 2061, 2451, 15, 20);
else if (inp > 2451 & inp < 2870) res = Scaler (inp, 2452, 2869, 20, 25);
else if (inp > 2869 & inp < 3278) res = Scaler (inp, 2870, 3277, 25, 30);
else if (inp > 3277 & inp < 3700) res = Scaler (inp, 3278, 3699, 30, 35);
else if (inp > 3699 & inp < 4096) res = Scaler (inp, 3700, 4095, 35, 36);
return res;
}

думаю смысл понятен. Scaler это линейная формула масштабирования где входная переменная. 0 и макс значения датчика и 0 и макс литража. и в зависимости от ступеньки нули смещаются... Для нелинейных датчиков тоже можно применить что-то подобное

Спасибо большое за развернутый ответ. Только я тогда одно понять не могу - если эта проблема так просто решается, то почему на Ковровских котлах используют преобразователи? Как ни крути - сейчас это дефицит + еще денег стоит нормальных. У них очень грамотная автоматика, мне очень понравились их решения - в дальнейшем буду что то подобное на своих проектах использовать.

powerman
12.05.2023, 12:42
Какой тип лямбда датчика Вы используете? Если самый примитивный потенциометрический без управляемого подогрева, то для его корректной работы всё же нужен инструментальный предусилитель. Иначе сопротивление входа ПЛК будет слишком низко для корректной регистрации реального потенциала.
Конечно можно регулировать в режиме 0/1 В. Но тогда надо делать интегратор внутри программы.

У меня пока вообще нет датчика, я только готовлюсь к его внедрению. Сейчас поддув "на руках" работает

melky
12.05.2023, 13:04
powerman возможно так положено, преобразовать в 0-20мА а не ловить 0-1В если оно на расстоянии. Вам тут правильно сказали, может найти преобразователь из напряжения в ток, наверняка у наших производителей тоже есть... Вопрос как он настраивается.

А вот если характеристика не линейна, возможно и применяют специализированные преобразователи в ток конкретно под требуемую лямбду. Ну как пример всякие NTC или PT датчики в ток... там же тоже характеристики не линейны..

Просто когда не требуется большая точность можно и програмно сделать реализацию, никто ж не запрещал вроде...

powerman
12.05.2023, 13:11
powerman возможно так положено, преобразовать в 0-20мА а не ловить 0-1В если оно на расстоянии. Вам тут правильно сказали, может найти преобразователь из напряжения в ток, наверняка у наших производителей тоже есть... Вопрос как он настраивается.

А вот если характеристика не линейна, возможно и применяют специализированные преобразователи в ток конкретно под требуемую лямбду. Ну как пример всякие NTC или PT датчики в ток... там же тоже характеристики не линейны..

Просто когда не требуется большая точность можно и програмно сделать реализацию, никто ж не запрещал вроде...

Понял, спасибо :-)

Емельянов Кирилл
13.05.2023, 09:30
powerman определитесь сначала с датчиком. Они весьма разные. И если в технических характеристиках вашего датчика не будет информации о минимальном сопротивлении нагрузки, то лучше сразу закажите операционные усилители. Был опыт подключения электрохимического датчика кислорода. Минимальное сопротивление нагрузки для таких датчиков исчисляется мегаомами и далеко не каждый аналоговый вход ПЛК или модуля В/В может похвастать таким сопротивлением, даже в режиме измерения напряжения

Eugene.A
13.05.2023, 10:49
Все эти датчики кислорода быстренько выйдут из строя. Электрохимические мгновенно просто от температуры отходящих газов. Остальные от продуктов горения щепы. Элементарно засмолятся.
Из сотен котлов, находящихся у нас на обслуживании, есть всего два, SAACKE, которые имеют датчик кислорода, управляющий соотношением газ/воздух. Горелки газовые, но и на них стоит насос-пробоотборник, перед ним отходящие газы охлаждаются, отбирается конденсат, затем фильтр, и уж тогда газы поступают на датчик. После чего сигнал преобразуется трансмиттером в стандартный 4-20 мА.
За время эксплуатации, около 10 лет, неоднократно меняли и датчики, и фильтры, и насосы. К счастью, горелка способна работать и без датчика, просто по лекалу. Теперь с запчастями, видимо, придётся туго.
Весь смысл датчика - в выжимании единиц процентов КПД из котла. Он позволяет поддерживать около 2%кислорода в отходящих газах без риска недожога и образования сажи.
Ежемесячная проверка газоанализатором с подстройкой горелки способна поддерживать 3-4%, да и то для перестраховки. Вряд ли возможно вычислить экономию газа при использовании датчика кислорода при этом. Это всё перфекционизм. Идеальное враг хорошего.
А вот со щепой - фиг знает. Качество топлива, видимо, нестабильно, непредсказуемо. Но вот найти датчик, способный работать в этой среде, думаю, задача неразрешимая, да ещё за вменяемые деньги. Проще проанализировать состав атмосферы на Венере. Те же автомобильные датчики выходят из строя нередко просто от некачественного бензина. А тут щепа.

stalke-z
16.05.2023, 10:02
Нужно все таки определиться с датчиком. если автомобильные то они бывают 2х типов:
1- узкополосный датчик, показывает наличие кислорода или его отсутствие (модно использовать обычный аналоговый вход) но нужно будет решить вопрос с подогревом.
2- широкополосный, показывает процентное содержание кислорода, для него уже нужен специальный контроллер что то вроде этого Innovate LC-2 или есть аналогичный от AEM выход так же подключать к аналоговому входу ПЛК.
по поводу надежности современные датчики не так плохи, если работают в оптимальном диапазоне температур.

powerman
01.06.2023, 05:16
Все эти датчики кислорода быстренько выйдут из строя. Электрохимические мгновенно просто от температуры отходящих газов. Остальные от продуктов горения щепы. Элементарно засмолятся.
Из сотен котлов, находящихся у нас на обслуживании, есть всего два, SAACKE, которые имеют датчик кислорода, управляющий соотношением газ/воздух. Горелки газовые, но и на них стоит насос-пробоотборник, перед ним отходящие газы охлаждаются, отбирается конденсат, затем фильтр, и уж тогда газы поступают на датчик. После чего сигнал преобразуется трансмиттером в стандартный 4-20 мА.
За время эксплуатации, около 10 лет, неоднократно меняли и датчики, и фильтры, и насосы. К счастью, горелка способна работать и без датчика, просто по лекалу. Теперь с запчастями, видимо, придётся туго.
Весь смысл датчика - в выжимании единиц процентов КПД из котла. Он позволяет поддерживать около 2%кислорода в отходящих газах без риска недожога и образования сажи.
Ежемесячная проверка газоанализатором с подстройкой горелки способна поддерживать 3-4%, да и то для перестраховки. Вряд ли возможно вычислить экономию газа при использовании датчика кислорода при этом. Это всё перфекционизм. Идеальное враг хорошего.
А вот со щепой - фиг знает. Качество топлива, видимо, нестабильно, непредсказуемо. Но вот найти датчик, способный работать в этой среде, думаю, задача неразрешимая, да ещё за вменяемые деньги. Проще проанализировать состав атмосферы на Венере. Те же автомобильные датчики выходят из строя нередко просто от некачественного бензина. А тут щепа.

Вы очень круто написали, я искренне улыбнулся))) У нас котельная неплохо работает и без датчика, просто хотелось до ума довести эту систему. Ребята с ковровского завода используют обычные автомобильные лямбды BOSH LS 17025 и, насколько я знаю, у них нет проблем про которые вы писали.