Download Inhoudsopgave Inhoud Print deze pagina

Frequentiemeting; Pulsbreedte -Modulatie; Puls & Periodemeting - Conrad Electronic C-Control Pro Mega Series Gebruiksaanwijzing

Inhoudsopgave

Advertenties

5.4.18.3

Frequentiemeting

Voor het direct meten van een frequentie kan de Timer1(16Bit) gebruikt worden. De pulsen
binnen een seconde worden geteld en het resultaat is dan in Hertz. De maximale
meetfrequentie is 64kHz en wordt geleverd door de 16Bit teller. Een voorbeeld van deze
manier van frequentiemeting vindt u onder "Demo programma's/Frequentiemeting". Door het
verkorten van de meettijd kunnen ook hogere frequenties gemeten worden. Het resultaat
moet dan dienovereenkomstig omgerekend worden.
5.4.18.4
Pulsbreedte –modulatie
Er staan voor de pulsbreedte –modulatie twee timers tot uw beschikking: Timer_0 met 8 bit
en Timer_1 met 16 Bit. Met een pulsbreedte –modulatie kunt u heel gemakkelijk een digitaal
–analoog –omvormer realiseren.
Timer0 (8 Bit)
Voorbeeld: Pulsbreedte –modulatie met 138,9 µ µ µ µ s periode en 5,42 µ µ µ µ s pulsbreedte, veranderd
naar 10,84 µ µ µ µ s pulsbreedte
Timer_T0PWM(10,2);
Timer_T0PW(20);
/ / Puls: 20*542,5 ns = 10,84
Timer1 (16 Bit)
Voorbeeld: pulsbreedte –modulatie met 6,4 ms periode en 1,28 ms pulsbreedte kanaal A en
640 µ µ µ µ s pulsbreedte kanaal B
Timer_T0PWMX(10,20,10,ps_1024);
5.4.18.5
Puls & periodemeting
Met Timer_1 kunnen pulsbreedtes of signaalperiodes gemeten worden. Met behulp van de
Input Capture functie (speciaal register van de Controller) wordt de tijd tussen twee flanken
gemeten. Deze functie gebruikt de Capture -Interrupt (INT_TIM1CAPT). De puls wordt
gemeten tussen een stijgende en de volgende vallende flank. De periode wordt gemeten
tussen twee stijgende flanken. Door de Input Capture functie worden programma –looptijden
niet als onnauwkeurigheid in het meetresultaat ingevoegd. Met de programmeerbare
voordeler kan de resolutie van de Timer_1 vastgelegd worden. Voordeler zie
Voorbeeld: pulsbreedtemeting (Project Pmeting) 434 µ µ µ µ s (100*4,34 µ µ µ µ s, zie
word PM_waarde;
void
Timer1_ISR(void)
{
int irqcnt;
PM_waarde=Timer_T1GetPM(0);
irqcnt=Irq_GetCount(INT_TIM1CAPT);
}
167
/ / Puls: 10*542,5 ns = 5,42
/ / Periode: 100*69,44
/ / PulsA: 20*69,44
/ / PulsB: 10*69,44
/ / Pulsbreedte meten
µ
s, periode: 256*542,5 ns = 138,9
µ
s
µ
s = 6,94 ms
µ
s = 1,389 ms
µ
µ
s = 694,4
s
µ
s
Tabel.
Tabel)
inschakelen

Advertenties

Inhoudsopgave
loading

Gerelateerde Producten voor Conrad Electronic C-Control Pro Mega Series

Inhoudsopgave