Датчик температуры DS18B20 с гидроизоляцией
- Войдите на сайт для отправки комментариев
Сб, 09/01/2016 - 12:57
Появился вопрос по сабжу.
Проект - контроллер аквариума. Использую Uno R3, экран 16х2 + i2c, релле на 2 выхода и собственно сам датчик DS18B20. На этапе макетирования все работало, температуру меряло, выводило на экран.
Сейчас все собрал в коробку все спаял, подключил и начал проводить полевые испытания :) при первом погружении датчика в аквариум на глубину свыше 15 см сигнал от датчика начинает чудить пропадая на экране, если еще глубже погружать пропадает вовсе, кто подскажет в каком направлении рыть.
П.С. начинающий ардуинщик, опыта мало.
А можно фото датчика?
Проверь герметичность датчика. Срежь термоусадку и посмотри, может там вода.
У меня висевший на улице датчик в металлическом колпачке и термоусадке все равно где-то через год набрал воды. Следующая версия пошла уже с забитым внутрь колпачка теплопроводящим герметиком. Посмотрим, насколько такой вариант сдюжит.
Сам Датчик
По поводу герментичности, у меня два этих датчика, причем 1 вообще никогда не использовался, я когда заметил проблему, подключил второй и сразу опустил на дно аквариума ,тот же эффект сигнал пропадает, вытаскиваешь все нормально ...
Срезать сразу термоусадку, герметик и обратно ставить.
Приятель просто голый даллас залил герметиком.
Пару лет уже работает в аквариуме.
как бы очевидно, что датчик явно без гидроизоляции - срежь термоусадку, залей колпачёк силиконовым герметиком, воткни втуда датчик, вытри выдавившися силикон, установи термоусадку.
Первое что сделал, намертво перемотал изолентой и сунул в аквас, ничего особо не поменялось...
И кстати напомнило:
Силикон бывает нейтральный и уксусный.
Сначала заливал нейтральным, потом решил проверить уксусный.
Щупы мультика в незатвердевшем уксусном силиконе на пределе 20 Мегаом показывали обрыв,
что было довольно неожиданно с учётом запаха уксуса вокруг.
Пошёл дальше, стал заливать кислотным платы блока питания камер для пробы:
трансформатор 220-15 ас, 4 диода, кондёры 2000.0, 7812, всё на платке
и этим-же силиконом залито в заднюю часть хаузинга камер
Залито основательно чтобы не отваливались провода при их дёргании( глю-ган не держит-плавится летом)
Сделано было штук 100-200 за много лет, 10-15 лет назад,
все блоки питания до сих пор живы.
Правда не все камеры...
Та что теперь спокойно отношусь к кислотному силикону и считаю его вполне " электротехническим"
То есть даже неплохим изолятором ( 220 на первичке тех трансформаторов)
Кстати для пробы подавал 220 сразу после заливки, никаких проблем.
И никакой коррозии не видел ( иногда приносили хаузинги на ремонт)
А у кого-то есть отрицательный опыт применения кислотного силикона в "изоляции" электротехники ?
А у кого-то есть отрицательный опыт применения кислотного силикона в "изоляции" электротехники ?
у меня есть - медные провода зеленеют.
поэтому был забракован для электротехнических работ как потенциально небезопасный.
Я так и думал.... А пайки оставались даже блестящими
Есть двухкомпонентный.
Приятель брал где то однокомпонетный нетральный как краска.
Всё намного проще. Вода добавляет ёмкость на линии. Получается, что тупо заваливаются фронты импульсов. Отсюда и глюки.
Это единственный вариант, объясняющий это явление.
Ищите проблему в софте.
Для эксперимента, можете подобавлять ёмкости, величной начиная от 1н и выше, между выводом данных и землёй (или питанием). Получите такой же эффект.
Одну ногу емкость линии отгрызла. Вода ни при чем. Ага.
Что ? Вы про какую ногу говорите ?
У человека, при погружении датчика в воду, появляются проблемы с измерением. Это ёмкость влияет.
Alexino, ни у кого не влияет, а у него влияет? Разве что у него в воду фаза 220вольт опущена, тогда будет влиять :))
А кабель на металлический стакан не течёт ?
Ёмкости там от силы пару сотен пик от воды добавится.
резистор проверьте или поставьте раза в 2 поменьше.
Alexino, ни у кого не влияет, а у него влияет? Разве что у него в воду фаза 220вольт опущена, тогда будет влиять :))
Вы уверены, что у него реалзиция 1-Wire идеальная ? Я, например, нет. Я даже больше скажу - у него проблема с реализацией интерфейса. Тупо не выдержаны временные интервалы для тайм-слотов.
Вы просто не встречались с ситцациями, при которых датчик наинает лагать даже при 2ух-3ёх-метровом проводе, при этом отлино работая на проводе < 1 метра. И это всё - последствия незнания интерфейса с которым работаешь.
И фаза тут совсем не при чём, я не о наводках говорю, а о ёмкости воды, которая, кстати, не такая уж и маленькая.
PS: Для эксперемента, повесьте ёмкость в 0.01-0.1 мкф, при сопротивлении подтяжки даже в 1к - рубль за сто даю, Ваш термометр загнётся...
А вот совет по уменьшению сопротивления - в точку.
Сам код, уже не помню какой резистор ставил, после работы дома буду поменяю, за наводку спасибо, в микроэлектронике нуб, пока учусь
А где задержка между началом преобразования и чтением температуры ?
Измерял ёмкость кабеля в моей сети из пятидесяти одного датчика.
7000 пик было максимум.
7 хвостов в разные стороны. 50- 100 метров.
Половина по правилам, датчики сидят последовательно.
Некоторые со звездой на конце, из одной точки 3-4 по сторонам 20-30 метров
Каждый хвост к своему пину.
Резисторы 1к8, питание каждого хвоста 78L05,
кондёр по питанию не помню, 1000.0 или 2000.0, что под руку попалось.
При токе с десяток миллиамер не важно.
Всё работает уже давно и без глюков.
Изредка CRC можно увидеть, но это судьба такая.
Так что думайте......
Сегодняшний скриншот:
Вторая цифра- номер канала. A0-A7 на мега 256
Разве она нужна ? Если что код не мой.
Если не сделать паузу после StartConvrersion и ReadScratcpad более 0,75 секунды ( на 12- разрядах)
то вы считаете предыдущее преобразование.
Кстати, а кто вам мешает проверить датчик простым примером из библиотеки?
Там софтом всё в порядке
Всё работает уже давно и без глюков.
Изредка CRC можно увидеть, но это судьба такая.
Но есть варианты, когда не будет работать даже с 5-тью метрами провода - этой ёмкости будет достаточно, чтобы завалить фронты на столько, что плохо-реализованный интерфейс будет давать знать о себе.
По данному примеру сказать ничего не могу, ибо вся реализация спрятана в библиотеку. И компильнуть код не могу, в надежде на то, что библиотека стандартная, ругается на OneWire.h Но могу сказать точно - причина у ТС в ёмкости, возникающей при опускании датчика с проводом в воду. И с вероятностью в 99.9% уменьшение сопротивления подтяжки его спасёт, это основы электроники (RC-цепь). Остальные 0.1% - исправление его собственной программы.
Итог: поставил 4.7 кОМ как советуют к этому датчику, 2кОм, 1 кОм ничего не поменялось, при погружении на 30 см начинаются глюки
П.С. к работающему контроллеру подцепил запасно датчик, все на нем проводил.
lex0r, ну возьмите уже отдельную 3х литровую банку, и протестируйте на ней. В #15 я конечно пошутил, но нужно точно убедиться, что нет привязки к конкретному аквариуму.
Проверил на бутыле 19 литровом, действительно датчик работает нормально, в аквариуме сразу глючит, все фильтры вырубил из сети, все равно тоже самое
lex0r, ну вот, уже что-то. Разбирайтесь, нам отсюда не виден ваш аквариум. Как это не смешно, но наиболее вероятная причина -переменный ток в воде :)
Да , и на время эксперимента уберите электрического ската из аквариума.
Вообщем, решил отключить вилки питания света подключенные к реллешке( релле на две нагрузки), при выключении одной из нагрузок из сети все глюки датчика пропадают...
У меня с подобным реле тоже глюки, НАНО начинает малость бредить :(
lex0r, производители этих модулей ставят самые дешевые реле. У них изначально завышенное сопротивление соединённых контактов, из-за этого место сопрокосновения контактов подгорает и начинает генерить очень сильные помехи. Видимо опуская датчик в аквариум вы приближались сильно к проводам этой лампочки, и этого хватало, что бы полностью нарушить работу датчика.
Не согласен, сейчас подсоединил релле длинными прводами специально подальше увел от самой платы уно и опять при погружении тоже самое, видимо через управляющие пины какие то помехи идут.
lex0r, Вы задержку после команды преобразования поставили ?
И ещё, ошибки CRC пишет ? Или просто начинает врать температуру ?
Опишите подробнее симптомы.
Честно говоря не понял где задержку поставить
179
for
(
int
i = 0; i < 9; i++) {
180
data[i] = ds.read();
Перед этими строками? и задержку функцией delay ставить ?
Ошибку пишет эту, нет датчика в цепи
if
( !ds.search(addr)) {
148
//no more sensors on chain, reset search
149
lcd.setCursor(0, 0);
150
lcd.print(
"NO more addrss!"
);
151
152
ds.reset_search();
153
return
-1001;
Кстати, если в устройстве датчик всего один, то пользовать поиск и выбор по ID вовсе не обязательно.
Совершенно не понятно, зачем это сделано в программе.
Будет повешан еще 1 датчик для измерения температуры воздуха на тот же канал
lex0r, ну вот, уже что-то. Разбирайтесь, нам отсюда не виден ваш аквариум. Как это не смешно, но наиболее вероятная причина -переменный ток в воде :)
Похоже.
Выньте все приборы которые опущены в воду. Особенно нагреватели.
Короче сделайте из аквариума макет 3-ёх литровой банки.
Если аквариум имеет металлический каркас- соедините с землёй Ардуины.
Попробуйте запитать плату с датчиком от батареек.
Эм если читали тему, то все дело в релле, которое наводки дикие создает
lex0r, вы не все детали проговариваете. Какие-то вновь вспывающие факты начинают противоречить предыдущим. Например сначала вы писали, что глюк появляется только опуская датчик в воду, а вынимая обратно всё ок. Но ведь как я понимаю провода к реле подключены были и в том и в другом случае, и экперемент отличался только местополодением датчика. Выходит что-то ещё было изменено? Вы отсоединяли реле, когда вынимали датчик?
Никакого противоречия
Собрал устройство с релле на две нагрузки + ртс часы + датчик температуры с гидроизоляцией.
Стал тестировать работу, без погружения датчика в аквариум все работает хорошо, свет вклчюается выключается через заданное время, температура измеряется.
Когда стал опускать датчик в воду начались глюки. После нашего разговора дял интереса повыключал из пилота электро приборы для аквариума (два фильтра), все оставалось по прежнему в воду пихаю глючит вынимаю работает, выключит нагрузки на релле из сети (свет для аквариума) глюки пропали.
Потом отключил полностью релле от ардуины, опустил в аквариум датчик, датчик работает нормально.
готов записать видео всех моих действий вечером, после работы
lex0r, Вы задержку поставили после преобразования ? Она обязательна ! Как после её установки ведёт себя устройство ?
Опустите датчик в воду. При всё отключено работает? Вы пишите "работает"
Включайте ваши нагрузки по одной, но напрямую в розетки. Датчик после этого работает?
Кстати у вас 5-ти Вольтовые реле.
Откуда они питаются? ( там на плате есть синяя перемычка)
выключит нагрузки на релле из сети (свет для аквариума) глюки пропали.
Ну а почему в моём сообщении #31 вы с чем-то несогласны? Значит утечка тока идёт через свет в аквариуме. Стало быть моё сообщение #15 было пророческим. Как у вас организован свет, где находятся лампочки физически?
Похоже на это, хотя для утечки от света
необходим замкнутый контур для прохождения этого тока, а у нас его нет ;(
Да и что с того что даже по земле аквариум-Ардуина течёт небольшой ток ( через кондёры фильтров лампы и блока питания)
Не может он создать что-то критическое.
У нас земля Ардуины , датчика и реле жёстко связаны, а земля реле возможно даже развязана оптронами .
Создать разность потенциалов на участке проводника нужен "реальный" и не маленький ток.
Свет у меня на люминесцентных лампах с электрическими пускателями, сами лампы закреплены на пластике, с водой вообще никак не соприкасаются, исключаю вариант с утечками, аквариум без металлокаркаса абсолютно, вечером покажу все на видео
Свет у меня на люминесцентных лампах с электрическими пускателями...
Вот так, под пытками, правда и открывается. :)) При работающих лампах извлеките стартер из той, которая дает помехи.
Если сразу не помогло, то проверьте комбинации лампа-стартер-реле и выясните, что именно дает помеху. ЛДС вообще источник повышенных помех, неисправные стартеры к ним - особо злостных помех, плюс некачественный контакт питания (реле) это вообще - гремучая смесь.
С ЭПРА проблем не было, работают пол года, тогда у меня возникает вопрос ЭПРА убран далеко, помехи идут через управляющие провода на реллешке ?
https://www.youtube.com/watch?v=wEnxOfqAWRU видео не полное к сожалению, как оказалось, когда закончили съемки, моя благоверная перепутала продолжение съемки со стопами, завтра дубль 2 сделаем )
https://www.youtube.com/watch?v=wEnxOfqAWRU
Автор ограничил доступ к видео.
Сожалеем об этом.
Открыл доступ.