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

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

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

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

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

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

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

 
Опции темы
Непрочитано 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.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
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
Адрес: Москва
Сообщений: 289
Сказал спасибо: 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, время: 15:17.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot