Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
26.10.2011, 16:51
|
|
Частый гость
Регистрация: 18.10.2006
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Команды DS2480 + DS18B20
Сначала была задача измерять температуру в нескольких точках при помощи датчиков DS18B20. Эта задача была решена при помощи обычного адаптера и 1-wire линии 25 метров. Теперь после реконструкции завода линия составляет 150 метров. Пришлось прикупить адаптер 1-wire линии для СОМ порта ds2480. Согласно даташиту написал программку. На короткой линии все работает, а на длинной датчика не видит. Хотя фирменная прога видит. Есть подозрение в неправильной последовательности посылки команд для ds2480. Пытаюсь прочитать READ ROM. Если подаю команду Arm Strong Pullup, возвращает белеберду, если без нее, то нули. Кто нибудь знает как правильно распределить команды?
|
|
|
|
27.10.2011, 04:10
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Re: Команды DS2480 + DS18B20
А даташифт посмотреть?
__________________
Глаза боятся,а руки делают.
|
|
|
|
27.10.2011, 11:10
|
|
Частый гость
Регистрация: 18.10.2006
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Команды DS2480 + DS18B20
Сообщение от CERGEI1982
|
А даташифт посмотреть?
|
Дык по нему и делал.
|
|
|
|
27.10.2011, 11:20
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Команды DS2480 + DS18B20
Я думаю, что на 150 метрах провода, проложенного в промышленных условиях, запросто можно зажечь слабенькую лапочку даже при условии, что провод никуда не подключен - просто от наводок с оборудования.
|
|
|
|
27.10.2011, 11:32
|
|
Частый гость
Регистрация: 18.10.2006
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Команды DS2480 + DS18B20
Сообщение от Easyrider83
|
Я думаю, что на 150 метрах провода, проложенного в промышленных условиях, запросто можно зажечь слабенькую лапочку даже при условии, что провод никуда не подключен - просто от наводок с оборудования.
|
Во первых до борьбы с наводками еще далеко. Бухта с проводом у меня на столе и с ней я экспериментирую. А во вторых я уже писал, что фирменная прога OneWireViewer работает на этом кабеле на ура.
У меня всетаки подозрение на неправильно поданую команду включения PullUp. По даташиту команда PullUp EFh подается после команды ССh, а тогда как датчик ее увидит при такой длине линии?
|
|
|
|
27.10.2011, 11:33
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Команды DS2480 + DS18B20
Пока совершенно не понятно, что вы там делаете и что у вас не получается.
|
|
|
|
27.10.2011, 11:54
|
|
Частый гость
Регистрация: 18.10.2006
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Команды DS2480 + DS18B20
Сообщение от Easyrider83
|
Пока совершенно не понятно, что вы там делаете и что у вас не получается.
|
Все просто. Раньше на короткой линии три DS18B20 =› PIC16f876=› RS232 работали без проблем года два. Теперь переделал на длинную линию DS18B20 =› DS2480=› RS232. Переписываю программу для этой связки и не могу разобраться с командами для DS2480.
Для примера
1 Передаю С1h
2 Принимаю CDh
3 Передаю 33h
4 Принимаю 33h
5 передаю 8 Х FFh и соответственно принимаю ROM код датчика.
Все это работает на коротком проводе. Т.е. вся связка работает.
А вот на длинном проводе
1 Передаю С1h
2 Принимаю CDh
3 Передаю 33h
4 Принимаю полную абракадабру и так далее.
|
|
|
|
30.10.2011, 16:33
|
|
Частый гость
Регистрация: 18.10.2006
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Команды DS2480 + DS18B20
Все! Разобрался. Вместо обычного ресета 1-wire С1h нужно подавать С5h - это предустановка гибкой скорости.
Написал новую dll и воткнул ее на место старой. Даже прогу переделывать не пришлось РАботает на 150 метров на ура.
|
|
|
|
13.02.2013, 12:16
|
|
Временная регистрация
Регистрация: 12.09.2006
Сообщений: 69
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Команды DS2480 + DS18B20
подскажите кто уже использовал DS2480.
подключил 18B20+2480 к COM порту. Для проверки даю команды по даташиту.
READ ROM SEQUENCE - Ok
WRITE STRATCHPAD SEQUENCE - Ok
TEMPERATURE CONVERSION SEQUENSE - не понятки, а именно:
посылаю 0x39 получаю 0x38
0xC5 - 0xCD
0xE1
0xCC - 0xCC
0xEF - 0xEF (ничего в ответ не должно приходить)
0xF1 - 0xEF
0xE1
0x44 - 0x44 0x76 (откуда 2-й байт?)
0xE3
0xED - 0xEC (ответа не должно быть)
0xF1 - 0xEC
0xC5 - 0xCD
и я не понял где данные температуры, судя по даташиту на DS18B20 должна быть команда 0xBE, где-то после 0x44. Поделитесь последовательностью команд для работы через DS2480 с DS18B20. Заранее спасибо
Последний раз редактировалось banzayy; 13.02.2013 в 14:43.
|
|
|
|
13.02.2013, 13:18
|
|
Вид на жительство
Регистрация: 17.09.2009
Адрес: Ярославль
Сообщений: 384
Сказал спасибо: 43
Сказали Спасибо 152 раз(а) в 101 сообщении(ях)
|
Re: Команды DS2480 + DS18B20
В проге на LabVIEW5.0 делал так:
Посылаем импульс сброса и принимаем ответ термометра.
Посылаем команду Skip ROM [CCh].
Посылаем команду Convert T [44h].
Формируем задержку минимум 750мс.
Посылаем импульс сброса и принимаем ответ термометра.
Посылаем команду Skip ROM [CCh].
Посылаем команду Read Scratchpad [BEh].
Читаем данные из промежуточного ОЗУ (8 байт) и CRC.
Проверяем CRC, и если данные считаны верно, вычисляем температуру.
DS2480_ru.pdf
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:44.
|
|