NStorm 0 Posted October 23, 2020 · Report post У I2C другая проблема бывает. Вот есть хорошие, точные и недорогие SI7051. Только нет выбора адреса. На одну шину без какого-нибудь мультиплексора не повесить. Сэкономили ножки корпуса для выбора адреса. SPI жрет ноги на CS, ну или опять же на внешке городить переключалку. А 1-Wire хорош именно адресацией и всего одним проводом для шины. Quote Ответить с цитированием Share this post Link to post Share on other sites
Smen 0 Posted October 23, 2020 · Report post I2C и SPI синхронные интерфейсы со всеми вытекающими. А 1Wire я даже в автоТаз засовывал. Quote Ответить с цитированием Share this post Link to post Share on other sites
Eddy_Em 0 Posted October 23, 2020 · Report post 2 hours ago, haker_fox said: Но шину I2C или SPI вы не разбросаете метров на 5. А что, 1-wire на длинных проводах будет работать что ли? С I2C я работал на шинах до двух метров. Если надо длинней — можно поставить "рипитеры" на CAN-шине. Собственно, термомониторинг зеркала я так и сделал: к каждому контроллеру подходит по 16 датчиков (попарно соединенных) на I2C, дешевыми мультиплексорами выбираю нужную пару и опрашиваю по запросу из CAN-шины. На шине сидит шесть контроллеров, один из которых играет роль "мастера", подключенного к orange PI. Работает, жрать не просит, мониторит температуру зеркала в 80 точках + до 16 точек на "мастере" (туда два датчика подключено всего). Quote Ответить с цитированием Share this post Link to post Share on other sites
Сергей Борщ 0 Posted October 23, 2020 · Report post 1 час назад, Eddy_Em сказал: А что, 1-wire на длинных проводах будет работать что ли? У меня около 100 датчиков на 300 метрах температуру силового кабеля, подводящего электричество к заводу, мониторят под землей уже года 3. Так что это от танцора зависит. Quote Ответить с цитированием Share this post Link to post Share on other sites
haker_fox 0 Posted October 23, 2020 · Report post 10 minutes ago, Eddy_Em said: С I2C я работал на шинах до двух метров И я работал, как раз до двух метров. Но 1-wire это полевая шина. I2C предназначена для внутреприборного применения. Естественно, что каждый может делать как считает нужным. Но вам уже выше правильно заметили, что мало датчиков с I2C, которым можно задать широкий диапазон адресов. Quote Ответить с цитированием Share this post Link to post Share on other sites
Eddy_Em 0 Posted October 23, 2020 (edited) · Report post Раз уж 1-wire так популярен, то почему в МК нет аппаратной поддержки этого дурацкого протокола? Или, может быть, существуют аппаратные конвертеры из 1-wire в UART или что-нибудь подобное (вменяемое)? Я сильно сомневаюсь, что все, пользующиеся этими DS18, городят отсебятину с полуаппараной реализацией протокола! Коль уж есть предложение датчиков, должно быть и предложение универсального способа работы с ними. Edited October 23, 2020 by Eddy_Em Quote Ответить с цитированием Share this post Link to post Share on other sites
Сергей Борщ 0 Posted October 23, 2020 · Report post 1 час назад, Eddy_Em сказал: Раз уж 1-wire так популярен, то почему в МК нет аппаратной поддержки, Потому что это собственность Далласа (теперь Максима), а они контроллеров не выпускают. Он не такой популярный, как SPI или I2C, поэтому остальным производителям контроллеров он не интересен. 1 час назад, Eddy_Em сказал: Или, может быть, существуют аппаратные конвертеры из 1-wire в UART или что-нибудь подобное Да, существет, у Максима какой-то преобразователь был. Но вам же он не интересен, вам лишь бы поныть. Quote Ответить с цитированием Share this post Link to post Share on other sites
Arlleex 0 Posted October 23, 2020 · Report post 5 часов назад, Eddy_Em сказал: С I2C я работал на шинах до двух метров. Работал на трех метрах - и что? От этого данное решение не выйдет за рамки порнографии. 5 часов назад, Eddy_Em сказал: Если надо длинней — можно поставить "рипитеры" на CAN-шине. Отличный пример, как на ровном месте усложнить себе жизнь и потратить деньги. 1 час назад, Eddy_Em сказал: Я сильно сомневаюсь, что все, пользующиеся этими DS18, городят отсебятину с полуаппараной реализацией протокола! А я как раз уверен, что все городят отсебятину. Чего там городить то? Таймер на захват настроить и GPIO подергать? Может, UART? 5 часов назад, Сергей Борщ сказал: У меня около 100 датчиков на 300 метрах температуру силового кабеля, подводящего электричество к заводу, мониторят под землей уже года 3... Картинка не отображается. Кстати, как обстоят дела с электромагнитным излучением от кабеля? Как составляли адресную карту датчиков? Я в свое время ничего не придумал лучше, как автоматизировать процесс зажигалкой или феном... Вводил девайс в режим обучения, в котором последовательно нагревал друг за другом датчики на шине. МК запоминал порядок, в котором "поджигаются" датчики. Ну и соотносил физический адрес (ROM-код) с логическим адресом (номер датчика по порядку на шине). Может есть какой-то другой способ? Quote Ответить с цитированием Share this post Link to post Share on other sites
Сергей Борщ 0 Posted October 23, 2020 · Report post 3 часа назад, Arlleex сказал: Картинка не отображается. Странно. У меня отображается и на том компе, с которого отправлял и на другом, с которого сейчас читаю. А так? http://remoty.lv/files/components/main_content/images/DSC_0364-001.JPG 3 часа назад, Arlleex сказал: Кстати, как обстоят дела с электромагнитным излучением от кабеля? Вроде не мешает, никто не жаловался. 3 часа назад, Arlleex сказал: Как составляли адресную карту датчиков? Я в свое время ничего не придумал лучше, как автоматизировать процесс зажигалкой или феном... Это заказчик делал, насколько знаю - зажигалкой. Quote Ответить с цитированием Share this post Link to post Share on other sites
rudy_b 0 Posted October 23, 2020 · Report post 11 hours ago, Eddy_Em said: Я пока не встречал МК с аппаратной поддержкой 1-wire, а раз так — на кой черт брать эти датчики, коль их никто не поддерживает? Этот протокол элементарно и точно поддерживается стандартным UART. Поэтому отдельная аппаратная поддержка и не нужна. И на трехпроводке (использовал до 3-х метров) работают надежно и без сбоев. Если большие помехи - используется экранированный кабель. Но согласен, количество подделок, часто очень грубых, зашкаливает. И купить нормальные очень тяжело. Quote Ответить с цитированием Share this post Link to post Share on other sites
Arlleex 0 Posted October 23, 2020 · Report post 25 минут назад, Сергей Борщ сказал: А так? 24 минуты назад, rudy_b сказал: Этот протокол элементарно и точно поддерживается стандартным UART. Я слышал, что с реализацией на UART могут быть проблемы из-за большого разброса тайм-слотов. P.S. Кстати сами датчики засовывал вот в такие медные трубки, внутри наносил термопасту. Очень удобно. Quote Ответить с цитированием Share this post Link to post Share on other sites
PlainUser 0 Posted October 24, 2020 · Report post 20 hours ago, Eddy_Em said: Были бы, будь они на SPI или I2C… Я пока не встречал МК с аппаратной поддержкой 1-wire, а раз так — на кой черт брать эти датчики, коль их никто не поддерживает? Их только ардуинщики и покупают — потому что привыкли через задницу гланды вырезать. Хотя, как я выше говорил, копеечные NTC дают ту же точность после калибровки, но при этом не нужно сношаться с реализацией протокола 1-wire (полностью аппаратно его сделать невозможно из-за необходимости выполнять стартовый длинный импульс, поэтому приходится комбинировать конечный автомат с "полуаппаратным" решением вида timer+DMA или USART+DMA). I2C тоже не супер.Внутриприборная шина , применять приходится но стремная.Да еще даллас подгадил со своим глюкавым DS1620 или как-то так его звали. Я тоже NTC пользую иногда.Хотя много чего пользовать приходилось.Зависит от задачи. Quote Ответить с цитированием Share this post Link to post Share on other sites