wind_sensor:meeting_minutes_mar_10_2017

Attended: Mengyuan, Creighton, Scott

  • Updates:
    • Conducted multiple tests with 2 fans and 10 different fan settings
      • Noticed that for some trials, fan speeds that were within 2 mph of each other yielded very similar raw microphone outputs
      • Thus, the outputs of the peak detector close to 6+/-1mph would be mixed up (i.e. lower peak detector output associated with a higher wind speed)
      • Tried to simply associate lowest fan speeds to lowest peak detector output. Doing so resulted in very skewed mapping of the output to the wind speeds.
      • Also tried testing the peak detector real time processing algorithm with a different microphone, which yielded expected results (i.e. lower wind speeds resulted in lower peak detector outputs)
  • To Do:
    • Since the microphones used for the wind sensor are relatively cheap, the problem could be with the microphone
    • Replace microphones on the existing PCB and reconduct tests
  • Updates:
    • Determined that the Teensy is unable to output a 40kHz sine wave from the DAC port. Instead of a clean sine wave, it was a choppy square-ish wave. Upon further research, it seems that the DAC on the Teensy is only capable of about a 5kHz sine.
    • Further ran tests with the ultrasonic transducers using a function generator and oscilloscope. We found out that we don't actually need a sine wave to drive the transducers, and that a square wave would work as well. This is good news since square waves are much easier to produce than sine waves.
    • Tested transmitter with 3.3Vpp, 40kHz square wave. Result is 400mVpp sine wave. This isn't bad, (much better result than previously), but we would need an amplifier circuit to increase this signal.
    • Ran some more tests with the current program.
      • Tested the differences between successive measurements between a single mic and they seem pretty consistent (minus the pop in the beginning). When averaging over a large amount of samples, the result is very good.
      • Attempted to measure the amount of time that each interrupt spends inside their routine by by saving the difference between the clock cycle entering the interrupt and the clock cycle when leaving the interrupt into an array. From some tests, it seems like they're both consistent, but mic2 is a bit funny. It may be because I'm reattaching mic2's interrupt after mic1, but mic1 is solid.
      • Instead of implementing the error-filtering code directly on the Teensy, I took some raw measurements and am going to try to filter them out using other methods first, to see if the results are good. The results are below:
        • Note that I used 100k samples, which is much more than what I'd have realistically, but this was done just to test the algorithm. As shown, the algorithm managed to get really close to the theoretical (although it should be noted that the theoretical had some error associated with it due to how we measured the distance between the mics).
  • To Do:
    • Look into using high speed ADC found here: https://forum.pjrc.com/threads/25532-ADC-library-update-now-with-support-for-Teensy-3-1. Only use a limited bit precision to try and get the highest speed.
    • Measure the clock cycles involved with outputting a 40kHz sine wave from the DAC. If it's not too much, it may be feasible to drive it from the Teensy.
    • One possible alternative is to use thresholding to detect a wave, and then run some ADCs to determine the phase shift afterwards.

Authors

Contributing authors:

mwu snishihara

Created by mwu on 2017/03/18 00:59.

  • wind_sensor/meeting_minutes_mar_10_2017.txt
  • Last modified: 2021/09/19 21:59
  • (external edit)