Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Снова про DS18B20
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
SortoVaritu

Подскажите, кто нибудь сталкивался с проблемой просаживания напряжения при работе с датчиком DS18b20?
У меня по алгоритму запускается преобразование сразу на 4 датчиках а через 1 секунду считывается с них температура.
В даташите на датчике написано, что после запуска преобразования температуры датчик начинает много потреблять.
То есть если я запускаю сразу 4 датчика, то потребление возрастает в 4 раза и есть вероятность просаживания напряжения.
ARV
в том же даташите написано, что потребление в активном режиме достигает сумасшедшей величины аж в целых 1,5 мА... 4 датчика потребят вообще дикую величину в 6 мА... такой бешеный ток может просадить источник питания... аккумулятор от камаза вам поможет smile.gif))
SortoVaritu
Цитата(ARV @ Nov 9 2010, 11:46) *
в том же даташите написано, что потребление в активном режиме достигает сумасшедшей величины аж в целых 1,5 мА... 4 датчика потребят вообще дикую величину в 6 мА... такой бешеный ток может просадить источник питания... аккумулятор от камаза вам поможет smile.gif))


Хорошо....Тогда как вариант если один из датчиков дохлый?
ARV
уважаемый, а если в ваш прибор лом воткнуть? ясное дело, всегда найдется вариант, когда что-то нарушит нормальную работу устройства. в данном случае, закорачивание питания на общий из-за неисправности датчика приведет к перегрузке источника питания... но аккумулятор от камаза и в этом случае поможет biggrin.gif
SortoVaritu
Цитата(ARV @ Nov 9 2010, 12:03) *
уважаемый, а если в ваш прибор лом воткнуть? ясное дело, всегда найдется вариант, когда что-то нарушит нормальную работу устройства. в данном случае, закорачивание питания на общий из-за неисправности датчика приведет к перегрузке источника питания... но аккумулятор от камаза и в этом случае поможет biggrin.gif


Аккумулятор от камаза поможет наверное всем...
zhevak
Цитата(SortoVaritu @ Nov 9 2010, 14:24) *
Подскажите, кто нибудь сталкивался с проблемой просаживания напряжения при работе с датчиком DS18b20?
У меня по алгоритму запускается преобразование сразу на 4 датчиках а через 1 секунду считывается с них температура.
В даташите на датчике написано, что после запуска преобразования температуры датчик начинает много потреблять.
То есть если я запускаю сразу 4 датчика, то потребление возрастает в 4 раза и есть вероятность просаживания напряжения.

А что показывает осциллограф?
(Только не говорите, что Вы профессионально занимаетесь разработкой, но у Вас нет этого прибора. Не серьезно как-то.)
MrYuran
А по очереди их никак не запустить?
SortoVaritu
Цитата(zhevak @ Nov 9 2010, 16:27) *
А что показывает осциллограф?
(Только не говорите, что Вы профессионально занимаетесь разработкой, но у Вас нет этого прибора. Не серьезно как-то.)


Почему же - осцилограф у меня есть. Просто как бы это выразицца, в момент когда я это обнаружил он был не со мной.
Просто на моей макетной плате трансформатор стоит на 15 вольт а надо бы на 9. У этого больше напряжение но меньше ток у 9 вольтового все наоборот. Вообщем осциллограф все разрешит.
Заметил такую особенность, что в момент преобразования тускнеет ЖКИ дисплей на который я вывожу информацию.

Цитата(MrYuran @ Nov 9 2010, 16:32) *
А по очереди их никак не запустить?



По очереди конечно запустиить можно. Только время на обработку всех 4 увеличивается в 4 раза.
xemul
Цитата(SortoVaritu @ Nov 9 2010, 17:11) *
По очереди конечно запустиить можно. Только время на обработку всех 4 увеличивается в 4 раза.

А есть куда торопиться? Если у Вас датчики живут в воздухе без обдува, то опрос чаще, чем раз в 30-40 с, ни к чему кроме ошибки от саморазогрева не приведёт.
Посмотрите у производителя AN3930. Правда, там не указаны тепловые сопротивления для датчиков в TO-92 (они сильно зависят от конструктива и окружающих условий), но для среднепотолочного расчёта можете взять их из даташита на какой-нить транзистор в таком корпусе.
domowoj
Чтож у вас за источник, кот. просаживается от 6 мА?
Схему.
SortoVaritu
Цитата(xemul @ Nov 9 2010, 19:38) *
А есть куда торопиться? Если у Вас датчики живут в воздухе без обдува, то опрос чаще, чем раз в 30-40 с, ни к чему кроме ошибки от саморазогрева не приведёт.
Посмотрите у производителя AN3930. Правда, там не указаны тепловые сопротивления для датчиков в TO-92 (они сильно зависят от конструктива и окружающих условий), но для среднепотолочного расчёта можете взять их из даташита на какой-нить транзистор в таком корпусе.

Опрос в 30-40 секунд это очень медленно.
У нас был стенд где использовалось 50 датчикоа и опрашивались они 1 раз в 5 секунд. Все прекрасно работало и ничего не грелось.
Да, датчики вылетали иногда но ничего не поделаешь.

Цитата(domowoj @ Nov 9 2010, 19:55) *
Чтож у вас за источник, кот. просаживается от 6 мА?
Схему.


Я разобрался. Моргание происходит не из-за датчиков а из-за перерисовки экрана. Частота процессора только 8 МГц...
_Pasha
То 5 секунд, то 30-40... У меня 15 - некоторый компромисс. Из этого морга еще никто не жаловался.smile.gif И,ессно, никто не заставляет включать одновременно все датчики - можно их с разбежкой на время преобразования.
SortoVaritu
Цитата(_Pasha @ Nov 10 2010, 12:01) *
То 5 секунд, то 30-40... У меня 15 - некоторый компромисс. Из этого морга еще никто не жаловался.smile.gif И,ессно, никто не заставляет включать одновременно все датчики - можно их с разбежкой на время преобразования.

У меня вообще 1 секунда для 4 датчиков.... Нужно просто достаточно часто температуру мерять
Stepan_L
по моему у Вас с датчиками что то ни так. Попробуйте по одному и контролируйте командой "w1_search(0xf0,rom_codes)" число датчиков. Удачи smile3046.gif
xemul
Цитата(SortoVaritu @ Nov 10 2010, 11:44) *
У меня вообще 1 секунда для 4 датчиков....

Да не проблема. Все данные для расчёта ошибки от саморазорегрева есть, тепловое сопротивление в Ваших условиях определите экспериментально, останется только учесть её программно.
Или заведите датчики в 9-битовом режиме - в точности точно не проиграете, зато время преобразования будет меньше 100 мс.
Я, когда развлекался с DS1821 в режиме термостата (и, соответственно, непрерывного преобразования), не поленился измерить саморазогрев - в стоячем воздухе получилось до 1.5 С.
Цитата
Нужно просто достаточно часто температуру мерять

Тогда же я не поленился оценить задержку установления температуры - 3*тау получилась 90-100 с. Но если это Вам ни о чём не говорит, можете мерЯть.
SortoVaritu
Цитата(xemul @ Nov 11 2010, 14:04) *
Да не проблема. Все данные для расчёта ошибки от саморазорегрева есть, тепловое сопротивление в Ваших условиях определите экспериментально, останется только учесть её программно.
Или заведите датчики в 9-битовом режиме - в точности точно не проиграете, зато время преобразования будет меньше 100 мс.
Я, когда развлекался с DS1821 в режиме термостата (и, соответственно, непрерывного преобразования), не поленился измерить саморазогрев - в стоячем воздухе получилось до 1.5 С.

Тогда же я не поленился оценить задержку установления температуры - 3*тау получилась 90-100 с. Но если это Вам ни о чём не говорит, можете мерЯть.


Разброс температур в 1.5 градуса в моих условиях это достаточно приемлимо. Знаю, что сильно часто мерять нельзя. Но что поделать.
Хотя лучше конечно не полениться и посчитать характеристики для терморезисторов и делать на них. Там точно скоростя большие.
domowoj
Неужели так быстро меняется температура?
SortoVaritu
Цитата(domowoj @ Nov 11 2010, 17:25) *
Неужели так быстро меняется температура?

Нужно отслеживать на кондиционере
LexaryStyle
Подскажите какой командой(пример) cvavr переключить этот датчик в 9 бит для обеспечения более быстрого замера?
xemul
Цитата(LexaryStyle @ Dec 22 2010, 12:45) *
Подскажите какой командой(пример) cvavr переключить этот датчик в 9 бит для обеспечения более быстрого замера?

За cvavr не скажу, но в Configuration Register DS18B20 нужно записать 0x1f. Если есть желание, то можно сохранить значение регистра в EEPROM.
Подробности в ДШ.
ValBag
Цитата(LexaryStyle @ Dec 22 2010, 15:45) *
Подскажите какой командой(пример) cvavr переключить этот датчик в 9 бит для обеспечения более быстрого замера?
В библиотеке есть функция:
Код
ds18b20_init(unsigned char *addr,signed char temp_low,signed char temp_high, unsigned char resolution)
Последний параметр - разрешающая способность. Для 9 бит - 0.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.