Toyota Yaris Forums - Ultimate Yaris Enthusiast Site
 

 


 
Go Back   Toyota Yaris Forums - Ultimate Yaris Enthusiast Site > Technical Forums > DIY / Maintenance / Service
  The Tire Rack

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Old 12-07-2008, 05:41 PM   #1
metalshark
MetalShark
 
Drives: 2008 Yaris LB
Join Date: Oct 2008
Location: Mesa, AZ
Posts: 104
Source code for Yaris Tachometer

[IMG][/IMG]
If you want to build a tachometer using a BS2 micro-processor the following will help:
' {$STAMP BS2}
' {$PBASIC 2.5}
'************************************************* **************************************
'* TACHOMETER PROGRAM FOR 2008 TOYOTA YARIS. *
'* VERSON 2.0 BY STAN CLOYD 3/07/2009. *
'* THIS UPDATE EXPANDS TACHOMETER INDICATION RANGE TO 6,800 PLUS RPM AND RAISES RPM *
'*FLASH WARNING (4 hZ FLASH RATE) TO 6,000 RPM. THE YARIS ECU REPORTEDLY STARTS *
'*LIMITING RPM AT 6,400 RPM AND CAN KEEP CALCULATING ECU OUTPUT VALUES UP TO 7,000 RPM.*
'* PARALLAX BS2 PIN #15 IS USED TO READ TACH SIGNAL FROM THE OBD2 SERVICE CONNECTOR.*
'*INPUT SIGNAL IS ATTENUATED FROM A 0-12 VOLT SQUARE WAVE TO A 0-5 VOLT SQUARE WAVE BY *
'*A 100 K CURRENT LIMITING RESISTER AND A 5.01 VOLT ZENER DIODE. OUTPUT PINS #s 0-14 *
'*ARE IMPEDANCE MATCHED TO THE LED LOADS BY LM342-N OP-AMP QUAD PACKS IN A UNITY GAIN *
'*CONFIGURATION. *
'* PULL DOWN RESISTERS WITH A VALUE OF 47 K ARE USED TO KEEP THE PROCESSOR OUTPUTS *
'*FROM FLOATING HIGH WHEN THE LOGIC HAS THEM OFF. COMPARISON OF RPM TO A COMMERCIAL *
'*DIGITAL TACHOMETER SHOWED A 1 % DIFFERANCE AT 650 RPM AND A 1/2 % DIFFERANCE AT *
'*3,200 RPM. CALIBRATION INTEGERS USED ARE FOR A 4 CYLINDER 4-CYCLE ENGINE ONLY. *
'*EEPROM DATA BELOW STORES THE RPM LIMIT VALUES THAT TURN ON AND OFF EACH DISPLAY LED. *
'************************************************* **************************************
DATA Word 540, Word 950, Word 1400, Word 1850, Word 2300 'EPROM DATA
DATA Word 2750, Word 3200, Word 3650, Word 4100, Word 4550 'EPROM DATA
DATA Word 5000, Word 5450, Word 5900, Word 6350, Word 6800 'EPROM DATA

'************************************************* ***********
'* DECLARATIONS & INITIALIZATIONS *
SAMPLE_L VAR Word '*INPUT SQUARE WAVE TIME-LOW COUNT *
SAMPLE_H VAR Word '*INPUT SQUARE WAVE TIME-HIGH COUNT *
PERIOD VAR Word '*TOTAL SQUARE WAVE PERIOD COUNT (INVERSE OF FREQUENCY) *
RPM VAR Word '*REVOLUTIONS PER MINUTE (CRANKSHAFT RPM) *
RPM_L VAR Word '*RPM CELL LIMITS READ FROM EEPROM TABLE *
INDEX VAR Byte '*OUTPUT PIN INDEX # *
CAL1 VAR Byte '*SCALING CONSTANT TO KEEP CAL2 BELOW INTEGER OVERFLOW LIMIT*
CAL2 VAR Word '* *
CAL1=230 '*FOUR CYLINDER ENGINE-SPECIFIC CALIBRATION VALUE *
CAL2=63050 '*FOUR CYLINDER ENGINE-SPECIFIC CALIBRATION VALUE *
'************************************************* ***********

START: '************************************************* ***********
PERIOD = 0 '*RESET/CLEAR LAST SCAN-LOOP VALUES *
SAMPLE_L= 0 '* *
SAMPLE_H= 0 '* *
RPM = 0 '* *
'* *
PULSIN 15, 0, SAMPLE_L '*SAMPLE PIN #15 LOW COUNT AT ZERO VOLTS *
PULSIN 15, 1, SAMPLE_H '*SAMPLE PIN #15 HIGH COUNT AT 5 VOLTS *
PERIOD = SAMPLE_L+SAMPLE_H '*CALCULATE TOTAL PERIOD COUNT *
PERIOD = PERIOD/CAL1 '*SCALING FACTOR TO PREVENT POSITIVE INTEGER OVERFLOW *
RPM = CAL2/PERIOD '*CALULATE RPM *
'* *
IF RPM>6000 THEN '*FLASH LEDS ON AND OFF AT 4 HZ WHEN RPM EXCEEDS 6000 RPM *
'*(SHIFT WARNING). *
FOR INDEX=0 TO 14 '************************************************* ***********
LOW INDEX
NEXT
PAUSE 25
ENDIF






'********************************************
FOR INDEX=0 TO 28 STEP 2 '*TURN ON CORRECT LEDS FOR ANALOG DISPLAY *
READ INDEX, RPM_L.LOWBYTE '*INDICATION(ENGINE-RUNNING CONDITION ONLY).*
READ (INDEX+1), RPM_L.HIGHBYTE '********************************************
IF RPM>RPM_L THEN
HIGH (INDEX/2)
ELSEIF RPM<RPM_L THEN
LOW (INDEX/2)
ENDIF
NEXT
'********************************************
DO WHILE PERIOD=0 '*REVERSING STROBE FLASH SEQUENCE WHEN *
FOR INDEX=0 TO 14 '*IGNITION KEY IS ON BUT ENGINE IS NOT *
HIGH INDEX '*RUNNING (HARDWARE DIAGNOSTIC). *
PAUSE 20 '********************************************
LOW INDEX
PAUSE 20
NEXT
FOR INDEX=14 TO 0
HIGH INDEX
PAUSE 20
LOW INDEX
PAUSE 20
NEXT
LOOP
GOTO START
__________________
Absolutely red, Drawtite hitch, CAI, Insulated Header, Amsoil 5w-30, Mag-drain plug, Red-Line MT-90 tranny oil, Scotch-Guard, Window Tint, Dash rug, Custom short throw shifter, Lowered OEM arm rest, Super-Turbo muffler/w chrome slash cut tip., TRD rear sway bar, sticky pads, front shock tower bar, RS grill badge, VVT-i emblems, Second tire set from Tirerack.com, DISABLED DAY TIME RUNNING LIGHTS, platform- style locking custom bike rack. 86K miles so far. 5 years use now on ceramic wrapped insulated stainless-steel header.

Last edited by metalshark; 04-07-2009 at 07:44 PM. Reason: Updated version 2
metalshark is offline   Reply With Quote
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
P0456 OBD code? jlift DIY / Maintenance / Service 6 09-19-2007 03:28 PM
Anybody know the code? Driver New YARIS Purchase Forum 5 08-20-2006 06:56 PM


All times are GMT -4. The time now is 10:39 AM.




YarisWorld
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.