Обявления

Для полноценной работы рекомендуется пройти регистрацию.

Рекламные сообщения будут удаляться вместе с пользователем. Что есть реклама - буду решать я.

Термометр на ATtiny2313 и DS18B20

Здесь только проекты на ATtiny

Re: Термометр на ATtiny2313 и DS18B20

Сообщение Artem » 31 янв 2011 23:35

Датчик рабочий, проверял на другом термометре. В смысле линия? Провод? Там ведь кроме резистора и гореть нечему. Если только порт МК не спалил...
Artem
Частенько бываю
 
Сообщения: 49
Зарегистрирован: 14 янв 2011 23:10

Re: Термометр на ATtiny2313 и DS18B20

Сообщение hardlock » 01 фев 2011 08:41

Artem писал(а):Если только порт МК не спалил...

если стоит стабилитрон на входе, то спалить сложно, но тоже можно. Попробуйте резистор подстроечный поставить на линию данных (вместо 4,7к) и покрутить... Убрать стабилитрон, если был...
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3374
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Термометр на ATtiny2313 и DS18B20

Сообщение wild wind » 01 фев 2011 10:05

Добрый день. Собрал пару термометров и заметил такую вещь что они врут на 1.5 - 2 град с чем это связано не пойму. Где вычитал что рекомендуется опрос датчика делать не чаще 1 раза в 5 секунд чтобы не проиходил внутреннний разогрев. так ли это? Подключены датчики по второй схеме. Зарание спасибо за ответ.
wild wind
Пробегал мимо
 
Сообщения: 6
Зарегистрирован: 24 ноя 2010 14:29
Откуда: Ufa

Re: Термометр на ATtiny2313 и DS18B20

Сообщение Kazemir » 02 фев 2011 15:26

Мне тоже на просторах интернета попадались аналогичные высказывания, вот одно из них дословно -
есть эффект саморазогрева датчика, если часто опрашиваете его. "нормальная" температура будет, если опрос не чаще 1 раз в 5сек, по собственному опыту

Частенько на форуме задаются вопросы насчет завышения показаний температуры, надо будет в этом плане поэкспериментировать!
Kazemir
Частенько бываю
 
Сообщения: 110
Зарегистрирован: 01 дек 2009 10:02
Откуда: г. Королев

Re: Термометр на ATtiny2313 и DS18B20

Сообщение wild wind » 04 фев 2011 06:27

Провел маленький эксперемент, выключил подождал некоторе время и включил, показания не изменились...это говорит что внутрений разогрев это фигня....тут или датчик врет или что то еще... :-(
wild wind
Пробегал мимо
 
Сообщения: 6
Зарегистрирован: 24 ноя 2010 14:29
Откуда: Ufa

Re: Термометр на ATtiny2313 и DS18B20

Сообщение Artem » 04 фев 2011 18:01

Сравнивал термометр на этом датчике и медицинский. Показания отличались на несколько десятых градуса. И судя по тому, как быстро изменяется температура, которая выводится на индикатор при разогреве или охлаждении, опрос там явно чаще чем раз в 5 сек.
Завышать он может, если находится на плате недалеко от того же стабилизатора (они иногда греются), такое было :)
Artem
Частенько бываю
 
Сообщения: 49
Зарегистрирован: 14 янв 2011 23:10

Re: Термометр на ATtiny2313 и DS18B20

Сообщение Kazemir » 04 фев 2011 19:51

Artem писал
опрос там явно чаще чем раз в 5 сек.

Судя по исходнику опрос примерно один раз в секунду.
Если датчик находится на плате, завышать будет однозначно, он очень чувствителен к окружающей температуре и на изменения реагирует моментально, поэтому монтировать его надо однозначно не на плате и вне корпуса изделия.
Kazemir
Частенько бываю
 
Сообщения: 110
Зарегистрирован: 01 дек 2009 10:02
Откуда: г. Королев

Re: Термометр на ATtiny2313 и DS18B20

Сообщение wild wind » 07 фев 2011 07:20

Kazemir, у меня дачик весит за окном прям рядом с со спиртовым градусником чем больше температура лезет в минус тем больше разница. Около нуля разница минимальна. Оба термометра работают одинаково.
wild wind
Пробегал мимо
 
Сообщения: 6
Зарегистрирован: 24 ноя 2010 14:29
Откуда: Ufa

Re: Термометр на ATtiny2313 и DS18B20

Сообщение hardlock » 07 фев 2011 08:31

wild wind, а ты попробуй датчик вынести на 0,5 - 1 метр от стены дома... Вместе с термометром.

От дома идёт тёплый воздух и нагревает термометр и датчик (кто-то из низ сильнее нагревается). Хотя может ещё сказыватьсясильная нелинейность спиртового термометра.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3374
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Термометр на ATtiny2313 и DS18B20

Сообщение bablo_78 » 11 фев 2011 11:48

Уважаемый Hardlock. Подскажите пожалуйста (желательно кусочком кода) как перевести датчик DS18B20 в режим 9-бит. Я взял за основу термометр который сделал TELEK, а у него там датчик DS1820 и поэтому мой термометр завышает температуру. К сожалению в С я полный ноль. Насколько я понимаю
есть два пути: или перевести датчик в 9-бит или отбросить 3 бита, но как это сделать в коде я не знаю. Заранее благодарен.
bablo_78
Пробегал мимо
 
Сообщения: 10
Зарегистрирован: 10 фев 2011 15:55

Re: Термометр на ATtiny2313 и DS18B20

Сообщение hardlock » 11 фев 2011 18:18

bablo_78, ну так и спросите у Телека. Я же его код не видел.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3374
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Термометр на ATtiny2313 и DS18B20

Сообщение bablo_78 » 11 фев 2011 20:58

Ну спасибо что подсказали,
но я по-моему задал конкретный вопрос
hardlock писал(а):Подскажите пожалуйста (желательно кусочком кода) как перевести датчик DS18B20 в режим 9-бит.

Вы и подсказали, спасибо.
bablo_78
Пробегал мимо
 
Сообщения: 10
Зарегистрирован: 10 фев 2011 15:55

Re: Термометр на ATtiny2313 и DS18B20

Сообщение hardlock » 11 фев 2011 22:30

bablo_78 писал(а):как перевести датчик DS18B20 в режим 9-бит.

смотрите мануал - я не помню, а даташита нету под рукой.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3374
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Термометр на ATtiny2313 и DS18B20

Сообщение bablo_78 » 14 фев 2011 10:35

Может кто нибудь поможет. Надо написать кусок кода для перевода датчика DS18B20 в режим 9-бит. Я использую готовый проект от TELEKa, там у него датчик DS1820, чтобы не переписывать код пересчета (потому как в С я полный 0) его нужно перевести в 9-бит, тем более что так универсальнее - можно будет любые использовать (у DS1820 и DS18S20 нет "configuration register"). Да и еще TELEK не использует библиотеку CVAVR - DS18B20.H, он просто считывает два байта, а если в библиотеку добавить эту библиотеку то код будет превышен.
Вот ссылка на исходники download/file.php?id=49 на второй странице темы "Термометр на ATtiny2313 и DS18B20", чуть раньше на 1 странице проект для PROTEUSa.
bablo_78
Пробегал мимо
 
Сообщения: 10
Зарегистрирован: 10 фев 2011 15:55

Re: Термометр на ATtiny2313 и DS18B20

Сообщение hardlock » 14 фев 2011 11:36

bablo_78 писал(а):Да и еще TELEK не использует библиотеку CVAVR - DS18B20.H, он просто считывает два байта

и у меня тоже не используеся эта библиотека.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3374
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Термометр на ATtiny2313 и DS18B20

Сообщение bablo_78 » 14 фев 2011 12:08

Так может напишет кто код как поменять разрешение датчика или мне из-за 2-3 строк учить С?
bablo_78
Пробегал мимо
 
Сообщения: 10
Зарегистрирован: 10 фев 2011 15:55

Re: Термометр на ATtiny2313 и DS18B20

Сообщение hardlock » 14 фев 2011 13:50

bablo_78 писал(а):или мне из-за 2-3 строк учить С?

так возмущаетесь, как будто кто-то Вам должен. Для вашего случая Си учить не надо, а только посмотреть в даташит по датчику и послать нужные команды, по аналогии с уже готовым кодом. Мне сейчас это делать некогда.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3374
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Термометр на ATtiny2313 и DS18B20

Сообщение bablo_78 » 14 фев 2011 17:19

Я возмущаюсь? Да не в коем случае. Просто что не спросишь - "смотрите даташит", "читайте хелп", "гуглите" и т.д. Зачем тогда форум. Я работаю сист. администратором, если бы я на все вопросы так отвечал, я бы сидел без работы. А по своему опыту скажу, что мне проще сделать(написать) чем учить людей как это сделать(написать).
bablo_78
Пробегал мимо
 
Сообщения: 10
Зарегистрирован: 10 фев 2011 15:55

Re: Термометр на ATtiny2313 и DS18B20

Сообщение hardlock » 14 фев 2011 17:53

bablo_78 писал(а): А по своему опыту скажу, что мне проще сделать(написать) чем учить людей как это сделать(написать).

мне тоже проще написать, чем объёснить, только сейчас совсем не до этого...

ЗЫ: я тоже сисадмин... правда + энергетик, электрик и т.д.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3374
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Термометр на ATtiny2313 и DS18B20

Сообщение bablo_78 » 15 фев 2011 01:33

Я попробовал написать так:
w1_write(0xCC); //SKIP ROM [CCh]
DisplayData8x();
w1_write(0x4E); //WRITE SCRATCHPAD [4Eh]
DisplayData8x();
w1_write(0); //TH
DisplayData8x();
w1_write(0); //TL
DisplayData8x();
w1_write(0x1F); //Config 9-bit
w1_write(0xCC);//SKIP ROM [CCh]
DisplayData8x();
w1_write(0x48);//Copy SCRATCHPAD

Все равно завышает температуру.

Добавлено спустя 16 часов 18 минут 49 секунд:
Собрал адаптер на COM-порт из этой статьи http://digit-el.com/files/open/ds18x20/ds18x20.html . Там написано что программа умеет писать бит конфигурации в датчик, а кнопка выбора разрешения не активна (((.
bablo_78
Пробегал мимо
 
Сообщения: 10
Зарегистрирован: 10 фев 2011 15:55

Re: Термометр на ATtiny2313 и DS18B20

Сообщение Andrejka » 16 фев 2011 00:51

Господа! Тоже настоятельно присоединяюсь к просбе о переделке кода Телека под DS18B20 . Данке шон!
Andrejka
Пробегал мимо
 
Сообщения: 2
Зарегистрирован: 30 янв 2011 14:43
Откуда: Vilnius

Re: Термометр на ATtiny2313 и DS18B20

Сообщение bablo_78 » 16 фев 2011 02:27

Andrejka писал(а):
* Цитата выделенного текста
* Пожаловаться на это сообщение
* Ответить с цитатой

Re: Термометр на ATtiny2313 и DS18B20

Непрочитанное сообщение Andrejka » 16 фев 2011 00:51
Господа! Тоже настоятельно присоединяюсь к просбе о переделке кода Телека под DS18B20 . Данке шон!



Парень тебе несказанно повезло. После недельного копания кода (а в С я полный 0) я наконец то победил работу с датчиком DS18B20.
Все было очень просто, по другому вычислялись байты отвечающие за температуру:в коде TELEKA есть строки (для DS18S20/DS1820)

cLSB=cLSB>>1;
if (cMSB & 0xF0)
cLSB=cLSB | 0b10000000;
T=cLSB;

Надо поменять на то что написано у HARDLOCKa в оригинальном коде статьи (для DS18B20. Только у него там t1 и t2 вместо cMSB и cLSB)

cMSB = cMSB << 4;
cLSB = cLSB >> 4;
T = (cMSB & 0xF0) | (cLSB & 0x0F);

и будет тебе счастье.
Большое спасибо HARDLOCKу и TELEKу за девайс.
З.Ы. Пока бродил по инету встречал еще одного человека который спрашивал тоже самое, только в другом форуме. Вот он и нашелся! )
bablo_78
Пробегал мимо
 
Сообщения: 10
Зарегистрирован: 10 фев 2011 15:55

Re: Термометр на ATtiny2313 и DS18B20

Сообщение Andrejka » 16 фев 2011 11:44

О большое спасибо! Заменил строчки кода, перекомпилил, прошил, все пучком. Арбаитен гут;)
Andrejka
Пробегал мимо
 
Сообщения: 2
Зарегистрирован: 30 янв 2011 14:43
Откуда: Vilnius

Re: Термометр на ATtiny2313 и DS18B20

Сообщение Cannibal Corpse » 17 мар 2011 17:00

Огромное спасибо вам за схему, мой первый пинок к контроллерам. Только датчик отказался работать по двухпроводной схеме, высвечивал "127,9". Попробовал по трехпроводной - получилось.
Один вопрос: можно ли модернизировать термометр, что бы он выдавал линейный температуре аналоговый сигнал?
Cannibal Corpse
Пробегал мимо
 
Сообщения: 7
Зарегистрирован: 17 мар 2011 12:42

Re: Термометр на ATtiny2313 и DS18B20

Сообщение hardlock » 18 мар 2011 09:50

Cannibal Corpse писал(а):можно ли модернизировать термометр, что бы он выдавал линейный температуре аналоговый сигнал?

теоретически - да. на борту есть ШИМ.... но практически - хватит ли памяти и т.д. - не знаю.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3374
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Пред.След.

Вернуться в ATtiny



Кто сейчас на конференции

Сейчас этот форум просматривают: PEPSISTAS, Yahoo [Bot] и гости: 2