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