Ультразвуковой дальномер URM37 v3.2

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Unixon, 26 ноя 2011.

  1. Unixon

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

    Никак не получается оживить данный девайс. Подключаю к Arduino Uno, для работы с сенсором использую библиотеку URM37. При работе через аппаратный порт от выводов D0,D1 от сенсора вообще нет ответа (либо изза интерференции с сенсором не получается вывести результаты в порт на компьютер), при работе через программный с помощью NewSoftSerial получается либо timeout либо error, скорость порта 9600 бод.

    Перемычки J2,J3 выставлены в положение TTL, J1 открыта.
    Сенсор подключен следующим образом:

    D8 или D9 -> TXD(9)
    D9 или D8 -> RXD(8)
    +5V -> NC(7),+5V(1)
    GND -> GND(2)

    Если поменять линии 8 и 9 местами, timeout меняется на error и наоборот.

    Насколько я понял, сенсор может работать автономно и выдавать показания в виде ШИМ сигнала. Осцилографа в наличии нет, хотя на еще одной атмеге и LCD в принципе могу собрать его подобие. Как наиболее просто проверить работоспособность сенсора хотя бы в автономном режиме?
     
  2. Dmitriy Kunin

    Dmitriy Kunin Гик

    URM 37 штука мудрёная, и мало кому понятная с первого подхода, просто ответить в двух словах не выйдет, получится статья, через пару-тройку дней сделаю её для Вики...
    Сразу скажу, что для исключения одновременно двух непонятностей, типа NewSoftSerial и самого сенсора, буду эксперементировать на аппаратных сериал портах Mega, там их предостаточно.
     
  3. Unixon

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

    Ну менять Uno на Mega только ради одного привередливого сенсора это как стрельба из пушки по воробьям. Собственно Mega то у меня есть. Даже не Mega, а ADK (взял изза отсутствия чистой меги) - штука мощная и дорогая и сковырнуть ее в экспериментах было бы крайне жалко. Пока склоняюсь к тому, чтобы в целях отладки таки собрать "типа осциллограф" на мелкой ардуине (Nano или Uno) и МЭЛТ-овском символьном дисплее и помониторить им ШИМ выходы сенсора или TTL Serial порт или какие-нибудь внутренние линии.
     
  4. nailxx

    nailxx Официальный Нерд Администратор

    Подключено, похоже, правильно. Mega использовать не обязательно, у меня всё заводилось с Uno. Уже был тред на тему этого дальномера. Похоже на какой-то недосмотр в программной части.

    Действительно, назревает статья на вики.
     
  5. Dmitriy Kunin

    Dmitriy Kunin Гик

    Начал разбираться с дальномером, пошло туго :(
    Все ссылки, что даны в даташите давно умерли, приходится собирать инфу по кусочкам, датчик оказался не простой, изначально он сконфигурирован на работу с Serial портом.
    Чтобы получить с него PWM нужно его запустить и уверенно с ним управляться...
    Поскольку у меня вечно всё получается долго, даю ссылку на начальный кусок черновика статьи для Вики.
    www.quadmotor.org
    Тут описан один из пассивных режимов, дальномер по запросу выдаёт расстояние.
    Это позволит его запустить и убедится в работоспособности, а может и начать пользоваться.
    Статья будет несколько длиннее, этот датчик в может быть интересен в активном режиме, когда для его использования достаточно всего одного цифрового входа, и он умеет менять логический уровень, при достижении заданного расстояния...
     
  6. nailxx

    nailxx Официальный Нерд Администратор

    Хороший материал, Дмитрий, в очередной раз спасибо! Перенесём на wiki? Напишу в личку.
     
  7. nailxx

    nailxx Официальный Нерд Администратор

  8. Многих отпугивает,что мало инфы по этому датчику,но спасибо Дмитрию,что нашел и собрал инфу по дальномеру.
     
  9. Оказалось все не так уж и сложно. Подключил дальномер как написано выше. а потом с ним достаточно просто работать через виртуальный сериал.
     
  10. Dmitriy Kunin

    Dmitriy Kunin Гик

    Ну да, только я написал про половину возможностей этого дальномера, а за разборки с второй половиной не даёт возможность сесть, главная проблемма безработного: осутствие выходных :)
    Собственно он ещё умеет отдавать растояние в виде PWM.
     
  11. Makhonin

    Makhonin Гик

    В этой статье написано, что дальномер может работать в автономном режиме, но я не могу понять, как это делается.