Нужен совет по использованию двух оптронов PC817C

Ребят, всем привет. Очень нужен совет бывалых.

Задача следующая:

  1. На А1 имею питание от 0-1 вольт
  2. Вывод 10 срабатывает при питании от 0,45 вольт на А1, при этом оптрон имеет сопротивление на ключе 2 кОм (задача не полностью открыть оптрон, по этому такое сопротивление). Условие заключается в том, чтобы вывод 10 срабатывал только при включении Ардуино и был активен 1 минуту, после чего ставим правило не использовать его в дальнейшем
  3. После того, как вывод 10 отработал 1 минуту, должен включиться вывод 9 где также подключен оптрон с сопротивлением 300 Ом, который будет также работать с напряжением и включаться если на А1 напряжение 0,45 и выше.
  4. Фактически нужно создать жесткое правило игнорировать вывод 10 если он уже отработал 1 минуту, и забыть про его существование, при всем вывод 9 должен всегда ожидать напряжение 0,45 чтобы активироваться.

У меня получается сейчас так, что вывод 10 выключается согласно таймеру, отрабатывает время и переключается на 9 вывод, но т.к. в моем случае напряжение скачет, ардуино все равно возвращается к начальным параметрам и задает активным вывод 10.

В целом, суть управление лямбда зондом, точнее конвертация его сигнала. Т.е. в результате я хочу сделать так:

  1. Минуту после включения у меня идет богатая смесь, после ардуино работает с оптроном у которого сопротивление меньше и я получаю стабильную смесь. Это все делается для того, чтобы получить богатую смесь на прогревочных.

код то где?

Тестировал в www.tinkercad.com, там он вроде корректно отрабатывает, ставишь все в реальность - получается ерунда с багами

Заведи output10Activated, в сетапе сделай его true, а после 1 минуты делай его false.
Ну и код соответсвующий напиши.

Спасибо, попробую. Отпишусь позже

Вставь код правильно, ведь умеешь…
И это… переменную ты завёл, молодец, а чего нигде не «обрабатываешь» (как её предшественницу)?

Видать я запутался конкретно, вроде все просто, а поймал затык. Если не сложно, можешь пожалуйста поправить код? Я ещё заметил вот чего, если включить зажигание и не заводить двигатель, время обрабатывается корректно, но если завести двигатель, время перестает обрабатываться и активный вывод остается 9.

То бортовая сеть наполняется шумами и помехами. Надежную работу в таких условиях обеспечить сложно

1 лайк

Может тогда логику привязать к датчику температуры, и читать с него сопротивление? Например, если 0-10 ом - работает пин 9, если 10-20 ом - работает пин 10, при этом пин 9 отключен

Как это уберет помехи, к примеру, по питанию?

Дело в том, что к примеру сейчас у меня работает исправно код который использует 1 оптрон. Т.е. никаких багов не наблюдается, показания для ЭБУ в норме. Питание lm2596s, подключен на vin, 8 вольт.

Cериал.принтов натыкай по всем веткам, тогда будет понятно в какой крутится.

1 лайк

Перевожу - ардуина перезагружается и все слетает.
Если проц перезагружается, править код бесполезно, надо бороться с помехами чтобы перезагрузок не было

1 лайк

ТС вот тут почитай

Сопротивление оптрона, скачет напряжение на А1, богатая смесь…пин рабочий, не рабочий…
Очевидно, проблема в твердости шестерни 3й передачи. Сыровата, подкалить надобно.
Для полноты задачи приведи давление в шинах.

1 лайк

Логика Simtec 56.1 такова, имеем что имеем, сюр. Давление в шинах обязательно подкачаю.

Непонятно как микроконтроллер может управлять обогащением смеси? И на какую строчку кода влияет сопротивление оптопары? Весь учебник пролистал, таких команд не нашёл.

Дело в том, что титановый лямбда зонд меняет свое сопротивление исходя из полной готовности к рабочему диапазону. Симтек если видит опорное 4700 - это говорит о том, что лямбда готова к работе и начинает в свою очередь обеднять раньше времени смесь. Это связано с тем что цирконий выходит на связь раньше чем титан.

Оптронами я регулирую опорное напряжение в ЭБУ, точнее их полным открытием или на половину. Пин 9 в моем случае равен опорному 2000 милливольт, а пин 10 равен 4700 милливольт. Где пин 9 - богатая смесь, пин - 10 стабильная

Опорное регулируется не полным открытием оптрона, т.е. я ставлю сопротивление на оптрон 9 больше чем нужно, соответственно оптрон работает не в полную меру.