Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
10.10.2012, 15:28
|
|
Временная регистрация
Регистрация: 27.03.2010
Сообщений: 67
Сказал спасибо: 31
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Помогите с URM37
Собственно, есть сабж.
http://www.megachip.ru/pdf/DFROBOT/URM3_2.pdf
http://microsin.net/adminstuff/hardw...sor-urm37.html (на русском языке)
получать данные хочу по шим, потом преобразовать в аналоговый сигнал.
но, вроде простая манипуляция не получилась у меня.
опишу что я сделал:
перемычки стояли как на картинуке из даташита ( http://www.megachip.ru/pdf/DFROBOT/URM3_2.pdf) RS232 Mode.
на 1 ногу я подал +5 В от кренки (7805)
на ногу 2 - подал минус от аккумулятора
на 4 ногу приделал сначала резистор и сразу за ним конденсатор
взял в руки мультиметр, присоеденил минус к аккумулятору и плюс к проводу от конденсатора.
при включениии наблюдал на мультиметре напряжение около 4,5 В, но со временем оно уменьшалось до нуля... если рукой коснуться связки конденсатора и резистора, то оно начинало медленно опять подниматься. как только руку убирал, то обратно уменьшалось и всё.
при перевключении питания опять наблюдал заскок 4,5В и опять медленное уменьшение до нуля.
что не так сделал, подскажите, пожалуйста.
спасибо
|
|
|
|
10.10.2012, 20:39
|
|
Прописка
Регистрация: 14.06.2012
Сообщений: 263
Сказал спасибо: 2
Сказали Спасибо 129 раз(а) в 103 сообщении(ях)
|
Re: Помогите с URM37
Сообщение от Segriv
|
если рукой коснуться связки конденсатора и резистора
|
Ооо, да у тебя магические руки! В прошлый раз ты пальцем заставил сдвинуть фронты сигналов SPI, когда он нестабильно захватывал по заднему фронту. А сейчас ты пальцем заряжаешь конденсаторы. Ну да, такое возможно при высокоомных входах.
Я как бе немного не понимаю, зачем получать именно в аналоговом виде, ведь потом этот сигнал, судя по всему, придется конвертировать анал-цифров-преобразователем.
Я не очень то внимательно смотрел даташит на URM37 и не слишком то разбирал суть задачи, но мне кажется, горазо проще напрямую из PWM получить информацию о расстоянии. Для этого нужно всего лишь контроллером замерить длительность активного уровня PWM-сигнала.
То есть, в обрабатывающем контроллере по положительному фронту PWM-сигнала наступает прерывание, запускается тамер и считает до момента прерывания по отрицательному фронту PWM-сигнала. Значение таймера - это то, что интересует в измерении.
|
|
|
|
10.10.2012, 20:49
|
|
Временная регистрация
Регистрация: 27.03.2010
Сообщений: 67
Сказал спасибо: 31
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Помогите с URM37
Сообщение от Алекс Василич
|
Ооо, да у тебя магические руки!
|
ну да, я немного волшебник )
аналоговый нужен чтобы на контроллере занять АЦП, цифровые входы заняты, а АЦП свободны. но сигнала нет с этого сраного датчика расстояния . я уже и ресет пробовал на +5 включать - не помогло (
|
|
|
|
10.10.2012, 20:54
|
|
Прописка
Регистрация: 14.06.2012
Сообщений: 263
Сказал спасибо: 2
Сказали Спасибо 129 раз(а) в 103 сообщении(ях)
|
Re: Помогите с URM37
На контроллере (насколько я помню, у тебя PIC?) любой аналоговый вход может работать в цифровом режиме. Нужно только в регистрах, отвечающих за АЦП (или компаратор) контроллера выставить режим, соответствующий цифровому режиму порта. Конкретно, ADCON1=0x07. Поэтому, не вижу никаких ограничений в этом.
Последний раз редактировалось Алекс Василич; 10.10.2012 в 21:09.
|
|
|
|
10.10.2012, 21:02
|
|
Заблокирован
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
|
Re: Помогите с URM37
Бегло посмотрев дейташит, могу сказать следующее: у девайса 3 рабочих режима.
Мода 1: прибор измеряет расстояние по командам через RS232, типа, пришла команда - измерил расстояние и выдал импульс.
Мода 2: автономный режим, каждые 25мс прибор сам по себе измеряет и выдаёт импульс. Видимо, это то, что Вам нужно.
Мода 3: измеряет, если дёрнуть за ногу COMP/TRIG: на один дёрг - одно измерение.
Программируется рабочий режим записью в EEPROM через RS232. Для "моды 2" нужно заслать команду "0x44,0x02,0xaa,0xf0",
параметры RS232: Port rate: 9600; Parity: none; Stop bit: 1
Ещё есть нога 7: PWR_ON - Enable pin, enable the sensor when high. На неё тоже не мешает подать +5В
Последний раз редактировалось Yurkin2007; 10.10.2012 в 21:16.
|
|
|
Сказали "Спасибо" Yurkin2007
|
|
|
10.10.2012, 21:11
|
|
Временная регистрация
Регистрация: 27.03.2010
Сообщений: 67
Сказал спасибо: 31
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Помогите с URM37
Сообщение от Yurkin2007
|
Бегло посмотрев дейташит, могу сказать следующее: у девайса 3 рабочих режима.
Мода 1: прибор измеряет расстояние по командам через RS232, типа, пришла команда - измерил расстояние и выдал импульс.
Мода 2: автономный режим, каждые 25мс прибор сам по себе измеряет и выдаёт импульс. Видимо, это то, что Вам нужно.
Мода 3: измеряет, если дёрнуть за ногу COMP/TRIG: на один дёрг - одно измерение.
Программируется рабочий режим записью в EEPROM через RS232. Для "моды 2" нужно заслать команду "0x44,0x02,0xaa,0x00",
параметры RS232: Port rate: 9600; Parity: none; Stop bit: 1
Ещё есть нога 7: PWR_ON - Enable pin, enable the sensor when high. На неё тоже не мешает подать +5В
|
спасибо !!! а если я его подключу, то я смогу через гипертерминал отправить эту команду ? и как её вообще отправлять ?
последовательностью чисел ?
сначала 68 (44 в hex)
потом 2 (02 в hex)
и на последок 0 (00 в hex)
правильно ?
|
|
|
|
10.10.2012, 21:20
|
|
Заблокирован
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
|
Re: Помогите с URM37
Сообщение от Segriv
|
и на последок 0 (00 в hex)
|
Надо 0xf0, я поправил предыдущий пост
|
|
|
|
10.10.2012, 21:25
|
|
Прописка
Регистрация: 14.06.2012
Сообщений: 263
Сказал спасибо: 2
Сказали Спасибо 129 раз(а) в 103 сообщении(ях)
|
Re: Помогите с URM37
Режим 2 - это триггерный режим! Сравнивается с ранее записанным порогом..
Для того, чтобы узнать, как работает USART, надобно прочитать его спецификацию. В доках микрочипа есть.
В этом девайсе выход вообще по интерфейсу SPI, вон с Атмеги. Какой и в каком формате - можно прочитать по ссылкам, наверно.
В твоей конструкции вообще и внешний АЦП сидит на SPI интрефейсе. Так почему этот интерфейс и не использовать для интерконнекта всех датчиков? Сбор информации, обработка и выдача куда-либо дальше по этому же SPI.
Если нету информации по этому девайсу в части SPI интерфейса, то можно обработать сигнал PWM так, как я ранее писал.
Сообщение от Segriv
|
и на последок 0 (00 в hex)
|
Последний байт - это младшие 8 бит алгебраической суммы всех предыдущих байтов команды.
А еще.. Я бы, может быть, вообще сделал так - отсоединил от URM37 все лишнее и подавал бы непосредственно на его вход RXD команду 0x22, 0x00, 0x00, 0x22 по UART со скоростью 9600 бит/с, благо, в 873-м пике есть аппаратный USART и принимал в контроллер сразу же информацию о расстоянии в формате 0x22 (измеренное расстояние, старший и младший байты), контрольная сумма.
POW_ON - с +5V
Если я правильно понял описание по ссылке ТС.
Возможно, что по SPI самого девайса принимаются те же самые команды и передается такая же информация.
Последний раз редактировалось Алекс Василич; 10.10.2012 в 22:34.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:56.
|
|