avatar_elektromanyaq

Km ölçümü

Başlatan elektromanyaq, 25 Haziran 2015, 16:01:49

elektromanyaq

Arkadaşlar elinde PBP ile yazilmis km hiz ölçen örnek kod varmı acaba yada ölçme mantığı nedir...

ete

Biraz kafa yoralım birlikte istersen. Hız nedir?
Hız bir cismin birim zamanda kat ettiği yol miktarıdır. Bu birim zaman saniye, dakika veya saat olabilirki KM sayaçlarından esas alınan zaman brimi Saat dir.
Peki bir bisikletim veya arabam var bunun hızını nasıl hesaplayacağım?
Her şeyden önce teker çevresini bulmakla işe başlayacaksın. Çünki tekerin bir tur dönmesi ile o araç teker çevresi kadar yol alır.
Gerisi basit artık. 1 sn de kaç devir yapmış önce ona bakarım sonra bunu 60 ile çarparım. Sonra onu da 60 ile çarpıp 1 saatte kaç devir yapmış onu hesaplarım. Toplam devir adedini teker çevresi ile çarpınca da aracın km/saat cinsinden hızını bulmuş olursun. Bu durumda bize ne lazım? önce devir ölçme mekanizması gerekiyor. Çünki tekerin kaç tur attığını hesaplayacağız.
Sonra teker çevresi lazım. Çevreyi ölçebilirsin. Bu sabit bir değer olacak her zaman aynı değeri kullanacaksın. Ama devir hıza göre değişen bir parametre olacak ve bunuda bir sensör yardımı ile ölçebilmen gerekir.
Hangi sensör dediğini duyar gibi oluyorum. Bir çok sensör ve hatta encoder bile kullanılabilir bu iş için. Maksat teker 1 tur atınca sensörün de bunu algılayabilsin. Reed röle, Fotosel , manyetik sensör bir sürü sensör kullanılabilir. Bu tamamen uygulama yapacağın cisimin özelliklerine bağlıdır.

Ete

BİDİL

Hesaplamaya ilave olarak;

Öncelikle tekerin çapının çevre uzunluğu hesaplanır. Örneğin 16" bir tekerin çapı 80 cm ye tekabul edecektir(16x2.55x2), çevre uzunluğu ise  80x3.14(pi sayısı)=251.2 cm olur. Öyle ise 16" tekerin bir turda aldığı mesafe 251.2 cm dir.Yani ortalama 400 tur atan bu teker 1 km yol kat eder.

elektromanyaq

Anladim hocam bununla ilgili bi calismaniz varmi ornek kod olmasi daha iyi olur benim icin simdiden tskler...

ete

Çalışmam yok maalsef.

Ete

yasargunaydin

Ben daha basit ama benzer bir çalışma yapmıştım,Belki yardımcı olur. 16f628  b0 ayağına bir sensör takıp her turda sensörün karşısında dönen metali görüyor ve b0 ayağı low oluyordu .buradan tur sayısını hesaplıyordum.
Ama devir çok yükselince pic saçmalıyordu hatırladığım.

trisa=%00000000
trisb=%00000001

@ device pic16f628
@ device pic16f628, wdt_off
@ device pic16f628, pwrt_on
@ device pic16f628, protect_off
@ device pic16f628, mclr_off
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT

PORTB=%00000001

SYMBOL BUT1=PORTB.0
W0 VAR WORD
W1 VAR WORD
DEV VAR WORD

CMCON=7
OPTION_REG.7=0 'pull-up dirençleri aktif

Define LCD_DREG PORTA
Define LCD_DBIT 0
Define LCD_RSREG PORTA
Define LCD_RSBIT 4       
Define LCD_EREG PORTA
Define LCD_EBIT 6             
Define LCD_BITS 4
Define LCD_LINES 4
ANAMENU:

COUNT BUT1,1000,W0
COUNT BUT1,100,W1
DEV=W0*15
LCDOUT $fe,1,"DEVIR=",DEC DEV,"d/dk"
LCDOUT $FE,$C0,"PALS =",DEC W0,"Pals/sn"
LCDOUT $FE,$D4,"PALS =",DEC W1,"Pals/msn"
GOTO ANAMENU

END


Powered by EzPortal