Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Общетехнические вопросы

Общетехнические вопросы Общие вопросы аналоговой и цифровой электроники.

Ответ
 
Опции темы Опции просмотра
Старый 02.12.2007, 23:51   #1
fol
Senior Member
 
Аватар для fol
 
Регистрация: 04.05.2007
Возраст: 42
Сообщений: 267
Вес репутации: 264/42
fol is a jewel in the roughfol is a jewel in the roughfol is a jewel in the rough
Angry Проблема с DS1820. Чем лыжи мазать?

Всем привет.
Такая фигня. Уже несколько лет использую (в разных приложениях) термодатчики
DS18S20. Думал уже все про них знаю. Но вот уже три дня туплю, и лыжи не
едут. Поэтому помогите советом кто в теме.

В двух домашних устройствах стояли датчики DS18S20, подключение по паразитной
схеме. Но как то делал девайс клиенту, и чтоб не ходить в магазин, поставил
свои датчики в устройство клиента.
На следующий день пошел купил в магазине для себя несколько штук.
Купил DS18S20, (так мне их продали). На корпусе надпись DS1820.
________
| DALLAS |
| DS1820 |
| 0718C3 |
| +452AJ |
----------
| | |
| | |
| | |
| | |

На старых (насколько помню) была такая же надпись.
Принес домой, вешаю в сеть, они показывают температуру 85 градусов в комнате.
Думаю ни фига себе. Дома то 20 градусов. Короче выдают 85 градусов, и ваще
на температуру не реагируют. Все мастера (контроллеры сети на PIC).
85 градусов, это результат деления, а реально значит, первый байт, в котором
по сути и сиди температура, содержит 170 (AAh).
Стал исследовать эти DSки. Все работает, то есть мастер может читать (правильно)
серийник, фемили код, CRC, регистры верхней/нижней уставки.
То есть формат естесвенно в норме, мастер нормально общается с датчиком.
А вот измерение температуры, кажет только 85 градусов.
Правильное измерение температуры происходит только если подключать датчики
по схеме с внешним питанием. Но мне нужно с паразитным, у меня витая пара.
Все перепробовал, чать не первый день за мужем. И время преобразования увеличил
до 2 сек, и подачу высокого уровня на период преобразования подаю через
резистор 56 ом (датчик по паразитной схеме), то есть уж не знаю че.
Пробовал эти датчики подключать к компу, есть у меня адаптер на COM-порт.
Прога "iButtonViever" + адаптер на COM порт. Работает.
Причем работает при включении датчиков по паразитной схеме.
То есть датчики по сути полностью работоспособные, живые.
Проверял эпюры осцилом, все нормально. После выдачи в датчик кода [44h],
запуск преобразования, контроллер сразу переводит линию в высокий уровень,
активная подтяжка.
Естественно пробовал и время всех интервалов менять больше/меньше,
может думал у DSок внутренние клоки другие. Не помогает.


Привожу код центрального модуля, из которого ясен основной алгоритм.

;--- ЦЕНТРАЛЬНЫЙ МОДУЛЬ (программное ядро) ------

POEHALI:

CALL WIRE_INIT ; Выполнить сброс, инициализацию 1-Ware
CALL SKIP_ROM ; Пропуск чтения ПЗУ [CCh]
CALL CONVERT_START ; Запуск преобразования датчика [44h]
CALL WIRE_HIGH ; Подать питание на 1-Wire линию


CALL T_07sec ; ЖДЕМ 0,7 сек ПОКА ДАТЧИК ПРЕОБРАЗУЕТ

CALL WIRE_INIT ; Выполнить сброс, инициализацию 1-Ware
CALL SKIP_ROM ; Пропуск чтения ПЗУ [CCh]
CALL READ_PAD ; Запрос на чтение Блокнотной памяти [BEh]
CALL READ_t ; Читаем данные температуры из датчика

CALL INDIK_START ; Вывести результат наиндикатор

GOTO POEHALI ; И заново


Еще раз повторюсь, со старыми датчиками все работало без укоризненно!
Я уж не знаю что и делать/думать/делать.
Может есть другие DS-ки с какими нибудь хитрыми фичами?
Может это какие то особые DSки, и есть какие то команды про которые я не знаю.
Вроде все шитыдаты перерыл...
Кстати, прога "iButtonViever" определяет датчик как DS18S20, то есть вроде
правильно...
В СЕТИ ВИСИТ ДАТЧИК DS18B20, С НЕГО ТЕМПЕРАТУРА НОРМАЛЬНО ЧИТАЕТСЯ,
ЭТИМИ ЖЕ ПРОЦЕДУРАМИ!?
Подскажите куда смотреть, чем лыжи мазать?
Во ведь попал!
fol вне форума   Ответить с цитированием
Старый 03.12.2007, 03:50   #2
SSH
Banned
 
Регистрация: 27.02.2007
Адрес: Красноярск
Возраст: 47
Сообщений: 2,387
Вес репутации: 950/0
SSH is a splendid one to beholdSSH is a splendid one to beholdSSH is a splendid one to beholdSSH is a splendid one to beholdSSH is a splendid one to beholdSSH is a splendid one to beholdSSH is a splendid one to beholdSSH is a splendid one to behold
По умолчанию Re: Проблема с DS1820. Чем лыжи мазать?

У DS18B20 по умолчанию включено 12-битное значение преобразования, у DS18S20 9-ти битное. Регистры температуры тоже по разному устроены, наверное нужно и обрабатывать их по-разному. Может в этом проблема.
SSH вне форума   Ответить с цитированием
Старый 03.12.2007, 10:23   #3
dj_kirgoff
Senior Member
 
Аватар для dj_kirgoff
 
Регистрация: 26.02.2007
Возраст: 38
Сообщений: 206
Вес репутации: 254/43
dj_kirgoff is a jewel in the roughdj_kirgoff is a jewel in the roughdj_kirgoff is a jewel in the rough
Отправить сообщение для dj_kirgoff с помощью ICQ
По умолчанию Re: Проблема с DS1820. Чем лыжи мазать?

Проблема именно в этом, сам недавно товарищу переделывал, прежний датчик гроза убила.
__________________
"Говорить не думая - все равно, что стрелять не целясь" Сервантес.
dj_kirgoff вне форума   Ответить с цитированием
Старый 04.12.2007, 18:20   #4
Синклер
Senior Member
 
Регистрация: 06.03.2007
Адрес: Череповец
Возраст: 48
Сообщений: 476
Вес репутации: 124/44
Синклер will become famous soon enoughСинклер will become famous soon enough
По умолчанию Re: Проблема с DS1820. Чем лыжи мазать?

Случайно эту темку тут увидел, не сочтите за ... но может кто-нить поделится или даст ссылки на готовые ПП или программы, работы с этим датчиком, тот который без Б (желательно на ASM) для PIC.

Валяется у меня он уж ...лет, всё руки не доходят запустить эту игрушку, чисто для дома для семьи
Синклер вне форума   Ответить с цитированием
Старый 05.12.2007, 01:32   #5
fol
Senior Member
 
Аватар для fol
 
Регистрация: 04.05.2007
Возраст: 42
Сообщений: 267
Вес репутации: 264/42
fol is a jewel in the roughfol is a jewel in the roughfol is a jewel in the rough
По умолчанию Re:

Проблема и кончилась и нет.
Кончилась потому что не поленился поехал в другой магазин, купил там датчик, вроде такой же. ОН ЗАРАБОТАЛ БЕЗ КАКИХ ЛИБО КАПРИЗОВ. ПРОСТО ВЕШАЮ ЕГО В СЕТЬ И ОН КАК ПОЛОЖЕНО НАЧИНАЕТ ОБЩАТСЯ С МАСТЕРОМ, И ВЫПОЛНЯЕТ ВСЕ КОМАНДЫ МАСТЕРА.

Тем не менее задача не решена. Видимо я чего то не знаю, и есть какая то фича или особые датчики.
Ведь фокус в том что компьютер с адаптером, являясь мастером сети, читает на все 100 оба датчика, и "плохой" и хороший. И обоих заставляет мерять температуру по паразитному питанию.
А когда мастером сети PIC контроллер, то оба датчика так же нормально работают, то есть обмениваются инфой с мастером, но запускается на измерение температуры и правильно ее измеряет только "хороший" датчик.
Такая фигня. Всю голову поломал. Чего не знаю я, и что знает прога iButtonViever, которая рулит компьютером когда он мастер сети. Хотя повторяю, прога iButtonViever оба датчика определяет одинаковыми, как DS18S20, и естественно (скорее всего) работает с ними по одному протоколу.
Бред. Туплю который день, и башня уже далеко.
Повторяю, все перепробовал.

На всякий случай, может кому пригодится, прилагаю аттачную картинку, что знали в лицо плохих и хороших.
Если кто разберется, плиз, чиркните мне, а то я спать не буду.
Изображения
Тип файла: jpg Глюк.jpg (11.1 Кб, 219 просмотров)
fol вне форума   Ответить с цитированием
Старый 05.12.2007, 09:31   #6
Evgenii Ivanov
Junior Member
 
Регистрация: 08.11.2007
Адрес: Москва
Возраст: 34
Сообщений: 16
Вес репутации: 100/37
Evgenii Ivanov will become famous soon enoughEvgenii Ivanov will become famous soon enough
По умолчанию Re: Проблема с DS1820. Чем лыжи мазать?

Наверняка не буду первым в следующей мысли, но все-таки предложу:
есть ли возможность повесить некий сниффер на шину и отловить сигналы, выдаваемые iButtonViever? (лог. анализатор, например или какую-нить программу, работающую с ком-портом?)

Можете каким-то образом скинуть Ваши процедуры работы с датчиком?
Evgenii Ivanov вне форума   Ответить с цитированием
Старый 05.12.2007, 12:55   #7
Petr
Senior Member
 
Аватар для Petr
 
Регистрация: 25.02.2007
Возраст: 46
Сообщений: 1,734
Вес репутации: 3438/90
Petr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond reputePetr has a reputation beyond repute
По умолчанию Так я так и не понял. Вы доку то читали или нет ? (+)

А именно вот это место:

In parasite power mode, the 1-wire bus and C
PP can provide sufficient current to the DS18S20 for most
operations as long as the specified timing and voltage requirements are met (refer to the DC
ELECTRICAL CHARACTERISTICS and the AC ELECTRICAL CHARACTERISTICS sections of this
data sheet). However, when the DS18S20 is performing temperature conversions or copying data from
the scratchpad memory to EEPROM, the operating current can be as high as 1.5 mA. This current can
cause an unacceptable voltage drop across the weak 1-wire pullup resistor and is more current than can be
supplied by C
PP. To assure that the DS18S20 has sufficient supply current, it is necessary to provide a
strong pullup on the 1-wire bus whenever temperature conversions are taking place or data is being
copied from the scratchpad to EEPROM. This can be accomplished by using a MOSFET to pull the bus
directly to the rail as shown in Figure 4. The 1-wire bus must be switched to the strong pullup within 10
s (max) after a Convert T [44h] or Copy Scratchpad [48h] command is issued, and the bus must be held
high by the pullup for the duration of the conversion (t
conv) or data transfer (twr = 10 ms). No other
activity can take place on the 1-wire bus while the pullup is enabled.

Это я к тому, что адаптер делает этот самый стронг пулап
а Ваш контроллер нет (похоже на то)

Petr вне форума   Ответить с цитированием
Старый 03.12.2007, 11:24   #8
make
Member
 
Регистрация: 11.03.2007
Сообщений: 31
Вес репутации: 103/40
make will become famous soon enoughmake will become famous soon enough
По умолчанию Re: Проблема с DS1820. Чем лыжи мазать?

проблема в питании, паразита недостаточно. Подать внешнее и проверить. Удачи
make вне форума   Ответить с цитированием
Старый 03.12.2007, 20:21   #9
Evgenii Ivanov
Junior Member
 
Регистрация: 08.11.2007
Адрес: Москва
Возраст: 34
Сообщений: 16
Вес репутации: 100/37
Evgenii Ivanov will become famous soon enoughEvgenii Ivanov will become famous soon enough
По умолчанию Re: Проблема с DS1820. Чем лыжи мазать?

Извините, что не совсем в тему..

fol, пожалуйста, можете скинуть полный исходный код на С работы с датчиком (пусть даже "не до конца рабочий"), а то та же фигня: Купил DS18S20. На корпусе надпись DS1820 (или может это на самом деле DS1820?). Процедуры, которые нарыл в др. местах не работают....
Включено по схеме с обычным питанием..
Evgenii Ivanov вне форума   Ответить с цитированием
Старый 03.12.2007, 22:45   #10
fol
Senior Member
 
Аватар для fol
 
Регистрация: 04.05.2007
Возраст: 42
Сообщений: 267
Вес репутации: 264/42
fol is a jewel in the roughfol is a jewel in the roughfol is a jewel in the rough
По умолчанию Re: Проблема с DS1820. Чем лыжи мазать?

Мужики, (и не только), всем спасибо большое за ответы. Но я наверно плохо изложил свою проблему. Хотя вроде и нет. Я сказал, что датчики работают с полном питанием на все 100%. То есть отвечают мастеру, предоставляют мастеру данные температуры и прочее. С паразитным питанием, датчики работают то же, за исключением измерения температуры. Это когда мастером сети является PIC контроллер.
Когда же мастером сети является компьютер (с необходимым аппаратно программным комплектом), то датчики так же работают на все 100%.
Я зря упомянул о DS18B20, только ввел в заблуждение. Я конечно знаю что у них большая разница в конфиге. Я просто хотел сказать что все датчики, работают прекрасно, в том числе и DS18B20.
Просто я в непонятках, однажды скурпулезно написанные мной модули работы с 1Wire сетью, НИКОГДА НЕ ПОДВОДИЛИ. Даже в заводских условиях все шло гладко. И вот купил другие датчики, и такой облом.
Я естественно вдоль и поперек знаю их устройство и способы обмена. Но просто такая непонятка, вот я и решил, что может какая другая фича зарыта, которой нет в справочниках.

Повторяю свой вопрос.
Помогите кто в теме.
Купленные датчики идеально работают при внешнем питании.
При паразитном питании работает все, кроме измерения температуры. При этом датчик дает мастеру температуру 170 градусов, то есть b'10101010' . Я по опыту знаю, что такое раньше было при недостаточном питании (во время преобразования датчику не хватает энергии) или когда датчик слишком торопят, маленькое время преобразования.
Естественно все это я устранил. Да и устранять нечего, во всех схемах у меня на время преобразования датчик запитывается через ключ, (активная подтяжка), да и время не менее секунды, за глаза более чем хватает.
Короче вот бьюсь и #бусь который день, и нифига.

Так чем лыжи мазать.

P.S.
Да, кому надо как нить скину программные модули. Они на на АСМЕ.
До сего времени искренне считал их лучшими, так как они легко врезаются в любую другую прогу. (сам себя не похвалиш, то кто еще это сделает) Но только когда решу эту корягу. Тут дело чести.
fol вне форума   Ответить с цитированием
Старый 04.12.2007, 04:43   #11
CrazySoft
Junior Member
 
Регистрация: 26.03.2007
Возраст: 55
Сообщений: 17
Вес репутации: 100/39
CrazySoft will become famous soon enoughCrazySoft will become famous soon enough
По умолчанию Re: Проблема с DS1820. Чем лыжи мазать?

Так чем дело то закончилось?
Подозреваю, нужно было потолще витую пару
CrazySoft вне форума   Ответить с цитированием
Старый 04.12.2007, 04:49   #12
CrazySoft
Junior Member
 
Регистрация: 26.03.2007
Возраст: 55
Сообщений: 17
Вес репутации: 100/39
CrazySoft will become famous soon enoughCrazySoft will become famous soon enough
По умолчанию Re: Проблема с DS1820. Чем лыжи мазать?

А можно попробывать еще и электролит подключить к питанию DS1820 и накапливать на нем от шины через диод
CrazySoft вне форума   Ответить с цитированием
Старый 07.12.2007, 06:16   #13
Andronio
Junior Member
 
Регистрация: 23.03.2007
Сообщений: 16
Вес репутации: 100/40
Andronio will become famous soon enoughAndronio will become famous soon enough
По умолчанию Re: Проблема с DS1820. Чем лыжи мазать?

Привет!

А может это:
Цитата:

When the DS18B20 is used in parasite power mode, the V
DD pin must be connected to ground.
Сам не проверял как это влияет, просто читал даташит и вспомнил

Andronio вне форума   Ответить с цитированием
Старый 07.12.2007, 07:19   #14
Serg_D
Junior Member
 
Регистрация: 06.12.2007
Сообщений: 3
Вес репутации: 100/0
Serg_D will become famous soon enoughSerg_D will become famous soon enough
По умолчанию Re: Проблема с DS1820. Чем лыжи мазать?

Для "fol".

Я уже связывался с автором. Печатку он преверял говорит все нормально. Все режимы работают, какие указанны в описании. Но только не работает измерение температуры.
Цитата:
Попробуй уменьшит до 4-5 килоом резюк который подтягивает (идет на +Uпит) 3 ногу контроллера
Опускал до 1.5к не помогло. А это важно что я поставил на 1.5к, а не на 4-5к? Охота попробывать другой датчик. попробую найти.
Насчет изучения вы правы. Но на данный момент времени и нет, вот и пришлось взять готовую схему.
Serg_D вне форума   Ответить с цитированием
Старый 07.12.2007, 08:14   #15
Синклер
Senior Member
 
Регистрация: 06.03.2007
Адрес: Череповец
Возраст: 48
Сообщений: 476
Вес репутации: 124/44
Синклер will become famous soon enoughСинклер will become famous soon enough
По умолчанию Re: Проблема с DS1820. Чем лыжи мазать?

Можно мне то-же чуток встрять ?

Честно гря - не очень понимаю вашей проблемы, потому как вообще-то тут не форум чисто компьюторщиков, а форум людей, кто занимается разработкой на PIC контроллерах.

Т.е. почему бы вам не ломать голову как подключить датчик, да хоть за километр от COM порта, а просто поставить рядом с датчиком PIC12F629 (30-35 руб стоит) с активированным внутренним генератором ? И простейшим параметрическим стабилизатором (резистор, стабилитрон, кондюк) подключенным на любой китайский зарядник от сотика (если конечно надо в нём организовать буфер для хранения лога температуры, когда комп выключен). Не хотите дорогую витую пару, для соединения вынесенного датчика юзать - купите 4х проводный плоский кабель для телеф.или сигнализаций (стоит он вообще копейки), и собрав эту конструкцию - "вдувайте" прямо в СОМ - сразу абсолютное значение температуры. При этом не боясь что когда комп будет выключен - вы потеряете инфу за этот интервал времени.
Синклер вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кто подскажет в чем проблема с импульсниками? OLAND Источники питания и силовая электроника 5 27.02.2007 13:52


Часовой пояс GMT +3, время: 15:26.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot