По схемата бих ти препоръчал вместо 7805 да ползваш LM2940- има по-добър обхват на напрежения. Аз ползвам за крайни GS14C40.
Това с оборотите го има. При мен донякъде е полурешено.
Писах си в Рено форума с Румен, който от доста години се занимава с ТАП точно по този въпрос, но той така и не пожела поне да спомене някаква идея как е решил въпроса.
Аз съм вградил в софта два алгоритъма за 'предсказване' : единия е 'last interwal' т.е. последния период на импулсите от тахометъра (директно съм закачен на датчика на хол), другия е AlfaBetaGamma алгоритъм, който е описан в Megasquirt сайта. Правя оценка на грешката динамично и избирам, кой алгоритъм е по-точен в момента и неговите данни взимам. Въпреки това имам проблеми с предсказването.
На теория всичко трябва да е наред, но на практика не е
Можем да помислим по теоретичното решение.
При теб може би се получава следния проблем: понеже с вдигане на оборотите се намаля времето между импулсите възможно е твоето предсказание на предварението да се окаже по-дълго от истенския импулс към бобината. Тоест ти изоставаш от импулса на CPU на двигателя.
Затова ако срешнеш такъв случай (чакаш за изтичане на времето на аванса, а пристигне нов инпулс към бобината) просто веднага подай импулс към бобината. Така поне ще пуснеш оригиналния ъгъл на запалване.