AvrelijBer Опубликовано 27 октября, 2017 Поделиться Опубликовано 27 октября, 2017 (изменено) Всем привет! НужОн совет! Есть АЗЛК М-2140 84-го года, стоит контактное транзисторное зажигание, хочется попробовать ФУОЗ - с чего бы правильнее начать (плата, прошивка)? Думал сначала просто как октан-корректор, потом + ДАД, + термо, + контакт на карб. Паять умею, с ардуино общался (коптеры). Спасибо! зы. чем больше читаю тему, тем больше понимаю (где-то на 25-й странице), что сам не разберусь ззы. не понял - где я карму попортил свою (см. аттач) Изменено 27 октября, 2017 пользователем AvrelijBer 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Shia-Tan Опубликовано 21 декабря, 2017 Поделиться Опубликовано 21 декабря, 2017 Добрый день. Разработал собственный простенький вариант прошивки с использованием прерываний. Так как в ассемблере я новичок то ошибок в коде наверное много. Выкладываю сюда asm в надежде, что опытные люди подскажут мне, что я мог сделать, по их мнению, неправильно. Исходники подробно прокомментированы и понять алгоритм, заложенный в программе, не сложно. Жду ваших замечаний. 676_interrupt.asm 0 Я принесу вам не поправимую пользу Ссылка на комментарий Поделиться на другие сайты Поделиться
Реле, вентиляторы, корпуса, разъемы, а так же любые электронные компоненты в нашем каталоге! Бесплатная доставка + 15% кэшбэк + скидки!Перейти на сайт ТМ Электроникс Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
IGO61 Опубликовано 21 декабря, 2017 Автор Поделиться Опубликовано 21 декабря, 2017 (изменено) Всем привет! Shia-Tan, своё видение вопроса - это хорошо. Но, прочитав лишь "шапку" программы, заметил принципиальную ошибку. Из описания можно сделать вывод, что до 162об/мин импульсы зажигания не будут формироваться. Если это так, то в межсезонье или зимой, на дохлом аккуме машин просто не заведётся. Это опыт не одного поколения "зажигателей". Если бы программа до этих оборотов просто транслировала сигнал со входа на выход без опережения, а выше них (162об/мин) формировала бы УОЗ, то претензии не возникало бы. Пока так, поизучаю по возможности сам текст. Изменено 21 декабря, 2017 пользователем IGO61 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
sl_64 Опубликовано 21 декабря, 2017 Поделиться Опубликовано 21 декабря, 2017 Shia-Tan Привет, на мой взгляд ошибка у тебя в том что основной цикл, main пустой. Ты всю программу пытаешься засунуть в прерывание, а это не есть гуд. Я бы сделал так например - попадаем в прерывание 1) определяем источник 2) выставляем флаг (при инициализации создали свой флаговый регистр),переписываем значения таймера, перезагружаем таймер .........ну и так далее . 3)сбрасываем бит регистра прерывания 4)выходим из прерывания. А в основном цикле проги уже по установленным флагам делаем расчеты , принимаем решения ну и так далее. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке. Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Shia-Tan Опубликовано 21 декабря, 2017 Поделиться Опубликовано 21 декабря, 2017 IGO61, спасибо про морозы и слабый аккумулятор не подумал, устраню. sl_64, не согласен, главный цикл сделан пустым специально, чтобы как раз не плодить лишних вспомогательных переменных и не беспокоиться о сохранении перед и восстановлении регистров после прерывания. Если во время расчетов, которые были бы главном цикле, пришло бы прерывание (а такое вполне возможно) то пришлось бы придумывать дополнительные "костыли" и усложнять логику обработки входных сигналов. А так я гарантированно обрабатываю текущее прерывание до конца и даже если в это время произошло другое я могу очистить его флаг как-будто его и не было если это нужно по логике программы. А правда чем плох пустой главный цикл, какие технические проблемы могут из-за этого возникнуть? 0 Я принесу вам не поправимую пользу Ссылка на комментарий Поделиться на другие сайты Поделиться
Литиевые батарейки и аккумуляторы от мирового лидера EVE в КомпэлКомпания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
donec Опубликовано 21 декабря, 2017 Поделиться Опубликовано 21 декабря, 2017 3 часа назад, Shia-Tan сказал: А правда чем плох пустой главный цикл, какие технические проблемы могут из-за этого возникнуть? Да ничего страшного в этом нет, главное чтоб прерывание от одного и того же источника сначала полностью отработалось, а потом только опять появлялось. У меня так и сделано, проблем нет. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
sl_64 Опубликовано 22 декабря, 2017 Поделиться Опубликовано 22 декабря, 2017 13 часа назад, Shia-Tan сказал: А так я гарантированно обрабатываю текущее прерывание до конца и даже если в это время произошло другое я могу очистить его флаг как-будто его и не было А оно было и должно быть вовремя обработано, а не сброшено как будто его не было. Но дело ваше как вы решите так контроллер и будет работать. ИМХО при таком подходе теряется весь смысл использовать прерывания. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Shia-Tan Опубликовано 22 декабря, 2017 Поделиться Опубликовано 22 декабря, 2017 sl_64 Добрый день, в этой версии я старался упростить реализацию алгоритма, избавиться от циклов постоянной проверки состояния на входе от ДХ и отслеживания момента когда нужно "искрить". Прерывания, в этом случае, подходят идеально, существенно упрощают код, делают алгоритм менее запутанным. Уточню насчет "как будто его не было". Прерывания от ДХ по НУ и ВУ никогда не помешают друг другу, а вот от TMR1, в случае его опоздания с "искрой", возникшее во время обработки пр. по НУ (такого в принципе не должно быть но мало ли что, к примеру ошибка в расчетах опережения) в дальнейшем может помешать, поэтому на всякий случай BCF PIR1,0 т.к. "искрить" по таймеру уже поздно, "отискрились" чуть раньше по НУ. Секции обработки НУ и ВУ являются критическими их прерывать нельзя, только поэтому я полностью запихнул их в обработчик прерывания. Чем занять процессор между прерываниями пока не придумал - предложите. 0 Я принесу вам не поправимую пользу Ссылка на комментарий Поделиться на другие сайты Поделиться
IGO61 Опубликовано 22 декабря, 2017 Автор Поделиться Опубликовано 22 декабря, 2017 Всем привет! У меня вопрос/предложение. А зачем используется вход "INT" и в обработчике переключается режим "по спаду/по фронту"? Можно просто применить режим прерывания по смене уровня на входе. А в обработчике оценивать, что пришло на вход - спад или фронт и направлять программу в ту или иную сторону. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Shia-Tan Опубликовано 22 декабря, 2017 Поделиться Опубликовано 22 декабря, 2017 Просто неопытен еще и реализовал то, что показалось проще. Из datasheet не понял как при смене уровня на входе потом определять на какой из 5 ног PORTA этот уровень сменился, к тому же на них будут навешаны ДАД, ОК, термометр... Не возникнет ли прерывание от них? 0 Я принесу вам не поправимую пользу Ссылка на комментарий Поделиться на другие сайты Поделиться
Pilulkin Опубликовано 22 декабря, 2017 Поделиться Опубликовано 22 декабря, 2017 (изменено) Здравия всем! И у меня вопросики. Использование WDT - оценивали ли Вы возможную пользу и вред от его использования в этом устройстве? И какая-то абракадабра в таблицах УОЗ. На картинке наглядно (Это преобразованный старший и младший байты в десятичное число. Задержка ессно будет зеркальным отображением относительно горизонтали) К стати не просветите каким образом штатные системы карбюратора обеспечивают стабилизацию ХХ при изменении нагрузки на ДВС? Изменено 22 декабря, 2017 пользователем Pilulkin 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Shia-Tan Опубликовано 22 декабря, 2017 Поделиться Опубликовано 22 декабря, 2017 Pilulkin Добрый день. Польза, как мне кажется, это перезапуск программы при сбое. Вреда не усмотрел. Если он возможен, то при каком стечении обстоятельств и в чем он может выразиться? Про абракадабру. Я тоже сначала не мог понять что же такое я получил. В приложенных файлах график УОЗ в градусах выглядит красиво, а микросекундах аж страшно становится), взгляните пожалуйста на исходники для расчетов (насколько помню Вы с Delphi 7 знакомы), может быть где-то ошибка? calcAngle.7z 0 Я принесу вам не поправимую пользу Ссылка на комментарий Поделиться на другие сайты Поделиться
IGO61 Опубликовано 22 декабря, 2017 Автор Поделиться Опубликовано 22 декабря, 2017 43 минуты назад, Shia-Tan сказал: Из datasheet не понял как при смене уровня на входе потом определять на какой из 5 ног PORTA этот уровень сменился, к тому же на них будут навешаны ДАД, ОК, термометр... Не возникнет ли прерывание от них? В регистре INTCON разрешаете прерывание по смене уровня на входах порта А (общий "включатель") - бит RAIE=1. А в регистре IOCA (банк 1, локальный "включатель", по пинам) выставляете в 1 тот пин, который собираетесь обслуживать в прерывании. Соответственно, придётся подправить схему, чтоб не было конфликта сигналов от ДАД и т.п. В работе по смене уровня на выбранном пине произойдёт прерывание (бит RAIF =1 в регистре INTCON). В обработчике оцениваете состояние (НУ или ВУ) пина и переходите, куда планируете по тому или иному уровню. Не забываем после обработки сбрасывать бит RAIF в регистре INTCON в ноль - он сам не сбрасывается (чтоб не зациклиться в обработчике). 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Shia-Tan Опубликовано 22 декабря, 2017 Поделиться Опубликовано 22 декабря, 2017 1 час назад, Pilulkin сказал: К стати не просветите каким образом штатные системы карбюратора обеспечивают стабилизацию ХХ при изменении нагрузки на ДВС? Они никаким образом не обеспечивают стабилизацию ХХ при изменении нагрузки на ДВС. Фразу в комментариях к программе где это упоминается можно считать непреднамеренной оговоркой. 16 минут назад, IGO61 сказал: В регистре INTCON разрешаете прерывание по смене уровня на входах порта А (общий "включатель") - бит RAIE=1..... Спасибо, не догадался до такого. 0 Я принесу вам не поправимую пользу Ссылка на комментарий Поделиться на другие сайты Поделиться
sl_64 Опубликовано 22 декабря, 2017 Поделиться Опубликовано 22 декабря, 2017 1 час назад, Shia-Tan сказал: к тому же на них будут навешаны ДАД, ОК, термометр... И обработку всего этого вы тоже планируете загнать в прерывание? Если нет , то как быть с этим 18 часов назад, Shia-Tan сказал: главный цикл сделан пустым специально, чтобы как раз не плодить лишних вспомогательных переменных и не беспокоиться о сохранении перед и восстановлении регистров после прерывания. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Pilulkin Опубликовано 22 декабря, 2017 Поделиться Опубликовано 22 декабря, 2017 1 час назад, Shia-Tan сказал: Pilulkin Добрый день. Польза, как мне кажется, это перезапуск программы при сбое. Вреда не усмотрел. Если он возможен, то при каком стечении обстоятельств и в чем он может выразиться? Вот в этом перезапуске и кроется подвох. Во время рестарта состояние выходов по большому счету неопределено. И кто гарантирует, что сигнал на искрение не возникнет в самый неподходящий момент (на противоходе так сказать - не путать с нормальным УОЗ). А если вис контроллика систематический? Т.е. с периодичностью в 1,152 сек будет перегружаться контроллик и искрить непонятно в когда :-). Безопаснее дать заглохнуть двигателю ИМХО. Это так, то что лежит на поверхности. По поводу абракадабры обстоятельно посмотрю на следующей неделе. Надо понять, как Вы отрабатываете задержку (ведь согласитесь, что мы не опережаем, а задерживаем ). Но опять таки на мой незрячий глаз попробуйте установить НУОЗ ну градусов 9 (это ведь вполне нормальный НУОЗ, по крайней мере не заоблачный) и рассчитайте таблички/графики. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Shia-Tan Опубликовано 23 декабря, 2017 Поделиться Опубликовано 23 декабря, 2017 17 часов назад, Pilulkin сказал: Вот в этом перезапуске и кроется подвох. Спасибо, WDT действительно нужно отключить. 17 часов назад, Pilulkin сказал: Надо понять, как Вы отрабатываете задержку В этой версии я попытался отработать именно опережение, измеряю длительность НУ, а во время ВУ рассчитываю его длительность, нахожу задержку по таблицам, вычитаю ее из рассчитанной длительности ВУ, также вычитаю время, затраченное на эти расчеты, загружаю полученное в таймер 1 и по прерыванию от его переполнения - искра 18 часов назад, sl_64 сказал: И обработку всего этого вы тоже планируете загнать в прерывание? Да, по моим прикидкам обработка 3-х АЦП в самом худшем случае займет ~120 мксек. 0 Я принесу вам не поправимую пользу Ссылка на комментарий Поделиться на другие сайты Поделиться
sl_64 Опубликовано 24 декабря, 2017 Поделиться Опубликовано 24 декабря, 2017 Всем привет. Игорь извини что в твоей теме задаю вопросы. Кто точно знает соотношение шторка–окно распределителя зажигания для 4х цилиндрового двс? Где то попадалась инфа что 70 на 30 % ,так ли это? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
IGO61 Опубликовано 24 декабря, 2017 Автор Поделиться Опубликовано 24 декабря, 2017 Всем привет! В угловых величинах так: 60градусов - просвет, 120 градусов - металлическая шторка. Это для стандратного 4-цилиндрового ВАЗовского дрыгателя. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Pilulkin Опубликовано 24 декабря, 2017 Поделиться Опубликовано 24 декабря, 2017 Или я не понял вопрос или 60+30+60+30+60+30+60+30=360 Игорь, ты для "левой" шторки градусы привел. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
sl_64 Опубликовано 24 декабря, 2017 Поделиться Опубликовано 24 декабря, 2017 (изменено) Если 70 на 30 % правильно то у меня получилось 63 на 27 градусов. Из за чего был задан вопрос- Shia-Tan строит свою прогу исходя из этих значений (58 и 32 градуса соответственно) Pilulkin ,а есть у вас возможность замерить шторку и окно "правую" штангенциркулем. Изменено 24 декабря, 2017 пользователем sl_64 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Pilulkin Опубликовано 24 декабря, 2017 Поделиться Опубликовано 24 декабря, 2017 (изменено) Штангеном измерится хорда, что не есть правильно. Нужен именно угловой размер. К стати 70%х30% неправильно. А вот скважность 3 или 1/3 (кто как считает) и характеризует сигнал для коммутатора. Изменено 24 декабря, 2017 пользователем Pilulkin 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
IGO61 Опубликовано 24 декабря, 2017 Автор Поделиться Опубликовано 24 декабря, 2017 2 часа назад, Pilulkin сказал: Или я не понял вопрос или 60+30+60+30+60+30+60+30=360 Игорь, ты для "левой" шторки градусы привел. Эт я косанул с ответом. Да, для шторок в трамблёре должно быть 60 градусов - шторка, 30 - просвет и так четыре раза. Это я попутал с "бабочкой" на коленвалу. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Shia-Tan Опубликовано 24 декабря, 2017 Поделиться Опубликовано 24 декабря, 2017 (изменено) 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. Изменено 24 декабря, 2017 пользователем Shia-Tan ошибка в цифре 0 Я принесу вам не поправимую пользу Ссылка на комментарий Поделиться на другие сайты Поделиться
Shia-Tan Опубликовано 24 декабря, 2017 Поделиться Опубликовано 24 декабря, 2017 Только что сходил к машинке, проверить не ошибся ли я с размерами. Теперь измерил шторку, получилось 23,3 мм. посчитал треугольник 24 на 24 на 23,3, получил 58,08 60,96, 60,96. 0 Я принесу вам не поправимую пользу Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.