Ultrazvukový anemometr

| Kategorie: Diplomové, bakalářské práce  | Tento dokument chci!

Práce popisuje principy a problémy při realizaci ultrazvukového anemometru. Je popsán princip výpočtu rychlosti větru a následné korekce výpočtu. Pro realizaci jsou využity ultrazvukové sensory a microcontrolér ARM Cortex-M3. Práce se zabývá generováním PWM signálu, jeho analogovou filtrací, zesílením a odvysíláním. Na přijímací straně jeto nízkonapěťový zesilovač a komparátor. Vyvíjený kód je popsán pomocí vývojového diagramu.

Vydal: FEKT VUT Brno Autor: Michael Dvořácek

Strana 36 z 49

Vámi hledaný text obsahuje tato stránku dokumentu který není autorem určen k veřejnému šíření.

Jak získat tento dokument?






Poznámky redaktora
11: Flowchart GPIO post interrupt function 4. Then tested flag set X_PWM Y_PWM state. Program returns measured time and exit. sampled 128 values, program stay loop for 128 cycles. Then tested flag parameter let know, which PWM generator has switch off.9 ADC peak peak function The adc_peaktopeak function called after gpio_post_int from main function. flag fulfill this condition, program exit from function. There are local variable on the beginning. every step takes one value from adc_array and store adc_value local variable.4. first is defined variable. we multiply this number 3,3 and divided 1000, had peak peak voltage of received signal. This can happen for too low measured time. Than actual adc_value tested higher than max 28 . In that case set flag for next measurement. Values below correspond with 170 m/s. 12500 clock cycles, timer has lower value than 15000, digital input interrupt could happened because received noise some reflected signal.4. were discounting from 31250 (2,5 ms) and signal takes 1,5 spread between sensor, has measure 18750. There are some correction of this error later. At the end test value correct range.8 GPIO post interrupt function The gpio_post_int function called from main after adc_sample function.4. Actually this value can from 2500 5000 higher because another details. The function has adc_array address input argument. Illustration 4. It calculate difference between maximum and minimum sampled sequence. Digital input interrupt pin level disabled and flag set next state, X_WIND_CALC Y_WIND_CALC. At first program clear max and put min high value. After that get value from timer and calculate measured time as a complement timer_load_set