Lösningen med spänningsdelning och två dioder funkade bra. Jag använde en 1 M trimpot som spänningsdelare och två stycken 1N4148. Hade det hela kopplat till en 74HCT14 och den triggade alldeles utmärkt. Två sådana kommer få vara buffert in till min Tiny15.
I ett ögonblick av inte allt för stor inteligens så bakade jag in hela min spole i smältlim. Nöjd med att den nu var skyddad och hade bra anslutning fick jag plötsligt tillbaka min tankeförmåga och insåg mitt misstag. Smältlim smälter ju vid värme.... Motorn på min MC blir varm....  

  Vad har jag gjort?
 Någon som kan ge tips på något annat man kan baka in spolen i för att ge bra mekaniskt skydd?
Någon som kan ge tips på något annat man kan baka in spolen i för att ge bra mekaniskt skydd?
Nu är också programmet uppdaterat. Skall löda ihop en prototyp på ett exprimentkort och provköra.
Kod: Markera allt
// Shiftlight XT660R
.include "tn15def.inc" 
.def Counter = r17	;Räknaren i register 17
.def Temp = r16		;Register 16 används till lite av varje
 
.org 0x0000 
rjmp Reset
//--- Interrupt Vector ------------------------------------------------- 
.org INT0addr
rjmp ExtInt			;Extern Interupt INT0
.org OVF1addr
rjmp TimerInt		;Intern Interupt Timer 1 overflow
Reset: 
//--- Init -------------------------------------------------------------- 
	ldi    	Counter,	0x00		; Nollställ räknaren
   	ldi 	Temp,		0b00111011	; Sätt PB2 som ingåmg och övriga som utgångar
   	out		DDRB,		Temp
   	sbi		PORTB,		PORTB0			; Sätt PB0 till 1
   	ldi    	Temp,		0b00000011  ; Sätt att trigga på Stigande flank
   	out    	MCUCR,		Temp
   	ldi    	Temp,		0b01000000  ; Aktiverar extern interupt INT0
   	out    	GIMSK,		Temp
//-- Sätter timer och overflow till att ge interupt ca 6,1 gånger/sec vid CK 1,6 MHz
//-- 1600000/10246 ~ 6,1
   
   	ldi 	Temp, 		0b00001111	; Sätt Timer1 prescaler till CK/1024
   	out 	TCCR1, 		Temp
	ldi 	Temp,		0			; Nollställ timer
	out 	TCNT1,		Temp
	ldi 	Temp,		0b00000100	; Aktivera interupt på timer1 overflow
	out 	TIMSK,		Temp
	sei
Loop:
	rjmp 	Loop
//-- Extern interupt PB2 -----------------------
ExtInt:
	inc 	Counter					; Öka räknaren
	reti
//-- Intern Timer Interupt ---------------------------
//-- Testar med 3660 RPM kommer senare ökas till ca 7000 RPM 
TimerInt:
	ldi 	Temp, 		10  		; 3660 RPM/60/6,1 ger 10
	cp 		Counter, 	Temp
	brsh 	Light					; Om räknaren över hoppa
	sbi 	PORTB, 		0    		; Släck lysdiod
	ldi 	Counter, 	0 			; Nollställ räknare
	reti
Light:
	cbi 	PORTB, 		PORTB0		; Tänd lysdiod
	ldi 	Counter, 	0 			; Nollställ räknare
	reti
För att finsjustera kan jag sedan sätta timer1 till ett högre värde än noll varje gång timer interupt inträffar.
// Nils