Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
02.04.2012, 16:14
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Задержка или опережение импульса
Для начала уберём смайлики...
PHP код:
|
counter_rpm=(TCNT1L|((int)TCNT1H‹‹8)); //читаем скорость вращения
i=60000/counter_rpm; //вычисляем ячейку таблицы
bufer=counter_rpm-(counter_rpm*tablica[i]/36)-150; //вычисляем задержку
OCR1BH=(char)(bufer››8); //заносим задержку
OCR1BL=(char)bufer; //в счётчик
bufer=bufer-2000; //длительность импульса 2мс
OCR1AH=(char)(bufer››8);
OCR1AL=(char)bufer;
TIFR=0xff; //сбрасываем флаги
TCNT1L=TCNT1H=0x00; //сбрасываем счётчик
TCCR1B=0x02; //запускаем счётчик 1Мгц
#asm("sei")
};
};
|
|
|
|
|
02.04.2012, 16:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,690
Сказал спасибо: 130
Сказали Спасибо 1,089 раз(а) в 521 сообщении(ях)
|
Re: Задержка или опережение импульса
Таки может я невнятно запостил ... Не нужно покупать готовое. Тем боле это стоит дофига.
Посмотри на схемотехнику. Система зажигания гонит в эфир столько мусора, что снятие сигнала датчика в машине достаточно нетривиальная задача. Посмотри как считывается сигнал с датчиков коленвала и распредвала. Формирование импульсов на катушку зажигания. Именно схемотехника, обвязка.
Возможно будет интересно глянуть на их реализацию регулировки угла. Не факт, что ты это используешь, но может появятся свежие мысли.
Обрати внимание как сильно растет угол в зависимости нагрузки.
Если модуль зажигания не учитывает нагрузки - проблематично будет сделать угол оптимальным во всем диапазоне работы.
Если двигатель "серьезный" (не бензопила), может имеет смысл всё-таки плучать информацию о нагрузке? Завести сигнал с положения дросселя, разряжения во впускном? Дачики не дорогие, но позволит реализовать нормальную карту зажигания.
|
|
|
|
02.04.2012, 17:24
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Задержка или опережение импульса
Сообщение от DanilinSA
|
снятие сигнала датчика в машине достаточно нетривиальная задача.
|
Эт смотря с какого типа датчика...
6000 оборотов в минуту это всего лишь 100 оборотов в секунду...
Или 100 герц. Или целых 10 миллисекунд...
Не так страшен чьорт...
|
|
|
|
02.04.2012, 17:52
|
|
Прописка
Регистрация: 21.11.2010
Адрес: Донецк
Сообщений: 236
Сказал спасибо: 37
Сказали Спасибо 40 раз(а) в 28 сообщении(ях)
|
Re: Задержка или опережение импульса
Зачем придумывать велосипед, при чем еще и с мотором? Для снятия нагрузки с мотора достаточно ДАД, если еще и топливо подавать нужен ДПДЗ.
А график красивый, только для разных типов моторов они все разные.
|
|
|
|
02.04.2012, 23:03
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Задержка или опережение импульса
Сообщение от omercury
|
6000 оборотов в минуту это всего лишь 100 оборотов в секунду...
Или 100 герц. Или целых 10 миллисекунд...
|
Все же 200Гц для 4-х цилиндрового четырехтактного мотора.
|
|
|
|
03.04.2012, 01:07
|
|
Прописка
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Задержка или опережение импульса
Я бы хотел для начала разобраться с самым элементарным т.е с кодом который уже есть и я не услышал ответом на свои вопросы только о смайликах
Кстати замечу двигатель 2т.
У меня нет никаких ДПДЗ и ДАД двигатель 2т и прост, только проблема с положением датчика, но и мощность хотелось бы получить максимальную и обороты тоже.
|
|
|
|
03.04.2012, 01:41
|
|
Прописка
Регистрация: 21.11.2010
Адрес: Донецк
Сообщений: 236
Сказал спасибо: 37
Сказали Спасибо 40 раз(а) в 28 сообщении(ях)
|
Re: Задержка или опережение импульса
Ага, тогда ДАД нужен однозначно, без него не получиться толкового ни чего, приведу простой пример: для срыва колес в шлифовку надо что сделать, правильно раскрутить двигатель сначала, придержать сцепление, потом отпустить, после установки МПСЗ для срыва колес не надо держать сцепление, плавно тронулся, убрал ногу со сцепления и газа, авто катиться, потом нажал на педаль до упора и через1,5-2 метра колеса начинают шлифовать до тех пор пока не сбросишь газ, на трамблере с грузиками и вакуумом такое не получается. А по кодам попробую .asm найти для примера на 876, вроде где то был.
|
|
|
|
03.04.2012, 11:18
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Задержка или опережение импульса
Сообщение от kison
|
Все же 200Гц для 4-х цилиндрового четырехтактного мотора.
|
Да в курсе я про 2 импульса на оборот...
Я про то, что не такая уж это страшная цифра - 6000 оборотов.
Это во-первых.
Во-вторых есть аналогичная штука, но только полностью электрическая - двигатель BLDC... Здесь регулируется УОЗ, там момент подачи напряжения на обмотку... (эт я идею генерирую )
|
|
|
|
03.04.2012, 11:49
|
|
Прописка
Регистрация: 23.07.2007
Сообщений: 209
Сказал спасибо: 109
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Задержка или опережение импульса
Люди обороты тут не причем так как речь идет о тиньке которая поддерживает 8-12мгц поэтому запас скорости огромный.
Вы мне лучше скажите как мне в данном коде изменить начальный угол и что за массив такой что за значения находятся в массиве и как эти значения вывести.
И каким образом происходит смещение угла на определенных оборотах если нет ни каких условий.
|
|
|
|
03.04.2012, 12:18
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Задержка или опережение импульса
Сообщение от SAHA_T
|
каким образом происходит смещение угла
|
Вот тут как раз всё просто.
Цитата:
|
counter_rpm=(TCNT1L|((int)TCNT1H‹‹ 8 )); //читаем скорость вращения
i=60000/counter_rpm; //вычисляем ячейку таблицы
|
Тут вычисляется в условных единицах количество оборотов.
Из таблицы читается задержка.
Далее она пересчитывается в такты таймера и запускается отсчёт задержки.
Ну а потом уже сам импульс...
Сообщение от SAHA_T
|
сразу встречный вопрос зачем тут массив.
|
Так как график УОЗ относительно оборотов нелинейный, проще брать значения из таблицы, нежели рассчитывать. Тем более, что из параметров для расчёта есть только частота вращения вала...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:28.
|
|