Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

алгоритм опережения зажигания

Непрочитано 28.02.2012, 10:47  
artyomugr
Вид на жительство
 
Аватар для artyomugr
 
Регистрация: 05.04.2008
Адрес: Украина, Ахтырка
Сообщений: 302
Сказал спасибо: 148
Сказали Спасибо 31 раз(а) в 30 сообщении(ях)
artyomugr на пути к лучшему
По умолчанию алгоритм опережения зажигания

Добрый день всем!
Помогите пожалуйста с алгоритмом опережения зажигания...
Просто уже мозг дымит после целой недели попыток....
У меня имеется контроллер Attiny2313
индикатор семисегментный на 4 разряда из периферии прерывание по входу
INT0
и два таймера.

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

[HTML]interrupt [EXT_INT0] void ext_int0_isr(void)
{


timer1=START; // включаем таймер


if(!(PIND.2))
{
LED=0;

x++;
TCNT1=0;
}

else
{
x++;
/*if(data›200)*/LED=1; // повторяем импульс если низкие обороты

//data = TCNT1;
/* if(data‹200)
{
i = data;

}*/
TCNT1=0;

}



}[/HTML]

тут инкрементируем импульсы при событии.

[HTML] if(++start › 50)
{
if(++timer›=100)
{
#asm("cli")
x/=2;
data=x;
timer=start=x=0;

}

if (timer==0)
{
#asm("sei")
}
start=51;
}
delay_ms(10);[/HTML]

тут мы забираем насчитанные импульсы


Всем буду очень благодарен за помощь!
С ув. Артем
Реклама:
artyomugr вне форума  
Непрочитано 28.02.2012, 14:41  
MisterDi
Почётный гражданин KAZUS.RUN
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,284
Сказал спасибо: 441
Сказали Спасибо 1,040 раз(а) в 701 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: алгоритм опережения зажигания

Угол опережения зажигания зависит не только от оборотов, но и от других параметров управления двигателем, типа нагрузки, температуры, положения заслонки и т.п. когда-то пробовал сделать что-то подобное, но не хватило знаний по теории ДВС.
Цитата:
PS индикатор для вывода частоты оборотов двигателя, пока только это и работает и тоже кривовато....
ИМХО совмещать тахометр и управление двигателем на не очень мощном кристалле не есть хорошая идея.
__________________
misterdi<@>i.ua
MisterDi вне форума  
Непрочитано 28.02.2012, 15:43  
Pajatel
Прописка
 
Аватар для Pajatel
 
Регистрация: 04.12.2010
Сообщений: 243
Сказал спасибо: 9
Сказали Спасибо 51 раз(а) в 32 сообщении(ях)
Pajatel на пути к лучшему
По умолчанию Re: алгоритм опережения зажигания

..немножко в курсе как делается программно опережение изходя хотя бы только от оборотов двигателя. Обычно зажигание изначально выставляется максимально раннее, а процем в зависимости от оборотов делается запаздывание согласно таблице. Т.е. получается мы вычисляем наоборот запаздывание а не опережение..
..и проц успеет это сделать и считать обороты тоже. На самых больших оборотах(6000) время между импульсами порядка 5ms - вполне приличное время для любых пересчётов. Конечно просче это делать на асме и по прерываниям чтоб чётко вкладыватся в отведённое минимальное время...
Pajatel вне форума  
Сказали "Спасибо" Pajatel
artyomugr (28.02.2012)
Непрочитано 28.02.2012, 16:11  
artyomugr
Вид на жительство
 
Аватар для artyomugr
 
Регистрация: 05.04.2008
Адрес: Украина, Ахтырка
Сообщений: 302
Сказал спасибо: 148
Сказали Спасибо 31 раз(а) в 30 сообщении(ях)
artyomugr на пути к лучшему
По умолчанию Re: алгоритм опережения зажигания

Сообщение от Pajatel Посмотреть сообщение
..немножко в курсе как делается программно опережение изходя хотя бы только от оборотов двигателя. Обычно зажигание изначально выставляется максимально раннее, а процем в зависимости от оборотов делается запаздывание согласно таблице.
Вы знаете , я так и понял когда симулировал прошивку готового устройства.
Реализованного на ПИК контроллере.
Четко повторить импульс я могу закидывать адрес массива в зависимости от оборотов я тоже могу, но как сделать точную задержку импульса и в точности его повторить только позже я не знаю.....
Как мне решить эту задачу? С помощью двух таймеров и прерывания по входу? Подскажите пожалуйста алгоритм!

Спасибо что ответили!
artyomugr вне форума  
Непрочитано 28.02.2012, 16:15  
artyomugr
Вид на жительство
 
Аватар для artyomugr
 
Регистрация: 05.04.2008
Адрес: Украина, Ахтырка
Сообщений: 302
Сказал спасибо: 148
Сказали Спасибо 31 раз(а) в 30 сообщении(ях)
artyomugr на пути к лучшему
По умолчанию Re: алгоритм опережения зажигания

Сообщение от MisterDi Посмотреть сообщение
ИМХО совмещать тахометр и управление двигателем на не очень мощном кристалле не есть хорошая идея.
я с Вами согласен. Но тахометр имеет низкий приоритет по сравнению с опережением зажигания.





Сообщение от MisterDi Посмотреть сообщение
Угол опережения зажигания зависит не только от оборотов, но и от других параметров управления двигателем, типа нагрузки, температуры, положения заслонки и т.п. когда-то пробовал сделать что-то подобное, но не хватило знаний по теории ДВС.
Я хочу сделать для мото "МТ" древний. Для друга.
Сначала думал только опережение, потом решил добавить тахометр..
Контроллера по моим подсчетам в натяжку но должно хватить
artyomugr вне форума  
Непрочитано 28.02.2012, 16:27  
alkyl1978
Прохожий
 
Регистрация: 09.09.2010
Адрес: Ярославль
Сообщений: 1
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
alkyl1978 на пути к лучшему
По умолчанию Re: алгоритм опережения зажигания

на сайте http://oppozit.ru есть на ATTINY и на PIC. есть исходники. я сам собирал электронное зажигание с опережением на пике. все отлично работает на днепре уже третий год. по моему легче собрать два устройства. зажигание и тахометр. чем все совмещать и усложнять устройство.
alkyl1978 вне форума  
Непрочитано 28.02.2012, 16:34  
artyomugr
Вид на жительство
 
Аватар для artyomugr
 
Регистрация: 05.04.2008
Адрес: Украина, Ахтырка
Сообщений: 302
Сказал спасибо: 148
Сказали Спасибо 31 раз(а) в 30 сообщении(ях)
artyomugr на пути к лучшему
По умолчанию Re: алгоритм опережения зажигания

Спасибо Вам за ссылку. Но у меня есть цель набраться опыта, хочется сделать свой прототип.
Если не будет контроллер вытягивать тахометр и опережение, сделаю два отдельных модуля. Благо процов хватает
artyomugr вне форума  
Непрочитано 28.02.2012, 16:37  
artyomugr
Вид на жительство
 
Аватар для artyomugr
 
Регистрация: 05.04.2008
Адрес: Украина, Ахтырка
Сообщений: 302
Сказал спасибо: 148
Сказали Спасибо 31 раз(а) в 30 сообщении(ях)
artyomugr на пути к лучшему
По умолчанию Re: алгоритм опережения зажигания

Что то не найду там исходника опережения.... не могли бы Вы швырнуть сцилкой в меня?
artyomugr вне форума  
Непрочитано 28.02.2012, 16:40  
int4880053
Прописка
 
Аватар для int4880053
 
Регистрация: 03.05.2005
Адрес: Москва
Сообщений: 287
Сказал спасибо: 1
Сказали Спасибо 25 раз(а) в 23 сообщении(ях)
int4880053 на пути к лучшему
По умолчанию Re: алгоритм опережения зажигания

Сушетвует два понятия -прямой способ упрвлениия двигателем- им обычно
пользуются автоугонщики, т е игнорируют все факторы включая температуру
инжектора и многиие другие параметры И второе -это требование по
евро 4 . Здесь в работу контроллера включаются все показания датчиков.
Для конкретного двигателя собрать все и обработать -довольно большая задача.
Существует два способа решения: 1 это табличное преобразование
так в старых машинах было применяли тихоходные прцессоры типа 48 51 и Mc
Новый век принес новый подход к решению данной задачи так как скорость
процессоров выросла на 2 порядка то вполне можно применить математический
метод вычисления .Так как на один оборот коленчатого вала времени вполне хватит.

Последний раз редактировалось int4880053; 28.02.2012 в 17:02.
int4880053 вне форума  
Сказали "Спасибо" int4880053
artyomugr (28.02.2012)
Непрочитано 28.02.2012, 17:12  
artyomugr
Вид на жительство
 
Аватар для artyomugr
 
Регистрация: 05.04.2008
Адрес: Украина, Ахтырка
Сообщений: 302
Сказал спасибо: 148
Сказали Спасибо 31 раз(а) в 30 сообщении(ях)
artyomugr на пути к лучшему
По умолчанию Re: алгоритм опережения зажигания

Хорошо рассказали, но вот если бы Вы написали "алгоритм"
типа такого:

1 подали питание
2 инициализируем периферию
3 входим в вечный цикл
4 ждем N время включаем выход
5 ждем N время выключаем выход

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

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Электронный замок зажигания Secter Электроника средств транспорта 29 17.09.2011 16:45
Катушка зажигания в Proteus Alexandr_Il Микроконтроллеры, АЦП, память и т.д 4 26.04.2011 22:41
Синхронизация зажигания ПЛМ igorm_ Электроника средств транспорта 46 08.04.2011 09:16
IGBT в системе зажигания elektrik158 Электроника средств транспорта 7 27.06.2010 23:02
Переделка системы зажигания azbb Электроника средств транспорта 27 15.10.2009 19:35


Часовой пояс GMT +4, время: 09:34.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.