24 февраля 2022 года в 5 утра, без объявления войны, россия напала на Украину.

Они пришли "освобождать народ от нацистов и националистов".
С этого момента наша жизнь изменилась на "до" и "после".
Нас освобождают от наших домов, от наших любимых, от наших родителей и от наших детей....
Тут я не буду никого агитировать или переубеждать, разумный человек найдёт всю информацию
в интернете, а для зомби никакие доводы и факты не послужат аргументом.

Я не умею много писать, да и без мата тут сложно что-то написать.
Поэтому выражу все мои чувства одним фото.

«Спасибо дедушка путин за счастливое детство и мое освобождение». ©

Дополню словами уважаемого человека, широко известного в узких кругах:
тут путин не виноват, не он нажал на кнопку сброса,
- виноват пилот, который нажал на кнопку сброса, мог промахнуться. виноваты жена/мать/брат/друг пилота, которые не позвонили ему, и не сказали "нет войне",
- виноват тот, кто отдал приказ, и виноваты его жена/мать/брат/друг,
- виноват тот, кто цеплял бомбу, потому что он мог её обезвредить, "ну бывает, не сработала",
- виноват кладовщик, виноват водитель, который перевозил эту бомбу. виноваты жена...и т.д., потому что не позвонили и не сказали "нет войне, не вези бомбы",
- виноваты все журналисты оркостана, потому что они врут,
- виноваты недограждане, потому что не сказали журналистам "не врите",
- виноваты все... все 160 миллионов,
- а те 2, 3, 5 тысяч, которые вышли, и которых запаковали, это даже не десятая процента, это погрешность... случайно оказавшиеся в мордоре люди. ©

PS: За несколько часов до вторжения был атакован и взломан крупный интернет хостинг в Киеве, где и размещался мой сайт. Только 16 марта отважным админам удалось частично восстановить работу хостинга. Далеко не все сайты выжили, т.к. были повреждены даже бэкапы.
Нет, нет, я не жалуюсь, нет. В цифровом мире нет ничего ценного, материального...


Due to periodic DDoS attacks, the forum may not be available.

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

Здесь только проекты на ATtiny
Post Reply
Artem
Частенько бываю
Posts: 49
Joined: 14 Jan 2011 22:10

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

Post by Artem »

Датчик рабочий, проверял на другом термометре. В смысле линия? Провод? Там ведь кроме резистора и гореть нечему. Если только порт МК не спалил...
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

Artem wrote:Если только порт МК не спалил...
если стоит стабилитрон на входе, то спалить сложно, но тоже можно. Попробуйте резистор подстроечный поставить на линию данных (вместо 4,7к) и покрутить... Убрать стабилитрон, если был...
wild wind
Пробегал мимо
Posts: 6
Joined: 24 Nov 2010 13:29
Location: Ufa
Contact:

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

Post by wild wind »

Добрый день. Собрал пару термометров и заметил такую вещь что они врут на 1.5 - 2 град с чем это связано не пойму. Где вычитал что рекомендуется опрос датчика делать не чаще 1 раза в 5 секунд чтобы не проиходил внутреннний разогрев. так ли это? Подключены датчики по второй схеме. Зарание спасибо за ответ.
Kazemir
Частенько бываю
Posts: 110
Joined: 01 Dec 2009 09:02
Location: г. Королев

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

Post by Kazemir »

Мне тоже на просторах интернета попадались аналогичные высказывания, вот одно из них дословно -
есть эффект саморазогрева датчика, если часто опрашиваете его. "нормальная" температура будет, если опрос не чаще 1 раз в 5сек, по собственному опыту
Частенько на форуме задаются вопросы насчет завышения показаний температуры, надо будет в этом плане поэкспериментировать!
wild wind
Пробегал мимо
Posts: 6
Joined: 24 Nov 2010 13:29
Location: Ufa
Contact:

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

Post by wild wind »

Провел маленький эксперемент, выключил подождал некоторе время и включил, показания не изменились...это говорит что внутрений разогрев это фигня....тут или датчик врет или что то еще... :-(
Artem
Частенько бываю
Posts: 49
Joined: 14 Jan 2011 22:10

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

Post by Artem »

Сравнивал термометр на этом датчике и медицинский. Показания отличались на несколько десятых градуса. И судя по тому, как быстро изменяется температура, которая выводится на индикатор при разогреве или охлаждении, опрос там явно чаще чем раз в 5 сек.
Завышать он может, если находится на плате недалеко от того же стабилизатора (они иногда греются), такое было :)
Kazemir
Частенько бываю
Posts: 110
Joined: 01 Dec 2009 09:02
Location: г. Королев

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

Post by Kazemir »

Artem писал
опрос там явно чаще чем раз в 5 сек.
Судя по исходнику опрос примерно один раз в секунду.
Если датчик находится на плате, завышать будет однозначно, он очень чувствителен к окружающей температуре и на изменения реагирует моментально, поэтому монтировать его надо однозначно не на плате и вне корпуса изделия.
wild wind
Пробегал мимо
Posts: 6
Joined: 24 Nov 2010 13:29
Location: Ufa
Contact:

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

Post by wild wind »

Kazemir, у меня дачик весит за окном прям рядом с со спиртовым градусником чем больше температура лезет в минус тем больше разница. Около нуля разница минимальна. Оба термометра работают одинаково.
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

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

От дома идёт тёплый воздух и нагревает термометр и датчик (кто-то из низ сильнее нагревается). Хотя может ещё сказыватьсясильная нелинейность спиртового термометра.
bablo_78
Пробегал мимо
Posts: 10
Joined: 10 Feb 2011 14:55

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

Post by bablo_78 »

Уважаемый Hardlock. Подскажите пожалуйста (желательно кусочком кода) как перевести датчик DS18B20 в режим 9-бит. Я взял за основу термометр который сделал TELEK, а у него там датчик DS1820 и поэтому мой термометр завышает температуру. К сожалению в С я полный ноль. Насколько я понимаю
есть два пути: или перевести датчик в 9-бит или отбросить 3 бита, но как это сделать в коде я не знаю. Заранее благодарен.
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

bablo_78, ну так и спросите у Телека. Я же его код не видел.
bablo_78
Пробегал мимо
Posts: 10
Joined: 10 Feb 2011 14:55

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

Post by bablo_78 »

Ну спасибо что подсказали,
но я по-моему задал конкретный вопрос
hardlock wrote:Подскажите пожалуйста (желательно кусочком кода) как перевести датчик DS18B20 в режим 9-бит.
Вы и подсказали, спасибо.
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

bablo_78 wrote:как перевести датчик DS18B20 в режим 9-бит.
смотрите мануал - я не помню, а даташита нету под рукой.
bablo_78
Пробегал мимо
Posts: 10
Joined: 10 Feb 2011 14:55

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

Post by bablo_78 »

Может кто нибудь поможет. Надо написать кусок кода для перевода датчика DS18B20 в режим 9-бит. Я использую готовый проект от TELEKa, там у него датчик DS1820, чтобы не переписывать код пересчета (потому как в С я полный 0) его нужно перевести в 9-бит, тем более что так универсальнее - можно будет любые использовать (у DS1820 и DS18S20 нет "configuration register"). Да и еще TELEK не использует библиотеку CVAVR - DS18B20.H, он просто считывает два байта, а если в библиотеку добавить эту библиотеку то код будет превышен.
Вот ссылка на исходники http://hardlock.org.ua/download/file.php?id=49 на второй странице темы "Термометр на ATtiny2313 и DS18B20", чуть раньше на 1 странице проект для PROTEUSa.
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

bablo_78 wrote:Да и еще TELEK не использует библиотеку CVAVR - DS18B20.H, он просто считывает два байта
и у меня тоже не используеся эта библиотека.
bablo_78
Пробегал мимо
Posts: 10
Joined: 10 Feb 2011 14:55

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

Post by bablo_78 »

Так может напишет кто код как поменять разрешение датчика или мне из-за 2-3 строк учить С?
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

bablo_78 wrote:или мне из-за 2-3 строк учить С?
так возмущаетесь, как будто кто-то Вам должен. Для вашего случая Си учить не надо, а только посмотреть в даташит по датчику и послать нужные команды, по аналогии с уже готовым кодом. Мне сейчас это делать некогда.
bablo_78
Пробегал мимо
Posts: 10
Joined: 10 Feb 2011 14:55

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

Post by bablo_78 »

Я возмущаюсь? Да не в коем случае. Просто что не спросишь - "смотрите даташит", "читайте хелп", "гуглите" и т.д. Зачем тогда форум. Я работаю сист. администратором, если бы я на все вопросы так отвечал, я бы сидел без работы. А по своему опыту скажу, что мне проще сделать(написать) чем учить людей как это сделать(написать).
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

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

ЗЫ: я тоже сисадмин... правда + энергетик, электрик и т.д.
bablo_78
Пробегал мимо
Posts: 10
Joined: 10 Feb 2011 14:55

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

Post by bablo_78 »

Я попробовал написать так:
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 . Там написано что программа умеет писать бит конфигурации в датчик, а кнопка выбора разрешения не активна (((.
Andrejka
Пробегал мимо
Posts: 2
Joined: 30 Jan 2011 13:43
Location: Vilnius

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

Post by Andrejka »

Господа! Тоже настоятельно присоединяюсь к просбе о переделке кода Телека под DS18B20 . Данке шон!
bablo_78
Пробегал мимо
Posts: 10
Joined: 10 Feb 2011 14:55

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

Post by bablo_78 »

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

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у за девайс.
З.Ы. Пока бродил по инету встречал еще одного человека который спрашивал тоже самое, только в другом форуме. Вот он и нашелся! )
Andrejka
Пробегал мимо
Posts: 2
Joined: 30 Jan 2011 13:43
Location: Vilnius

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

Post by Andrejka »

О большое спасибо! Заменил строчки кода, перекомпилил, прошил, все пучком. Арбаитен гут;)
Cannibal Corpse
Пробегал мимо
Posts: 7
Joined: 17 Mar 2011 11:42

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

Post by Cannibal Corpse »

Огромное спасибо вам за схему, мой первый пинок к контроллерам. Только датчик отказался работать по двухпроводной схеме, высвечивал "127,9". Попробовал по трехпроводной - получилось.
Один вопрос: можно ли модернизировать термометр, что бы он выдавал линейный температуре аналоговый сигнал?
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

Cannibal Corpse wrote:можно ли модернизировать термометр, что бы он выдавал линейный температуре аналоговый сигнал?
теоретически - да. на борту есть ШИМ.... но практически - хватит ли памяти и т.д. - не знаю.
Post Reply