|
|
  |
Странности при работе с DS1820 |
|
|
|
Aug 25 2006, 15:56
|
Группа: Новичок
Сообщений: 10
Регистрация: 5-04-06
Пользователь №: 15 851

|
При работе с датчиками DS1820 заметил такую странность: при стандартном (рекомендованном) подтягивающем резисторе (5,1 кОм) работает только часть датчиков (процентов 30), подключение +,-,данные. И только когда я заменил резистор на 100 кОм заработали все датчики. В чем причина? Где я допустил ошибку?
|
|
|
|
|
Aug 25 2006, 16:15
|
Группа: Новичок
Сообщений: 10
Регистрация: 26-07-06
Пользователь №: 19 102

|
Цитата(Barmaley67 @ Aug 25 2006, 19:56)  При работе с датчиками DS1820 заметил такую странность: при стандартном (рекомендованном) подтягивающем резисторе (5,1 кОм) работает только часть датчиков (процентов 30), подключение +,-,данные. И только когда я заменил резистор на 100 кОм заработали все датчики. В чем причина? Где я допустил ошибку? А на линии - только один датчик или несколько?
|
|
|
|
|
Aug 25 2006, 18:25
|
Группа: Новичок
Сообщений: 10
Регистрация: 5-04-06
Пользователь №: 15 851

|
На линии один датчик (есть идея подключить несколько, но пока бы с одним разобраться). Датчик подключен к PIC16F84A (вывод RA4 порта А, а там вроде как нет подтягивающих резисоров). И с другой стороны когда убираю резистор, то на ЖКИ выводятся все нули (тип, CRC, заводской номер), чего при наличии подтягивающего резистора быть не должно. При установке же резистора на 30 кОм работает половина датчиков (в наличии есть 10), при 100 кОм работают все.
|
|
|
|
|
Sep 2 2006, 00:34
|
Группа: Новичок
Сообщений: 6
Регистрация: 12-04-05
Пользователь №: 4 084

|
Я цеплял DS1820 к AVR AT8535 c длинной линии около 12метров по витой паре, количество датчиков было 6. Проблема была только с формированием времянки для самых дальних датчиков. Резисторы стояли как доке 4.7к. Я вынужден был в конце концов разделить датчики на две группы ( дальние и ближние ) и кинуть две витые пары. А какие расстояния хотите заложить Вы. И что используете для линии связи, может проблема именной в ней?
|
|
|
|
|
Sep 3 2006, 16:06
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 3-09-06
Из: Украина
Пользователь №: 20 043

|
Также соединял AT89C5131 c DS1820 и проблем не каких не возникало. Подтягивающий резистор был 4,7кОм. Может допущена ошибка в схеме?!
|
|
|
|
|
Sep 4 2006, 05:39
|
Участник

Группа: Свой
Сообщений: 64
Регистрация: 18-05-06
Пользователь №: 17 211

|
Цитата(Barmaley67 @ Aug 25 2006, 19:56)  При работе с датчиками DS1820 заметил такую странность: при стандартном (рекомендованном) подтягивающем резисторе (5,1 кОм) работает только часть датчиков (процентов 30), подключение +,-,данные. И только когда я заменил резистор на 100 кОм заработали все датчики. В чем причина? Где я допустил ошибку? Я как-то подключал к АТ89С51 по такой вот схемке. Правда у МК было задействовано 2 ноги на однопроводную шину, но дальность была 100 метров и порядка 30 датчиков на линии в промышленном цеху с кучей частотников (производство мороженого). Цеплял по неэкранированной витой паре 5-й категории. Датчики с внешним питанием все, на конце линии диод шоттки в обратном включении. Ошибки конечно сыпались, но если выводить сообщение об ошибке только после 4-го неудачного чтения - то они практически не появлялись.
Эскизы прикрепленных изображений
|
|
|
|
|
Sep 4 2006, 07:10
|
Участник

Группа: Новичок
Сообщений: 29
Регистрация: 20-07-05
Из: Рязань
Пользователь №: 6 941

|
Как показал опыт, подключать линию MicroLAN длиннее нескольких метров непосредственно на порт нежелательно. Любой микроконтроллер переключает свои порты очень быстро - единицы...десятки наносекунд, от этого удара линия банально "звенит", что портит весь обмен. Более того, работающие при комнатной температуре датчики могут перестать обмениваться на "минусе" и прочие сюрпризы. Необходимо использовать аппаратный драйвер линии с "мягкими" фронтами. Советую посмотреть также Application Note 108:
App108.pdf ( 42.12 килобайт )
Кол-во скачиваний: 305
--------------------
...Эксперт - человек, который знает все больше и больше о все меньшем и меньшем, пока не будет знать абсолютно все абсолютно ни о чем... (с) Законы Мерфи.
|
|
|
|
|
Sep 4 2006, 15:48
|
Группа: Новичок
Сообщений: 10
Регистрация: 5-04-06
Пользователь №: 15 851

|
Спасибо всем кто ответил. Сейчас все собрано на макетке, так что расстояние соединительных проводов не больше 15-20 см. До этого работал с DS1990A (ключ), никаких проблем небыло. Ошибку в схеме, вреде бы, допустить сложно, всего-то три провода...  Попробую воспользоваться советами от OgRom и Andy-L. Буду бороться дальше
|
|
|
|
|
Sep 5 2006, 12:53
|
Группа: Новичок
Сообщений: 10
Регистрация: 5-04-06
Пользователь №: 15 851

|
Вся проблема в том, что софт писал я сам  по даташиту. Единица (и при вводе и при выводе) формируется за счет перевода вывода МК на вход (имитация схемы с открытым коллектором), так что здесь проблем нет. DS1990A (ключ) с таким же протоколом обмена (поддерживается только команда 33Н - чтение ПЗУ) работает прекрасно, а вот с термометрами какие-то непонятки. Может я чего не понимаю, но тот же протокол, все должно работать, но нет: ключи читаются, а термометры нет. Хотя при увеличении сопротивления резистора до 100К все Ok.
Сообщение отредактировал Barmaley67 - Sep 5 2006, 12:58
|
|
|
|
|
Sep 5 2006, 23:33
|
Группа: Новичок
Сообщений: 6
Регистрация: 12-04-05
Пользователь №: 4 084

|
А Вы пытались посмотреть сигнал осцилографом? Может быть сигнал действительно с резкими фронтами и увеличивая резистор до 100к Вы просто датчики вводите в состояние когда им начинает нехватать питания и они сами внутри себя начинают сглаживать фронты и начинают работать. А попробуйте для эксперимента между входом процессора и линией до подтягивающего резистора 4.7к вставить резистор 100-200ом и тем самым сгладить фронты.
|
|
|
|
|
Sep 6 2006, 14:40
|
Группа: Новичок
Сообщений: 10
Регистрация: 5-04-06
Пользователь №: 15 851

|
Стоит резистор и как раз на 200 Ом. Как я уже писал данная схема подключения использовалась для чтения ключей DS1990A и резистор я поставил для предотвращения замыкания на землю, да и в дельнейшем собираюсь использовать несколько датчиков (подключение/отключение на рабочем устройстве), так что стоит резистор. А сам сигнал не смотрел, приду домой - посмотрю.
Сообщение отредактировал Barmaley67 - Sep 6 2006, 14:41
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|