URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 64715
[ Назад ]

Исходное сообщение
"Вопрос к тем кто работал с датчиками подобным DS18B20"

Отправлено vik2 , 10-Мрт-06 22:48 
В общем обычный термометр Ds18B20.. все бы хорошо. сделал скриптец для сохранения температуры в файлик. когда его руками запускаю все ок. когда через кронтаб.. термометр часто возвращает значение 85.0 градусов в интернете прочитал что надо спаять 1 и 3 контакты.. пробовал соединить ..почему то разницы не увидил.

Содержание

Сообщения в этом обсуждении
"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено redd , 11-Мрт-06 19:33 
Ссылку на схему электрическую принципиальную дай, подскажем

"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено qsun , 11-Мрт-06 21:14 
>В общем обычный термометр Ds18B20.. все бы хорошо. сделал скриптец для сохранения
>температуры в файлик. когда его руками запускаю все ок. когда через
>кронтаб.. термометр часто возвращает значение 85.0 градусов в интернете прочитал что
>надо спаять 1 и 3 контакты.. пробовал соединить ..почему то разницы
>не увидил.

А это часом градусы не Фаренгейта?


"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено nostromo , 12-Мрт-06 02:02 
>В общем обычный термометр Ds18B20..
>термометр часто возвращает значение 85.0 градусов

Делай 10---20 итераций съёма показаний, сортируй полученные данные по возрастанию/убыванию, и выбирай значение из середины.


"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено vik2 , 12-Мрт-06 07:58 
>Делай 10---20 итераций съёма показаний, сортируй полученные данные по возрастанию/убыванию, и выбирай
>значение из середины.
А с чем связано то эти 85градусов? и что значит 10--20 интераций съёма.


"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено PavelR , 12-Мрт-06 11:19 
>>Делай 10---20 итераций съёма показаний, сортируй полученные данные по возрастанию/убыванию, и выбирай
>>значение из середины.
>А с чем связано то эти 85градусов? и что значит 10--20 интераций
>съёма.


Это ошибка датчика, сигнализирующая об недостаточности питания для снятия показания температуры при использовании пассивного питания.
Помоему в даташите на датчики есть подобный момент.


"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено vik2 , 12-Мрт-06 11:58 
>Это ошибка датчика, сигнализирующая об недостаточности питания для снятия показания температуры при
>использовании пассивного питания.
> Помоему в даташите на датчики есть подобный момент.
А каким либо образом это исправить можно? (п.с. длина провода от ком порта до датчика 7м)


"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено vik2 , 13-Мрт-06 18:36 
Люди ну подскажите как избавиться от данной ошибки :( в ручную все ок а когда через кронтаб тока и умеет 85 гардусов показывать.. как избавиться от нехватки напряжения или чего то..
вот схема если что
http://msevm.com/main/therm/ds1820.bmp

"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено PavelR , 14-Мрт-06 08:04 
>Люди ну подскажите как избавиться от данной ошибки :( в ручную все
>ок а когда через кронтаб тока и умеет 85 гардусов показывать..
>как избавиться от нехватки напряжения или чего то..
>вот схема если что
>http://msevm.com/main/therm/ds1820.bmp


ИМХО

Это надо править в исходнике программы (задержки выставлять правильнее), или подавать питание +5 на третью ногу датчика.


"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено vik2 , 14-Мрт-06 19:51 
>ИМХО
>
>Это надо править в исходнике программы (задержки выставлять правильнее), или подавать питание
>+5 на третью ногу датчика.

подскажите пж как добавить питание +5 ? (где то читал что надо спаять 1 и 3 ноги- это верно?) переделать исходники для меня сложнее чем подать +5 вот тока подскажите как и что. заранее спасибо


"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено PavelR , 15-Мрт-06 12:28 
>>ИМХО
>>
>>Это надо править в исходнике программы (задержки выставлять правильнее), или подавать питание
>>+5 на третью ногу датчика.
>
>подскажите пж как добавить питание +5 ? (где то читал что надо
>спаять 1 и 3 ноги- это верно?) переделать исходники для меня
>сложнее чем подать +5 вот тока подскажите как и что. заранее
>спасибо

1 нога - общий
2 нога - данные
3 питание в активном режиме, в пассивном режиме замыкается на общий, тоесть на 1ый

в пассивном режиме от напряжения на 2ой ноге заряжается внутренний конденсатор, и от него чип и питается во время съема значения температуры. Если не хватает заряда, то получается 85 градусов.

Тоесть помоему достаточно просто подать +5 на третью ногу.

Да, не забудте про защитный стабилитрон на конце линии связи, помоему смысл в нем всетаки есть ) Хотя у нас на линии в метров 40 работало и без него, но фигово )


"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено vik2 , 15-Мрт-06 13:11 
>1 нога - общий
>2 нога - данные
>3 питание в активном режиме, в пассивном режиме замыкается на общий, тоесть
>на 1ый
>
>в пассивном режиме от напряжения на 2ой ноге заряжается внутренний конденсатор, и
>от него чип и питается во время съема значения температуры. Если
>не хватает заряда, то получается 85 градусов.
>
>Тоесть помоему достаточно просто подать +5 на третью ногу.
>
>Да, не забудте про защитный стабилитрон на конце линии связи, помоему смысл
>в нем всетаки есть ) Хотя у нас на линии в
>метров 40 работало и без него, но фигово )


Хорошо, это я сделаю, но если не сложно поясните мне ситуацию снимаю данные с термометра програмкой digitemp в общем когда вручную пишу скажем ./digitemp -blabla он отлично показывает температуру, как дело доходит до кронтаб - увы и ах.. кроме 85градусов он больше ничего не записывает в лог..  иногда в самом начале (после ребута компа скажем) он пару раз запишет верные данные и всё. вот понять не могу почему в ручную выдает а так нет..веть если не хватало напряжения он бы и в ручную не выдавал данные.


"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено PavelR , 15-Мрт-06 13:24 

>Хорошо, это я сделаю, но если не сложно поясните мне ситуацию снимаю
>данные с термометра програмкой digitemp в общем когда вручную пишу скажем
>./digitemp -blabla он отлично показывает температуру, как дело доходит до кронтаб
>- увы и ах.. кроме 85градусов он больше ничего не записывает
>в лог..  иногда в самом начале (после ребута компа скажем)
>он пару раз запишет верные данные и всё. вот понять не
>могу почему в ручную выдает а так нет..веть если не хватало
>напряжения он бы и в ручную не выдавал данные.

Ключи вызова одинаковы в обеих случаях ?

Я не использовал digitemp больше чем для тестирования датчиков. У нас использовался свой микроконтроллер и свой программный интерфейс с компьютером.



"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено vik2 , 15-Мрт-06 15:01 

>Ключи вызова одинаковы в обеих случаях ?
>
>Я не использовал digitemp больше чем для тестирования датчиков. У нас использовался
>свой микроконтроллер и свой программный интерфейс с компьютером.


да ключи обсалютно одинаковые. тогда получается дело не в нехватке напряжения?


"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено vik2 , 17-Мрт-06 18:24 
вот собственно, что запускает кронтаб:
cd /usr/tmp/digitemp-3.3.2/
./digitemp_DS9097 -q -s /dev/cuad0 -a >>/usr/tmp/digitemp-3.3.2/temperr.log

с данным кодом сохранение в лог идет с редким попаданием 85градусов.. бох бы с ним если с редким (фильтровать не проблема), но с каждым часом 85 гардусов станвоится всё больше и больше.. оставлял наночь с сохранением каждую минуту.. в итоге проверив утром я увидил что последние часы все равны 85градусам.. запускал вручную раз двадцать все результаты были без малейшей погрешности (ниразу не было 85градусов) это означает что с питанием все нормально... что то с кронтабом не то..подскажите кто нить.. вот строка из кронтаба:
*/1    *       *       *       *       root    /root/temper.sh



"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено vik2 , 27-Мрт-06 20:04 
>вот собственно, что запускает кронтаб:
>cd /usr/tmp/digitemp-3.3.2/
>./digitemp_DS9097 -q -s /dev/cuad0 -a >>/usr/tmp/digitemp-3.3.2/temperr.log
>
>с данным кодом сохранение в лог идет с редким попаданием 85градусов.. бох
>бы с ним если с редким (фильтровать не проблема), но с
>каждым часом 85 гардусов станвоится всё больше и больше.. оставлял наночь
>с сохранением каждую минуту.. в итоге проверив утром я увидил что
>последние часы все равны 85градусам.. запускал вручную раз двадцать все результаты
>были без малейшей погрешности (ниразу не было 85градусов) это означает что
>с питанием все нормально... что то с кронтабом не то..подскажите кто
>нить.. вот строка из кронтаба:
>*/1    *       *
>      *    
>  *       root  
>  /root/temper.sh


Люди дык кто нить подскажет.. очень надо.. почему же в ручную работает а через кронтаб выдает 85 градусов с каждым часом всё больше и больше.. в итоге все значения равны 85 ((( подскажите пж..


"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено Evgeniy , 28-Сен-06 22:39 
>>вот собственно, что запускает кронтаб:
>>cd /usr/tmp/digitemp-3.3.2/
>>./digitemp_DS9097 -q -s /dev/cuad0 -a >>/usr/tmp/digitemp-3.3.2/temperr.log
>>
>>с данным кодом сохранение в лог идет с редким попаданием 85градусов.. бох
>>бы с ним если с редким (фильтровать не проблема), но с
>>каждым часом 85 гардусов станвоится всё больше и больше.. оставлял наночь
>>с сохранением каждую минуту.. в итоге проверив утром я увидил что
>>последние часы все равны 85градусам.. запускал вручную раз двадцать все результаты
>>были без малейшей погрешности (ниразу не было 85градусов) это означает что
>>с питанием все нормально... что то с кронтабом не то..подскажите кто
>>нить.. вот строка из кронтаба:
>>*/1    *       *
>>      *    
>>  *       root  
>>  /root/temper.sh
>
>
>Люди дык кто нить подскажет.. очень надо.. почему же в ручную работает
>а через кронтаб выдает 85 градусов с каждым часом всё больше
>и больше.. в итоге все значения равны 85 ((( подскажите пж..
>

У термометра DS18B20 значение температуры по умолчанию - 85 градусов. Т.е. когда он включается в памяти стоит занчение 85град. Затем термометру по интерфайсу MicroLan выдаются команды ((сброс,выбор устройства,преобразование температуры);(сброс,выбор устройства,чтение памяти)).

Возможно:

1) термометру программой не была выдана  первая серия комад;
2) интервал времени между первой серией и второй слишком мал;
3) ему просто не хватает питания во время преобразования;

Решение:
1,2 - необходимо править исходники программы.
3   - подключить ножку 3 к внешнему источнику питания.

Писал программу на AT90S2313 с термометром DS18B20 если кому нужны исходники - вышлю.


"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено denis , 16-Фев-07 22:21 
Здравствуйте,Evgeniy .
   В форуме  ВЫ упомянули о том, что можете выслать  исходники
     программы для работы с DS18B20, написанную под AT90S2313.

     Если ВАС это не затруднит, то был бы ВАМ очень признателен.
        
    


"Вопрос к тем кто работал с датчиками подобным DS18B20"
Отправлено alex , 16-Июн-06 16:36 
>В общем обычный термометр Ds18B20.. все бы хорошо. сделал скриптец для сохранения
>температуры в файлик. когда его руками запускаю все ок. когда через
>кронтаб.. термометр часто возвращает значение 85.0 градусов в интернете прочитал что
>надо спаять 1 и 3 контакты.. пробовал соединить ..почему то разницы
>не увидил.


Может, у вас ночью температура растет? ))