Авторемонт. Ситуации. Часть 5. Как работает блок управления
09.12.2012
Как работает блок управления
(Авторемонт. Ситуации. часть 5)
Итак, наш счетчик начал отсчет. На входе регистра будет сохраняться состояние «1» поскольку действует высокий уровень. И будет это состояние действовать до момента, когда осуществляется переход от состояния 1 к состоянию 0 (красная черточка). Запись на регистр осуществляется с каждым тактом тактового генератора. Такт и единица записалась на ячейку, следующий такт - записанная единица продвигается на следующую ячейку, а новая записывается на ее место, следующий такт - и предыдущие две записанных единицы продвигаются дальше, а на освободившуюся первую ячейку записывается очередная единичка.
По заполнению регистра, когда первая записанная единичка окажется на последней ячейке, происходит запись единицы в старший разряд, а данный регистр обнуляется и следующим тактом тактового генератора записывается очередная единица на первую ячейку. В старшем разряде процесс происходит так же – по заполнению, происходит обнуление и единица пишется в следующий разряд.
Но у нас пока состояние «1» и счетчик считает и подходит момент, когда происходит переход от 1>0. И на входе регистра происходит смена состояния… и уже вместо 1, на ячейки будут записываться 0.
Но как только подойдет очередь следующего импульса, счетчик остановит счет, обнулит данные и начнет считать следующий импульс, этим же тактом тактового генератора произойдет считывание числа записанного на регистр. Регистр обнулится. А число будет считано на схему сравнения. С чем будем сравнивать? А с числом, которое записано постоянно в памяти.
А поскольку мы начали рассмотрение вопроса с момента запуска, то это будет число 100. Ну, естественно приведенное к форме цифрового сигнала.
Повторяюсь: когда начинается прокрутка стартером, обороты двигателя низкие. И сигналы датчиков будут иметь соответствующую скважность. Поэтому для сравнения чисел нужно постоянное число, которое будет соответствовать низким оборотам двигателя. Как только ключ зажигания повернут на «старт», ЭБУ получает сигнал «Стартер ОN» И на схему сравнения подается именно число, которое будет соответствовать 100 об. мин. А текущее число мы получаем с регистра. Как только произведен запуск двигателя, ключ отпускается, ЭБУ получает сигнал «стартер OFF», и на схему сравнения уже будет подано число, скажем 20.000. Почему так сделано расскажу ниже.
Кроме «тактовой части» в АЦП есть еще и «цикловая». Скорость вращения мы определили. Теперь нужно определить, когда же начинается цикл двигателя. В противном случае система не сможет согласованно осуществить впрыск, подачу искры, коррекции. Как механически согласуется механизм в двигателе, все представляют. Именно с ГРМ (газораспределительного механизма) двигателя, система и берет данные посредством датчиков положения валов и по ним согласует свою работу с двигателем. На дисках, шестернях имеются маркеры. При прохождении маркером датчика, формируется импульсный сигнал, который отличается от всех остальных. Кроме того маркерные сигналы датчиков коленчатого и распределительного валов совпадают в определенных положениях механизма двигателя. Вот по этим совпадениям система и определяет : начало-конец-начало следующего цикла.
Любое изменение скорости вращения двигателя изменит не только время цикла системы, но и время внутри самого цикла, когда нужно осуществлять впрыск топлива и подачу искры. Поэтому существует цикловой накопитель. Который фиксирует начало и конец цикла. Существуют и цикловой счетчик, который точно также работает, как и описанный выше, но работает по цикловым сигналам от датчиков.
И точно также пишется число на регистр. Только это число уже будет характеризовать не определенный момент времени (один период из импульсной последовательности), а определенный отрезок времени (собственно сам цикл). Но само определение начала и конца цикла недостаточно. Нам необходимо выделить и передать информацию на процессор о наступлении моментов впрыска топлива и подачи искры, на цилиндры согласно схемы их работы. Вот эта задача возложена на счетчик тактов внутри самого цикла. Именно по команде этого счетчика будет происходить считывание числа, полученного от сравнения и определяющего момент, того же впрыска. А на процессор пойдет только «прерывание» изменение состояния с 1>0 или наоборот. И вот в этот момент процессор выполнит то, что предписано ему программой, считав в этот такт число, он передаст команду на ЦАП.
Прерывание на процессор идет не в момент, когда должно наступить событие (тот же впрыск), а на несколько тактов тактового генератора раньше. Такт на считывание, такт на возможные корректировки , такт на передачу команды на ЦАП, такт формирование команды исполнительным устройствам… вот как-то так, если ничего не пропустил.
Теперь о картах, которые должен «процессор выбирать». Если исходить из этого положения, то для тех же оборотов необходимо записать в память числа, соответствующие различному числу оборотов. С какой дискретностью будем карты составлять: через 5 -10 - 50 оборотов? Ну а если учесть, что есть показания и от других датчиков, на которые тоже данные в память нужно писать… простите, но это уже не картотека, а государственный архив получится -). Поэтому, что касается оборотов, я указал две цифры: 100 и 20000.
Ну, к ним можно добавить еще – 650 и, скажем 7000. Ну, вот, пожалуй, и вся карта для оборотов.100, я уже написал – это низкие обороты когда стартер крутит. Это число используется при запуске двигателя
20.000 - для этих оборотов будет записано число и рассчитано время цикла, а также такты внутри самого цикла оно будет постоянно на схеме сравнения. Потому что для определения времени впрыска, скажем, внутри цикла необходимо знать во сколько раз текущее число цикла отличается от числа, записанного в память. То есть, фактически в память записаны исходные данные, которые говорят, что если обороты двигателя были бы 20000 об мин. То время цикла составило бы … столько то. Соответственно моменты впрыска и подачи искры производились бы внутри цикла с периодичностью … такой то. Поэтому сравнение текущего числа позволяет скорректировать время впрыска и зажигания. А поскольку написано «во сколько раз», то понятно, какая логическая операция выполняется при сравнении чисел. И счетчик это число «отрабатывает» и информирует об этом процессор. Который, по сути, играет роль связующего звена между АЦП и ЦАП.
650 - ХХ.7000 - это обороты при которых наступает отсечка по топливу (вводится производителем, может отличаться на различных авто).
ЦАП работает также как и АЦП, только наоборот. На входе у него формируется цифровой сигнал, который им считывается на определенный такт, дальше идет преобразование цифрового кода в импульс(ы) управления. При рассмотрении как работает АЦП, мы преобразовали импульс в число… Вот теперь попробуйте «обратным ходом» от регистра к входу вернуться - получите работу ЦАП.
Покажу картинки… Это не фокус, это наглядное продолжение того, что записано в картах относительно других датчиков. Поясню суть: если на схемах сравнения отключить тактовый генератор хотя бы на один такт, то мы увидим те параметры и числа, с которыми происходит сравнение текущих данных от датчиков. Собственно в этой точке берет данные сканер. Это происходит потому, что именно в этот момент на входах где должно быть текущее число- его нет, а записанное присутствует, фото 1 и 2
Ну, вот данные, о которых говорил. Обороты здесь, правда, чуть больше 16000, но остальные значения тоже посмотрите. Вот относительно таких значений и идет сравнение текущих . Реально при работе двигателя таких значений быть не может. Они предназначены именно для расчета. И не процессору.. а для АЦП .
Я сейчас прибегну к упрощению и сравню процессор с переключателем, который имеет множество входов и выходов. И находится он между АЦП и ЦАП. От состояний входов будут зависеть состояние выходов.Состояние на входах будет определяться по мгновенным значениям.
Мгновенное значение – это такт тактового генератора, всего один период. Время периода тактового генератора не изменяется. Оно постоянно. И периодичность повторения высокая. Многие вскрывали блоки управления и в них есть кварцы. Это говорит о том, что в тактовых генераторах применена кварцевая стабилизация. На кварцах указано значение частоты. Вот с такой периодичностью и работает тактовый генератор. Цифровым анализатором нельзя показать, как это работает в целом. Слишком много входов и выходов. Но смоделировать, взяв несколько цифровых сигналов и состояний можно. Что и попробуем сделать.
Для начала посмотрим две цифровые команды, идущие с определенной периодичностью, фото 3
На фото 3 показан сигнал, идущий с определенной периодичностью.. В данном случае –это канал 1 точки А_В. Фото 4
На фото 4 видно, что команды тоже идут с определенной периодичностью. (Те же точки А_В, но для второго канала). Но время прохождения этих команд, не одновременно, а на 2 канале чуть позже команды на первом канале.
Время насколько позже, можно измерить, фото 5
На фото 5 видно, где конец команды на канале 1 и начало передачи команды на канале 2.
Теперь возьмем еще одну осциллограмму, фото 6
На фото 6, осциллограмма, на которой я поясню принцип. Красные точки от 11 до 0 – это я разбил такты. Приношу извинения, но с частотой тактового генератора разбивку выполнить, не могу.
Начинаем с 11 такта. Такт тактового генератора- на входе 0; следующий 10 такт- на входе 0; следующий … и так до такта1 сохраняется состояние 0.
Но с приходом 0 такта, мы видим переход от состояния 0 к состоянию 1…( 0>1) . Вот это и есть, то мгновенное состояние, которое порождает команду на выходе процессора, фото 7
Вот этот момент, в точке А прошел 0 такт - дальше команда.Какой можно сделать из вышесказанного вывод? Простой: Диагностика ведется до входа на АЦП и с выхода ЦАП до исполнительного элемента. Смотреть проходные сигналы, пытаться понять что в них содержится, во время они пришли или нет - пустая затея.
*На форуме была тема, в которой человек задал вопрос, что может быть: с выхода процессора он сигнала не видит. На драйвер приходит сигнал слабый. Импульс на управление, форсунками кажется, тоже слабоват…
Была попытка убедить в том, что не мешало бы массы проверить форсуночные. Но она оказалась не совсем удачной. Какова причина ошибки? Не совсем себе человек представляет, как работает процессор, иначе бы не полез искать с него выход на форсунки. Нельзя рассматривать логику и схемы логические так, как рассматриваются электрические цепи: в один провод . + от аккумулятора, через замкнутый контакт замка зажигания, на обмотку реле и на массу… нет, не пойдет. На вход ЦАП идет код. А на входе дешифратор, да и вход-то не один. А что процессор имеет на выходе - тут конкретно помолчать надо.
Ну и потом, человек даже не задумался: - « нет сигнала с выхода процессора», а откуда взялся сигнал управления на драйвере? Слабый? А каким он должен быть… как сигнал на вторичке системы зажигания? В логической части - там уже другие величины питающего напряжения, они значительно меньше напряжения бортовой сети. Да и в конце – концов, если амплитуда импульсов управления на исполнительных элементах (тех же форсунках), вызывает сомнение… то тот, кто понимает, не полезет сразу в блок управления, и тем более, не начнет терзать процессор.
Коротко подводим итог сказанному:
· Система управления двигателя циклична. Свой внутренний цикл она выполняет исходя из условий, которые определяются двигателем.
· Согласование внутреннего цикла системы и дальнейшие его изменения выполняются с момента запуска ДВС по сигналам датчиков положения.
· Количество оборотов система определяет мгновенно, с приходом первого же импульса на вход АЦП.
· Скорость вращения ДВС – основной показатель для системы.
· Любое изменение в работе ДВС- влечет за собой изменение оборотов.
· Цикловые сигналы, получаемые с датчиков, позволяют определить время начала и конца цикла ДВС.
· Цикловые счетчики отслеживают точно эти моменты. При малейшем изменении оборотов – время цикла системой перерасчитывается. И сразу же идет изменение в работу счетчиков такта внутри цикловой части, которые определяют моменты впрыска и подачи искры. Перерасчет времени происходит на основании сравнения записанных данных в память.
· Задача сравнения текущих данных и постоянно записанных определить, во сколько раз текущее значение отличается от эталонного. Это позволяет системе быстро выполнить анализ данных и выдать необходимый код в нужное время на процессор.
· Процессор следуя, заложенной программе выполняет типовую для каждого цикла операцию.
· Цифровой код процессора служит для ЦАП командой. На основе которой он формирует импульсы управления.
Диагностика неисправностей может вестись в системе: от ДВС до входа АЦП. И с выхода ЦАП до исполнительных устройств ДВС. Поиск неисправностей в логической части системы управления и программной части возможен в тех случаях, когда неисправность может быть выявлена визуально(Вздутие микросхем, повреждение мест пайки ползучими солями, явные повреждения дорожек, непропай ножек схем, после чип-тюнинга пр.)
С помощью измерительных приборов может идти поиск неисправностей в цепях питания логической и программной части: диоды, стабилизаторы пр.
Широкое применение при поиске неисправностей находит осциллограф.В различных руководствах и описаниях можно встретить эталонные сигналы датчиков и сигналов управления.Вот это та область, когда нужно выявлять неисправность. Иными словами - диагностика ведется по импульсным сигналам. Но для того, чтобы понимать, что может привести к неправильной оцифровке, а следовательно и рассогласованию внутреннего цикла системы с циклом двигателя, собственно и написано всё что выше.Для того, чтобы закончить с системой управления, нужно отметить еще несколько моментов. Ведь рассмотрены только по сути два датчика. А как же остальные, ведь сигналы с них тоже идут на блок управления?
Да, и эти сигналы все различны. Но нужно запомнить следующее:
· не от всех датчиков нужна информация в течении каждого такта;
· не от всех датчиков нужна информация даже в течении цикла;
· нужно различать датчики, которые предназначены для информации и датчики которые передают команду.( я не оговорился).
· и уж никак не связывать работу датчиков и исполнительных устройств.
· ни один датчик напрямую не может повлиять ни на открытие форсунки, ни на угол поворота муфты VVT.
Датчики, фиксирующие подачу команды системе управления:
· Датчик положения педали
· датчик положения дроссельной заслонки.
Ими управляет человек. Команда на изменение режима работы двигателя дается человеком. Включение - выключение кондиционера то же ездок делает, и т.д.
Информационные датчики, данные которых не требуется передавать в течении каждого цикла.(количество оборотов двигателя за которые проходит полный цикл не указываю): ну например датчик температуры ОЖ. Ну, зачем передавать преобразованное в число количество градусов каждый цикл двигателя. Или скажем, датчик температуры воздуха на впуске. Ведь эти значения изменяются медленно. Как же поступить в таких случаях, ведь эта информация нужна. Поступают просто: оцифрованный сигнал после счетчика записан на регистр в течении одного полного цикла ДВС. И он считан одним из тактов на процессор. Температура ОЖ вряд ли изменится за следующий полный цикл … и за следующий… Поэтому текущее число остается записанным на схеме предварительного сравнения, куда и поступают последующие текущие значения, в течении каждого последующего цикла. А для схемы сравнения, где присутствует эталонное число и первое записанное при включении зажигания стоит запрет на считывание с регистра, и процессор, получив информацию один раз, ориентируется на нее. И прогревные обороты не снижаются. Но температура жидкости через некоторое время изменилось, счетчик записал текущее число на предварительное сравнение, где есть данные записанные после вкл. зажигания, следующим тактом происходит обнуление регистра и счетчика, информация записывается для сравнения с эталоном, далее на регистр…. А вот считывание происходит по команде циклового счетчика. И информацию об изменении температуры процессор получает вместе со всей другой в очередном цикле. Предварительное сравнение несколько отличается от сравнения числа с эталоном. Оно выполняется по модулю 2. И хоть я и написал «регистр», но как правило «огород не городят», и вместо регистра используют рекуренту (последовательно соединенные ячейки памяти). Их определенное количество. Пусть будет 10.
Первое записанное число после включения зажигания пусть будет 000000000111, и соответствует какой-то температуре ОЖ.
На рекуренту будут записываться только 1. Поэтому с включением зажигания у нас окажутся на первых трех ячейках памяти 1. А остальные пустые. Через некоторое время число составит: 000000001111 (нагрев жидкости идет, амплитуда сигнала увеличивается). Дальше идет сравнение без переноса в старший разряд: и 1(красная) заполнит первую ячейку, а остальные продвинутся по рекуренте на одну ячеку (перезапишутся.) Как только рекурента окажется заполненной 1., следующим тактом уже новое текущее число будет подано для сравнения с эталоном(с регистра будет снят запрет на считывание). Результат во сколько раз оно отличается от эталона, будет считан на процессор.
Но и это же текущее число будет записано на схему предварительного сравнения, и все последующие текущие значения температуры будут с ним сравниваться. Это хорошо видно при прогреве двигателя, когда он начинает опускать обороты до ХХ. Если температура меняться не будет, то и процессор будет руководствоваться данными полученными ранее. Вот так логическая часть отсекает «особо надоедливых датчиков».
Датчики, информация с которых анализируется за цикл. Это такие датчики как MAF, MAP О2, датчик детонации.
Давайте датчик кислорода посмотрим. Цикловой счетчик отсекает определенный отрезок времени (полный цикл ДВС) и при оцифровке получаем число с датчика кислорода. Эта информация передается на процессор.
А вот коррекция топливная будет выполнена только в следующем цикле. Поэтому коррекции в системе управления называют временЫми. Они осуществляются во времени. Цикл - получение информации; Следующий цикл - коррекции. Вот поэтому, когда мы смотрим осциллограмму ДК и видим, что время изменения его амплитуды от минимума до максимума в периоде увеличено (датчик «замерз») - такой датчик идет на выброс. Потому что будет записано неверное число при оцифровке ( вот сейчас я упомянул дополнительную характеристику: время нарастания амплитуды), о которой упоминал ранее. Вот вам и теория на практикеJ.
Исполнительные устройства. Это «непосредственные подчиненные» ЦАП. Это катушки зажигания, форсунки, шаговые двигатели, управляемые заслонки, различные клапана пр. И работают они по командам импульсным. И им по барабану, какие там показания датчиков, какие коррекции… они выполняют команды ЦАП тупо, как ОМОН.
Вот это кажется, мне основное, почему многие путаются и мечутся при поиске неисправности. А путаница идет от того, что многие не знают, «кто же главный» в системе управления. А в системах управления всегда главным был и будет «объект управления». В нашем случае ДВС. Вот под него это всё сделано. Для него это всё делается. И он определяет условия работы ЭБУ.
Простой пример: Дистанционно открывающиеся ворота в вашем гараже, на сигнал брелка не отреагировали. Что будете смотреть? Проверите брелок по загоранию светодиода. Ладно. Дальше?Вскроете блок приемника, и начнете проверять есть ли сигнал на входе, срабатывают ли исполнительные реле, подается ли питание на мотор лебедки…
Попробуете провести регистрацию повторную брелка в пульт( адаптацию заслонки выполнитьJ)… Путь неплохой. Но длинный, потому что не совсем верен. Лезть в систему управления, не убедившись в исправной работе механики объекта управления (ворот), наверное, всё же преждевременно. Правильнее будет попробовать открыть ворота вручную, и убедиться в исправной работе механизма. И как обычно «вдруг» обнаруживается, что цепь слетела и лебедку заклинило.
Очень тяжело бывает на форуме объяснить, почему не нужно лезть в блок управления и терзать его, если нет + на форсунках. Поэтому ничего не навязывая от первого лица, просто дальше попробую рассказать на что обращаю внимание при проведении проверок при поиске неисправностей
МАРКИН Александр Васильевич
Ник на форуме Легион-Автодата – A_V_M
г.Белгород
Таврово мкр 2, пер.Парковый 29Б
(4722)300-709