![]() |
HomeMade Tachcometer Project
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! |
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. |
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 |
Quote:
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! :) |
Quote:
http://www.geocities.com/wdiaz03/tachcometer.html |
what's next?
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: |
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. |
Almost done with mouse dyno
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 |
1 Attachment(s)
Long time comin, but off you go!...
|
| All times are GMT -5. The time now is 01:23 AM. |
Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.