реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> ds18B20 + AVR
Miron
сообщение Jul 4 2005, 07:06
Сообщение #16


Частый гость
**

Группа: Validating
Сообщений: 149
Регистрация: 11-02-05
Из: Рязань
Пользователь №: 2 574



А может вместо стольких огородов поставить транзистор как рекомендуется
при паразтином питании
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jul 4 2005, 11:10
Сообщение #17


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Работаю с датчиками ds18s20 по паразитному питанию. Подключаю их как рекомендовано в даташите - сопротивление 4,7К от шины к питанию. Ну и кроме того сразу после передачи команды старта измерения выставляю ногу контроллера в "1" и удерживаю в единице все время преобразования (1 сек).
Никаких проблем с датчиками не возникало, 4 датчика на одной шине при этом работают на ура (измерение происходит у всех одновременно). По спецификации потребление у ds18s20 при измерении не превышает 1 mA, так что даже десяток датчиков могут быть запитаны от одной ноги контроллера.
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение Jul 4 2005, 11:40
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Цитата(AndyBig @ Jul 4 2005, 15:10)
Работаю с датчиками ds18s20 по паразитному питанию. Подключаю их как рекомендовано в даташите - сопротивление 4,7К от шины к питанию. Ну и кроме того сразу после передачи команды старта измерения выставляю ногу контроллера в "1" и удерживаю в единице все время преобразования (1 сек).
Никаких проблем с датчиками не возникало, 4 датчика на одной шине при этом работают на ура (измерение происходит у всех одновременно). По спецификации потребление у ds18s20 при измерении не превышает 1 mA, так что даже десяток датчиков могут быть запитаны от одной ноги контроллера.
*


ОК, я вреде так и делаю. У меня на ноге TDX сидят два транзистора (из AVR318 схему взял) Кидаю команду на преобразование и на ноги TDX и RXD ставлю на выход 1. И.... Может я 10 мкс не выдерживаю? 1 стоит даже дольше чем 1 с. И вообще в этом случае цикл жутко удлиняется.
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jul 4 2005, 12:13
Сообщение #19


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



10 мкс - это не время, в течении которого требуется удерживать питание на шине данных.
Даллас говорит:
Цитата
The DQ line must be switched over to the strong pullup within 10 µs maximum after issuing any protocol that involves copying to the E2 memory or initiates temperature conversions.

что означает примерно: Линия DQ должна быть зашунтирована на питание через максимум 10 мкс после подачи любой команды, выполняющей копирование в E2 или инициирующей измерение.
То есть выдерживать 10 мкс НЕ НУЖНО. Наоборот - после выдачи команды на измерение нужно как можно быстрее (максимум - в течении 10 мкс) выставить питание на шину.

И еще Даллас говорит:
Цитата
Temperature conversion takes up to 750 ms. After receiving the Convert T protocol, if the part doesnot receive power from the VDD pin, the DQ line for the DS18B20 must be held high for at least a period greater than tconv to provide power during the conversion process. As such, no other activity may take place on the 1-Wire bus for at least this period after a Convert T command has been issued.

что в вольном переводе значит: Измерение температуры занимает до 750 мс. После приема команды измерения, если датчик не запитан внешним питанием, линия DQ должна быть подтянута к питанию как минимум на период времени, превышающий время измерения. Как следствие этого, никакой активности на шине в течении этого периода быть не должно.

Кстати, а что за RXD и TXD? У датчиков же всего одна линия данных...
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение Jul 4 2005, 12:35
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



10 мкс я именно так и понимаю. И если я опоздаю, то преобразование сорвётся. Так?.
RXD и TXD это пины AVR-а из схемы AVR318. RXD на прямую, на шину идёт, а TXD через два транзистора также идёт на ту же шину.
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jul 4 2005, 14:32
Сообщение #21


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Цитата
если я опоздаю, то преобразование сорвётся. Так?

Да, именно так. Подозреваю, что датчик после этого может даже вообще уйти в полный ступор smile.gif.
Цитата
RXD на прямую, на шину идёт, а TXD через два транзистора также идёт на ту же шину.

А зачем такие сложности? Я только одну ногу контроллера задействую, переключая ее на вход или на выход.
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение Jul 5 2005, 10:23
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



А зачем такие сложности? Я только одну ногу контроллера задействую, переключая ее на вход или на выход.
*

[/quote]

Я сам сдесь ни чего не сачинял, взял у Атмела пример и немного подработал под себя.
Где можно найти пример с использованием одной ноги?
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jul 5 2005, 11:50
Сообщение #23


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Вот то, чем пользуюсь я.
Переделка из далласовского примера, адаптированная для удобства и AVR smile.gif.
Я без проблем использовал ее на двух разных мегах, на разном клоке (1 и 8 МГц) лишь меняя несколько настроек в .h файле.
Прикрепленные файлы
Прикрепленный файл  onewire_iar_avr.rar ( 3.5 килобайт ) Кол-во скачиваний: 137
 
Go to the top of the page
 
+Quote Post
Serjio
сообщение Jul 5 2005, 12:05
Сообщение #24


Частый гость
**

Группа: Свой
Сообщений: 137
Регистрация: 3-09-04
Пользователь №: 594



Вообще-то для питания датчиков паразитным питанием, требуются датчики DS18S20PAR - специально для этого приспособленные.
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jul 5 2005, 12:11
Сообщение #25


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Они не требуются, они просто более адаптированы для этого. Но питать паразитным питанием можно датчики и без PAR-редакции, это ясно указано в спецификациях.
Go to the top of the page
 
+Quote Post
Miron
сообщение Jul 5 2005, 12:22
Сообщение #26


Частый гость
**

Группа: Validating
Сообщений: 149
Регистрация: 11-02-05
Из: Рязань
Пользователь №: 2 574



Я тоже всегда пользуюсь только одной ногой контроллера для обмена с датчиком а вторую обычно использовал для управления транзистором,
если использовал паразитное питание (от одного пина запитывать линию
в момент преобразования я не пробывал)
Oleg_IT а длинна линии связи с датчиком у вас какая?
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jul 5 2005, 12:42
Сообщение #27


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Кстати, по длине линии мне тоже интересно...
А вообще - кто на какой длине линии запускал ds18s(b)20?
Go to the top of the page
 
+Quote Post
Miron
сообщение Jul 5 2005, 12:50
Сообщение #28


Частый гость
**

Группа: Validating
Сообщений: 149
Регистрация: 11-02-05
Из: Рязань
Пользователь №: 2 574



Запускал до 200 метров но без паразитного питания
проблемы были но они решаемы
кроме длинны еще важным фактором является количество датчиков на этой ветке.
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение Jul 5 2005, 12:59
Сообщение #29


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



В текущем проекте длина линии не более 3 м. 1-3 датчика (модификации)
По поводу, сколько линий и сколько транзисторов - у меня такое мнение. Если можно обойтись минимумом, без ухудшения качества, конечно, то надо так и делать. Стоимость, однако, в серии чувствительно будет.
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Jul 5 2005, 13:11
Сообщение #30


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Уверен, что метров до 5 никаких проблем возникать не должно. У меня на одном метре 4 датчика чувствуют себя прекрасно, питаясь паразитно от одной ноги контроллера (плюс подтягивающий резюк 4,7К).
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 08:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01462 секунд с 7
ELECTRONIX ©2004-2016