А возможна ли гальваническая развязка для термодатчика DS18B20?
- Войдите на сайт для отправки комментариев
Ср, 07/11/2012 - 17:03
Если нужно обеспечить гальваническую развязку термодатчика от ARDUINO (т.е. от компьютера) - есть ли какие либо схемотехнические решения?
Я думаю над таким. Точнее, над оптоизоляцию i2c - там то же самое, только 2 линии. Придумаю (отлажу) - поделюсь.
А какой вообще смысл это делать? Вы хотите датчики питать от одного источника, а дуину от другого? А смысл?
Такая гальваническая развязка нужно для безопасности ПК. Ну например, мне нужно контролировать температуру радиатора с силовыми IGBT транзисторами (сварочный инвертор), а он "сидит" практически на фазе. Т.о. случайное касание к радиатору проводом и весь ПК попадает под этот же потенциал. Опасно. Сегодня эксплуатирую развязку по радио - блютуз (через модуль HC-04). А если нужно контролировать что то трёхфазное? Есть очень интересная микросхема ADuM5241. Если на стороне Ардуино использовать два отдельных вывода для организации 1-Wire, то шансы сделать гальваноразвязку есть. Но нужно писать свою библиотеку - я ещё не достаточно сильно мотивирован (да и малоопытен в СИ) для такой работы.
Я уже набросал опторазвязку, но с некоторыми нарушениями логических уровней. Если контроллер и ведомое устройство "скушает", то все нормально. О разведении на разные ноги думал. Для onewire - не проблема, а вот i2c вроде бы аппаратный... Буду уточнять.
Да походу, либо на разные ноги, либо дополнительный вывод отвечающий за направление линии, но прийдется програмно и мастер и слэйв так делать... и тогда вообще отпадает потребность в таких интерфейсах, так как гараздо проще развязать UART или SPI.
Вот нашел, но почему то такое ощущение, что если опустить I/O один раз к земле, то он там и останется...
Ну и естественно лишь бы DS18B20 потянул светодиод в оптроне и на I2C тоже самое, если Slave потянет, то все должно работать.
Да, эта схема мне сразу в голову пришла :) И я сразу ее забраковал, потому что будет именно так, как Вы сказали - она защелкнется в "0". У меня есть другой вариант, но я его еще не проверял.
Такая схема не должна заработать, т.к. она сама себя "захлопнет" логическим нулём. Сейчас "прокручиваю" в голове разные варианты схемотехники определяющей направление передачи и блокирующей обратный сигнал от Slave (если передача к Slave). Вырисовывается что то громоздкое (а возможно и нерабочее). На днях позаглядываю в исходники OneWire, может там что доработать сумею.
I2C действительно скорее всего аппаратный за счёт микроконтроллера. Тогда без своей библиотеки видимо трудно будет. Если есть какие либо схемотехнические "придумки" по аппаратному обходу проблемы - выкладывай, помозгую и я.
У моей схемы будет превышен уровень логического нуля.
Вот она:
Вот только потянет ли датчик в качестве нагрузки светодиод?
Замечу еще, что левая и правая части должны питаться изолированными источниками питания.
Для OneWire легче переписать библиотеку под 2 вывода - я заглянул, это совсем не трудно. А i2c/TWI - действительно аппаратный. Там нужно 2 такие схемы, потому что обе линии двунаправленные.
Глянул в интернете статьи о 1-Wire, так там выходной транзистор в датчиках представляют как MOSFET 50 Ом. А я загдядываюсь на ADuM5241 потому, что она кроме гальваноразвязки может ещё и запитать (до 10 мА) развязываемое устройство.
Внимательно рассмотрел схему - она мне нравиться. Теоретически работает. Параллельная пара "светодиод- диод" как раз и есть звено развязывающее направление передачи. Да и проблем с логическими уровнями я не вижу. А между "стрелкой" ,т.е. " +5 В" и выводом обозначенным кружочком таки поставить 4,7 кОм для уверенной логической единицы.
А между "стрелкой" ,т.е. " +5 В" и выводом обозначенным кружочком таки поставить 4,7 кОм для уверенной логической единицы.
Так получится 1Wire развязать ? по какой схеме?
Я "сочинил" схему гальванической развязки 1-Wire (на ADUM5241), но пока не выкладываю, т.к. ещё не развёл платку и естественно не проверил работу в железе. А схема в сообщении #9 выглядит вполне работоспособной (но кто-то же это должен проверить).
Я скоро проверю :) На днях...
Вот, нашел по аналогии "нужную" развязку :) ADuM1250
Теоретически для 1-Wire достаточно ADuM1251 подключенного через линию SDA и резистор только на стороне датчика.
Собственно, да. Но меня интересует i2c, да и по цене эти микрухи почти не отличаются. Заказал себе 4 штучки. Но и с оптронами тоже попробую - их мне много из китая пришло (задешево), а то если оптроны в магазе брать, то ценник еще и дороже получается, чем за эту микросхему.
Кстати, можно же не одну линию развязать, а две ;)
У 1-Wire 2 линии? или вы о чем?
ADuM1251 вторая линия односторонняя. Это, наверное, для таких интерфейсов когда тактирует только ведущий.
Я имел в виду 2 х 1 Wire - 2 датчика на 2-х разных линиях, оба развязанные
Интересно, а как в ADuM1250 борятся с "обратным" сигналом (т.е. почему и них нет защёлкивания)? И ещё. На рис. 9 в даташите подтягивающий резистор рекомендуется как 200 Ом. Не маловато ли?
Скорее всего, петлевой коэффициент усиления меньше единицы, а может и определением направления тока... Первое более вероятно.
С интересом буду ждать отзыв о практическом применении ADuM1250.
Подскажите , работаю с несколькими датчиками DS18B20, и периодически наблюдаю , что Ардуино перестает их видеть
пару рас хватаясь за датчик, бил их статическим электричеством от рук, и связь с датчиком пропадала, спасало только переподключение контроллера к питанию
для этого нужна гальваническая развязка ? или в моем случае можно обойтись меньшей кровью?
подключал как на http://cxem.net/arduino/arduino17-2.png
Вашу проблему скорее всего можно решить программно.
Гальваническая развязка желательна в случае если есть вероятность того, что какой либо датчик (или любой из трёх проводов подклчюченный к датчику) может оказаться под высоким (сетевым) напряжением. В этом случае через плату Ардуино(ы) и далее в компьютер через USB (COM) порт пройдёт бросок тока, и как это перенесёт порт и прочая электроника угадать не возможно. Гальваническая развязка и предназначена для "отсекания" этого тока (внешнего напряжения).
В Вашем случае видимо вначале необходимо обеспечить просто электрическую изоляцию проводов (мест присоединения к датчикам, кембриковые трубки на выводы DS18B20,...). Возможно также что есть "зависание" микроконтроллера со временем. Причин может быть много. Опишите свою систему подробнее, легче будет что либо посоветовать.
а я температуру кастрюли на плите меряю, так искра проскакивает в 2 см, вот думаю заземление общее делать или развязку
Речь идёт об искре поджига газа?
нет, плита электрическая, искрна между кастрюлей и плитой при подключенном датчике
В таком случае получается, что датчик имеет соединение с кастрюлей. Но в 2 сантиметровой искре я как то сомневаюсь (опыт не позволяет просто так поверить). Заземлить такую плиту было бы не лишним.
Если плита 220 вольт однофазная, переверните вилку в розетке. Про искру 2 см - сильно сомневаюсь... Обычный воздух имеет напряжение пробоя 2 кВ/см. Может Вы ходите в тапочках, шаркая ногами по синтетическому ковру?
хорошо не 2 см, без линейки был, но факт что искрит, фазу на корпусе уже проверял, нету.
Точнее 2 кВ на 1 мм сухого воздуха (хотя и это спорно).
Кто нибудь ответьте пожалуйста.
Получилось ли гальванически развязать шину 1-wire при помощи ADuM1250 (ADuM1251) ?
Имеются три провода: ноль, фаза(_220V) и один свободный (бывший GND), нужно организовать развязку для управления светом по 1-wire. Планирую использовать землю и свободный провод под шину.
Нет. А вот на ADUM5241 два года назад я сделал это. Питание термодатчика "не паразитное". Т.е. нужно три провода.
20 киловольт на сантиметр. сухого.... В выходные сам почувствовал- снимал полиэтиленовую упаковку-плёнку с мебели. Потом двигая штафчик коснулся стиральной машины. Сантиметр точно был, дёрнуло хорошо. Дальше "разряжался" через обычную отвёртку, проверено, не дёргает.
Те, кто считают что 10 - 20 киловольт в бытовых условиях не бывает - спешу вас уверить - ещё как быват!
Эт точно. В одном офисе ламинат дебильный и все ходят бодрые постоянно искрят)) Так вот я с ноутбуком пришел и подключил LAN кабель в розетку RJ45 в стене и разрядился через локальную сеть)) Ноутбук теперь только по Wi-Fi работает :(
Схемки реализации связи по 1-wire на ADUM5241 у Вас не осталось? У меня правда в наличии сейчас только ADuM1250. Попробую на макетке собрать. Отпишусь.
Пусть антистатиком полы моют. Особенно зимой когда отопление работает. А ноутбук вроде не должен был погибнуть: в разъёме( на плате) стоят трансформаторы, а дальше ограничители. Вольт вроде много, мощьность большая, а энергии почти "0".
Осталась, закономерно. Пробуйте.
Так выглядит физически. Корпус от шприцов, 2 мл. http://s018.radikal.ru/i516/1503/cd/69a89b142b90.jpg
Спасибо! Так все аккуратно и красиво. Круто.
Кто что думает на счет такой гальванической изоляции шины 1-wire?
Смущает только цена 3х IL710 но проще в изготовлении.
А как этим всем управлять? К слову, в моём варианте блок питания на стороне DS18B20 не нужен. Питание берётся от ADUM, до 5 мА.
а может просто канал связи ардуины с ПК развзязать. Зачем трогать интерфейс датчика.
Я и такой вариант использую. На момент изготовления развязки 1-Wire ещё не имел радиоканал на Bluetooth HC-04. Но скетчи отлаживать не удобно.
Что бы тема была "исчерпана", опубликовал её здесь http://radiokot.ru/articles/58/
to gena, если ещё тут обитаете. у вас есть нарисованная печатка? У меня намечается длинная линия 1-wire. Боюсь грозы могут сделать плохое дело. Хочу гальваниески развязать от МК. Думаю будет норм, если я подпитаю помощнее линию 5В со стороны датчиков 7805? А то много устройств наменчается (около 20 шт. ds2406).
iso1540 на 2 канала http://www.ti.com/lit/ds/symlink/iso1541.pdf
Разводка платы была на флешке и её "убил" какой то вирус. Есть фото платы с деталями, немного покрупнее чем на радиокоте. Думаю рассмотреть можно многое. Нужен электронный адрес для отправки.
ну да ладно, и на том спасибо. Попробую вариант, предложенный выше BH. Вроде получается, вся схема в одной микрухе, а стоит даже дешевле, к тому же два канала.
А еще можно взять LMT01 вместо 18B20. У него и точность выше и развязку проще делать.