Innovate lc 2 ошибка 8

Модераторы: Habis, SkAD, flesher, De-nys, Klassikovod

Модераторы: Habis, SkAD, flesher, De-nys, Klassikovod

Geraltzx

Сообщения: 10
Зарегистрирован: 01 авг 2016, 07:43

LC-2 : Ошибка 8

Здравствуйте !
Приобрёл новый комплект LC-2 , отъездил он зиму и заморгал красным восьмую ошибку . Случилось это утром , на непрогретом моторе (ШДК жил в трубе , выкручивался раз в 1000 км для калибровки , работал без нареканий) . Прогрел лямбду , запустил мотор , всё ок . Через пару минут показометр выдал 22,4 . Заглушил двигатель , перезапустил ШДК — моргает ошибку 8 . По мануалу это тайминг сенсора , значит датчик отъехал . Отложил комплект до наступления тепла , чтобы настроиться полноценно .
Пару недель назад приобрёл новый датчик — VAGовский , оригинал , LSU 4.9 , разъёмы идентичны . Подключил , откалибровал — работает . Поехал откатывать вечером , всё отлично , поправка катается , машина едет лучше и лучше , часа три катался так . Утром прогреваю ШДК , запускаю мотор — работает . Отъехал от дома метров 100 и всё как со старым датчиком : 22,4 , перезапуск , error 8 …
Перепрошил контроллер , прошивка из архива FWloader с сайта innovate , версия 1,02 . Шил стандартной утилитой LM Programmer , контроллер функционирует нормально , коннектится с LogWorks , в настройках выставлен LSU 4.9 . После всех манипуляций виснет на этапе калибровки сенсора (частые зелёные вспышки , ждал до 5 минут максимум) , в LogWorks статут «калибровка» висит . Со старым датчиком никаких изменений — ошибка 8 .
Прошу Вашего совета , информации по зависанию на этапе калибровки не нашёл .

Atomic

Сообщения: 3105
Зарегистрирован: 01 июн 2011, 03:49
Откуда: Питер
Контактная информация:

Re: LC-2 : Ошибка 8

Сообщение

Atomic » 06 июн 2017, 09:21

мне казалось что поддержка LSU зависит от прошивки, хотя могу ошибаться.
какая изначально была прошивка ?

Geraltzx

Сообщения: 10
Зарегистрирован: 01 авг 2016, 07:43

Re: LC-2 : Ошибка 8

Сообщение

Geraltzx » 06 июн 2017, 09:29

Была та же 1,02 . Через FWloader не обновлялась , получилось прошить только LM Programmerом , вручную указав ему файл прошивки . Изначально ШДК пришёл с 4,9

Atomic

Сообщения: 3105
Зарегистрирован: 01 июн 2011, 03:49
Откуда: Питер
Контактная информация:

Re: LC-2 : Ошибка 8

Сообщение

Atomic » 06 июн 2017, 14:45

Ну я не знаю что подсказать… все ведь на страх и риск.

если бы я был на твоем месте, я бы десять раз попробовал обновить прошивку как ты и делал, потом десять раз проверил провода. потом бы поискал прошивку, открыл в hex редакторе, отрезал бы хедер и через обычный программатор попытался бы прошить.
как то так.

Geraltzx

Сообщения: 10
Зарегистрирован: 01 авг 2016, 07:43

Re: LC-2 : Ошибка 8

Сообщение

Geraltzx » 07 июн 2017, 09:07

Буду пробовать программатором , как-то неуверенно завершается загрузка прошивки через LMprog — в процессе горит зелёным , проходит запись и проверку , зависает , никаких уведомлений не даёт что всё ок (или нет) , потом окно с полосой состояния закрывается . И вроде как бы всё , но контроллер продолжает гореть зелёным пока не отключишь питание . Может оно и должно так быть ?

Atomic

Сообщения: 3105
Зарегистрирован: 01 июн 2011, 03:49
Откуда: Питер
Контактная информация:

Re: LC-2 : Ошибка 8

Сообщение

Atomic » 07 июн 2017, 14:11

я не знаю как на LC-2 светодиод устроен, но на LC-1 светодиод начинает мигать при нагреве ШДК и после нагрева начинает гореть постоянно. если ошибка, то мигает быстро.

Den_golf2_61

Сообщения: 268
Зарегистрирован: 11 окт 2016, 10:15
Откуда: Ростов-на-Дону

Re: LC-2 : Ошибка 8

Сообщение

Den_golf2_61 » 14 июн 2017, 18:19

Я так понимаю ты убил сенсор (как и я когда то ) тем что ждал его прогрева а потом запускал мотор .
Так делать не нужно , конденсат есть в трубе в любом случае и при любых температурах .
У меня подключено на постоянную контролёр и включается он от поворота ключа ,сел ,повернул ,(насос от жужал), завел .
С новым сенсором уже пробег 6т.км ,проблем нет .

dimonershov

Сообщения: 182
Зарегистрирован: 12 дек 2014, 14:27
Откуда: Ижевск
Контактная информация:

Re: LC-2 : Ошибка 8

Сообщение

dimonershov » 16 июн 2017, 12:07

Внесу свои 5 копеек. Мне достался такой ШДК, мне его подарили точнее. Из Крыма приехал в том году. В Крыму у Лёхи он выдавал ошибку номер 8. Как он только не бился с ней. В итоге ШДК приезжает в Ижевск и начинает у меня работать. Но не всегда работает хорошо, ошибка появляется в 30% случаев использования. Приходится выключать, включать. Также бывает просто тупо моргает на прогреве, долго. Тогда я просто раз 5-6 включаю, выключаю и он начинает работать.

Также из города Шарья в том году мне прислали сломанный MTX-L. В том году я его проверил, он не выходил после прогрева, горела ошибка — her. И вот на этой неделе я попробовал его снова включить, прицепил бошевский сенсор LSU 4.2. Он уже вышел после прогрева в ошибку номер 3 — замыкание провода или сенсора. Ну я прочитал, MTX-L поддерживает только LSU 4.9.

Интересен тот факт — датчики толком не работают, но если их долго мучать, они начинают работать. Честно — бесит.

Для заказа программы MotorLog, отправить два слова motorlog buy на почту motorlog@bk.ru

Geraltzx

Сообщения: 10
Зарегистрирован: 01 авг 2016, 07:43

Re: LC-2 : Ошибка 8

Сообщение

Geraltzx » 20 июн 2017, 08:48

Пока мучения контроллера с перепрошивкой стандартной утилитой результатов не принесли — так и виснет на калибровке . Жду программатор

Atomic

Сообщения: 3105
Зарегистрирован: 01 июн 2011, 03:49
Откуда: Питер
Контактная информация:

Re: LC-2 : Ошибка 8

Сообщение

Atomic » 26 июн 2017, 22:40

смотрю растет гнев народа ….
вообще конечно странная фигня стала с контроллерами ШДК

Den_golf2_61

Сообщения: 268
Зарегистрирован: 11 окт 2016, 10:15
Откуда: Ростов-на-Дону

Re: LC-2 : Ошибка 8

Сообщение

Den_golf2_61 » 27 июн 2017, 01:17

Geraltzx писал(а):Пока мучения контроллера с перепрошивкой стандартной утилитой результатов не принесли — так и виснет на калибровке . Жду программатор

Мож у кого знакомого на пробу сенсор другой взять ?
И насколько я помню алгоритм прогрева для 4.2 и 4.9 разный , в настройках логворда сенсор правильно выбран ?

Geraltzx

Сообщения: 10
Зарегистрирован: 01 авг 2016, 07:43

Re: LC-2 : Ошибка 8

Сообщение

Geraltzx » 18 июл 2017, 08:12

У знакомого 4.2 , пробовал менять в настройках тип сенсора и подключать его — висит в калибровке . Сенсор выбран правильно

Geraltzx

Сообщения: 10
Зарегистрирован: 01 авг 2016, 07:43

Re: LC-2 : Ошибка 8

Сообщение

Geraltzx » 19 июл 2017, 10:01

Пришел программатор USBasp . Контроллер прошился на ура , изменений ноль . Заказывать ещё один , оригинальный бош , сенсор жаба пока не дает … Выкинуть весь этот хлам тоже жалко .

Atomic

Сообщения: 3105
Зарегистрирован: 01 июн 2011, 03:49
Откуда: Питер
Контактная информация:

Re: LC-2 : Ошибка 8

Сообщение

Atomic » 19 июл 2017, 10:21

Главное не сдаваться.
Раз уж так вышло, то попробовать стоит все. разные прошивки как минимум, питание от отдельного аккумулятора. Так в целом ломаться особо нечему… это глюки прошивки , а значит нужно понять при каких обстоятельствах они возникают.

P.S. если починить не сможешь, то готов приобрести по разумной цене для опытов или в качестве запчастей запчастей.

Geraltzx

Сообщения: 10
Зарегистрирован: 01 авг 2016, 07:43

Re: LC-2 : Ошибка 8

Сообщение

Geraltzx » 20 июл 2017, 13:02

Разве на этих контроллерах можно достать где-либо прошивки предыдущих версий ? Я зашивал ту , которая идёт в комплекте с оригинальной прогой LM Programmer , других версий не нашёл .
Попробую на работе поймать какой-нибудь тигуан и выкрутить его шдк , на пробу . Больше мыслей пока нет
Спасибо , буду иметь в виду !

motogon13

Сообщения: 787
Зарегистрирован: 30 мар 2017, 20:07

Re: LC-2 : Ошибка 8

Сообщение

motogon13 » 23 авг 2017, 21:19

Здравствуйте , проблема следующая начал периодически показывать фигню лс2 сначала просто временами смесь показывал то верную , то прыгал на 22,4 , передернул разъёмы калибранул , все стало норм . потом через недельку после того как топнул хорошо смотрю кажет 22,4 ни ошибок ни чего нет провода пошевелил ничего , калибранул опять норм неделю езжу все хорошо но гложет мысль что где то косяк , и его надо исправить пока не пришли не обратимые последствия .Дак вот вопрос как мне определить где сбой происходит логером , или тестером , или бубном , ладно ещё если сенсор глючит , а если вот контроллер … Разъёмы на вид все живые , правда провод идёт через окно под капот , и капот и окно закрыты но ничего не пережато , можно как то понять есть ли в проводе так сказать играющий разрыв ?

Atomic

Сообщения: 3105
Зарегистрирован: 01 июн 2011, 03:49
Откуда: Питер
Контактная информация:

Re: LC-2 : Ошибка 8

Сообщение

Atomic » 23 авг 2017, 22:55

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

я могу лишь порекомендовать устанавливать шдк согласно мануалу, прогревать его перед запуском мотора (возможно это и не нужно, но это филосовско-научный вопрос) , питать контроллер от аккума(а не через прикуриватель). если ничто не помогает, то менять сенсор и надеяться на лучшее.

  1. 07-02-2018


    #1

    anniversaryss is offline


    Advanced Tuner


    Innovate LC2 error 8

    Got an error code 8 today. Does this mean the sensor is bad. It was stuck a 22.4 now just flashes 7.5.
    Thanks


  2. 07-06-2018


    #2

    ModchipMan is offline


    Tuner in Training


    Sounds like stuffed sensor.


  3. 07-07-2018


    #3

    dr.mike is offline


    Advanced Tuner


    This is almost always a cracked sensor element.


  4. 07-08-2018


    #4

    anniversaryss is offline


    Advanced Tuner


    Awesome, thanks guys. I have a new one on its way.
    Forgot I even posted here.


  5. 07-08-2018


    #5

    I have the same problem, but was wondering what is the Bosch part number for the LSU 4.9 to replace the Innovate sensor PN 3888?

    The Bosch number 17014 for the LSU 4.2 is easy to find… but I would like to stay with the LSU 4.9 sensor as it seems to be more robust. I killed mine on a tune that was running way rich at idle. I let it go for too long and lunched my sensor. Self inflicted…

    02 NBM M6 TA, Mecham Hood and Wing, LS6, Mustang Specialties P&P 243 heads, Comp 1:8 roller rockers, 220/220/112/.565 custom cam, Holley 92mm TB, Dorman LS2 92mm intake, GM 85mm MAF, Volant Ram Air, Moser 4.11 12 bolt, Z06 clutch, SLP Bilsteins, 275/40 BFG Comp TA frt/ 315/35 Nitto 555 G2 rr, Hooker long tube headers, TSP 3″ catted Y, Borla S type, MSD coil pacs, Bosch 36lb (811) injectors


  6. 07-08-2018


    #6

    anniversaryss is offline


    Advanced Tuner


    17025
    Be careful they get mixed with 17205


  7. 07-09-2018


    #7

    Quote Originally Posted by anniversaryss
    View Post

    17025
    Be careful they get mixed with 17205

    Thanks. I found out that it is used on 2015 Ford Escape SEs — 2.5L Normally aspirated engines (upstream of the cc). Unfortunately no one in my immediate vicinity stocks them in house. Ordered one online today. Tried Auto Zone, O’Reillys, NAPA and Advance. All were special order and would take several days to retrieve.

    Denso makes a replacement: PN 234-5176 Has anyone tried this with an Innovate wideband?

    02 NBM M6 TA, Mecham Hood and Wing, LS6, Mustang Specialties P&P 243 heads, Comp 1:8 roller rockers, 220/220/112/.565 custom cam, Holley 92mm TB, Dorman LS2 92mm intake, GM 85mm MAF, Volant Ram Air, Moser 4.11 12 bolt, Z06 clutch, SLP Bilsteins, 275/40 BFG Comp TA frt/ 315/35 Nitto 555 G2 rr, Hooker long tube headers, TSP 3″ catted Y, Borla S type, MSD coil pacs, Bosch 36lb (811) injectors


lc-2 проблема — ChipTuner Forum

Чип-тюнинг коммерческой техники Кама3, ГАЗ от SMS-Soft



Прошивки Hyundai SIM2K-241 от Strit   Прошивки Magneti Marelli VAG от Art-Pro   Прошивки Peugeot/Citroen от Art-Pro   Прошивки Kia SIM2K-241 от Strit

lc-2 проблема


Закрытая тема.
  1. Аватар для маааакккс

    offline

    механик

    Регистрация:
    29.08.2016
    Сообщений:
    3
    Адрес:
    Вологда

    добрый день,случилась такая беда после калибровки датчика выскочила ошибка 8,переделывал калибровку 3 раза после чего ошибки не загоралось,но сенсор не может откалиброваться,с начало мигает индикатор 2 раза в секунду он нагревается, после чего индикатор начинает очень быстро мигать 4 раза в секунду, это проходит его калибровка, после чего индикатор должен загореться постоянным зеленым светом,но он не загорается,он продолжает мигать с частотой 4 раза в секунду,оставлял его мигать на протяжении 3 часов ни чего не помогло,и в программе логворкс пишет калибровка,что может быть? датчик устал после трех откатаных на нем машин?

  2. Аватар для drkostjan

    offline

    Автоэлектрика-диагностика

    Регистрация:
    17.07.2014
    Сообщений:
    120
    Адрес:
    РК

    маааакккс, Вот возможные коды ошибок вашего ШДК:

  3. Аватар для sovarim

    offline

    всякая подпись

    Регистрация:
    02.06.2010
    Сообщений:
    4,319
    Адрес:
    Чечня п.Ойсхар

    Бывало и так. Ударов по датчику не было?

  4. Аватар для Sanek_08

    offline

    федеральный служащий

    Регистрация:
    07.01.2016
    Сообщений:
    5
    Адрес:
    г.Элиста

    где то на форуме было обсуждение такой проблемы

  5. Аватар для MMAGS

    offline

    Диагностика, чиптюнинг, ТО

    Регистрация:
    12.02.2007
    Сообщений:
    12,655
    Адрес:
    Миллерово Ростовской обл

    Водичка может быть. Уже пару раз от конденсата ловил 8ю.


Закрытая тема.

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
Текущее время: 00:09. Часовой пояс GMT +4.

Содержание

  1. Error 8 sensor timing
  2. Подключаем LSU ADV к LC-1F
  3. Пришло время переписать часть матана в измерении с тупого человечьего языка на красивый машинный.
  4. Почему на самом деле MTXL+ (а вместе с ней и LC2 и обычная MTXL) нормально не работают.

Error 8 sensor timing

После того как были изменены калибровки и была добавлена фильтрация к измерениям R nernst и Rpump — лямбды стали калиброваться более менее одинаково и всегда с одним и тем же результатом но все же с сильно разными температурами работы на выходе от сенсора к сенсору и от типа сенсора к типу сенсора и от платы к плате. Поэтому настала очередь разобраться с с магией и сделать ее лучше.

Почти эквивалентная (упрощенная) схема нашей магии выглядит примерно как то вот так:

Результаты цепочки расчетов симуляции измерения R Nernst по приведенной выше модели в excel:

Однако в этом расчете все же есть недостатки — он использует «идеальные ОУ», а было бы интересно учесть некоторые эффекты возникающие в реальных ОУ, которые в теории может учитывать современная, более скажем так приближенная к реальности, симуляция. Кроме того я не люблю аналоговую схемотехнику, и могу банально где то ошибаться и не замечать этого. Поэтому было решено накидать не только модель идеального измерения (в excel) но и эквивалентную схему измерения для возможности расчета решения в симуляторе — в качестве которого использовался бесплатный LTspice от Linerar Technology.

Источник PA2 — меандр 0-5в 3.4кГц.

Для симулятора соответственно: Rin(internal) = ( V(adc3)phase+ — V(adc3)phase- ) * 1024 / 5 * 8 / 7

Поскольку в измерении участвует дифференцирующая цепь — важно очень строго выдерживать не только точность используемых компонентов но и тайминг момента измерения относительно подачи импульса нагрузки. Поэтому было решено:

1) Все прерывания на все время измерения запрещать.

2) Мультиплексор канала АЦП подключать к каналу измерения еще до момента подачи импульса нагрузки ячейки Нернста, для более точной балансировки выхода ОУ и входа АЦП микропроцессора и нивелирования возможного ранее накопленного значения в емкости входа АЦП микропроцессора.

3) По тактам строго была просчитана задержка момента семплирования с учетом тактовой частоты АЦП (125кгц) и времени семплирования (1.5 такта частоты АЦП). Выбраны новые коэффициенты задержек.

После этих доработок выбросы Rnernst в минус полностью прекратились. Но все же в разных платах c прошивкой LC-1F калибровка давала разные результаты по Rnernst и главное — разную среднюю мощность нагревателя (этот параметр вычисляется в логах «Матрицы» с LC-1F).а значит по факту и разные температуры керамики. Т.е. какие то элементы схем (возможно конденсатор C1 или неточность всех резисторов) все же вносят достаточно большую погрешность в измерения, поэтому в итоге решено было вынести Target Rnernst на панель «Setup» комплекса «Матрица», чтоб была возможность оперативно задать любое желаемое значение и таким образом любую желаемую температуру сенсора..

Если же проанализировать различные прошивки LC1-LC2-MTXL — то можно увидеть как в них тоже постоянно менялось калибровочное значение R nernst. Т.е. разработчики толком сами еще не определились, что там у них как должно работать (на самом деле — нет, причина их замен совсем в другом, но об этом будет ниже).

Подключаем LSU ADV к LC-1F

Если у вас есть LSU ADV и LSU 4.9 то можно сделать многое, например можно соединить их друг с другом вот в такого «котопса»:

Кстати если котопса закрутить в выхлоп до катализатора и после — там будут происходить сложные электрохимические процессы, как нагреется. Но это не так интересно, гораздо более интереснее подключить LSU ADV к LC-1F и научить ее с ней работать.

В LSU ADV Bosch не очень то много поменял. Для начала отказались от калибровочного резистора и проводов теперь всего 5. Калибровка от этого скорее всего никуда не делась, и теперь обеспечивается исключительно 2й лямбдой установленной за катализатором (системы управления и раньше так делали, чтоб компенсировать сдвиг характеристики при старении — но сейчас это стало основным способом калибровки!) таким образом LSU ADV не может быть установлена в автомобиль где нет 2-го сенсора, и в случае использования LSU ADV ни второй сенсор ни катализатор ни в коем случае нельзя удалять! Нам же от этого не жарко не холодно — поскольку в LC-1F лямбда калибруется на свободном воздухе и калибровочный резистор у нее никакого значения не имеет. В LSU ADV так же изменилось сопротивление нагревателя. Таким образом изменились калибровочные точки, для отражения % прогрева зонда и момент вступления в действие измерителя Rnernst тоже измерены. Изменилась константа максимального эффективного напряжения на нагревателе — теперь она 12в вместо прежних 13в. LC-1F стала поддерживать ее только недавно но уже опционально для LSU ADV пришлось поправить. R nernst рекомендуемый вроде как остался старым (300) но те лямбды что у меня то ли уже мертвенькие, то ли опять же проблематика измерений.. На 300 они даже и не думают работать, работают только с Rnernst 100%

прогрев и калибровка невозможны

Минимально возможное достижимое R nernst для LSU ADV при 100% подводимой мощности нагревателя и эффективном напряжении на нагревателе = 12в — 55 единиц. R nernst середины рабочего диапазона = 130.

Сводная таблица калибровки LSU 4.2 которую обычная LC1 считает мертвой (error 08 sensor timing):

Rnernst target R pump % мощности нагрева Примечание
100 не калибруется
80 не калибруется
70 241 нет цикла
65 238 нет цикла
60 227 нет цикла
50 197 раскачка — измерения не стабильны Error 8 sensor timing
40 164 50 8.4-5.6 нормальная работа.
35 144 51.6 20
30 129 56.7 30
25 112 61 15-40 нестабильно.
20 96 68.5 20-45 нестабильно.

Сводная таблица калибровки новой оригинальной новой LSU 4.2 0 258 007 361

Rnernst target R pump % мощности нагрева Период измерения на свободном воздухе (в стехиометрии). мс. Примечание
120 432 17-40 — Error 08 цикл не стабилен, затруднения при калибровке
100 360 23-27 4,3-5,9 (1,722) цикл не стабилен
80 284 23-36 8,046 (2,77)
70 238-239 30-32 10,2 (4,13)
65 228 33 10,8 (4,2)
60 217 33,5 12,2
50 183 35-37 15
40 154 39 20 (8)
30 129 44.5 24,6
20 107 50.7 33,8

Пришло время переписать часть матана в измерении с тупого человечьего языка на красивый машинный.

В первых версиях ПО LC1F, чтоб не загружать контроллер всякой ерундой, вычисления lambda вообще не производились. Исходные данные времен передавались в ПК, и уже там производились вычисления (по алгоритму, аналогичному тому, что был в старой LC1). В последующих было решено вернуть вычисления (для реализации некоторых идей, результат измерения все же был нужен внутри), но при этом полностью избавится от формата с плавающей точкой! Дело в том, что у формата с плавающей точкой слишком много проблем. Возможно непредсказуемое поведение библиотеки, глюки, потеря точности, ну и конечно проблемы низкой производительности подобных вычислений, а производительность всегда нужна — поскольку контроллер, кроме прочего, рассчитывает данные для цилиндровой селекции и PID регулятор у него несколько усложнен. Кроме того — формат с плавающей точкой вообще не нужен, поскольку это искусственно созданная, т.е. не наблюдаемая в реальной природе абстракция. В реальной системе управления примером которой является данный измеритель мы всегда имеем дело исключительно с натуральными значениями у любой операций ввода-вывода, то есть «полтора бита с АЦП» — такая же ересь как «полтора землекопа» («Страна невыученных уроков»)..

Давайте вспомним, что и как у нас вычислялось (это было описано во второй части статей про innovate):

Для положительных значений DCexhaust: lambda=DCair/(DCair-DCexhaust)

Для отрицательных значений DCexhaust: lambda=(DCair/(DCair-DCexhaust))*0,71428+(1-0,71428)

Формула для вычисления % кислорода: %O2=(DCexhaust/DCair)*20,9+0,08

Стоит заметить, что лямбда само собой не передается по каналу в виде float результата этих вычислений, и поэтому в конце нужно еще будет сделать преобразование в представление для протокола LC1 по формуле: lambda_int=lambda*1000-500 а %O2_int=%O2*10 cоответсвенно.

Казалось бы действий не так много — но нет! Сложение и вычитание времен идет в int формате, соответственно у вычитания может быть знак, сложение же по определению не имеет знака, поскольку все входные данные — натуральные. Дальше оба результата конвертируются sint2float и производится уже float деление для вычисления DC. Остальные вычисления чистые float в конце производится преобразование обратно в int.

Переведем все это в целочисленную форму. Для начала, что такое «положительные значения DC»? очевидно это когда T1>T2. Т.е. нам надо вычесть из T1 T2 и запомнить знак этой операции, чтоб потом сменить коэффициенты в алгоритме в процессе вычисления. На самом деле сменить надо даже не коэффициенты — а всю ветку программы. Поскольку требования к производительности алгоритма у нас высокие, а к расходованию байтов в памяти программ низкие (П.О. написано на ассемблере и места там навалом) — выгоднее использовать 2 почти идентичные ветки, в конце второй при этом будет сложение.

Примем за T(n)_FA значение T(n) на свободном воздухе полученное при калибровке и запишем нашу формулу для положительных значений DC следующим образом:

lambda_int = ((T1_FA-T2_FA)/(T1_FA+T2_FA))/ ((T1_FA-T2_FA)/(T1_FA+T2_FA)-(T1-T2)/(T1+T2))*1000-500

а для отрицательных соответственно:

lambda_int = (((T1_FA-T2_FA)/(T1_FA+T2_FA))/ ((T1_FA-T2_FA)/(T1_FA+T2_FA)-(T1-T2)/(T1+T2))*0,71428+(1-0,71428))*1000-500

Для простоты записи упрощений в дальнейшем примем за: a = T1_FA, b = T2_FA, c=T1, d=T2

выражение: ((T1_FA-T2_FA)/(T1_FA+T2_FA))/ ((T1_FA-T2_FA)/(T1_FA+T2_FA)-(T1-T2)/(T1+T2)) можно заменить на: (T1_FA*T1-T2_FA*T2)/(T1_FA*T2-T2_FA*T1)*0,5+0,5

Для расчета % O2 соответственно так же можно заменить соотношение DC на конструкцию вида:

Такие конструкции гораздо более оптимальны для использования в микроконтроллере по следующим причинам:

1) Выгодна почти любая схема в которой деление заменяют умножением, так как умножение как правило всегда менее затратная операция (тут экономится минимум одно деление, поскольку часть результатов была предварительно вычислена и таким образом в левой части в любом случае будет всего два деления). Мало того, команда умножения восьмибитных чисел в системе команд ассемблера AVR есть, а вот деления — нет совсем. Поэтому даже многократное умножение в этом случае, сильно выгоднее единичного деления, поскольку любое деление у нас выполняется только программно.

2) Все умножения в правой части не имеют знака (в отличие от всех делений знаковых чисел в левой части). От знака в правой части вообще легко избавится — хотя учитывая библиотечную реализацию деления signed int (другого напомню — нет) в данном конкретном случае смысла это в общем то не имеет.

3) Деление на 2 может быть заменено сдвигом вправо на 1 бит (если потребуется), умножение на 2 сдвигом влево соответственно. Однако в реальности это так же не нужно, поскольку у нас есть еще участки цифр в формулах (*1000-500) таким образом, наличие каких либо констант в правой части, для быстродействия вычислений значения не имеет, мало того часть констант в результате преобразований вырождаются.

Итого, формула вычислений лямбды для положительных значений будет иметь вид:

а для отрицательных соответственно:

для %O2_int = 209.8-418*(ad-bc)/((ac-bd)+(ad-bc))

В результате, у нас на все про все, для вычисления лямбды будет производится четыре целочисленные умножения 16×16 и одно 32×32, значение 357,14 округляется до 357, а так же 2 вычитания, причем знаки их результатов должны совпасть, иначе результат всей операции будет отрицательным — а это не допустимо. На самом деле, это возможно лишь в случае, если измеренное DC превышает калибровочное DC — т.е. при ошибке калибровки.. Так же у нас есть одно деление — единственная серьезно затратная операция, но она тоже целочисленная. Точность вычислений при таком методе для положительных значений — абсолютна (это исходит из свойств натуральных чисел). Для отрицательных увы в пределах младшего значащего бита результата, поскольку мы вводим в формулу сторонние округленные константы.

Алгоритм вычисления следующий:

1) Предварительно вычисляем 2 выражения (ad-bc) и (ac-bd) их результаты мы будем использовать по разному в зависимости от веток вычисления лямбды или %O2 но они нам нужны в любом случае.

2) Вычитаем из T1 T2 и запоминаем знак результата (сам результат не нужен).

3) Для лямбды: Умножаем верхнее выражение на константу зависящую от результата вычитания T1-T2 рассчитанного в предыдущем пункте (500 или 357) и делим на нижнее. Прибавляем 143 если нужно.

4) Если результат не превышает AFR=99.00 (99.00*1000/14.7-500) — лямбда вычислена! Иначе вычисляем %O2.

6) Для %O2: Умножаем верхнее выражение на 418 делим на нижнее, результат умножения вычитаем из 210.

Собственно с матаном все — мы получили абсолютно то же самое, но без применения плавающей точки и без проблем с ее библиотеками, без преобразования представлений чисел, с вполне приемлемой точностью и почти без потерь в исходной информации.

Почему на самом деле MTXL+ (а вместе с ней и LC2 и обычная MTXL) нормально не работают.

Часто можно услышать жалобы на LC2 — типа купил новую лямбду, проработала пару дней и сдохла. Некоторые замечают, что в показаниях что то не то и прогрев идет как то не нормально. И тому есть причина — управление нагревателем в этих приборах неработоспособно! Это очень сложно понять даже при многократных тестах — связано это с тем что цикл может быть устойчивым в очень широком температурном диапазоне керамики сенсора.

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

Как я уже писал в прошлой части суть управления нагревателем можно разделить на 2 части — управление с прямой связью (по модели объекта) и управление с обратной связью (ПИД регулирование). У нас не особо много априорных знаний об объекте, поэтому модель объекта в нашем случае представлена всего лишь одной этой цифрой:

Грубо говоря, если мы подаем на нагреватель номинальное напряжение — то сенсор находящийся в стандартных условиях атмосферы достигает номинальной температуры.. Это позволяет нам управлять нагревателем, даже в условиях когда не доступна, или не достоверна информация о реальной температуре сенсора. Так же мы можем ограничить действие интегратора в алгоритме, так как в условиях стационарности по температуре целевое напряжение в общем случае не будет сильно отклонятся от номинального напряжения. И это действие действительно ограниченно в режиме когда лямбда прогрета до рабочей температуры и есть цикл значением ошибки интегратора +-1000, что при применяемом значении интегрального коэффициента дает диапазон интегратора +-4.88v

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

Процесс прогрева и калибровки нагревателя в этих приборах реализован в виде конечного автомата упрощенный граф состояний которого представлен ниже:

Инициализация номинального напряжения нагревателя происходит в состоянии 4. В это состояние можно попасть из состояний 5 8 и 10. Однако в состояние 5 можно попасть только из 4 и 10. В состояние 8 из 5, а в состояние 10 вообще нет входа. Таким образом алгоритм никогда не окажется ни в одном из этих состояний! Переменная среднего эффективного напряжения нагревателя останется не проинициализированной. При первоначальном анализе кода я даже не поверил, что подобная ошибка возможна и несколько раз проверил граф переходов из одного состояния в другое, но ошибка не исчезала, и в конце концов понял, что необходимо проверить ее наличие с 100%й гарантией, поэтому дописал в код MTXL+ процедуру снятия дампа ОЗУ при нормальной работе, которая ранее так же была дописана в LC1. Кусок дампа выглядит так:

В принципе достигнутое значение R pump=124 находится в пределе рабочих температур, однако при включении и калибровке с целевым R nernst=65 сенсор на короткое время может принимать значительную температуру (>1000градусов), поскольку значение интегратора ограниченно лишь при нормальной работе, при калибровке же это ограничение не действует.

Можно проследить историю возникновения проблем управления нагревателем по прошивкам различных приборов. Фактически лишена проблем только прошивка LC1 — 1.10 для LSU4.2. Однако эта прошивка была склонна к срыву управления и сваливанию в ошибку 8 (как мы теперь уже знаем — из за ошибки в входных данных регулятора) . В 1.20 появилось ограничение значения в интеграторе, в результате чего, выбросы ошибок измерения не могли оказывать на регулятор значительного влияния. Сама идея этого ограничения в принципе верна, но значение ограничителя было выбрано очень маленькое 0.366v, и таким образом если коэффициенты ПИД выбраны неверно (а это по сути так) — интегратор не позволял достичь целевого значения R pump, 1.21 была идентична 1.20 Алгоритм изменения калибровки нагревателя (калибровка при включении) появился в LC2 v1.00, так же несколько изменились коэффициенты ПИД.

(c) Maxi(РПД) 2017-2018 Копирование материалов ресурса без разрешения автора запрещено.

Источник

Jenek


27 Июн 2014

Jenek, какой кабель? от контроллера до ШДК ? А что с ним могло вдруг случится, если поломало саму лямду?

Да, он самый. На нем повреждений вообще никаких? Кабель как протянут был ? Через дверь?, или через моторный отсек?

funtik


27 Июн 2014

Jenek, от кабеля отпаял все проводки , кроме питания и COM. Ошибка 5, замыкание ячейки. Там на входе операционники или АЦП чтоль стоят, может их задело?

Boosted


10 Июл 2014

Проблема с Innovate

Ребят стоит шдк Иновэйт, выводится смесь на экран, всегда все было хорошо, заводишь , синунд 10 загружается с цифрами 7.4 и потом работает . Но вот как сменим форсунки на 630 , ( совпадение) , он начал иногда перезагружаться, и сейчас во все перестал работать, всегда мигает 7.4 . У кого было подобное , я думаю может сам кислородник умер от богатой смеси , было около 9 смесь короткое время. Помогайте !

Jenek


11 Июл 2014

выводится смесь на экран, всегда все было хорошо, заводишь , синунд 10 загружается с цифрами 7.4 и потом работает

Смесь такую где показывает? В лог ворксе?

Tech


11 Июл 2014

Ребят стоит шдк Иновэйт, выводится смесь на экран, всегда все было хорошо, заводишь , синунд 10 загружается с цифрами 7.4 и потом работает . Но вот как сменим форсунки на 630 , ( совпадение) , он начал иногда перезагружаться, и сейчас во все перестал работать, всегда мигает 7.4 . У кого было подобное , я думаю может сам кислородник умер от богатой смеси , было около 9 смесь короткое время. Помогайте !

Сенсор кончился тупо.

Boosted


11 Июл 2014

Это надо просто сам кислородник который 3.500 стоит новый купить и всё ??? смесь выведенна на дисплей , lc-1 у меня который

11 Июл 2014

Boosted, по свободному кислороду перекалибровывать пробовал?

Boosted


12 Июл 2014

Ребят не работает, взял новый кислородник, все тоже самое. где красный тестер мигает 9 раз, и иногда не прирывно горит! Кто что думает

Jenek


12 Июл 2014

Уверен что 9 раз ? У тебя эта ошибка и раньше была ? до нового кислородника, почему тогда не сказал?

Когда ошибку он выдает, часто мигает потом 2 сек пауза, потом опять часто мигает. Вот это количество и посчитай, сколько раз часто мигнет красным.

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

Снеси полностью лог воркс, установи заного. Проверь стихометрию. Потом откалибруй заного по кислороду. Запускай лог воркс и смотри смесь, потом скажешь что — да как.

Boosted


12 Июл 2014

на лампу не смотрел до этого, щас вытащил всю проводку смотрел на лампу, 9 раз потом пауза около двух секунд. Потом как проехался , лампа горит секунды до 4-5 , тухнет и сразу повторяется гореть 5 сек. Смесь нормальная у мотора. И главное нету не каких дисков не документов, машину забрал с ним и всё . Какие действия ?

Jenek


12 Июл 2014

И главное нету не каких дисков не документов, машину забрал с ним и всё . Какие действия ?

Дисков, даже у официалов когда покупал LC-2 небыло, качал с оф сайта инновейт

Вот лог воркс вместе с лм программером http://www.innovatemotorsports.com/support.php

Качай, и удаляй потом старую полностью. Потом как я тебе выше писал.

Если 9 вспышек, то инициируется как «пониженное напряжение питания»
ШДК как подключен? От аккума? Аккум вообще в порядке?

Тебе надо откалибровать его по чистому кислороду, ищи в сети как мануал к ЛСке там все написано.

quake


13 Июл 2014

мужики подскажите. ШДК MLX идет в комплекте с проводом под com порт. переходник на usb лучше купить тоже инновэйт или пойдет любой с магазина?

62RUS


13 Июл 2014

quake, подойдёт не любой. желательно искать на чипе FTDI, хотя некоторые работают на PL2303

Jenek


13 Июл 2014

переходник на usb лучше купить тоже инновэйт или пойдет любой с магазина?

quake, подойдёт не любой. желательно искать на чипе FTDI, хотя некоторые работают на PL2303

Я даже и не замарачивался, первый попавшийся взял, китайский.

62RUS


14 Июл 2014

Jenek, у китайцев эти переходники тоже идут на разных чипах (PL2303 и FTDI)

BombCreator


14 Июл 2014

Jenek, у китайцев эти переходники тоже идут на разных чипах (PL2303 и FTDI)

У китайцев есть еще «копия» FTDI, работает, но глюкавая до ужаса, некоторые ОБД-кабели на них собраны(синие которые)

KGM


24 Июл 2014

Парни дайте маркировку диода на плате lc1 D3.Впаян на плате в красный провод.Или чем можно заменить.Спасибо!

funtik


24 Июл 2014

KGM, большой который? Это проходной диод, можешь любой поставить 3А.

KGM


24 Июл 2014

KGM, большой который? Это проходной диод, можешь любой поставить 3А.

Да он самый.При разборе корпуса сплавленного оторвало его.

RedZone


24 Авг 2014

подскажите , может кто сталкивался с такой проблемой : инновейт с показометром стрелочного типа , после запуска через несколько минут зависает стрелка в одном положении . что может быть ?

Понравилась статья? Поделить с друзьями:
  • Innosilicon 161 error
  • Innodb fatal error cannot allocate memory for the buffer pool
  • Innodb error the age of the last checkpoint is
  • Innodb error duplicate key writing word node to fts auxiliary index table
  • Innodb error could not open single table tablespace file