Генератор импульсов

Тема в разделе "Arduino & Shields", создана пользователем svinina, 6 ноя 2013.

  1. Equivalent

    Equivalent Нуб

    И еще: нет смысла использовать ADC, тут либо есть сигнал, либо нет, обычные цифровые входы, просто надо сделать какую-то обвязку-фильтр, чтобы отсечь помехи и "слышать" только "свою" частоту.
     
  2. fr0ster

    fr0ster Гик

    Мне кажется, что усложнение оправдано.
    1 Отключаем приемник, включам излучатель.
    2 Запускаем импульс
    3 Выключаем излучатель и включаем приемник.
    4 Пишем все с приемника какое то время. Формируем профиль.
    5 Разбираем пики на принятом профиле.
    То есть задача измерить расстояние до всех преград, как я понял ТСа, при условии, что растояние до преграды вообще неизвестно, пять метров или 11 км. То есть задача сонар сделать, а не глубиномер.

    Мне интересно, как сделать излучатель ультразвука, чтоб в воде работал.

    ЗЫ А АЦП нужно чтоб ложное эхо на неоднородностях воды отсечь, хотя бы.
     
  3. Equivalent

    Equivalent Нуб

    Ну так расстояние до всех преград и будет записываться, ведь вы отключаете приемник только тогда, когда пройдет максимальное время, за которое звук пройдет, допустим 10км (глубже мест в мире нету), и он (приемник) будет рисовать точку при каждом зафиксированном отраженном сигнале.
     
  4. fr0ster

    fr0ster Гик

    При таком раскладе он скорее всего ничего не запишет.
    А точка ничего не скажет от чего отразился сигнал, сколько отразилось от преграды, а сколько прошло дальше.
     
  5. Equivalent

    Equivalent Нуб

    Точка скажет на какой глубине объект. Ведь мы параллельно с излучением импульса запускаем счетчик глубины, который отсчитывает какое расстояние успел пройти звук, и делим это значение пополам, и это значение будет координатой Y той точки, что мы будем рисовать на экране. То есть на экране будет видно на каких глубинах было отражение сигнала, то есть будет понятно где препятствия.
     
  6. fr0ster

    fr0ster Гик

    Но не будет ясно, это дно или ил или рыба.
    А так все видно.
     
  7. svinina

    svinina Нуб

    Совершенно верно. В воде много всего интересного может быть, ультразвук иногда отражается от слоев с разной температурой, если мы будем просто фиксировать "если есть какое-то эхо, тут ставим точку, если ничего нет - рисуем черноту", то мы запутаемся в сигналах. Так что оцифровка всего, что приходит из воды хотя бы с 8 битовой точностью вполне оправдана - на мониторе мы будем видеть полутона и сможем разобрать где там что - дно, рыба, мусор или слой воды другой температуры.
     
  8. svinina

    svinina Нуб

    Для измерения глубины у себя в бассейне на даче Ваше решение идеально - мы точно знаем, что у нас кроме воды и ровного дна ничего нет. В реальном озере картина значительно сложнее.
     
  9. svinina

    svinina Нуб

    Нужно найти излучатель на несколько сотен килогерц и вклеить его в герметичный корпус, перед излучателем сделать акустическую линзу (нужно почитать справочники). Есть вариант проще - купить готовый на алибабе:

    http://www.alibaba.com/product-gs/721200130/Ultrasonic_Underwater_Depth_Transducer_200Khz.html
     
    Последнее редактирование: 10 ноя 2013
  10. fr0ster

    fr0ster Гик

    Я пока только на 50 кГц максимум находил. :(
     
  11. Megakoteyka

    Megakoteyka Оракул Модератор

    А каким образом предполагается проводить сканирование дна? Нацеливать импульс под разными углами и получать конус сканирования? Каким образом оно в существующих девайсах осуществляется?
     
  12. svinina

    svinina Нуб

    Обычно они ничего не сканируют. В бытовых эхолотах стоит один излучатель, он генерирует импульс, который конусом немного расходится вниз. Затем эхолот слушает отраженные импульсы и рисует на экране дно, а если есть другие (не очень сильные отражения) он может нарисовать на экране иконки рыб, например.

    Ну а если это дорогие аппараты для яхт - там может быть массив излучателей для улучшения разрешения, плюс система знает куда и с какой скоростью плывет яхта и строит картинку на экране.
     
  13. fr0ster

    fr0ster Гик

    Похоже все зависит от скорости срабатывания АЦП. В МК ATtiny13A или ATtiny45 время преобразования 260 мкс. То есть "всасывая" отклики в лоб, мы получаем погрешность плюс минус 39 сантиметров примерно. Причем переход на более быстродействующие АЦП не панацея. Видимо на таком уровне анализировать время откликов, без анализа мощности и исходить из этой информации. Например если серия откликов с расстояния 30 метров и один-два с расстояния 27, то вероятно это не дно, а рыба.
    Плюс увеличение скорости АЦП - увеличение погрешности преобразования.
    То есть либо ошибка в определении расстояния либо ошибка в определении силы отраженного сигнала.