Började så smått inomhus:
Översiktsbild (pilen visar på hallswitchen):

Såhär sitter magneten på borrmaskinen:

Så en liten film (2MB)hur det ser ut när man kör. Lysdioderna är till för att visa lite statusar så man vet när signalen når fram. Lite vanskligt att hålla i kamera och köra borrmaskin samtidigt

I filmen ovan noteras maxvarvet till 2426 vilket jag tycker stämmer bra med denna bild:

Men hur vet man att detta stämmer med verkligheten? Tänkte jag kollar med Hz-mätaren på min multimeter. Tyvärr visade den helgalna värden antagligen beroende på att den vill ha jämna sinusvågor in.
Enda jag tänkte då var:

Motorrummet:

Såhär sattes sensorn fast (den vita pricken th ovanför kontakten är magneten):

Annan vinkel:

Självaste sensorn fastsatt på... ja det ser ni själva


Väldigt trist att kolla på bilder tyckte jag så jag "råkade" filma en provkörning.(5MB).
Som synes stämmer de överens väldigt bra(enligt mig). Varvräknaren är säkert inte helt 100% den heller då den är en elektronisk variant som drivs på generatorn på något vis.(Kan ju absolut inte vara PICen som räknar fel eller hur


Nåväl förrutom detta så fungerade det direkt på första försöket

Efter provkörning upptäcktes dock detta:

Hade jag provkört mera hade det varit färdigprogrammerat med WISPen tills ny kabel införskaffats eller den gamla skarvats

Edit:Ändrade rubriken efter påpekan till tydligare.
Edit2:Utlovad kod:
Kod: Markera allt
Interupt_Code CODE
HighInt:
;Timer0 Interupt routine
BTFSS INTCON,TMR0IF
GOTO NOT_TMR0IF
BCF T0CON,TMR0ON
BSF Interupt_Status,5
CLRF TMR0H
CLRF TMR0L
BCF INTCON,TMR0IF
NOT_TMR0IF
;Timer1 Interupt routine
BTFSS PIR1,TMR1IF
GOTO NOT_TMR1IF
BCF T1CON,TMR1ON
BSF Interupt_Status,7
BCF PIR1,TMR1IF;
NOT_TMR1IF
RETFIE FAST
Main_CODE CODE
Main
BTFSC ALPS_BUTTON ;User must release button to continue
BRA Main
BSF T0CON,TMR0ON
Disp_Loop
CLRF PORTC
BTFSS Interupt_Status,5
BRA Disp_Loop
BCF T0CON,TMR0ON ;Stops timer0
;Prepare to take a time
CLRF TMR1L
CLRF TMR1H
CLRF Interupt_Status
;Wait until magnet has passed sensor for first time
Wait_4_first_Pass
BTFSC PORTC,2
BRA Wait_4_first_Pass
BSF T1CON,TMR1ON ;Start timer1
Wait_4_first_Pass_Done
BTFSS PORTC,2
BRA Wait_4_first_Pass_Done
;Waits for the time or overflow
Wait_For_Time
BTFSC Interupt_Status,7
BRA Wait_For_Time_Done
BTFSS PORTC,2
BRA Wait_For_Time_Done
BRA Wait_For_Time ;Loop
Wait_For_Time_Done
BCF T1CON,TMR1ON ;Stops timer1
BTFSC Interupt_Status,7 ;If timer overflow
BRA Error_Disp
CLRF Interupt_Status
MOVFF TMR1H, LUK_H
MOVFF TMR1L, LUK_L
CALL DIV32
MOVFF WRD_H, NumH
MOVFF WRD_L, NumL
CALL Bin2Dec9999
MOVLW 80h ;Move Cursor HOME
CALL Send_Control
MOVF TenK, W
ADDLW b'110000'
CALL Send_Byte
MOVF Thou, W
ADDLW b'110000'
CALL Send_Byte
MOVF Hund, W
ADDLW b'110000'
CALL Send_Byte
MOVF Tens, W
ADDLW b'110000'
CALL Send_Byte
MOVF Ones, W
ADDLW b'110000'
CALL Send_Byte
BSF T0CON,TMR0ON ;Starts timer1
GOTO Disp_Loop
Error_Disp
MOVLW 80h ;Move Cursor HOME
CALL Send_Control
CLRF Interupt_Status
MOVLW "E"
CALL Send_Byte
MOVLW "r"
CALL Send_Byte
MOVLW "r"
CALL Send_Byte
MOVLW "o"
CALL Send_Byte
MOVLW "r"
CALL Send_Byte
CALL Delay_Long
BSF T0CON,TMR0ON ;Starts timer1
GOTO Disp_Loop
