Jump to content

    
maugli

DS18B20 . Остерегайтесь подделок ! И как выявить поддельный датчик DS18B20

Recommended Posts

У I2C другая проблема бывает. Вот есть хорошие, точные и недорогие SI7051. Только нет выбора адреса. На одну шину без какого-нибудь мультиплексора не повесить. Сэкономили ножки корпуса для выбора адреса.

SPI жрет ноги на CS, ну или опять же на внешке городить переключалку.

А 1-Wire хорош именно адресацией и всего одним проводом для шины.

Share this post


Link to post
Share on other sites
2 hours ago, haker_fox said:

Но шину I2C или SPI вы не разбросаете метров на 5.

А что, 1-wire на длинных проводах будет работать что ли?

С I2C я работал на шинах до двух метров. Если надо длинней — можно поставить "рипитеры" на CAN-шине. Собственно, термомониторинг зеркала я так и сделал: к каждому контроллеру подходит по 16 датчиков (попарно соединенных) на I2C, дешевыми мультиплексорами выбираю нужную пару и опрашиваю по запросу из CAN-шины. На шине сидит шесть контроллеров, один из которых играет роль "мастера", подключенного к orange PI. Работает, жрать не просит, мониторит температуру зеркала в 80 точках + до 16 точек на "мастере" (туда два датчика подключено всего).

Share this post


Link to post
Share on other sites
1 час назад, Eddy_Em сказал:

А что, 1-wire на длинных проводах будет работать что ли?

У меня около 100 датчиков на 300 метрах температуру силового кабеля, подводящего электричество к заводу, мониторят под землей уже года 3. Так что это от танцора зависит.

DSC_0364-001.JPG

Share this post


Link to post
Share on other sites
10 minutes ago, Eddy_Em said:

С I2C я работал на шинах до двух метров

И я работал, как раз до двух метров. Но 1-wire это полевая шина. I2C предназначена для внутреприборного применения. Естественно, что каждый может делать как считает нужным. Но вам уже выше правильно заметили, что мало датчиков с I2C, которым можно задать широкий диапазон адресов.

Share this post


Link to post
Share on other sites

Раз уж 1-wire так популярен, то почему в МК нет аппаратной поддержки этого дурацкого протокола?

Или, может быть, существуют аппаратные конвертеры из 1-wire в UART или что-нибудь подобное (вменяемое)?

Я сильно сомневаюсь, что все, пользующиеся этими DS18, городят отсебятину с полуаппараной реализацией протокола! Коль уж есть предложение датчиков, должно быть и предложение универсального способа работы с ними.

Edited by Eddy_Em

Share this post


Link to post
Share on other sites
1 час назад, Eddy_Em сказал:

Раз уж 1-wire так популярен, то почему в МК нет аппаратной поддержки, 

Потому что это собственность Далласа (теперь Максима), а они контроллеров не выпускают. Он не такой популярный, как SPI или I2C, поэтому остальным производителям контроллеров он не интересен.

1 час назад, Eddy_Em сказал:

Или, может быть, существуют аппаратные конвертеры из 1-wire в UART или что-нибудь подобное

Да, существет, у Максима какой-то преобразователь был. Но вам же он не интересен, вам лишь бы поныть.

Share this post


Link to post
Share on other sites
5 часов назад, Eddy_Em сказал:

С I2C я работал на шинах до двух метров.

Работал на трех метрах - и что? От этого данное решение не выйдет за рамки порнографии.

5 часов назад, Eddy_Em сказал:

Если надо длинней — можно поставить "рипитеры" на CAN-шине.

Отличный пример, как на ровном месте усложнить себе жизнь и потратить деньги.

1 час назад, Eddy_Em сказал:

Я сильно сомневаюсь, что все, пользующиеся этими DS18, городят отсебятину с полуаппараной реализацией протокола!

А я как раз уверен, что все городят отсебятину. Чего там городить то? Таймер на захват настроить и GPIO подергать? Может, UART?
 

5 часов назад, Сергей Борщ сказал:

У меня около 100 датчиков на 300 метрах температуру силового кабеля, подводящего электричество к заводу, мониторят под землей уже года 3...

Картинка не отображается. Кстати, как обстоят дела с электромагнитным излучением от кабеля?
Как составляли адресную карту датчиков? Я в свое время ничего не придумал лучше, как автоматизировать процесс зажигалкой или феном...
Вводил девайс в режим обучения, в котором последовательно нагревал друг за другом датчики на шине. МК запоминал порядок, в котором "поджигаются" датчики.
Ну и соотносил физический адрес (ROM-код) с логическим адресом (номер датчика по порядку на шине). Может есть какой-то другой способ?

Share this post


Link to post
Share on other sites
3 часа назад, Arlleex сказал:

Картинка не отображается.

Странно. У меня отображается и на том компе, с которого отправлял и на другом, с которого сейчас читаю. 

А так?

http://remoty.lv/files/components/main_content/images/DSC_0364-001.JPG

3 часа назад, Arlleex сказал:

Кстати, как обстоят дела с электромагнитным излучением от кабеля?

Вроде не мешает, никто не жаловался.

3 часа назад, Arlleex сказал:

Как составляли адресную карту датчиков? Я в свое время ничего не придумал лучше, как автоматизировать процесс зажигалкой или феном...

Это заказчик делал, насколько знаю - зажигалкой.

Share this post


Link to post
Share on other sites
11 hours ago, Eddy_Em said:

Я пока не встречал МК с аппаратной поддержкой 1-wire, а раз так — на кой черт брать эти датчики, коль их никто не поддерживает?

Этот протокол элементарно и точно поддерживается стандартным UART. Поэтому отдельная аппаратная поддержка и не нужна.

 

И на трехпроводке (использовал до 3-х метров) работают надежно и без сбоев. Если большие помехи - используется экранированный кабель. 

 

Но согласен, количество подделок, часто очень грубых, зашкаливает. И купить нормальные очень тяжело.

Share this post


Link to post
Share on other sites
25 минут назад, Сергей Борщ сказал:

А так?

:good2:
 

24 минуты назад, rudy_b сказал:

Этот протокол элементарно и точно поддерживается стандартным UART.

Я слышал, что с реализацией на UART могут быть проблемы из-за большого разброса тайм-слотов.

P.S. Кстати сами датчики засовывал вот в такие медные трубки, внутри наносил термопасту. Очень удобно.

Share this post


Link to post
Share on other sites
20 hours ago, Eddy_Em said:

Были бы, будь они на SPI или I2C…

Я пока не встречал МК с аппаратной поддержкой 1-wire, а раз так — на кой черт брать эти датчики, коль их никто не поддерживает?

Их только ардуинщики и покупают — потому что привыкли через задницу гланды вырезать. Хотя, как я выше говорил, копеечные NTC дают ту же точность после калибровки, но при этом не нужно сношаться с реализацией протокола 1-wire (полностью аппаратно его сделать невозможно из-за необходимости выполнять стартовый длинный импульс, поэтому приходится комбинировать конечный автомат с "полуаппаратным" решением вида timer+DMA или USART+DMA).

 

I2C тоже не супер.Внутриприборная шина , применять приходится но стремная.Да еще даллас подгадил со своим глюкавым  DS1620 или как-то так его звали.

Я тоже NTC пользую иногда.Хотя много чего пользовать приходилось.Зависит от задачи.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.