Обсуждаем контроллеры компании Atmel.
Вт апр 30, 2019 20:37:03
Доброго дня всем!
Хотелось бы подключить датчик DS18B20 к Атмеге16 по двухпроводной схеме. По простому варианту не получилось. Имею ввиду соединение ножек датчика + и земля и далее одним проводом на землю устройства, а шину данных притянули к + питания резистором 4,7К. Такое у нас не прошло. Датчик выдает цифру 85 и ни на что не реагирует. При подключении этого датчика по даташиту, то есть с тремя ножками, все работает и температуру на 7 сегментном индикаторе показывает правильно. Хотелось бы избавиться от 3-го проводка на датчике. Схему с мосфетом в даташите видел. Но не хочется усложнять мосфетом схему и прошивку. В интернете вроде пишут, что можно и без мосфета такое делать если иметь библиотеку под это. В моей библиотеке такого вроде нет, да я и новичок совсем с МК. И еще проблема в том что все работают на СИ, а мы с товарищем на Паскале только умеем прошивки писать. Подскажите где можно взять библиотеку на Паскале для 2-х проводного подключения DS18B20 без мосфета. И вообще можно ли в принципе так подключить?
Ср май 01, 2019 00:16:21
Если по 3-ём проводам всё работает, то с программной частью всё в порядке. Она ничем не отличается от подключения по 2-ум проводам. Отличие только в железе.
Какое сопротивление подтяжки стоит ?
Ср май 01, 2019 07:33:25
А какова длина линии? У меня на 3 проводной при увеличении длины(до 10 - 15м) с резистором 4К7 не стал работать, пришлось уменьшить резистор до 2К.
Ср май 01, 2019 08:04:03
ясное дело, что никому не хочется усложнять схему и ставить мосфет на время конвертации температуры.
дело в том, что во время конвертации увеличивается потребление, и при 2 проводах на резисторе подтяжки образуется дополнительное падение напряжения.
я пробовал делать по 2 проводам при изменении напряжения питания.
я делал термометр с питанием от литиевого аккумулятора и тоже хотел обойтись двумя проводами.
у меня получилось,что датчик начинал врать при снижении питания ниже 3,5 Вольт, когда из-за падения на резисторе стало не хватать напряжения питания для нормальной работы датчика. пришлось, все таки, ставить третий провод.
и ножку "+" датчика нужно оставлять в воздухе, а не соединять с "землей". может, из-за этого соединения конвертация не работала вообще.
и можно еще сопротивление резистора уменьшить, чтобы снизить падение на нем во время конвертации температуры.
Ср май 01, 2019 09:37:00
Аlex писал(а):Какое сопротивление подтяжки стоит ?
Сначала пробовали как везде написано 4,7К, потом поставили подстроечник и крутили на нем до 1,2 К. Меньше не делали. Все время показывает 85 град.
alex_ писал(а):А какова длина линии?
Длинна линии 5 метров. Питание 5 вольт.
Добавлено after 16 minutes 4 seconds:Starichok51 писал(а):и ножку "+" датчика нужно оставлять в воздухе, а не соединять с "землей".
А такое может прокатить если питание 5 вольт от БП?
Ср май 01, 2019 10:21:39
dima1967 писал(а):крутили на нем до 1,2 К
Можно, конечно, попробовать поменьше (ОМ до 600...800) - ничего страшного не случится. Но с 1К один датчик должен работать.
Попробуйте, в качестве эксперимента, уменьшить длину линии до минимума. Заработает ли вообще что-нибудь...
Starichok51 писал(а):ножку "+" датчика нужно оставлять в воздухе, а не соединять с "землей"
Откуда такая информация ? От производителя ?
Просто первый раз слышу. Всегда соединял "+" и "-" между собой, и всё работало.
Ср май 01, 2019 13:13:25
Аlex писал(а):Всегда соединял "+" и "-" между собой, и всё работало.
Всё верно.
Из даташита:
Спойлер
- Вложения
-
- DS18B20.PNG
- (160.32 KiB) Скачиваний: 1375
Ср май 01, 2019 13:27:12
Аlex писал(а):Но с 1К один датчик должен работать.
Попробуйте, в качестве эксперимента, уменьшить длину линии до минимума.
Это сегодня вечером обязательно попробую, тем более мне 5 метров и не надо, просто провод такой был и резать не стал. Надежду не теряю....
Ср май 01, 2019 16:06:54
разница в соединении по двум и по трем проводам следующая:
1. раньше выпускались датчики с суффиксом PAR и без оного - первые могли работать на двупроводном интерфейсе, вторым требовался третий провод питания. позже все датчики стали поддерживать паразитное питание.
2. при двупроводном подключении (с паразитным питанием то есть) на время преобразования необходимо (!!!) соделинять DQ и VCC, т.е. подавать питание на линию данных напрямую, а не через резистор.
3. при паразитном питании вывод VCC датчика должен соединяться с выводом GND датчика
таким образом, если есть библиотека, которая работает в 3-проводном режиме, то её легко можно адаптировать к 2-проводному: достаточно после выдачи команды начала преобразования температуры как можно быстрее настроить порт DQ в режим выхода и выдать на него единичку. спустя время преобразования (примерно 800 мс для 12-битного режима) режим работы порта линии DQ восстановить, как был (для семейства AVR это режим входа без подтяжки, как правило). других изменений библиотечка не потребует.
Ср май 01, 2019 16:29:10
1) Неправда.
Изначально все датчики работали в обоих режимах запитывания, потом появились с суффиксом "
PAR" работающие
исключительно в паразитном режиме питания (выв.3 у них попросту не используется - NC).
2) Необязательно, но крайне рекомендуется производителем (та самая схема с полевиком, которую не хочет собирать ТС).
3) Здесь согласен, выше привёл цитату из даташита (причём самого первого, от Dallas). Для датчиков с суффиксом "
PAR" это не имеет значения.
- Вложения
-
- DS18B20-PAR.PNG
- (18.68 KiB) Скачиваний: 6965
Ср май 01, 2019 17:49:37
Переделка относительно простая.
Единственно обязательный контроль линии на КЗ перед очередным включением и в процессе работы дабы случайно выходной каскад МК не спалить.
При длине проводков до пары метров особых проблем нету. При большей - надо специальный апппаратный блочек ставить (даже и для 3-х проводной при значительном расстоянии). Сам шлейф предпочтительно из телефонного кабла с 4мя жилками.
http://img.radiokot.ru/files/20529/i1yvpkie4.jpg датчик на шлейфе
http://img.radiokot.ru/files/20529/kc1ezblxl.JPG схемка с линейным усилитель/коммутатором
http://img.radiokot.ru/files/20529/1us0r4a0ua.GIF собственно сама схема адаптера
Без адаптера для 3-х проводной длина до 3 метров гарантируется.
Основные прожки предпочтительно на ассемблере делать, хотя и на СИ (если достаточная квалификация) или готовенькое из библиотек адурин.
Ср май 01, 2019 17:57:46
ARV писал(а):2. при двупроводном подключении (с паразитным питанием то есть) на время преобразования необходимо (!!!) соделинять DQ и VCC, т.е. подавать питание на линию данных напрямую, а не через резистор.
3. при паразитном питании вывод VCC датчика должен соединяться с выводом GND датчика
Я немного запутался. Как все таки соединять? Ногу данных соединять с ногой питания или с ногой земли?? И без резистора вообще?
ARV писал(а): достаточно после выдачи команды начала преобразования температуры как можно быстрее настроить порт DQ в режим выхода и выдать на него единичку. спустя время преобразования (примерно 800 мс для 12-битного режима) режим работы порта линии DQ восстановить, как был
Так мы попробовали с резистором 1,2 К между ногой данных и + питания, но ничего не вышло. У меня сейчас подключено так: Ноги земли и + питания датчика спаяны вместе и идут на землю МК. А нога данных идет напрямую в порт МК и этот вход притянут резистором 1,2 К к + питания. Мы ему вообще не 800 мкс а больше 1 сек дали.
Подскажите пожалуйста четко как соединить ноги датчика и порт МК чтобы попробовать завести датчик по Вашей методе.
Ср май 01, 2019 19:28:46
Соединение согласно даташита
Для работы на начальном этапе (если нет особых навыков по развороту линии порта с ввода на вывод и обратно) лучше использовать включенные параллельно выводы МК, один из которых настроен как выход, а второй как вход.
И почитайте таки матчасть...
можеть чего и проясниться...
Чт май 02, 2019 07:04:41
извиняюсь, я был невнимателен при чтении даташита, и свои эксперименты проводил с ногой питания, висящей в воздухе.
Чт май 02, 2019 08:22:54
У так называемого "паразита" лапка питания вообще НЕ ПОДКЛЮЧЕНА (NC).
(пардонс за дубль даташита
)
Так что вполне оправданная ошибка при наличии таковых разновидностей в лапах.
Пт май 03, 2019 17:48:45
Непонятно только одно - почему так необходимо именно двухпроводное подключение?
Неужели так подорожали провода? При двухпроводном подключении эти датчики просто
не будут работать по настоящему хорошо. В даташите об этом говорится и практика
подтверждает.
Пт май 03, 2019 21:17:09
да много случаев, в холодтльнике например двух проводные и просто так не просунешь, все запенено
Добавлено after 16 minutes:
а если через шотти конденсатор побольше емость заряжать на vdd, дать паузу при включении для зарядки конденсатора несколько секунд? даллас же молчит изначально пока к нему не обратились
Сб май 04, 2019 08:20:41
Так и делается.
Только доки/аппноты не относительно DS18x20 который чаще всего встречается в радиолюбительских конструкциях,
а документацию на IBiutton читать надо.
Воть подборка переводного минимума в одной кучке:
и сам хэндбук
Сб май 04, 2019 09:46:57
Я предлагаю к обычному однопроводному интерфейсу резистор 2 кОма например или меньше, лижбы авр вытянула. А на стороне далласа диод шотки с выхода на питание и конденсатор побольше. При включении держим паузу чтобы емкость зарядилась. Или даже еще лучше дсдс какойто мелкий возле далласа от 1,5 вольт или меньше как в сигналках
Сб май 04, 2019 10:13:23
При "двухпроводном" питание не через резистор, а через открытый ключ.
Частный случай - разворот вывода МК на выход и подача в линию уровня 1,
а при работе тот же вывод в режиме входа с внешним резистором в 2,3-3,6 килоома.
Как вариант - внешний "верхний ключ" и/или отдельный вывод МК.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.