21.12.2013 Views

Maskinnära programmering 6B2266

Maskinnära programmering 6B2266

Maskinnära programmering 6B2266

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Varvtal<br />

Varvtalsmätningen går i princip till så att man mäter den tid det tar för kuggarna att<br />

passera Kugg-givaren. Rotationen sker inte med konstant varvtal utan "ryckigt",<br />

eftersom förbränningsmotorer är explosionsmotorer.<br />

PIC-processorerna kan vara utrustade med en eller flera så kallade CCP-enheter<br />

(CaptureComparePWM). För tidmätning låter man CCP-enheten vara inställd på<br />

Capture, och använder Timer1. Timer1 är en 16-bitsräknare (2×8 bitar), den<br />

programmeras att räkna i takt med processorns klocka. CCP-enhetens ingångspinne<br />

ansluts till Kugg-givaren och programmeras att reagera på positiva pulsflanker. Vid<br />

varje kugge kommer då automatiskt Timer1 att "läsas av" ( = capture) och resultatet<br />

hamnar i CCP-enhetens register CCPRH och CCPRL. De två CCPR-registren kan<br />

hanteras som ett 16-bitarstal. Vid "Capture" anropas avbrottsrutinen ( interrupt ) och i<br />

denna kan tidsvärdet i CCPR-registren lagras undan. I princip beräknas tiden mellan<br />

två kuggpassager som skillnaden mellan två tidsvärden, och varvtalet som det<br />

inverterade värdet av denna tid.<br />

Motorbelastning<br />

Tryckgivare, varmtråds-massflödesmätare, trottelpotentiometer.<br />

Motorns belastning kan mätas på många olika sätt. Den klassiska metoden för<br />

förgasarmotorer är att mäta undertrycket i förgasaren med en tryckgivare. En annan<br />

metod är att mäta luftflödet till motorn med en varmtråds-massflödesmätare. Ett<br />

ungefärligt mått på motorns belastning kan man få genom att med en trottelpotentiometer<br />

mäta vilket "gaspådrag" föraren ger.<br />

( Givarna beskrivs i boken Mätgivare ).<br />

27

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!