Перейти к содержанию

Фуоз-676 (Продолжение)


Рекомендуемые сообщения

Всем привет! НужОн совет!
Есть АЗЛК М-2140 84-го года, стоит контактное транзисторное зажигание, хочется попробовать ФУОЗ - с чего бы правильнее начать (плата, прошивка)? Думал сначала просто как октан-корректор, потом + ДАД, + термо, + контакт на карб.
Паять умею, с ардуино общался (коптеры).
Спасибо!
зы. чем больше читаю тему, тем больше понимаю (где-то на 25-й странице), что сам не разберусь
ззы. не понял - где я карму попортил свою (см. аттач)

Untitled-1.png

Изменено пользователем AvrelijBer
Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Добрый день. Разработал собственный простенький вариант прошивки с использованием прерываний. Так как в ассемблере я новичок то ошибок в коде наверное много. Выкладываю сюда asm в надежде, что опытные люди подскажут мне, что я мог сделать, по их мнению, неправильно. Исходники подробно прокомментированы и понять алгоритм, заложенный в программе, не сложно. Жду ваших замечаний.

676_interrupt.asm

Я принесу вам не поправимую пользу

Ссылка на комментарий
Поделиться на другие сайты

 Всем привет!

Shia-Tan, своё видение вопроса - это хорошо. Но, прочитав лишь "шапку" программы, заметил принципиальную ошибку. Из описания можно сделать вывод, что до 162об/мин импульсы зажигания не будут формироваться. Если это так, то в межсезонье или зимой, на дохлом аккуме машин просто не заведётся. Это опыт не одного поколения "зажигателей". Если бы программа до этих оборотов просто транслировала сигнал со входа на выход без опережения, а выше них (162об/мин) формировала бы УОЗ, то претензии не возникало бы.

Пока так, поизучаю по возможности сам текст. 

 

Изменено пользователем IGO61


 

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Shia-Tan Привет, на мой взгляд ошибка у тебя в том что основной цикл, main пустой. Ты всю программу

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

1) определяем источник

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

3)сбрасываем бит регистра прерывания

4)выходим из прерывания.

А в основном цикле проги уже по установленным флагам делаем расчеты , принимаем решения ну и так далее.

 

 

Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

IGO61, спасибо про морозы и слабый аккумулятор не подумал, устраню.

sl_64,  не согласен, главный цикл сделан пустым специально, чтобы как раз не плодить лишних вспомогательных переменных и не беспокоиться о сохранении перед и восстановлении регистров после прерывания. Если во время расчетов,  которые были бы главном цикле, пришло бы прерывание (а такое вполне возможно) то пришлось бы придумывать дополнительные "костыли" и усложнять логику обработки входных сигналов. А так я гарантированно обрабатываю текущее прерывание до конца и даже если в это время произошло другое я могу очистить его флаг как-будто его и не было если это нужно по логике программы. А правда чем  плох пустой главный цикл, какие технические проблемы могут из-за этого возникнуть?

Я принесу вам не поправимую пользу

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

3 часа назад, Shia-Tan сказал:

А правда чем  плох пустой главный цикл, какие технические проблемы могут из-за этого возникнуть?

Да ничего страшного в этом нет, главное чтоб прерывание от одного и того же  источника сначала полностью отработалось, а потом только опять появлялось. У меня так и сделано, проблем нет.

6.png.07f498920f4fc3cf98347fe7b3cb002a.png

Ссылка на комментарий
Поделиться на другие сайты

13 часа назад, Shia-Tan сказал:

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

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

так контроллер и будет работать. ИМХО при таком подходе теряется весь смысл использовать прерывания.

Ссылка на комментарий
Поделиться на другие сайты

sl_64  Добрый день,  в этой версии я старался упростить реализацию алгоритма, избавиться от циклов постоянной проверки состояния на входе от ДХ и отслеживания момента когда нужно "искрить". Прерывания, в этом случае, подходят идеально, существенно упрощают код, делают алгоритм менее запутанным. Уточню насчет "как будто его не было". Прерывания от ДХ по НУ и ВУ никогда не помешают друг другу, а вот от TMR1, в случае его опоздания с "искрой", возникшее во время обработки пр. по НУ  (такого в принципе не должно быть но мало ли что, к примеру ошибка в расчетах опережения)  в дальнейшем может помешать, поэтому на всякий случай  BCF PIR1,0 т.к. "искрить" по таймеру уже поздно,  "отискрились" чуть раньше по НУ.  Секции обработки НУ и ВУ являются критическими их прерывать нельзя, только поэтому я полностью запихнул их в обработчик прерывания. Чем занять процессор между прерываниями пока не придумал - предложите.

Я принесу вам не поправимую пользу

Ссылка на комментарий
Поделиться на другие сайты

Всем привет!

У меня вопрос/предложение. А зачем используется вход "INT" и в обработчике переключается режим "по спаду/по фронту"?  Можно просто применить режим прерывания по смене уровня на входе. А в обработчике оценивать, что пришло на вход - спад или фронт и направлять программу в ту или иную сторону.
 


 

Ссылка на комментарий
Поделиться на другие сайты

Просто неопытен еще и реализовал то, что показалось проще. Из datasheet не понял как при смене уровня на входе потом определять на какой из 5 ног PORTA этот уровень сменился, к тому же на них будут навешаны ДАД, ОК, термометр... Не возникнет ли прерывание от них?

Я принесу вам не поправимую пользу

Ссылка на комментарий
Поделиться на другие сайты

Здравия всем!
И у меня вопросики. Использование WDT - оценивали ли Вы возможную пользу и вред от его использования в этом устройстве? И какая-то абракадабра в таблицах УОЗ. На картинке наглядно (Это преобразованный старший и младший байты в десятичное число. Задержка ессно будет зеркальным отображением относительно горизонтали)

Gr.JPG.aa8b5886ff493d26a814429ea6a34856.JPG
К стати не просветите каким образом штатные системы карбюратора обеспечивают стабилизацию ХХ при изменении нагрузки на ДВС?

Изменено пользователем Pilulkin
Ссылка на комментарий
Поделиться на другие сайты

Pilulkin  Добрый день. Польза, как мне кажется, это перезапуск программы при сбое.  Вреда не усмотрел. Если он возможен, то при каком стечении обстоятельств и в чем он может выразиться?

Про абракадабру. Я тоже сначала не мог понять что же такое я получил. В приложенных файлах график УОЗ в градусах выглядит красиво, а микросекундах  аж страшно становится), взгляните пожалуйста на исходники для расчетов (насколько помню Вы с Delphi 7 знакомы),  может быть где-то ошибка?

Image.png

calcAngle.7z

Я принесу вам не поправимую пользу

Ссылка на комментарий
Поделиться на другие сайты

43 минуты назад, Shia-Tan сказал:

 Из datasheet не понял как при смене уровня на входе потом определять на какой из 5 ног PORTA этот уровень сменился, к тому же на них будут навешаны ДАД, ОК, термометр... Не возникнет ли прерывание от них?

В регистре INTCON разрешаете прерывание по смене уровня на входах порта А (общий "включатель") - бит RAIE=1. А в регистре IOCA (банк 1, локальный "включатель", по пинам) выставляете в 1 тот пин, который собираетесь обслуживать в прерывании. Соответственно, придётся подправить схему, чтоб не было конфликта сигналов от ДАД и т.п.

В работе по смене уровня на выбранном пине произойдёт прерывание (бит RAIF =1 в регистре INTCON). В обработчике оцениваете состояние (НУ или ВУ) пина и переходите, куда планируете  по тому или иному уровню.

Не забываем после обработки сбрасывать бит RAIF в регистре INTCON в ноль - он сам не сбрасывается (чтоб не зациклиться в обработчике).
 


 

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Pilulkin сказал:

К стати не просветите каким образом штатные системы карбюратора обеспечивают стабилизацию ХХ при изменении нагрузки на ДВС?

Они никаким образом не обеспечивают стабилизацию ХХ при изменении нагрузки на ДВС. Фразу в комментариях к программе где это упоминается можно считать непреднамеренной оговоркой.

16 минут назад, IGO61 сказал:

В регистре INTCON разрешаете прерывание по смене уровня на входах порта А (общий "включатель") - бит RAIE=1.....

Спасибо, не догадался до такого.

Я принесу вам не поправимую пользу

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Shia-Tan сказал:

к тому же на них будут навешаны ДАД, ОК, термометр... 

И обработку всего этого вы тоже планируете загнать в прерывание? 

Если нет , то как быть с этим

18 часов назад, Shia-Tan сказал:

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

 

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Shia-Tan сказал:

Pilulkin  Добрый день. Польза, как мне кажется, это перезапуск программы при сбое.  Вреда не усмотрел. Если он возможен, то при каком стечении обстоятельств и в чем он может выразиться?

Вот в этом перезапуске и кроется подвох. Во время рестарта состояние выходов по большому счету неопределено. И кто гарантирует, что сигнал на искрение не возникнет в самый неподходящий момент (на противоходе так сказать - не путать с нормальным УОЗ). А если вис контроллика систематический? Т.е. с периодичностью в 1,152 сек будет перегружаться контроллик и искрить непонятно в когда :-). Безопаснее дать заглохнуть двигателю ИМХО. Это так, то что лежит на поверхности.
По поводу абракадабры обстоятельно посмотрю на следующей неделе. Надо понять, как Вы отрабатываете задержку (ведь согласитесь, что мы не опережаем, а задерживаем :yes:).  Но опять таки на мой незрячий глаз попробуйте установить НУОЗ ну градусов 9 (это ведь вполне нормальный НУОЗ, по крайней мере не заоблачный) и рассчитайте таблички/графики.

Ссылка на комментарий
Поделиться на другие сайты

17 часов назад, Pilulkin сказал:

Вот в этом перезапуске и кроется подвох.

Спасибо, WDT действительно нужно отключить.

 

17 часов назад, Pilulkin сказал:

Надо понять, как Вы отрабатываете задержку

В этой версии я попытался отработать именно опережение,  измеряю длительность НУ, а во время ВУ рассчитываю его длительность, нахожу задержку по таблицам, вычитаю ее из рассчитанной длительности ВУ, также вычитаю время, затраченное на эти расчеты, загружаю полученное в таймер 1 и по прерыванию от его переполнения - искра

18 часов назад, sl_64 сказал:

И обработку всего этого вы тоже планируете загнать в прерывание? 

Да, по моим прикидкам обработка 3-х АЦП в самом худшем случае займет ~120 мксек.

Я принесу вам не поправимую пользу

Ссылка на комментарий
Поделиться на другие сайты

Всем привет.

Игорь извини что в твоей теме задаю вопросы.

Кто точно знает  соотношение шторка–окно распределителя зажигания  для 4х цилиндрового двс?

Где то попадалась инфа что 70 на 30 % ,так ли это?

Ссылка на комментарий
Поделиться на другие сайты

Всем привет!

В угловых величинах так: 60градусов - просвет, 120 градусов - металлическая шторка. Это для стандратного 4-цилиндрового ВАЗовского дрыгателя.
 


 

Ссылка на комментарий
Поделиться на другие сайты

Если 70 на 30 % правильно то у меня получилось 63 на 27 градусов.

Из за чего был задан вопрос- Shia-Tan строит свою прогу  исходя из этих значений (58 и 32 градуса соответственно)

 Pilulkin ,а есть у вас возможность замерить шторку и окно "правую"  штангенциркулем. 

Изменено пользователем sl_64
Ссылка на комментарий
Поделиться на другие сайты

Штангеном измерится хорда, что не есть правильно. Нужен именно угловой размер.

К стати 70%х30% неправильно. А вот скважность 3 или 1/3 (кто как считает)  и характеризует сигнал для коммутатора.

Изменено пользователем Pilulkin
Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Pilulkin сказал:

Или я не понял вопрос или 60+30+60+30+60+30+60+30=360
Игорь, ты для "левой" :D шторки градусы привел.

Эт я косанул с ответом. Да, для шторок в трамблёре должно быть 60 градусов - шторка, 30 - просвет и так четыре раза. Это я попутал с "бабочкой" на коленвалу.
 


 

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, sl_64 сказал:

Shia-Tan строит свою прогу  исходя из этих значений (58 и 32 градуса соответственно)

Как я пришел к таким размерам. Измерил диаметр, он оказался 48 мм. Измерения производил штангелем с дисплеем. Померил прорезь, как правильно заметил уважаемый Pilulkin, это размер хорды. В моем случае ~ 13.2 мм. Затем посчитал углы равнобедренного треугольника со сторонами 24 мм, 24 мм, 13.2 мм получил углы 31.92, 74.04, 74.04. Учитывая то, что при измерении мог ошибиться на 2-3 сотых принял угол равным 32 гр. предполагая, что конструкторы сего трамблера все-таки ребята не глупые и закладывали возможность его применения с цифровыми блоками зажигания, где 32 очень удобная величина. Чтобы не считать вручную использовал https://www.calc.ru/raschet-treugolnika.html

Изменено пользователем Shia-Tan
ошибка в цифре

Я принесу вам не поправимую пользу

Ссылка на комментарий
Поделиться на другие сайты

Только что сходил к машинке, проверить не ошибся ли я с размерами. Теперь измерил шторку, получилось 23,3 мм. посчитал треугольник 24 на 24 на 23,3, получил 58,08 60,96, 60,96.

Я принесу вам не поправимую пользу

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...