Проверил работу накопления энергии осциллографом на раельном блоке с использованием имитатора ДПКВ.
ИЛИ выключено, последняя прошивка, IAR.
Часть из твоих утверждений не соответствуют действительности. Мои результаты:
1. Накопление работает верно во всем диапазоне оборотов.
2. Длительность импульсов накопления зависит только от напряжения в соответствии с таблицой.
3. На высоких оборотах, когда время накопления приближается к периоду зажигания, оно начинает ограничиваться.
4. Пропусков не видел.
При включеном "ИЛИ" все работает правильно если время накопления неравно (приблизительно) периоду зажигания. В момент когда оно приблизительно равно периоду зажигания наблюдаются пропуски (на высоких оборотах уменьшаю напряжение и время накопления ничинает расти). Это баг и я буду испрявлять его.
Могу согласиться лишь с тем, что имитатор ДПКВ выдает чистый сигнал, а реальный двигатель имеет большой разброс периода вращения коленвала и тут действительно может быть верно следующее (как выразился teuer):
Если это действительно так, то я переделаю алгоритм. Dmitrich2 что скажешь? Ты говорил что у тебя нет проблем с запуском.Мне кажется, алгоритм расчета времени включения тока в катушке неверен. Проблема в том, что это время расчитывается во время "предыдущего" момента искры (ISR COMPA, 480 строка). То есть, включение катушки произойдет аж через пол оборота маховика, а за это время изменится скорость вращенния. Учитывая крошечный интервал времени, мы и получаем, что включится катушка не успевает. Расчитывать надо точно также, как и момент зажигания.
В прошивке исправил:
- увеличил время "мертвой зоны" (время горения искры) с 50мкс до 500мкс
- добавил инициализацию выходов зажигания перед запуском бутлоадера