andy8mm Пост: 297408 От 26.Mar.2011 (15:33) ДедИван, да, пора наступить на мк-грабли.
Надеюсь подключатся спецы по контроллерам, живее будет и всем интереснее.
Давайте отделим котлеты от мух.
По контроллеру все сюда.
JohnZ Пост: 311561 От 11.Jun.2011 (01:28)
Только не надо про ослика
Так а там без ослика t=RC 120 мкс.
С запасом.
У нас задний фронт импульса аппаратно формируется через 5 мкс.
А МК должен проснуться чуть позже - через 6 мкс от начала.
Можно еще один таймер запустить, а можно и на этом выкрутиться.
А про бензин никто конкретно ничего не скажет-
там очень много влияющих факторов- поэтому меряется на месте.
в конкретном движке- сравнивают разные бензины и записывают в память.
1. 0-5 мкс. накачка - "искра1"
2. 5-6 мкс. сон
3. с 6мкс. просыпаемся и смотрим обратную связь(она доступна 120мкс).
3.1. если низкое напряжение ?вольт - не в том цилиндре искрим меняем управление.
3.2. если высокое напряжение ?вольт - значит искра прошла с лавиной(угадали с искрёжкой в нужном цилиндре)
4. 30-35мкс Управление настроили в нужные цилиндры и даем накачку - "искра2"
5. 35-36мкс спит контроллер.
6. 36мкс. проснулись и смотрим обратную связь.
6.1 если низкое напряжение ?вольт - часто искрим и дуга горит при прямоходе,
надо реже импульсы повторять иначе лавину не запустить
и доп-СЕ от лавины для поджига не поимеем.
(возможно богатая смесь так как на низах наполнение топливом
достаточное( ? ) для обычной цепной реакции горения, это нам не надо)
Уходим на редкие импульсы в пачке. С каким шагом уходить от 30мкс и до31,32,33?
Ещё пока пытаюсь понять октан-алгоритм,
как контроллер-2 будет менять длительность пачки искр
и отслеживать максимум оборотов при ХХ
(возможно ДК-датчик кислорода будет учавствовать).
Потом выдаст на экранчик кол-во искр в правильной пачке.
По количеству(или длительности между искрами) мы сможем определить "возраст ослиной мочи"...
А как передать на борт результаты испытания октана?
Зато светодиодик поставили. Вот пусть он и передает как пультик от телика.
JohnZ, что там на тахометре?
(Это я так подкрадываюсь к длительности 1 оборота... [ссылка]
Светодиодик в штатном режиме может нам говорить о скорости вращения колен-вала.
А как нажали кнопочку - об октановом числе.
Да, оборотики нам надо знать.
Это для китайцев мы написали 30 импульсов- пусть повторяют.
А мы то будем пользовать бедную смесь, которая горит 2 милисекунды,
и никому не скажем сколько на нее надо импульсов.
А когда высокие обороты- нам не хватит 20 градусов для наших 2 миллисекунд.
Поэтому оборотики надо знать. И прекращать искрить вовремя, особо для
двухкатушечного варианта.
Согласен, надо знать обороты. Леплю часики (RTC) на первом таймере (16 бит). Шаг 50 миллисек. нормуль, или много ?
Ещё вопрос к ДедуИвану, - если мы с накачкой прогадаем, т.е. недо-качаем и искры НЕ будет (по давлению ведь движки разные !) - таракан это сможет определить по ОС ? Как определить или лучше вычислить ОПТИМАЛЬНУЮ накачку ?
IMHO - возможностей компаратора для этого нам не хватит никак, нужен АЦП ... его и ковыряю...
JohnZ Пост: 311849 От 13.Jun.2011 (00:52)
если мы с накачкой прогадаем, т.е. недо-качаем
Не заведется и все.
Но это вряд ли. Как раз при заводке компрессия не самая большая,
и оборотов мало и цилиндры холодные.
Самая большая компрессия получается на больших оборотах -
за счет динамического дожатия смеси , тут если начнут пропадать искры
то машина сразу затупит, а в глушаке начнет стрелять.
Бывает такая ситуация часто - особо на волговских движках-
когда тормозят движком- обороты большие , а газ сброшен - смесь
бедная , вот и не поджигает ее искра. Одна.
А у нас много. Допустим первая попала в нехорошие условия- пик давления. Но для второй будет легче, для третьей еще легче,
ну и в конце концов зажжется.
JohnZ Пост: 311849 От 13.Jun.2011 (00:52)
Леплю часики (RTC) на первом таймере (16 бит). Шаг 50 миллисек. нормуль, или много ?
Ты сначала скажи , как собираешься это делать.
Можно ведь и на одном таймере это задвинуть. И на восьмиразрядном.
Мы же знаем- время искрения- допустим 1 мс.
Кончили искрить- таймер свободен.
Запускаем его на измерение времени оборота - но сразу прибавляем в него время затраченное на искрения.
До следущего сигнала от ДХ он может считать и внутри себя и переполнения складывать в регистр. Вот там и будет время оборота.
По дискрету- есть максимальные обороты- считаем минимальное время
Дальше задаеи точность - допустим 1 градус поворота коленвала,
отсюда минимальная ступенька
Допустим 6000 об. 10 мсек. делим на 360 = 30 мкс.
ДедВаня ! Энди ведь правильный вопрос задал, а ты его проигнорировал. С каким шагом уходить от 30 мкс и до31,32,33 ?
А чего там делать на 33? надо 29,28,27 до перекрытия ионизации
до падения напряжения пробоя.
Дальше думаю понятно как вычислить об.мин
Не зацикливайся на об/мин. Нам нужно знать время одного оборота
неважно в чем- хоть в попугаях.
И время предыдущих трех- даже лучше только разницу.
А чего трех? да тоже без разницы- от одного импульса ДХ до другого.
А уж сколько их на одном обороте- это от движка зависит -1-2-4-6-8 цилиндровый.
Три дельты = это из правил математики геометрии.
Это ты специально, что-бы не отвечать (это шутка юмора такая)
Я могу и повторить, у меня в буфере осталось
ДедВаня ! Энди ведь правильный вопрос задал, а ты его проигнорировал. С каким шагом уходить от 30 мкс и до31,32,33 ? Меня тоже он интересует ! Правильней было-бы сказать Какой шаг по коридору и пределы этого коридора ? Насколько я понял, этот коридор не может быть меньше времени рассасывания ионов кислорода. А ты вроде-бы говорил что это наша константа, меньше которой мы "прыгнуть" не можем, т.е. нет смысла в частом искрении. Так ?
И на 8-ми битном таймере у нас коридор макс. 32 мкс. для 8 мГц. при решении "в лоб" и без задействования доп. ячеек и регистров. Тут тоже ... коридор smile
JohnZ Пост: 311849 От 13.Jun.2011 (00:52)
Леплю часики (RTC) на первом таймере (16 бит). Шаг 50 миллисек. нормуль, или много ?
Ты сначала скажи , как собираешься это делать.
На 1-м таймере, 16-ти битном. В секции иницилизации стартую его от делителя на 8, т.е. 1 такт = 1 мкс. Константа счёта = 50 тыс.(влазит в 2 байта), т.е. 50 мс. Отсчитать их 200 шт. (влазит в 1 байт) будет 1 сек ! Дальше думаю понятно как вычислить об.мин
Можно ведь и на одном таймере это задвинуть. И на восьмиразрядном.
Можно, но что-бы было понятней, пока пишу на 2313, (создал паралельный проект) т.к. 25-го хотя-бы для пробы, не смог заказать, даже в Харькове smile Дык вот, в 2313 есть ещё 2 свободных таймера, причём один из них 16-ти битный smile
Мы же знаем- время искрения- допустим 1 мс. Кончили искрить- таймер свободен. Запускаем его на измерение времени оборота - но сразу прибавляем в него время затраченное на искрения. До следущего сигнала от ДХ он может считать и внутри себя и переполнения складывать в регистр. Вот там и будет время оборота.
Может и НЕ может, т.к. ножка порта (выход таймера) УПРАВЛЯЕТ искрой. Пока он будет считать, будет в цилиндре искрить. Можно канЭшна его отключать от выхода, но зачем, если есть свободный таймер ? Да и лишние затраты это ... IMHO
По дискрету- есть максимальные обороты- считаем минимальное время
Дальше задаеи точность - допустим 1 градус поворота коленвала, отсюда минимальная ступенька.
Допустим 6000 об. 10 мсек. делим на 360 = 30 мкс.
Это тот самый дискрет, о котором спрашивал Энди ?
ДедВаня ! За ОДИН оборот мы получаем 4 импульса от ДХ. Я так понял что мы должны вычислить 3 последние "точки" именно от импульсов ДХ, а не 3 последних оборота. Т.е. 3 последние "точки" это получается 3/4 оборота ДХ ?! От них вычисляем (предсказываем) 4-ю. Так ? Т.е. интерисует ЧТО хранить и вычислять:
1. Промежутки времени за последних 3 оборота ДХ (12 импульсов, т.е. 3 ТАКТА) ?
или
2. Промежутки времени за последних 3 импульса от ДХ, т.е. 3/4 его оборота ?
или
3. Промежутки времени за последних 3 оборота коленвала, т.е. 6 импульсов ДХ ?
В зависимости от выбора, и в соответствии с тактовой МК, р-р ячеек хранения значений будет разный. Что нужно считать, подскажи.
JohnZ Пост: 312256 От 15.Jun.2011 (00:44)
В зависимости от выбора, и в соответствии с тактовой МК, р-р ячеек хранения значений будет разный. Что нужно считать, подскажи.
На остальное вроде ответил.
А тут сам выбирай- можно время каждого оборота хранить по 2 байта
а можно только разницу - по одному байту хватит.
Во втором случае еще и считать быстрее.
ДедаВаня ! Вопрос по контроллеру, вернее его схеме. На 7002 полевичке резистор 50 оМ, на базу 972 и на 12 В. Получается при его открытии аФигенный ток. А при включении питания на контроллер, полевик как-раз получается открыт, т.к. его затвор подключен на коммутатор ! Может там ошибка с номиналом этого резистора ?