Wohl noch nie einen rennenden IC gesehen ??!?

Sie sind der

 

Besucher

Letzte Aktualisierung: 15.04.2006

 

LED-Drehzahlmesser
Zu Verkaufende Domainnamen

www.preiswertiger-shoppen.de
www.preiswertiger-reisen.de
www.kunstmichmalgernhaben.de
www.micherla.de
www.möch.de

Der PIC-LED-Drehzahlmesser
von Johannes Walk, verfasst 10.2004

Hier finden Sie Informationen, Erfahrungen und Pläne, die den Bau eines PIC-basierenden Drehzahlmessers dokumentieren. Diese Informationen soll anderen Bastlern eine Art Fingerzeig für eigene Ideen und deren Verwirklichung sein. Viel Spass beim Durchgucken ;)

PS.: Ich wäre auch an einem gezielten Interressenaustausch interressiert.

Beim potentiellen Nachbauen übernehme ich keinerlei Haftung für irgendeiner Art von Fehlfunktion und möglichen Auswirkungen. Die hier vorgestellten Beispiele wurden hauptsächlich selber erarbeitet. Bei Verstößen gegen vorhandene Copyright-Bestimmungen übernehme ich keine Haftung, bitte aber um eine Benachrichtigung.

Inhalt dieser Seite:

Vorwort:

Und wieder einmal kam mein Bruder zu mir und fragte: “Du, horch amool. Ii hoab doo aan olden Drehzahlmessa gfunda. Und ii glaab, der is hii. Ii hoab doch nur den Zeicher angemoolt... Kannst mer da ned was mache?” Und da ich als Student ja soo viel Zeit hab (das war eigentlich ironisch gemeint) und ich guter Laune war, fing ich auch gleich an, eine Schaltung zu entwerfen. Natürlich half mein ‘Bruderherz’ ganz fleissig mit.

Das Resultat des Arbeitstages war ein ganz ansehlicher und ziemlich genauer LED-Drehzahlmesser, der Tags darauf auch gleich in sein Auto verbaut wurde. Im Folgenden wird die Schaltung, der Aufbau und der Einbau sowie die Software genauer beschrieben.

Beschreibung:

Wie der Name schon sagt, handelt es sich hier um einen Umbau eines alten (defekten) analogen Drehzahlmessers in einen digitalen Drehzahlmesser mit analoger Leuchtdiodenbalkenanzeige. Das Messgerät kann einen Drehzahlbereich ab 0 UpM bis hin zu 8000 UpM und höher in 250’er-Schritten messen und anzeigen. Zwischenwerte werden durch ein Impuls-Pausenverhältnis der nächsthöheren LED angezeigt. Dies ist zugegebenermaßen etwas gewöhnungsbedürftig, wenn es im Blickwinkel blinkt, kann aber in der Software verbessert werden.

Der LED-Drehzahlmesser basiert auf dem PIC 16F874/877, der mit seiner Fülle an I/O-Pins die LEDs direkt ansteuern kann und die Gesamtschaltung daher sehr einfach macht.

Programmiert wurde die Schaltung für einen 4-Zylinder Benzinmotor. Die Drehzahlmessung erfolgt direkt oder über Teilerwiderstände am Zündspulenunterbrecher. Konfiguriert wurde der PIC auf eine Taktfrequenz von 20MHz. Es wurden alle Portpins ausser PORTA,0 als LED-Pins verwendet. Die Schaltung wird angeschlossen über insgesamt 4 Kabel. (+Ub, GND, TAKT, Hintergrundbeleuchtung).

Der Schaltplan:

-GROßBILD-

Die Software:

Programmiert unter der freien Oberfläche MPLAB von MICROCHIP(R)

; Programm fur digitale Drehzahlanzeige V1.0 mit 16F874
; (C) Johannes Walk
;
; Für PIC16F874
; Osc: Quartz, HS, 20MHz 30pF
; Mit Funktionstest und SPIKE-Unterdrückung
; Eingang: 100k auf 5,1V-ZD (0,5W) und 10nF gen GND in PORTA,0
; Ausgänge: ab PORTA,1 32 OUT's aufsteigend
; Anzeige: ab 0 RPM in 250 RPM-Schritten, aufsteigend, Balkenanz.
 
 LIST  P=PIC16F874
 
; Include file
 
 include <p16f874.inc>
 
DZ00 equ 0x70
DZ01 equ 0x71
DZ02 equ 0x72
DZ03 equ 0x73
TIMEREG1 equ 0x60
EINGREG  equ 0x61
 
 goto Definitionen
 
TEST
 clrf TIMEREG1
tests1
 call TESTT
 btfss PORTE,2
 goto tests1
tests2
 call TESTT
 btfsc PORTE,2
 goto tests2
 call RESET
 call DISPLAY
 RETURN
 
TESTT
 clrwdt
 btfss INTCON,2 ; Bit für TMR0-Überlauf, 1 wenn passiert
 RETURN
 bcf INTCON,2
 decfsz TIMEREG1,f
 RETURN
 movlw 0x60
 movwf TIMEREG1
 call ROTATE
 call DISPLAY
 RETURN
 
TIMER
 clrwdt
 btfss INTCON,2 ; Bit für TMR0-Überlauf, 1 wenn passiert
 RETURN
 bcf INTCON,2
 decfsz TIMEREG1,f
 RETURN
 movlw 0x92 ;3D=61(20MHz), Teilerfaktor für 0,05 sec (20,01Hz)
 movwf TIMEREG1
 call DISPLAY ; Wenn die Zeit rum ist: RESET...
 call RESET
 call ROTATE
 RETURN
 
EINGANG
 btfsc PORTA,0
 goto e01
e00 ;Eingang=0
 bcf EINGREG,0
 RETURN
e01 ;Eingang=1
 btfss EINGREG,0
 call FLANK
 bsf EINGREG,0
 RETURN
 
FLANK
 call ROTATE
 RETURN
 
ROTATE
 RLF DZ00,f
 bsf DZ00,0
 RLF DZ01,f
 RLF DZ02,f
 RLF DZ03,f
 RETURN
 
RESET
 clrf DZ00
 clrf DZ01
 clrf DZ02
 clrf DZ03
 RETURN
 
DISPLAY
 clrf PORTA
 btfss DZ00,0
 bsf PORTA,1
 btfss DZ00,1
 bsf PORTA,2
 btfss DZ00,2
 bsf PORTA,3
 btfss DZ00,3
 bsf PORTA,4
 btfss DZ00,4
 bsf PORTA,5
 clrf PORTB
 btfss DZ00,5
 bsf PORTB,0
 btfss DZ00,6
 bsf PORTB,1
 btfss DZ00,7
 bsf PORTB,2
 btfss DZ01,0
 bsf PORTB,3
 btfss DZ01,1
 bsf PORTB,4
 btfss DZ01,2
 bsf PORTB,5
 btfss DZ01,3
 bsf PORTB,6
 btfss DZ01,4
 bsf PORTB,7
 clrf PORTC
 btfss DZ01,5
 bsf PORTC,0
 btfss DZ01,6
 bsf PORTC,1
 btfss DZ01,7
 bsf PORTC,2
 btfss DZ02,0
 bsf PORTC,3
 btfss DZ02,1
 bsf PORTC,4
 btfss DZ02,2
 bsf PORTC,5
 btfss DZ02,3
 bsf PORTC,6
 btfss DZ02,4
 bsf PORTC,7
 clrf PORTD
 btfss DZ02,5
 bsf PORTD,0
 btfss DZ02,6
 bsf PORTD,1
 btfss DZ02,7
 bsf PORTD,2
 btfss DZ03,0
 bsf PORTD,3
 btfss DZ03,1
 bsf PORTD,4
 btfss DZ03,2
 bsf PORTD,5
 btfss DZ03,3
 bsf PORTD,6
 btfss DZ03,4
 bsf PORTD,7
 clrf PORTE
 btfss DZ03,5
 bsf PORTE,0
 btfss DZ03,6
 bsf PORTE,1
 btfss DZ03,7
 bsf PORTE,2
 RETURN
 
Definitionen ;   Allg. Grunddefinitionen
 clrw
 clrwdt
 BANKSEL TMR0
 clrf PORTA
 clrf PORTB
 clrf PORTC
 clrf PORTD
 clrf PORTE
 BANKSEL OPTION_REG
 movlw b'00000000'
 movwf ADCON0
 movlw b'00000111'
 movwf ADCON1
 movlw b'00000001'
 movwf TRISA
 movlw b'00000000'
 movwf TRISB
 movlw b'00000000'
 movwf TRISC
 movlw b'00000000'
 movwf TRISD
 movlw b'00000000'
 movwf TRISE
 clrf INTCON
 movlw b'00000011'
 movwf OPTION_REG
 clrwdt
 BANKSEL TMR0
 clrf PORTA
 clrf PORTB
 clrf PORTC
 clrf PORTD
 clrf PORTE
 clrf DZ00
 clrf DZ01
 clrf DZ02
 clrf DZ03
 clrf TIMEREG1
 call TEST
 
Main
 clrwdt
 call TIMER
 call EINGANG
 goto Main
 
 END

Der Aufbau:

Los ging alles mit einer Idee, einem Haufen Einzelteile eines alten Drehzahlmessers und etwas Effektlack.

Die LEDs waren auch schnell montiert und mit Heißkleber auf der Unterseite vergossen.

Nun wurden die einzelnen Leitungen für die LEDs angelötet und der Magnetteil des alten Meßinstruments als Skalenhalter montiert.

Mal überlegen... Was fehlt noch?
Ja, genau richtig! Die Schaltung!
Als Trägerplatine wurde hierfür eine alte Streifenrasterplatine rundgeschnitten und das schon etwas korrodierte Kupfer abgeschliffen.

Nachdem alle Einzeldrähtchen an der Schaltung angelötet waren, wurde diese direkt auf das Display-Gehäuse geschraubt. Alle Versorgungsleitungen wurden auf der Kupferseite angelötet und mit Kabelbinder mechanisch Zugentlastet.

Nun geht’s ans Eingemachte:
Die Software!

Alle Tests erfolgreich. Ein Demo/Test-Modus wurde auch schon programmiert. Nun wird das Ganze in das frisch lackierte Gehäuse gebaut.

Zunächst wurde die Skalenscheibe in 250’er Schritten mit einem 3mm-Bohrer gebohrt und so für die LEDs vorbereitet.

Die LED-Vorwiderstände sind direkt an die LED-Beinchen angelötet worden und wurden der Einfachheit halber gleich zusammengeschlossen.

Nun sind alle LEDs versorgt, das Display ist somit fertig.

Der fast fertige, sehr einfach gehaltene Schaltungsaufbau.

Erster Test: Leuchten alle LEDs?

Nach längerer Justagearbeit nun endlich ein sehr gutes und genaues Anzeigebild. Jetzt wird getestet...

Abschließender Test mit roter Hintergrundbeleuchtung und Drehzahlanzeige. Ein Walktronics-Schriftzug ist auch schon drin ;)

Weitere Fotos:

Natürlich blieb es nicht nur bei dem Aufbau. Die Schaltung wurde gleich am nächsten Tag in das Auto meines Bruders verbaut.

Das Opfer.

Der Einbau.

Das Gesamtbild.

[Hauptseite] [Seitenübersicht] [Über Mich] [Elektronik] [Projekte] [Software] [Bilder] [Studium] [Downloads] [Links] [Gästebuch] [History] [Impressum]

 

Copyright by Johannes Walk (C) 2002-2006
www.walktronics.com

-