Фуоз+lsd на AVR

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
Sceam73
Встал на лапы
Сообщения: 86
Зарегистрирован: Вт авг 28, 2012 21:07:09

Re: Фуоз+lsd на AVR

Сообщение Sceam73 »

Дело на месте не стоит, и потихоньку движеться в нужном направлении!
Собственно сам фуоз уже готов, система опережения работает так как я этого хотел, задействовал прерывания! Дело дошло до дополнительного обвеса, и шарясь по просторам интернета, я наткнулся на такое вот изделие http://kievavtoelektrik.narod.ru/stat/BKFM2/bkfm2.htm#nul Жалею что не наткнулся на него раньше.... Но вопрос собственно обстоит не в этом, а в возможностях устройства, которое представленно по ссылке выше! Осмотрев его функционал, я задумался о взаимствовании некоторых финкций себе в устройство! Вот только возник вопрос, Не сильно ли накладно микроконтроллеру будит выполнять столь большой функционал ? И как лучше устроить программу ? что б работало стабильно.... весь ее функционал вставить в основной код, а момент искры наверное лучше вставить в прерывание?
Реклама
kastor666
Родился
Сообщения: 12
Зарегистрирован: Ср ноя 25, 2009 00:23:26
Откуда: Киев
Контактная информация:

Re: Фуоз+lsd на AVR

Сообщение kastor666 »

Ну как там дела с ФУОЗ? :kill:
Реклама
ofpr
Родился
Сообщения: 5
Зарегистрирован: Пн апр 28, 2014 15:21:56
Откуда: Рига, Латвия, Прибалтика
Контактная информация:

Re: Фуоз+lsd на AVR

Сообщение ofpr »

Судя по всему сказанному решил набросать тут код на Attiny2313, писал на чистом С в "Atmel Studio 6", на двигателе не проверял!
на практике тестировал только на потребление и мощность искры, в протеусе вполне нормально работает при 200Гц.
Вложения
fuoz.rar
(38.9 КБ) 227 скачиваний
ofpr
Родился
Сообщения: 5
Зарегистрирован: Пн апр 28, 2014 15:21:56
Откуда: Рига, Латвия, Прибалтика
Контактная информация:

Re: Фуоз+lsd на AVR

Сообщение ofpr »

Посидел тут, посчитал, получил такие данные своего фуоз из которых нетрудно будет построить график

ugol 2.9 oboroti 600.0
ugol 5.8 oboroti 1200.0
ugol 8.8 oboroti 1800.0
ugol 11.9 oboroti 2400.0
ugol 15 oboroti 3000.0
ugol 18.1 oboroti 3600.0
ugol 21.3 oboroti 4200.0
ugol 24.6 oboroti 4800.0
ugol 27.9 oboroti 5400.0

Результаты не выдающиеся, но всеже лучше чем ездить с фиксированным углом зажигания. Потом можно сделать динамически изменяющуюся скорость горения бензина выборкой из массива в зависимости от оборотов.

А забыл сказать, в моей прошивке первоначальный угол положения датчика предусмотрен в 30 градусов.
Реклама
Эиком - электронные компоненты и радиодетали
Mishkatoptyshka
Родился
Сообщения: 18
Зарегистрирован: Пт май 20, 2011 19:32:49

Re: Фуоз+lsd на AVR

Сообщение Mishkatoptyshka »

А можно поподробнее алгоритм всего этого дела?

есть одноцилиндровый 4х тактный двигатель, делаем на него лепесток в 30 градусов.
за сколько градусов до ВМТ нужно определять обороты?
Предположим вращение лепестка по часовой стрелке. соответственно > 90гр. - раннее зажигание, < 90 - позднее.
по моим предположениям в точке 180гр. лепесток входит в датчик, через 30гр выходит - померяли скорость, у нас остается 60гр. до ВМТ, и по таблице определяем нужный УОЗ и рассчитываем сколько выдержать паузу гр., до искры в нужном угле (УОЗ).

по внешнему прерыванию запустили таймер и посчитали тики по лепестку. А дальше? Если поделить на 12, то получим тики/градус.
скажем определили по таблице, что нужен уоз в 10гр. Отсюда получается 60гр.-10гр. = 50гр., т.е. нам нужно от текущего момента выхода лепестка из датчика отсчитать угол в 50гр., что бы дать искру за 10гр. до вмт. я правильно понимаю? или есть более простой алгоритм действий?
Получается, что на частоте кварца 16МГц для 400 оборотов в минуту таймер без делителя насчитает 6600 тиков, а для 4000 - 600 тиков на один градус.
Реклама
Аватара пользователя
Gray64
Встал на лапы
Сообщения: 96
Зарегистрирован: Вт май 27, 2008 21:15:01
Откуда: Украина
Контактная информация:

Re: Фуоз+lsd на AVR

Сообщение Gray64 »

Вот тут для ижа есть готовое и проверенное. Любые кривые, причём не одна, можно выбирать. Можно нарисовать свою ЛЮБУЮ.
http://twowheel-oppozit.narod.ru/ignition.htm
На выходе код, и отлично коментированый файл асма.
А тут на выбор, море. Но это для тех генераторов что выдают под 200 вольт, минск, скутера разные.
http://www.transmic.net/en/16628-v6.htm
Делал с прошивками отсюда
http://www.transmic.net/en/16628-v6.htm , но схема по версии 2 с преобразователем 12-300 вольт.
https://www.youtube.com/watch?v=-6PzT-_SU_Y
https://www.youtube.com/watch?v=QB1tv8Z-0-c
Но математика - это красиво. Только помехи на неё ложили :) . Первая искра - и проц сошёл с ума, перезагрузился. Пока (случайно!) не поставил свечу с внутренним резистором. Можно и надсвечник с ним же. Стало намного лучше. А вообще отлично стало, когда поставил процессор 16F84 с внешним кварцем, прошивка там другая, просто порезал дорожки(лень, она такая), тогда наладилось всё.
Глаза боятся а руки делают!
Реклама
Mishkatoptyshka
Родился
Сообщения: 18
Зарегистрирован: Пт май 20, 2011 19:32:49

Re: Фуоз+lsd на AVR

Сообщение Mishkatoptyshka »

Скачал исходник на асме, скачал MLAB IDE, вот только не понимаю, почему в IDE не могу видеть значения констант и определенных регистров через #define, наводишь на нужную константу и всплывает надпись "not recognized". Регистры PORTA, STATUS и т.д. видит, а все остальное не видит. В программе есть регистры Ports, Flags, кторые меняют свое состояние по ходу отладки, как посмотреть, что в них лежит в IDE?
Может кто знает в чем дело?
Аватара пользователя
Gray64
Встал на лапы
Сообщения: 96
Зарегистрирован: Вт май 27, 2008 21:15:01
Откуда: Украина
Контактная информация:

Re: Фуоз+lsd на AVR

Сообщение Gray64 »

Вот тут тоже есть с исходником http://forum.rcdesign.ru/f89/thread1565 ... ost1937646
Интересная реализация, проц и преобразователь качает, и напругу контролирует..
Глаза боятся а руки делают!
ofpr
Родился
Сообщения: 5
Зарегистрирован: Пн апр 28, 2014 15:21:56
Откуда: Рига, Латвия, Прибалтика
Контактная информация:

Re: Фуоз+lsd на AVR

Сообщение ofpr »

У меня алгоритм прост. При срабатывании датчика запускается таймер и считает время всего оборота, то есть до следующего срабатывания датчика. После полученное значение делится на 12 т.к. надо узнать время за которое коленвал провернется на 30 градусов и от этого времени отнять время воспламенения бензина. При каждом срабатывании датчика счетчик сбрасывается в 0 и в первое прерывание по таймеру при сравнении заносится наше вычисленное значение. Как только таймер до него дотикает, создается искра. В общем так. И у датчика упреждение срабатывания также выставляется за 30 градусов до верхней мертвой точки.

Для 4-х тактника там надо делить время уже на 24 т.к. рабочий цикл там не 360 градусов, а 720. Потом выложу более свежий исходник.
Mishkatoptyshka
Родился
Сообщения: 18
Зарегистрирован: Пт май 20, 2011 19:32:49

Re: Фуоз+lsd на AVR

Сообщение Mishkatoptyshka »

Время горения бензина не меняется от условий? Степень сжатия, температура и т.д. Где то есть уже выверенные таблицы времени и скорости горения бензина при различных условиях?
Я предполагаю делать насечку в секторе 180-90 градусов с шагом в 10 градусов. По типу зубчатого маховика токо с использованием четверти (угла 90гр.).
Mishkatoptyshka
Родился
Сообщения: 18
Зарегистрирован: Пт май 20, 2011 19:32:49

Re: Фуоз+lsd на AVR

Сообщение Mishkatoptyshka »

Ой, сори, забыл сказать, что схема разрабатывается для одноцилиндрового 4х тактного двигателя.
ofpr
Родился
Сообщения: 5
Зарегистрирован: Пн апр 28, 2014 15:21:56
Откуда: Рига, Латвия, Прибалтика
Контактная информация:

Re: Фуоз+lsd на AVR

Сообщение ofpr »

Я предполагаю делать насечку в секторе 180-90 градусов с шагом в 10 градусов. По типу зубчатого маховика токо с использованием четверти (угла 90гр.).
Что-то как-то ни фига не понял...

Четверть 90 градусов это с вала датчика? Ко коленвалу это диапазон в 45 градусов получается до вмт.

Менять угол опережения зажигание шагами выдергивая нужный уоз из таблицы гораздо сложней и менее точный метод по сравнению с вычислением того-же на лету.
Таблицы есть но все сильно зависит от используемого бензина и типа двигателя на котором проводились измерения.

Время горения бензина естественно меняется от внешних условий, а конкретно от нагрузки на сам двигатель, ускорение, давление и температура воздуха, и еще куча всяких переменных. Но если это дело касается двигателей небольшого объема скажем до 125 кубов то большую часть этих параметров можно принять за константу, ибо прибавки мощности и уменьшение расхода горючки будут не ощутимы, например ввел коррекцию на температуру окружающего воздуха и получил уменьшение расхода топлива на 10мл на 100км. Разница смехотворная, а заморочек уйма. Добавление всех этих параметров не столь глобально влияют на кпд двигателя и его динамику, как например разница между между тупо фиксированным УОЗ и линейно меняющемся от оборотов. Если на двигателе у вас стоит индуктивный датчик то у вас уже по сути есть регулировка УОЗ от оборотов определяемая параметрами датчика и порога срабатывания коммутатора.

Степень сжатия это ваще статичная величина и не меняется от условий.
Mishkatoptyshka
Родился
Сообщения: 18
Зарегистрирован: Пт май 20, 2011 19:32:49

Re: Фуоз+lsd на AVR

Сообщение Mishkatoptyshka »

в таблице будет скажем 255 точек на диапазон оборотов от 200 до 15000. Эти 255 точек примерно описывают кривую уоз. можно сделать кусочно-линейчатую аппроксимацию и налету вычислять промежуточные точки, т.к линейное уравнение будет известно.
С другой стороны, наверное, делать от времени горения топливной смеси проще. Если знать кривую горения смеси от различных условий либо формулу по которой это вычисляется, то такой метод будет гораздо точнее чем табличный.
Может Вы знаете какую нибудь литературу, в которой это описано. Мои поиски в гугле на предмет времени горения не дали толком весомых результатов.
Конечная цель собрать уоз с корректировкой от датчиков детонации, лямбда датчика, датчика температуры воздуха. Может и еще, что - нибудь..... пока не знаю =)))
ofpr
Родился
Сообщения: 5
Зарегистрирован: Пн апр 28, 2014 15:21:56
Откуда: Рига, Латвия, Прибалтика
Контактная информация:

Re: Фуоз+lsd на AVR

Сообщение ofpr »

Лямбда зонд у вас инжектор что-ли?

На счет литературы не знаю что посоветовать, я все находил в гугле, просто толковать ему надо проще.
Время горения бензина можно вычислить и из обычного графика как я и делал чтобы определить среднее значение.
Ответить

Вернуться в «Периферия»