Страница 2 из 3
Sergey_81
Engineer09 писал(а):

Кузов проварю и инж поставлю


и охота тебе заморачиваться (карб на инж)?
мож просто на свой 1,3 распред 10-ный закинь, впуск тюнигуй
Engineer09
Рена
Как я понял у тебя не стандартный распредвал стоит, а на моем стандартном восьмом тоже проблемы будут? или с ним на много проще с настройкой?
Sergey_81
Да, тоже думал об этом. Посмотрим как финансы и время будет. Да еще и в армейку боюсь заберут на старости лет. Что то от этой мысли и делать ни чего не хочется Sad
Рена
Engineer09 писал(а):

а на моем стандартном восьмом тоже проблемы будут? или с ним на много проще с настройкой?


Со стоковым никаких проблем.
Engineer09 писал(а):

в армейку боюсь заберут на старости лет.


Я 18 лет назад дембельнулся и то в прошлом году чуть не забрали на 3-и месяца на сборы Shocked видимо им премии за каждую голову.
Engineer09
Рена
Да, у нас с работы многих на сборы дергают периодически, только обычно на пару дней или на 2 недели. А так я на оборонке работаю 8-год, а теперь отсрочку отменили, что то не очень охото терять работу, да и свадьбу начали планировать уже, а тут на тебе, повестка.
Just_a_Boy
Sergey_81 писал(а):

Engineer09
тож недавно посмотрел АЦП (через ICD) своего ДВРМ - 1,02 Sad, померял напругу между зелёним и жёлтым - 1,02 (мультиметр китайский :-D ), померял сопротивление между выводами - в пределах допуска. но ничего криминального не замечено, расход нормальный, разгон ... надо с чем-то сравнить (всё сток) ... тож вроде ничего, правда когда ещё температура двиг. до 50-60С то при резком нажатии на педальку 1-2сек. паузы - мож это симптом? машинака 25 тык пробежала.
Потом проверил у друга на 13 - 1,0В.
вот незнаю.

пока забил


Случайно зашел в эту тему и.... обалдел! Постоянно работаю с АЦП (Аналогово-Цифровыми Преобразователями), но даже и не знал, что можно проверить работу АЦП с помощью обычного китайского мультиметра! Shocked А тут ВСЕ делают это запросто! :-D
Правда, возникла пара вопросов. Если замеряется напряжение на входе АЦП, то причем здесь, простите, АЦП? Если после замера на выходе АЦП получается значение "1,035", то КАК, черт возьми, это делает АЦП??? Shocked Может имеется в виду 1035 или 0x40B или 0b010000001011? Но КАК тогда значение 0b010000001011 можно замерить мультиметром? Если же напряжение "1,035" получено уже на выходе блока, то почему именно "АЦП", а не, например, "ЦАП", "проц" или "p-n-p"??? Shocked "Вопросы поднимались и поднимались, как пузырьки газа в лимонаде...."
Мда-а-а-а-ааааа..... Вот ведь...
Век, панимаиш, живи - век, панимаиш, учись.... Very Happy

....А может упомянутое магическое сочетание букв "АЦП" - совсем не преобразователь аналога в цифру? (Может что-то типо АЦЦ, ДЦП, ДТП, ПМГ...)? Тогда молчу... молчу... молчу... Пойду, пожалуй, забью... кому-нибудь... АЦП через ICD своего ДВРМ в... в... в.... Всем молчать! Very Happy
Sergey_81
Just_a_Boy
ну чё ты к словам придрался?
все здесь поняли о чём речь.
ну написал:
Just_a_Boy писал(а):

посмотрел АЦП


надо было писать: посмотрел величину на входе канала АЦП
Just_a_Boy писал(а):

и не знал, что можно проверить работу АЦП с помощью обычного китайского мультиметра


я сверял то что на входе АЦП и на выходе! а то что на выходе АЦП показала ICD, предварительно преобразовав в символы понятные всем.

подскажи метод!
Just_a_Boy
Sergey_81 писал(а):

Just_a_Boy
ну чё ты к словам придрался?
все здесь поняли о чём речь.
ну написал:

Just_a_Boy писал(а):

посмотрел АЦП


надо было писать: посмотрел величину на входе канала АЦП
Just_a_Boy писал(а):

и не знал, что можно проверить работу АЦП с помощью обычного китайского мультиметра


я сверял то что на входе АЦП и на выходе! а то что на выходе АЦП показала ICD, предварительно преобразовав в символы понятные всем.

подскажи метод!


"Метод" чего? Проверки АЦП? А зачем его проверять? Пусть себе работает - надежность его гораздо выше, чем, например, грязью покрытой платиновой нити (пленки)... И потом, "в символы понятные всем" - это в какие? На выходе АПЦ - ЦИФРА и преобразовать ее во что-то другое может только преобразователь (например, ЦАП, процессор и т.д.)... А это - тоже процесс со своими погрешностями...
Sergey_81
Just_a_Boy
я в терминах не силён, поэтому извиняюсь за неточность, которая тебя так напугала.
Just_a_Boy писал(а):

Проверки АЦП?


я сравнил результаты двух АЦП: АЦП ЭБУ и китайского мультиметра, показания совпали. из чего следует что оба АЦП нормально работают, в пределах ихней погрешности.
Just_a_Boy писал(а):

А зачем его проверять?

чтоб исключить возможную причину выхода из строя АЦП.
Just_a_Boy писал(а):

"в символы понятные всем" - это в какие?


как ты думаешь величина - ЧИСЛО на выходе АЦП будет понятно всем, N=E*5.0/256 [В] где Е - число на выходе АЦП, N -напряжение.
Just_a_Boy
Sergey_81 писал(а):

Just_a_Boy
я в терминах не силён, поэтому извиняюсь за неточность, которая тебя так напугала.

Just_a_Boy писал(а):

Проверки АЦП?


я сравнил результаты двух АЦП: АЦП ЭБУ и китайского мультиметра, показания совпали. из чего следует что оба АЦП нормально работают, в пределах ихней погрешности.
Just_a_Boy писал(а):

А зачем его проверять?

чтоб исключить возможную причину выхода из строя АЦП.
Just_a_Boy писал(а):

"в символы понятные всем" - это в какие?


как ты думаешь величина - ЧИСЛО на выходе АЦП будет понятно всем, N=E*5.0/256 [В] где Е - число на выходе АЦП, N -напряжение.


Не надо писать термины и формулы, смысл которых тебе не очень понятен: формула красивая, но не более того. Во-первых, замер ведешь до 4-го знака, а напряжение (5.0 В) указываешь до 1-го. Чтобы быть точным, укажи тип стабилизатора ПИТАЮЩЕГО напряжения, который дает точность выходного напряжения до 4-го знака. (На всякий случай, напомню: для АЦП существует понятие "опорного напряжения", которое как раз до 4-го знака: например, 1.024В, 2.500В и т.д., питающее - оно так, "для питания", а не для преобразования-вычисления...) Во-вторых, даже самый паршивый АЦП имеет 10 разрядов, тем более для вычислений до 4-го знака, т.е. не 256, а 1024. В-третьих, НИКОГДА не делается цифра "0" равной 0В, а цифра 1024 - равной 5.0 В при однополярном питании: очень трудно будет получить цифру 1 или 1023. Тем более, в устройствах, где есть такие проверки (и ошибки), как "Замыкание на +" и "Замыкание на массу" (см. руководство по ЭСУД)... А в-четвертых, проверять работу аппаратного АЦП с помощью китайского мультиметра и без элементарных знаний по устройству и функционированию АЦП - это круто! :cool:
Теперь пора переходить к замеру мощности двигателя "на глаз"... Впрочем, это здесь - в этом форуме - уже постоянно практикуется... Very Happy Здесь уже у многих мощность двигателя в 9-ках превышает мощность тепловоза!... :-D (Измерена тоже с помощью китайского мультиметра!)

Лит-ра:
http://www.compitech.ru/html.cgi/arhiv/00_03/stat_36.htm
http://revolution.allbest.ru/radio/00003416_0.html
http://www.pcports.ru/articles/pic7.php
http://www.microchip.com
и мн. др...

И давайте не парить людям мозги "про АЦП" и его такую "проверку" до прочтения информации об устройстве оного.
Sergey_81
Just_a_Boy
пойми, мы сдесь не теорию АЦП обсуждаем.
Если будет нужда обратиться к специалисту по АЦП - уже знаем к кому! :cool:
источником этой формулы является документ ВАЗа. Если в ней проблема так подскажи им. Тоесть ты имеешь ввиду что "правильная" формула должна выглядеть так: N=E*5.0000/1024?
я не вникал в суть работы ЭБУ но эта формула ЭБУ не нужна, он работает с величиной Е. Она для того чтоб каждый мог увидеть там величину НАПРЯЖЕНИЕ а не какое-то непонятное число.
Just_a_Boy писал(а):

проверять работу аппаратного АЦП с помощью китайского мультиметра и без элементарных знаний по устройству и функционированию АЦП - это круто!


Как ты думаешь: один источник -> два АЦП -> у обоих одинаковая величина на выходе,имеется ввиду то что видит человек - ВЕЛИЧИНУ НАПРЯЖЕНИЯ: то что показала ICD и то что высветилось на табло мультиметра! Опорное напряжение, питающее, разрядность, замыкание и т.д. т.п. ЗДЕСЬ не важны. Каков результат???? - а такой что напряжение которое они показали более-менее верное.
Мне неважно сам процес преобразовывивания аналоговой величины в цыфру. Мне важен результат этого преобразования!
Just_a_Boy писал(а):

Теперь пора переходить к замеру мощности двигателя "на глаз"

ну давай-давай
Just_a_Boy
Sergey_81 писал(а):

Just_a_Boy
пойми, мы сдесь не теорию АЦП обсуждаем.
Если будет нужда обратиться к специалисту по АЦП - уже знаем к кому! :cool:
источником этой формулы является документ ВАЗа. Если в ней проблема так подскажи им. Тоесть ты имеешь ввиду что "правильная" формула должна выглядеть так: N=E*5.0000/1024?
я не вникал в суть работы ЭБУ но эта формула ЭБУ не нужна, он работает с величиной Е. Она для того чтоб каждый мог увидеть там величину НАПРЯЖЕНИЕ а не какое-то непонятное число.

Just_a_Boy писал(а):

проверять работу аппаратного АЦП с помощью китайского мультиметра и без элементарных знаний по устройству и функционированию АЦП - это круто!


Как ты думаешь: один источник -> два АЦП -> у обоих одинаковая величина на выходе,имеется ввиду то что видит человек - ВЕЛИЧИНУ НАПРЯЖЕНИЯ: то что показала ICD и то что высветилось на табло мультиметра! Опорное напряжение, питающее, разрядность, замыкание и т.д. т.п. ЗДЕСЬ не важны. Каков результат???? - а такой что напряжение которое они показали более-менее верное.
Мне неважно сам процес преобразовывивания аналоговой величины в цыфру. Мне важен результат этого преобразования!
Just_a_Boy писал(а):

Теперь пора переходить к замеру мощности двигателя "на глаз"

ну давай-давай


Речь не о принципе работы АЦП - и я про то же. Эти вопросы - оставим для разработчиков электронных устройств и... для "разводильщиков лохов", говорящих эти красивые слова для вполне понятной цели - доения дураков...

Каждый АЦП имеет свой источник опорного напряжения (встроенный или внешний) и уж тем более разные ИОН в разных устройствах: в мультиметре и в ДМРВ! Проверять их вообще не имеет смысла! Об источниках ИОН: http://www.google.com/search?client=opera&rls=ru&q=%D0%B8%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA+%D0%BE%D0%BF%D0%BE%D1%80%D0%BD%D0%BE%D0%B3%D0%BE+%D0%BD%D0%B0%D0%BF%D1%80%D1%8F%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F&sourceid=opera&ie=utf-8&oe=utf-8 и про процы со встроенными АЦП со встроенными ИОН - опять же http://www.microchip.com ... Не забивайте себе голову лишней информацией - вы ж не лезете проверять АЦП или структуру передаваемого слова информации в... ваш мобильник! Или в микроволновку!

Теперь о датчике. И о формулах. "Источник той формулы - ВАЗ", а "ВАЗ" - это кто? Он что, делает АЦП или ДМРВ? Или "он", может быть, программист или схемотехник? Вот это всегда надо конкретизировать, особенно обсуждая устройство процессорной техники и какой-то там "источник информации ВАЗ". А вдруг "источник этой формулы" не Волжский АВТОМОБИЛЬНЫЙ завод, а кто-нить, кто ляпает "новые прошивки" и "программы для проверки АЦП"? Не понимая, что такое процессор, АЦП, да и просто не зная ЧТО такое транзистор? А? Very Happy Часто в описаниях даются такие формулы, о которых даже не знает наука... Оно и понятно - коммерческая тайна реального схемного и программного решения....

Да и вообще, к чему все эти обсуждения АЦП, если на выходе ДМРВ - аналоговое напряжение (у тех, которые мы обсуждаем)? И важно ИЗМЕНЕНИЕ этого напряжения в зависимости от движения потока воздуха... Учитываем: падение напряжения на контактах, САУ с обратной связью (Датчик Кислорода и т.п.) и то, что ДМРВ и ЭБУ разрабатывали люди, знающие ЧТО такое есть АЦП, процессор и транзистор - катаемся и посматриваем на лампочку СЕ. Как только загорится - смотрим на ошибки и в зависимости от причины - устраняем или обращаемся в СЦ (лучше туда, где не замеряют выходной сигнал с АЦП мультиметром! И, конечно же, не туда, где пропиливают дырочки в ДПДЗ напильником для получения "0%"!). СпрОсите: "А куда?" Если спросили - значит... идем в магаз и покупаем новую запчасть. Иначе - нас так и будут доить всякие "знатоки"-прошивальщики, и будут забивать нам "АЦП через ICD своего ДВРМ" за наши же деньги...

Инфа (не "от ВАЗа") - http://autolenta.ru/301.html . А почему бы и нет? Кто сказал, что машина должна ехать только в чистом воздухе без каких-либо примесей? А очиститель - не та ли это примесь?...
Sergey_81
Just_a_Boy
ну выразился неправильно, но все поняли что имелось ввиду
Just_a_Boy писал(а):

Речь не о принципе работы АЦП


но все твои посты как раз об этом.
Just_a_Boy писал(а):

для "разводильщиков лохов"


ну может я не прав но этот форум как раз чтоб к таким не попадать
Just_a_Boy писал(а):

А вдруг "источник этой формулы" не Волжский АВТОМОБИЛЬНЫЙ завод


может быть. но написано: "АО “АвтоВАЗ”
Генеральный Департамент Развития
Управление Проектирования Электроники и электрооборудования"
Just_a_Boy писал(а):

кто ляпает "новые прошивки" и "программы для проверки АЦП"

здесь не надо проверять АЦП!!! и никто не собирался. вот придрался.
Just_a_Boy писал(а):

не замеряют выходной сигнал с АЦП мультиметром!


никто его не мерял.
Раз уж ты так придираешся к словам то к твоему сведенью
Just_a_Boy писал(а):

цифра 1024

вовсе не цифра а число, а цифри это символи с помощью которых представляют числа. :cool:

Just_a_Boy писал(а):

катаемся и посматриваем на лампочку СЕ


а не горит! и машинка побольше кушать стала
Ходок
Just_a_Boy писал(а):

Да и вообще, к чему все эти обсуждения АЦП, если на выходе ДМРВ - аналоговое напряжение (у тех, которые мы обсуждаем)? И важно ИЗМЕНЕНИЕ этого напряжения в зависимости от движения потока воздуха... Учитываем: падение напряжения на контактах, САУ с обратной связью (Датчик Кислорода и т.п.) и то, что ДМРВ и ЭБУ разрабатывали люди, знающие ЧТО такое есть АЦП, процессор и транзистор - катаемся и посматриваем на лампочку СЕ. Как только загорится - смотрим на ошибки и в зависимости от причины - устраняем или обращаемся в СЦ (лучше туда, где не замеряют выходной сигнал с АЦП мультиметром! И, конечно же, не туда, где пропиливают дырочки в ДПДЗ напильником для получения "0%"!). СпрОсите: "А куда?" Если спросили - значит... идем в магаз и покупаем новую запчасть. Иначе - нас так и будут доить всякие "знатоки"-прошивальщики, и будут забивать нам "АЦП через ICD своего ДВРМ" за наши же деньги...

Это все конечно правильно и здОрово, но что в таком случае делать, когда СЕ не горит, а машина явно себя ведет не так (дергается, не тянет и тд), надеюсь вы не будете советовать тупо поменять все датччики или кататься пока СЕ в конце концов загорится. А то из приведенного текста складывается впечатление, что вы противник всякой диагностики. А если говорить конкретно о ДМРВ то как вы думаете будут ли изменения напряжения на его выходе верными, при прохождении через него воздуха, если начальное напряжение (когда воздух через него не проходит) выходит за рамки некоторого значения. Вобщем то методах замера этого начального напряжения (если абстрагироваться от научных терминов) и говорил Sergey_81, а уж с помощью чего замер производить, мультиметра или программы ICD, тут как говорится у кого какие возможности, другой вопрос, что замер мультиметром может дать не правильные результаты.
emmibox
Пока специалист по ацп тут не налошил - программа использует только 8 разрядов! Поэтому /256
Rover_61reg
Sergey_81 писал(а):

замолви,заодно, словечко о Я7.2


Работает она с январём 7.2, ругается вначале на неизвестный тип контроллера и индетефикатор прошивы и всё кажет (прогу брал на Окте).
Just_a_Boy
emmibox писал(а):

Пока специалист по ацп тут не налошил - программа использует только 8 разрядов! Поэтому /256


Опа! А вот и разводильщик появился! :-D Он даже знает слово "программа"! :-D
А в числителе ЧЕГО? Неужто пустота? А пустота (делимое) деленная на 256 (делитель) скоко даст в частном? Что? Пустоту??? Shocked То есть - ВОЗДУХ! Вот его-то мы и замеряем! :grin:

...А я, конечно же, теперь стал "специалистом по ацп"! Very Happy

Еще раз предупреждение: попав вот к такому разводильщику - не задерживайтесь ни на секунду! Задний ход и - по газам! Иначе - засрет мозги, унизит, оскорбит, постарается выставить дураком даже если в совершенстве владеешь вопросом и... обдерет как липку! Помню-помню: "расточку дырок под крепление ДПДЗ" и угрозы в адрес спецов-электронщиков, попытавшихся хоть как-то осадить хама!
Just_a_Boy
Ходок писал(а):

Just_a_Boy писал(а):

Да и вообще, к чему все эти обсуждения АЦП, если на выходе ДМРВ - аналоговое напряжение (у тех, которые мы обсуждаем)? И важно ИЗМЕНЕНИЕ этого напряжения в зависимости от движения потока воздуха... Учитываем: падение напряжения на контактах, САУ с обратной связью (Датчик Кислорода и т.п.) и то, что ДМРВ и ЭБУ разрабатывали люди, знающие ЧТО такое есть АЦП, процессор и транзистор - катаемся и посматриваем на лампочку СЕ. Как только загорится - смотрим на ошибки и в зависимости от причины - устраняем или обращаемся в СЦ (лучше туда, где не замеряют выходной сигнал с АЦП мультиметром! И, конечно же, не туда, где пропиливают дырочки в ДПДЗ напильником для получения "0%"!). СпрОсите: "А куда?" Если спросили - значит... идем в магаз и покупаем новую запчасть. Иначе - нас так и будут доить всякие "знатоки"-прошивальщики, и будут забивать нам "АЦП через ICD своего ДВРМ" за наши же деньги...

Это все конечно правильно и здОрово, но что в таком случае делать, когда СЕ не горит, а машина явно себя ведет не так (дергается, не тянет и тд), надеюсь вы не будете советовать тупо поменять все датччики или кататься пока СЕ в конце концов загорится. А то из приведенного текста складывается впечатление, что вы противник всякой диагностики. А если говорить конкретно о ДМРВ то как вы думаете будут ли изменения напряжения на его выходе верными, при прохождении через него воздуха, если начальное напряжение (когда воздух через него не проходит) выходит за рамки некоторого значения. Вобщем то методах замера этого начального напряжения (если абстрагироваться от научных терминов) и говорил Sergey_81, а уж с помощью чего замер производить, мультиметра или программы ICD, тут как говорится у кого какие возможности, другой вопрос, что замер мультиметром может дать не правильные результаты.


Сразу же: я не против диагностики.

А вообще, не мешало бы определиться: мы говорим про ДМРВ или про ЭСУД?
Если про датчик - то он может загрязниться, перегореть, замкнуть и т.п., если про ЭСУД - то здесь есть и процессор, и индикация "ошибок", есть и возможность диагностики, есть и обратная связь, позволящая системе адаптироваться к меняющейся обстановке... А то получается аж смешно: замеряем напряжение до 4-го знака, а провода присопливливаем скруткой и никогда не смотрим на разъемы! Еслип работа двигателя зависела от микровольт потерь на проводах, проходящих вдоль всего салона - машины п стояли как вкопанные! Чего не замечено пока что.... Блин...
Помним про ошибки 0102 (Код Р0102 заносится, если существуют следующие условия: 1)обороты двигателя выше 560 об/мин, 2)расход воздуха ниже 2,5кг/ч) и 0103 (Код Р0103 заносится, если в течение 1 сек расход воздуха превышает порог, зависящий от оборотов двигателя), помним про программу ЭБУ, написанную - к счастью - программистами, а не слесарями, пусть даже эти слесаря и очень умные...

На всякий случай, еще раз уточним: говорим про ДМРВ. (А в нем - и проц, и АЦП, и Бог знает что еще...)

Итак. Из народного опыта:

Промывка - бессмысленна? Одни
http://www.autofaq.ru/Default.asp?Sect=174&Art=1494
говорят - да,
другие
http://foto.drom.ru/8938/
- нет.

Думаем своей головой и... решаем сами, чтоб потом ни на кого не обижаться. Еще раз читаем: http://autolenta.ru/204.html и http://www.autofaq.ru/Default.asp?Sect=174&Art=1336#aT ...

Есть понятие: "продолжительность жизни". Так вот, одни - чистят всё (печень, кишки, почки...), другие - ничего этого не делают. А живут - примерно одинаково.... К чему это я? Да к тому, что расходники надо менять вовремя: и фильтры, и датчики, и масло, и... ...все там будем...
Tom669
Что-то Just_a_Boy много говорить начал Shocked И похоже сам главный разводильщик.
Just_a_Boy
Tom669 писал(а):

Что-то Just_a_Boy много говорить начал Shocked И похоже сам главный разводильщик.


Да ладно! Говорю я совсем мало, а занимаюсь - разработками процессорной техники... Разводы - абсолютно не мой профиль.
emmibox
Just_a_Boy писал(а):

emmibox писал(а):

Пока специалист по ацп тут не налошил - программа использует только 8 разрядов! Поэтому /256


Опа! А вот и разводильщик появился! :-D Он даже знает
слово "программа"! :-D


Он даже эти самые программы пишет и представь себе - на этих самых контроллерах и блоках управления двигателями.
Цитата:


А в числителе ЧЕГО? Неужто пустота? А пустота (делимое) деленная на 256 (делитель) скоко даст в частном? Что? Пустоту??? Shocked То есть - ВОЗДУХ! Вот его-то мы и замеряем! :grin:


Ты хочешь пофлудить или оправдатся за свою лошню? Или ты очередной поборник русского языка? Ну давай я тебе поставлю многоточие "..../256" чтоб ты додумал сам, что и на что делить.
Цитата:


...А я, конечно же, теперь стал "специалистом по ацп"! Very Happy


Поверь мне юзер задавший вопрос не нуждается в выслушивании страничных лекций о работе АЦП в которых через строчку ошибки и которые просто являются общим представлением а не реальностью реализации. А вообще все что тебе Sergey 81 написал - правильно. Так что давай заканчивай слонов из мух раздувать.

Цитата:


Еще раз предупреждение: попав вот к такому разводильщику - не задерживайтесь ни на секунду! Задний ход и - по газам! Иначе - засрет мозги, унизит, оскорбит, постарается выставить дураком даже если в совершенстве владеешь вопросом и... обдерет как липку! Помню-помню: "расточку дырок под крепление ДПДЗ" и угрозы в адрес спецов-электронщиков, попытавшихся хоть как-то осадить хама!


Тя кроет что-ли?

Чувак - тройка самых мощный тазовых моторов построенных и настроенных в России (из тех что официально в присутствии свидетелей замерены на стенде) настроенны мной и работают на моем софте. Так что на заднем ходе хрен ты куда уедешь - догоним и расточим где надо дырки. Wink Я кстати вспомнил тебя - иди продавай свои кнопки и не лоши больше про АЦП.

Рена

Cамое лучшее что Нуждин может сделать - выложить у себя на сайте исходники ICD. Добавить туда новые протоколы аля 797 занятие слишком муторное, поэтому вряд ли кому оно нужное, а вот немножко переделать (добавить новых идентитфикаторов и расшифровку современных ошибок) вполне можно.
emmibox
Цитата:


(Код Р0102 заносится, если существуют следующие условия: 1)обороты двигателя выше 560 об/мин, 2)расход воздуха ниже 2,5кг/ч) и 0103 (Код Р0103 заносится, если в течение 1 сек расход воздуха превышает порог, зависящий от оборотов двигателя), помним про программу ЭБУ, написанную - к счастью - программистами, а не слесарями, пусть даже эти слесаря и очень умные...



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

Детектирование ошибки 0102.
Код:



        MOV     A,R1
        JNZ     A15AA                   ;Текущий расход >25.6кг/ч
        JB      RAM_2A.3,A15AA          ;>Двигатель находится в режиме пуска.
        MOV     DPTR,#T6062             ;+Минимальный расход воздуха для диагностики ДМРВ
        CLR     A
        MOVC    A,@A+DPTR               ;0.5кг/ч =05h
        MOV     B,A
        MOV     A,R0
        CLR     C
        MOV     SERRORL.6,C             ;Сбрасываем флаг ошибки низкий уровень ДМРВ.
        SUBB    A,B
        JNC     A15AA                   ;>Расход воздуха более 0.5кг/ч
;Расход воздуха менее 0.5кг/ч
        MOV     DPTR,#JATAIR
        MOVX    A,@DPTR                 ;код АЦП ДМРВ.
        CLR     C
        SUBB    A,#07H                  ;-0.13v
        MOV     SERRORL.6,C             ;Если напряжение<0.13v - устанавливаем флаг ошибки.
        CLR     SERRORH.6               ;Сбрасываем флаг ошибки высокого уровня ДМРВ
A159A:
;Ошибка ДМРВ. Устанавливаем расход воздуха = 0.
        MOV     R0,#00H
        MOV     R1,#00H
        MOV     DPTR,#JAIR
        MOV     A,R0
        MOVX    @DPTR,A
        INC     DPL
        MOV     A,R1
        MOVX    @DPTR,A
        LJMP    A15B5

A15AA:  CLR     SERRORL.6               ;Сброс ошибки низкого уровня ДМРВ.
        MOV     DPTR,#JAIR
        MOV     A,R0
        MOVX    @DPTR,A
        INC     DPL
        MOV     A,R1
        MOVX    @DPTR,A
A15B5:




Детектирование ошибки 0103.
Код:


        MOV     DPTR,#JAIR   ;Текущий расход воздуха *10.
        MOVX    A,@DPTR
        MOV     R0,A
        INC     DPL
        MOVX    A,@DPTR
        MOV     R1,A
        MOV     DPTR,#T6063  ;+Максимальный расход воздуха для диагностики ДМРВ
        CLR     A
        MOVC    A,@A+DPTR    ;614.4кг/ч =18h
        MOV     B,A
        MOV     A,R1
        JZ      A1667        ;>Расход менее 25.6 кг/ч.
        CLR     C
        SUBB    A,B          ;Вычитаем из текущего расхода 614.4kg/h
        CPL     C
        MOV     SERRORH.6,C  ;Если текущий больше - заносим код ошибки.
        SJMP    A1669

A1667:  CLR     SERRORH.6    ;Сброс кода ошибки
A1669:



Теперь вопросы для слесаря:
1) Где ты видишь "обороты выше 560"?
2) Где нижний порог расхода = 2.5кг/ч?
3) Где "в течение 1 сек"?
4) Где "порог зависящий от оборотов двигателя"?

Программа написана программистами, программисты рассуждают про АЦП а слесарь идет делать свои кнопки!
Engineer09
Во разговор разошелся :-D
Just_a_Boy
emmibox писал(а):

Цитата:


(Код Р0102 заносится, если существуют следующие условия: 1)обороты двигателя выше 560 об/мин, 2)расход воздуха ниже 2,5кг/ч) и 0103 (Код Р0103 заносится, если в течение 1 сек расход воздуха превышает порог, зависящий от оборотов двигателя), помним про программу ЭБУ, написанную - к счастью - программистами, а не слесарями, пусть даже эти слесаря и очень умные...



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

Детектирование ошибки 0102.
Код:



        MOV     A,R1
        JNZ     A15AA                   ;Текущий расход >25.6кг/ч
        JB      RAM_2A.3,A15AA          ;>Двигатель находится в режиме пуска.
        MOV     DPTR,#T6062             ;+Минимальный расход воздуха для диагностики ДМРВ
        CLR     A
        MOVC    A,@A+DPTR               ;0.5кг/ч =05h
.....................
A1667:  CLR     SERRORH.6    ;Сброс кода ошибки
A1669:



Теперь вопросы для слесаря:
1) Где ты видишь "обороты выше 560"?
2) Где нижний порог расхода = 2.5кг/ч?
3) Где "в течение 1 сек"?
4) Где "порог зависящий от оборотов двигателя"?

Программа написана программистами, программисты рассуждают про АЦП а слесарь идет делать свои кнопки!


Весеннее обострение? Сочувствую... Но помочь не могу.

Итак.
Программа оригинал (работа с АЦП и управление моторедуктором):
Код:


unsigned int def_LEVEL(){
unsigned int cnt;
   GODONE = 1;//A/D conversion cycle in progress. Setting this bit starts an A/D conversion cycle.
   while (!GODONE);
   cnt=ADRESH;
   cnt<<=8;
   cnt|=ADRESL;
   cnt&=0x03FF;
   return cnt;
}   

void soft_lig_on(){//включение мотора
#define len_on 8//9//10
#define soft_time_on 3//4 -- изменил 21.04.08
#define TIME_ON   soft_time_on*TIME_SOFT_ON
int i,y,z;
unsigned char t;   
   i = soft_time_on*TIME_SOFT_ON;
   t=0;
   z=20;//10;//25;
   if (lig_on){
      relay_on();
      time_now=0;
      return;
   }
   do{
      z+=soft_time_on;
      time_now=i;
      do{
         relay_off();
         delay_us(len_on*i);
         relay_on();
         delay_us((((TIME_ON*len_on)+1)-(len_on*i)));
      }while (z>0);
      i--;
   }while ((i>0));
   lig_on=TRUE;
}   



И теперь то, что получается после компиляции (Disassembly Listing).
То есть то, что можно выдрать из памяти, не имея оригинального текста программы:
Код:


543:               void soft_lig_on(){//включение мотора
   0C6    302D     MOVLW 0x2d
   0C7    1283     BCF 0x3, 0x5
   0C8    00C5     MOVWF 0x45
   0C9    01C6     CLRF 0x46
   0CA    01C2     CLRF 0x42
   0CB    3014     MOVLW 0x14
   0CC    00C3     MOVWF 0x43
   0CD    01C4     CLRF 0x44
   0CE    18A1     BTFSC 0x21, 0x1
   0CF    28D4     GOTO 0xd4
555:
   0D1    01AA     CLRF 0x2a
   0D2    01AB     CLRF 0x2b
557:
   0D3    0008     RETURN
   0D4    3003     MOVLW 0x3
   0D5    07C3     ADDWF 0x43, F
   0D6    1803     BTFSC 0x3, 0
   0D7    0AC4     INCF 0x44, F
561:
   0D8    0845     MOVF 0x45, W
   0D9    00AA     MOVWF 0x2a
   0DA    0846     MOVF 0x46, W
   0DB    00AB     MOVWF 0x2b
   0DD    1283     BCF 0x3, 0x5
   0E0    0846     MOVF 0x46, W
   0E1    00DA     MOVWF 0x5a
   0E2    0845     MOVF 0x45, W
   0E3    00D9     MOVWF 0x59
   0E4    1003     BCF 0x3, 0
   0E5    0DD9     RLF 0x59, F
   0E6    0DDA     RLF 0x5a, F
   0E7    1003     BCF 0x3, 0
   0E8    0DD9     RLF 0x59, F
   0E9    0DDA     RLF 0x5a, F
   0EA    1003     BCF 0x3, 0
   0EB    0DD9     RLF 0x59, F
   0EC    0DDA     RLF 0x5a, F
   0ED    0859     MOVF 0x59, W
   0EE    00CB     MOVWF 0x4b
   0EF    085A     MOVF 0x5a, W
   0F0    00CC     MOVWF 0x4c
   0F1    2033     CALL 0x33
   0F3    0846     MOVF 0x46, W
   0F4    00DA     MOVWF 0x5a
   0F5    0845     MOVF 0x45, W
   0F6    00D9     MOVWF 0x59
   0F7    1003     BCF 0x3, 0
   0F8    0DD9     RLF 0x59, F
   0F9    0DDA     RLF 0x5a, F
   0FA    1003     BCF 0x3, 0
   0FB    0DD9     RLF 0x59, F
   0FC    0DDA     RLF 0x5a, F
   0FD    1003     BCF 0x3, 0
   0FE    0DD9     RLF 0x59, F
   0FF    0DDA     RLF 0x5a, F
   100    0859     MOVF 0x59, W
   101    00C7     MOVWF 0x47
   102    085A     MOVF 0x5a, W
   103    00C8     MOVWF 0x48
   104    3069     MOVLW 0x69
   105    00D9     MOVWF 0x59
   106    3001     MOVLW 0x1
   107    00DA     MOVWF 0x5a
   108    0847     MOVF 0x47, W
   109    02D9     SUBWF 0x59, F
   10A    1C03     BTFSS 0x3, 0
   10B    03DA     DECF 0x5a, F
   10C    0848     MOVF 0x48, W
   10D    02DA     SUBWF 0x5a, F
   10E    0859     MOVF 0x59, W
   10F    00CB     MOVWF 0x4b
   110    085A     MOVF 0x5a, W
   111    00CC     MOVWF 0x4c
   112    2033     CALL 0x33
570:
   113    08C3     MOVF 0x43, F
   114    1903     BTFSC 0x3, 0x2
   115    03C4     DECF 0x44, F
   116    03C3     DECF 0x43, F
571:
   117    0844     MOVF 0x44, W
   118    3A80     XORLW 0x80
   119    00D9     MOVWF 0x59
   11A    3080     MOVLW 0x80
   11B    0259     SUBWF 0x59, W
   11C    3001     MOVLW 0x1
   11D    1903     BTFSC 0x3, 0x2
   11E    0243     SUBWF 0x43, W
   11F    1803     BTFSC 0x3, 0
   120    28DC     GOTO 0xdc
   121    08C5     MOVF 0x45, F
   122    1903     BTFSC 0x3, 0x2
   123    03C6     DECF 0x46, F
   124    03C5     DECF 0x45, F
   125    0846     MOVF 0x46, W
   126    3A80     XORLW 0x80
   127    00D9     MOVWF 0x59
   128    3080     MOVLW 0x80
   129    0259     SUBWF 0x59, W
   12A    3001     MOVLW 0x1
   12B    1903     BTFSC 0x3, 0x2
   12C    0245     SUBWF 0x45, W
   12D    1803     BTFSC 0x3, 0
   12E    28D4     GOTO 0xd4
   12F    10A1     BCF 0x21, 0x1
   130    0008     RETURN
580:               unsigned int def_LEVEL(){
   063    1283     BCF 0x3, 0x5
   064    149F     BSF 0x1f, 0x1
   065    189F     BTFSC 0x1f, 0x1
   066    2865     GOTO 0x65
   067    081E     MOVF 0x1e, W
   068    00CB     MOVWF 0x4b
   069    01CC     CLRF 0x4c
   06A    00CC     MOVWF 0x4c
   06B    01CB     CLRF 0x4b
588:
   06C    1683     BSF 0x3, 0x5
   06D    081E     MOVF 0x1e, W
   06E    1283     BCF 0x3, 0x5
   06F    04CB     IORWF 0x4b, F
589:
   070    3003     MOVLW 0x3
   071    05CC     ANDWF 0x4c, F
590:
   072    084C     MOVF 0x4c, W
   073    00DA     MOVWF 0x5a
   074    084B     MOVF 0x4b, W
   075    00D9     MOVWF 0x59
591:
   076    0008     RETURN



Ох, лучше б ты не приводил листинг дизассемблера - теперь абсолютно понятно, что текста программы ЭБУ ты и в глаза не видел! :-D Бее-е-е-е-дненький! Скоко же надо усердия, чтоб понаписать комментарии на ту хрень, которую можно получить после компилятора и дизассеблера! Прям жалко тебя! Very Happy По мне, дак я б лучше по новой программу написал, чем ковыряться в чужой... Тем более, не имея текста оригинала... Мда-а-а-а....

И понятно, почему ты не можешь найти ответы на "вопросы для слесаря"! Компилятор так разбрасывает код, что разобраться в нем - не сможет даже сам автор! Приведенную программу на С писал я, но где в листинге дизассемблера найти константу len_on ? Х.З.! И никто не найдет! Даже ты! А она - там есть! (Мы суслика не видим, а он - есть!) :-D

Да, кстати, ты меня с кем-то путаешь? Может, бредишь?
А слесарем я работал - только давно, лет двадцать назад... сразу после армии...

Так что, привет от "слесарей"! Умеющих писать программы самостоятельно! Very Happy
emmibox
Ахаха!

1) Изначально этот код написан на макроассемблере! Компилятора на столько эфективного не существовало ни в 1990-х когда его писали ни сейчас. И это не листинг дизассемблера а исходник J5LS. Она откоментированна вся. При этом многое сделано автоматически.

2) Только последний слесарь может писать на С для PIC16. И только такое убожество - как кнопки. Поэтому код немерянно раздут и озу используется неэффективно.

Цитата:


Компилятор так разбрасывает код, что разобраться в нем - не сможет даже сам автор


Ты слесарь я re-инженер!
ты не можешь разобратся в своем коде - я могу разобратся в ТВОЕМ!
Цитата:


Приведенную программу на С писал я, но где в листинге дизассемблера найти константу len_on ? Х.З.! И никто не найдет! Даже ты! А она - там есть! (Мы суслика не видим, а он - есть!)



00E4-00EC идет умнежение на 8. Это и есть твое len_on=8.
0x5a:0x59 - собственно i.
затем xram.
0x4c:0x4b - (len_on*i)
0x46:0x45 - TIME_ON
00F7-00FF умножение TIME_ON на 8 (len_on).

Бери паяльник слесарь. Я 12 лет пишу на PIC16. И такую паршивую программу могу не только разобрать до последнего байта но и в 3 раза компактнее написать.
Just_a_Boy
emmibox писал(а):

Ахаха!

1) Изначально этот код написан на макроассемблере! Компилятора на столько эфективного не существовало ни в 1990-х когда его писали ни сейчас. И это не листинг дизассемблера а исходник J5LS. Она откоментированна вся. При этом многое сделано автоматически.

2) Только последний слесарь может писать на С для PIC16. И только такое убожество - как кнопки. Поэтому код немерянно раздут и озу используется неэффективно.

Цитата:


Компилятор так разбрасывает код, что разобраться в нем - не сможет даже сам автор


Ты слесарь я re-инженер!
ты не можешь разобратся в своем коде - я могу разобратся в ТВОЕМ!
Цитата:


Приведенную программу на С писал я, но где в листинге дизассемблера найти константу len_on ? Х.З.! И никто не найдет! Даже ты! А она - там есть! (Мы суслика не видим, а он - есть!)



00E4-00EC идет умнежение на 8. Это и есть твое len_on=8.
0x5a:0x59 - собственно i.
затем xram.
0x4c:0x4b - (len_on*i)
0x46:0x45 - TIME_ON
00F7-00FF умножение TIME_ON на 8 (len_on).

Бери паяльник слесарь. Я 12 лет пишу на PIC16. И такую паршивую программу могу не только разобрать до последнего байта но и в 3 раза компактнее написать.


Мне с тобой уже скучно... Уже чувствую в твоих словах манию величия и синдром сверхценных идей...

На всякий случай:
- программа, что я привел, написана для PIC12 - странно, что ты не понял этого. Very Happy К тому же, это не вся программа, а только две функции из нее - тоже странно, что ты этого не понял... Переучился? Smile Перековырялся в МОЕМ диз-листинге? Если честно, я в нем не ковыряюсь - нет нужды.
- про макроассемблер - не свисти. У тебя - дизассемблер в чистом виде.
- только последний идиот пишет программы в 64кБ на ассемблере! Вероятно выучить С не удалось потому и брызжешь слюной?
- язык С известен уже многие десятилетия. Кстати, изобрел его не я :grin: - вдруг не знаешь!
- откуда ты знаешь, что программа - "убожество", если ты ее не видел и не знаешь языка С?
- о какой кнопке ты постоянно гундосишь?
- слава Богу, что ты программируешь ПИКи только 12 лет, а не больше! Я встречал людей, которые программируют их уже 30 лет! И тоже драться лезли, доказывая, что правы!
- с 1996 года, когда появились у нас в стране первые ПИКи, имевшие 0,5-1кслов памяти, прошло много времени... Ты всё проспал...
- в три раза компактнее - ты не напишешь, а 5-10% - меня не беспокоят: время дороже....
- я понимаю, что ты один умный, а все кругом дураки, но где же твои изделия? Не говори мне про твои лохоразводные "прошивки" для 10-ток - машина и без них чудесно едет! А что еще-то??? Shocked

А вообще - отдыхай. Речь идет не о твоих "чудо-способностях" ковыряться в машинных кодах чужих программ... Речь шла, вообще-то, о ДМРВ. То, что делаешь ты, я "прошел" в 80-х, когда появились первые ХТ-персоналки и первые программы, где мы вписывали свои имена в чужие дампы... Веселое было детство... Very Happy А у тебя оно - подзадержалось.
Новая тема Ответить на тему
Показать сообщения:
Страница 2 из 3
Перейти:
Информация по иконкам и возможностям

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы можете вкладывать файлы
Вы можете скачивать файлы