PDA

View Full Version : HomeMade Tachcometer Project


wild03
12-05-2002, 12:06 AM
Ok, Here's another one from the wild03 cookbook. I'm sorry to say that this project requires a Multimeter with frequency measurement capabilities. and that's why It doesn't qualify as a "CHEAP Homemade Tachcometer" :(

Anyways, I used a simple Infrared Emitter and Decoder circuit from:
www.boondog.com/\tutorials\irled\ir.html

as you can see the parts are pretty cheap! This circuit produces a clean square wave when the beam is blocked.

I used an old PC mouse to get one of the two decoder wheels inside the mouse I covered all the slots but two, I then removed the little tab between those two to make a nice square hole. I then attached the wheel to the ZZ motor, and the output of the circuit to the Multimeter (SunPro CP7680)

With every turn of the encoder wheel the output signal will complete one cycle, the meter will measure cycles per second and all is left to do is to multiply that by 60 to get RPM! :)

Here are some numbers: The First test involved running the engine on the car, no gears, no load. the second involved a used AA battery, no load.

MOTOR..RATING....hertz on CAR....hertz with AA

RED.......21500....328 = 19680....390 = 23400
GREEN..16000.....260 = 15600....300 = 18000
BLUE.....10000....185 = 11100....205 = 12300

Again I'll have details and pics on my site as soon as I can!

Clint
12-05-2002, 10:49 AM
why not just pull the circuit board out of a mouse,
make a platform with wheel cutouts and mount it on top
of the mouse wheel sensor, so that the wheel can contact
one of the zip drive wheels.

i'm sure i can write a simple mouse driver that can record the input.

i'm also wondering about making it load bearing..i can make a drum out of rubber hose that has similar weight to that of the zip zap...the zip would spin the rubber hose and in-turn the rubber hose would spin the mouse sensor.

hogjowlz
12-05-2002, 04:31 PM
i have a pocketpc with an ir port. im sure someone with better knowledge of visual basic or c++ could write an ap for this. i know theres laptimer software out there. its not worth payin a buncha money on a pocketpc for one app but if you already have one or are thinking of getting one this may help you decide.

heres a few (http://www.freewareppc.com/clock/clock_utilities.shtml)

wild03
12-05-2002, 05:29 PM
Originally posted by Clint
why not just pull the circuit board out of a mouse,
make a platform with wheel cutouts and mount it on top
of the mouse wheel sensor, so that the wheel can contact
one of the zip drive wheels.

i'm sure i can write a simple mouse driver that can record the input.

i'm also wondering about making it load bearing..i can make a drum out of rubber hose that has similar weight to that of the zip zap...the zip would spin the rubber hose and in-turn the rubber hose would spin the mouse sensor.


sounds kool and complicated ;) I wanted to keep it as simple as possible. But keep us posted on your progress. The guy from the site mentions interfacing via an 8255 PPI board or other data acquisition board but that might be a little too much! :)

wild03
12-07-2002, 02:50 AM
Originally posted by wild03
sounds kool and complicated ;) I wanted to keep it as simple

OK, I included some pictures and info on my site

http://www.geocities.com/wdiaz03/tachcometer.html

ejaf
12-07-2002, 07:52 PM
Great ideas...

Anyone come up with the OBDII software for the ZZ that can run on a Palm Pilot? Since I was thinking of getting this for my VW, I figure SOMEONE here could probably do it for a ZZ!! :eek:

Clint
12-07-2002, 08:13 PM
my mouse dyno driver is nearing completion written all in 16bit assembler...i have it polling the mouse for changes in the x and y direction.

so technically you will be able to dyno/compare two zips at the same time, one on each axis/drum...for kicks, i will calculate what a 1/4 mile would be according to the number of rotations/wheel size and you can have desktop quarter mile drag races. lol


i will gpl it once finished. only thing you will need to know is the resolution of your mouse, it will calibrate according to that.

Clint
12-09-2002, 03:46 AM
it's not done yet..but if anyone wants to check it out....
(run it in a DOS full screen window on 95/98/Me/dosemu only..not nt/2k/xp)..or make a dos bootdisk with a mouse driver and the dyno.exe program.

it runs on top of your mouse driver, so you need one loaded. also you need to open up your mouse to get the zip/bit to sit on the slotted wheel that runs in between the sensors.

what i think i will end up doing is filling in all the slots except for one, so every revolution is one tick.
still havent put the code in for converting it to scale..etc..right now it just runs up to

executable
http://oteri.dyndns.org/dyno/DYNO.EXE

;source---

NAME DYNO
.MODEL small
.STACK 100h
.DATA
BELL EQU 07
LF EQU 10
CR EQU 13
TEXT0 DB " Tiny RC Dynamometer "
DB " Press any key to continue...", BELL, CR, LF, "$"
TEXT1 DB " The mouse driver is not installed !!!."
DB " Press any key...", BELL, CR, LF, "$"
TEXT2 DB " An active mouse driver found."
DB " Press any key...", BELL, CR, LF, "$"
TEXT15 DB "Exit "
Ltxt15 EQU $-TEXT15
NumSel DB 20h
DB " selected."
DB BELL, "$"

VMODE DB 0
ATTR DB 0
ROW0 DB 0
COL0 DB 0
CX0 DW 0
DX0 DW 0
XSETDW0
YSETDW0
x db "x=$"
y db "y=$"
newl db 13,10,'$'
charbuf db 6 dup (' '),' $'

.CODE

OutMsg MACRO Txt
lea dx,Txt
mov ah,09h
int 21h
ENDM

WaitKey MACRO
xor ah,ah
int 16h
ENDM

SetCurs MACRO Row,Column
mov ah,2
xor bh,bh
mov dh,&Row
mov dl,&Column
int 10h
ENDM

PutStr MACRO Row,Column,Text,Leng,Attrib
Local M0
push si
mov cx,Leng
lea si,Text
mov dl,Column
cld
M0: SetCurs Row,dl
lodsb
mov bl,Attrib
mov ah,9
xor bh,bh
push cx
mov cx,1
int 10h
pop cx
inc dl
loop M0
pop si
ENDM

;-------------------------------------------------------------------

.STARTUP
mov ah,0Fh
int 10h
mov VMODE,al
mov ah,0
mov al,3
int 10h

OutMsg TEXT0
WaitKey

mov ax, 03533h
int 21h
mov ax,es
or ax,bx
jz Nomouse
mov bl,es:[bx]
cmp bl,0CFh
jne Begin

Nomouse:
OutMsg TEXT1
WaitKey
jmp Exit

;-------------------------------------------------------------------

Begin: OutMsg TEXT2
WaitKey

;-------------------------------------------------------------------


Func0:
xor ax,ax
int 33h
cmp ax,0
jnz Clear25
jmp Exit


Clear25:SetCurs 0,0
mov ah,9
xor bh,bh
mov al,20h
mov bl,1Eh
mov cx,2000
int 10h

;-------------------------------------------------------------------


PutStr 15,20,TEXT15,Ltxt15,1Fh
SetCurs 25,80

;-------------------------------------------------------------------

Func10: mov ax,10
xor bx,bx
mov cx,0FFFFh
mov dx,4700h
int 33h

;-------------------------------------------------------------------

Func1: mov ax,1
int 33h

mov ax,2
int 33h
;-------------------------------------------------------------------


Func3: mov ah,1
int 16h
jz ContF3
jmp Exit
ContF3: mov ax,000bh
int 33h
mov CX0,cx
mov bx,XSET
add cx,bx
mov XSET,cx
mov DX0,dx
mov bx,YSET
add dx,bx
mov YSET,dx
Call PRNTM
test bx,1
jnz X_Range
jmp short Func3


X_Range:mov ax,CX0
mov cl,3
shr ax,cl
cmp ax,20
jb Func3
cmp ax,36
ja Func3


Y_Range:mov ax,DX0
mov cl,3
shr ax,cl
cmp ax,10
jb Func3
cmp ax,15
ja Func3


mov ax,DX0
mov cl,3
shr ax,cl
cmp ax,15
je Exit
jmp short Func3

;-------------------------------------------------------------------


Exit: mov ax,1
int 33h
mov al,VMODE
mov ah,0
int 10h
Call CLRKEY
mov ax,4C00h
int 21h

PRNTM PROC
SetCurs 17,20
mov dx, offset x
mov ah,09h
int 21h
mov ax,XSET
call printdec
mov dx,offset y
mov ah,09h
int 21h
mov ax,YSET
call printdec
mov dx,offset newl
mov ah,09h
int 21h
SetCurs 25,80
ret
PRNTM ENDP


printdec proc
pushf
push ax
push bx
push cx
push dx
push bp
push di
mov bx,offset charbuf
mov cx,3
sub di,di
up: mov word ptr [bx+di],02020h
add di,2
loop up
sub ch,ch
mov di,5
cmp ax,0
jge go
mov ch,02dh
neg ax
go: mov bp,10
top: sub dx,dx
div bp
add dl,30h
mov [bx+di],dl
dec di
cmp ax,0
jne top
mov byte ptr [bx+di],ch
mov dx,bx
mov ah,09h
int 21h
pop di
pop bp
pop dx
pop cx
pop bx
pop ax
popf
ret
printdec endp

;-------------------------------------------------------------------

CLRKEY PROC
mov ax,40h
mov ES,ax
cli
mov ax,ES:[1Ah]
mov ES:[1Ch],ax
sti
ret
CLRKEY ENDP
END

Namuna
02-11-2003, 12:52 PM
Long time comin, but off you go!...