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 31 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
4. Program continue with display initialization. After that initialization functions are called. Then function adc_pp_average called inform us about adc_pp value. Program continues infinite while loop. With 32th calling this function, new wind speed value calculated. The temp variable serve for temperature measurement. With first condition pwm_prepare function called. Functions inside third condition serve measure received signal and calculate wind speed.3 Main function Function start with local variable definitions. The function called with address first field adc_array. Then temp variable adjust airspeed constant actual temperature condition. first level there are conditions. The function returns actual adc_pp value. Otherwise set flag measure again with X_PWM Y_PWM state. Address and variables let know number order this function. The last what can measured temperature. first line the display printed application name. For calculation ADC sequence peak peak value, adc_pp takes place. don’t measure every cycle we measure when wind speed for axis was updated. As input argument are adc_pp variable and addresses adc_ppx_aver, adc_ppy and i variables. that moment variable equal to 23 . see adc_pp averaged value from last ADC sequences. The last variables are and serve for counting cycles. Then gpio_post_int gives measured time and the time correct range, set flag X_WIND_CALC Y_WIND_CALC state. Addresses of tx_array and ty_array are given count time values first position array and keep last averages here. It means that signal was received, it’s triggered timer_post_int function. we received signal, third condition fulfilled. Second condition fulfilled after timer interrupt. first adc_sample function stored captured ADC samples adc_array field.4. Here flag variable tested. In adc_peaktopeak function calculated ADC peak peak value stored sequence. Therefore input argument first field captured ADC sequence. Forth conditions tests flag measurement results are convenient add actual measured time wind speed calculation. When flag doesn’t fulfill any condition, program waiting interrupt. used capture time from timer, tx_array and ty_array are used buffer time averages from measurements before. Here starts measurement axis. Input arguments are with actual measured time, adc_pp for time correction based peak peak ADC value received signal. Then adc_ppx_aver and adc_ppy_aver are used for averaging actual adc_pp value