Der Lüfter ist wie gesagt an 12V angeschloßen, wobei das Tachosignal mit einem 10K Pullup an den ICP-Pin des Mega16 geht.
erm du meinst nen pulldown oder ? wenn da 12V in den controller reinpulsen nimmt der dir das bestimmt irgendwann sehr übel! ich würd das signal erstmal nachmessen (mit oszi wenn geht)
Musst du nicht anstelle von
Icp_neu = Capture1
dies schreiben:
Icp_neu = Timer1
nein, wenn der ICP ne flanke detektiert, schreibt er sofort den aktuellen timerwert in das capture register, also vollkommen richtig

wie gesagt ich würde restmal das signal überprüfen, ihc kenn das von billig-einschub-tachometern für lüfter, dass die werte manchmal heftig schwanken, liegt aber meist daran dass die das signal ungepuffert auswerten, ich würd n schmitttrigger vorschalten, so bekommste das signal schonmal auf definitiv 5V runter(n spannungsteiler birgt das risiko einer spannungsspitze) und es wird ein sauberes rechtecksignal draus!

EDIT: ich muss glatt aml nachschauen, aber theoretisch müsste man über einen OPV auch ne gewisse potentialtrennung erreichen