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
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

Прилепил сюда на всяк случай...
Attachments
Termometr.rar
(33.24 KiB) Downloaded 1570 times
Sasha
Пробегал мимо
Posts: 4
Joined: 20 Apr 2009 18:01
Location: Украна
Contact:

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

Post by Sasha »

подскажите как проверить ds18b20 (они продаются уже прошитые ли надо самому)
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

Sasha wrote:они продаются уже прошитые ли надо самому
Ничего прошивать не надо. В них только устанаваивается разрешение 9 - 12 бит. Всё остальное уже в них есть и не (пере)программируется.
Проверить проще всего собрав термометр и прям на рынке или в магазине подключить датчик. Должен показывать температуру сразу (через 1 секунду после включения).
Sasha
Пробегал мимо
Posts: 4
Joined: 20 Apr 2009 18:01
Location: Украна
Contact:

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

Post by Sasha »

В них только устанаваивается разрешение 9 - 12 бит.это как ?простите за глупые вопросы
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

программно. Если Вы правильно поняли, то это цифровые датчики. Общение с ними происходит по протоколу 1-wire. Крроме считывания температуры и друхих параметров (8 байт серийный номер и т.д.) можно в него ещё кой чего записать. Например установить разрешающую способность измерения. При 12 битах (по-умолчанию) получается одно деление 0,0625 градуса Цельсия. В инете инфы по ним масса. Почитайте.
Telek
Пробегал мимо
Posts: 24
Joined: 11 Feb 2009 20:06
Location: Москва

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

Post by Telek »

Поизвращался еще над термометром. Теперь термометр имеет настройки:
1. Время индикации(задержка перед засыпанием) (5-90секунд с шагом 5с).
2. Отображать/не отображать температуру измеренную до засыпания, после просыпания(off/on). Если off - после просыпания до первого измерения текущей температуры(в течении 1сек на экране ---), если on в течении первой секунды отображается предыдущая температура.
3. Периодичность автоматического измерения температуры(0-60мин с шагом 1мин) 0 = автоматическое измерение выключено.
Вход в настройки по длинному(более 1сек) нажатию на кнопку в режиме отображения температуры. Изменение настраиваемого параметра - короткое нажатие на кнопку. Переход к настройке следующего параметра и запоминание параметра - длинное нажатие. Значения сохраняются во флешке. Если в течении 10сек не менять значение - происходит автоматический выход без сохранения.

Кроме этого термометр запоминает мин/макс температуру. Для просмотра в режиме отображения температуры - короткое нажатие на кнопку - мин значение, повторное нажатие -макс значение, следующее нажатие - выход в режим отображения температуры. Если в течении 10 сек ничего не нажимать - выйдет автоматом. При отображении мин/макс температуры длинное нажатие - сброс соответствующего значения.

Теперь об автоматическом измерении и периодичности. Если значение - 0, автоматическое измерение не проводится. Т.е. термометр просыпается только по нажатию кнопки. Соответственно мин и макс значения запоминаются только в моменты ручного просыпания. Если хочется чтобы термометр сам периодически замерял температуру(для корректного запоминания мин/макс значений) - выставляем значение от 1-до 60(минуты). Тогда с заданным периодом термометр будет просыпаться и замерять температуру и засыпать. Во время измерения в автоматическом режиме температура на экран не выводится(на экране на время измерения отображаются все точки... чисто для контроля, что все пучком - работает :-) )
Выключение режима автоматического измерения служит для продления жизни батареек. В режиме когда автоматическое измерение выключено микропроцессор засыпает в Power-Down, т.е. реагирует только на внешнии прерывания, но при этом кушает меньше 1мкА. В режиме автоматических измерений уже в Power-Down заснуть нельзя - нужна работа таймера. Поэтому микропроцессор засыпает в режиме Idle. Чтобы как-то еще уменьшить потребление, частоту процессора снижаю на время спячки до 31250Гц... Потребление в Idle в таком режиме составляет порядка 0.1мА
Т.е. алгоритм примерно такой:
Перед спячкой проверяется значение переода автоматического измерения. Если 0 - засыпаем в Power-Down. Если больше нуля - уменьшаем частоту до 31250, выключаем таймерТ0(отвечает за периодичность измерений в нормальном режиме),включаем таймер(Т1), который разбудит через заданное время для автоматического измерения. и засыпаем процессор в Idle. Далее, когда срабатывает таймер, повышаем частоту до нормальной(1МГц) измеряем и опять по кругу(снижение частоты, перезапуск таймера(Т1), спячка ). Если микропроцессор будится после Idle по кнопке - опять делается почти тоже самое: повышение частоты до нормальной, стопорение таймера (Т1 - в данном случае отвечает за автоматическое пробуждение из Idle), запуск таймера Т0(отвечает за периодичность замеров температуры в режиме отображения) и т.д.

Все эти извращения с понижением частоты делал с целью уменьшения потребления, т.к. хочу питать от батареек. Разводки платы пока нет, т.к. собрано пока все на макетке.
Можно также все испытать в протеусе, если взять модель в из предыдущего варианта. Единственное - нужно в модели выствить фузе бит предделителя на 8(CKDIV8), т.к. иначе протеус будет глючить с записью во флеш. Если делать в "железе" - то настройка фьюзов по дефолту(т.е. как с завода) - 8МГц от внутреннего генератора и предделитель на 8(CKDIV8)... хотя если собирать в "железе" на фьюз предделителя пофиг, т.к предделитель все равно настраивается в самой программе.

ЗЫ. Код во вложении. (Наконец-то нашел как тут вложения прикручиваюся :-) )
Attachments
Termometr2.rar
(6.66 KiB) Downloaded 1657 times
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

Telek, браво! :bravo:
Это самая большая награда мне! Когда кто-то не просто повторяет конструкцию, но и дорабатывает её...

Спасибо, что не забыли отписаться! :drink:
Telek
Пробегал мимо
Posts: 24
Joined: 11 Feb 2009 20:06
Location: Москва

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

Post by Telek »

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

ЗЫ. Вот еще приложил схему, т.к. она чутка изменена, в плане использования портов.
Attachments
Termometr.JPG
Telek
Пробегал мимо
Posts: 24
Joined: 11 Feb 2009 20:06
Location: Москва

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

Post by Telek »

Сделал термометр в железе. Прилагаю фотоотчет.

Добавлено спустя 3 минуты 21 секунду:
И еще пару фоток. Завтра скину печатку и прошивку под эту печатку.

ЗЫ. В железе собирал с транзисторами на общих коллекторах индикаторов.
Attachments
P4251224_resize.jpg
P4251244_resize.jpg
P4261247_resize.jpg
P4261250_resize.jpg
P4261261_resize.jpg
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

Telek wrote:В железе собирал с транзисторами на общих коллекторах индикаторов
Если не секрет, зачем? Ведь делалось всё для упрощения конструкции?
Telek
Пробегал мимо
Posts: 24
Joined: 11 Feb 2009 20:06
Location: Москва

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

Post by Telek »

hardlock wrote: Если не секрет, зачем? Ведь делалось всё для упрощения конструкции?
Перестраховался. Хотел питать от 3в и ниже(две батарейки ААА). Напряжение достаточно низкое, и поэтому с транзисторами как-то ярче получается и плюс не хотелось нагружать порты при низком питании - процессору и так тяжко. Но на макетке все делал без резисторов и т.д. - проработало это все у меня недели 2-3(причем ребенок постоянно игрался) - ничего не сгорело, глюков тоже не было. Больше за яркость волновала. Тем более в корпусе место было - поэтому решил заполнить под завязку. Кстати, при сборке место закончилось и я выкраивал уже милиметры... :mrgreen: даже думал микропроцессоры крышку обточить, проклиная себя за то, что жалко было ставить процессор в мелком корпусе :-)
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

Telek wrote:Больше за яркость волновала
А не пробовали без транзисторов? Большая разница в яркости получилась? А то я в транзисторами вообще не собирал, а падение напряжения на портах (при 5В питании) без них - мизерное.
Telek
Пробегал мимо
Posts: 24
Joined: 11 Feb 2009 20:06
Location: Москва

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

Post by Telek »

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

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

Post by hardlock »

Telek wrote:и схема проще и деталей меньше.
:-) к чему собственно и стремился при разработке схемы...

вот моя конструкция переносного термометра:
IMG_2621.JPG
IMG_2625.JPG
сверху кнопка, которая коммутирует питание (без фиксации, поэтому её нужно удерживать).
Питание - одна батарейка ААА. Преобразователь - один из описаных GSM Power.
Telek
Пробегал мимо
Posts: 24
Joined: 11 Feb 2009 20:06
Location: Москва

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

Post by Telek »

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

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

Post by hardlock »

Telek wrote:это из чего такой корпус?
у нас на радио рынке продают - совсем дешёвенькие (по 1гривне). ни наименования, ничего...
Продаются красные, чёрные (непрозрачные), тёмно-серые (дымчатые прозрачные). Половинки взаимозаменяемые. Собираются на 4-х пыптиках (видно возле клем батарейки).

Была ещё идея сделать шунтирование кнопки транзистором, управляемым от МК, но всё никак руки не дойдут, блин... :(
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

Анатолий Николаевич wrote:Как ввести в конструкцию термометра второй датчик? (хочется температуру дом/улица).
Надо переписывать программу под 2 датчика. Изначально проект планировался как самая простая конструкция и 2 датчика не предполагалось. Как появится время могу попробовать сделать такой проект, но пока его (времени) нет...
Анатолий Николаевич wrote:Почему на пределе минус значение температуры -28,3 градуса, а показания 58,5 градусов? Как решить эту проблему?
Это прошивка от термометра или термостата?
Очень странно. Вроде проверял в морозилке - всё было нормально. Доступ к конструкции (на работе всё) будет только после праздников. Поэтому сейчас ничего сказать не могу. Как только проверю - сразу отпишусь.
Yoake
Пробегал мимо
Posts: 2
Joined: 09 May 2009 22:25
Location: Киев

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

Post by Yoake »

Вот собрал схемку на макетной плате на ATtiny2313, прошил http://www.hardlock.org.ua/cgi-bin/down ... led_oa.rar этим файлом, всё запустилось, но на дисплее белиберда :)
Cначала показывает 0.0, а потом всякую ерунду, как будто сегменты полностью перепутаны. Кучу раз перепроверил соответствие распайки, на всяк случай пересмотрел посегментно дисплей - всё соответствует вроде... чуть позже попробую в протеусе прогнать.

Ещё чуть помучился, пробным путём определил, что все сегменты сдвинуты на 1, т.е. вместо сегмента A загорается В, вместо В - С и т.д. странно всё это...
Как вариант можно немного поправить программу :)

Всё, разобрался :)
В моём LED индикаторе сегменты промаркированы иначе. Совести нет у производителей - никаких стандартов нет :))))
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

Yoake wrote:В моём LED индикаторе сегменты промаркированы иначе. Совести нет у производителей - никаких стандартов нет )))
Вот поэтому я и нарисовал посегментно индикатор с указанием наименования...
Yoake
Пробегал мимо
Posts: 2
Joined: 09 May 2009 22:25
Location: Киев

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

Post by Yoake »

Вобщем работает всё отлично, только перепаивать проводки обламался - отредактировал исходник и всё ок :)
Теперь вот подумываю подключить 4 датчика. Схему оставлю эту же, только кнопку добавлю для циклического переключения показаний. Нажал кнопку, показывает номер следующего датчика, опустил - показывает его температуру... может немного будет неудобно, зато минимум кнопок :)
Вобщем буду изучать протокол передачи данных... если что-то получится, отпишусь.
Bobi
Пробегал мимо
Posts: 4
Joined: 23 May 2009 11:29
Location: Tambov

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

Post by Bobi »

Уважаемый Hardlock.
Очень понравилась Ваша конструкция термометра.
Я не программирую контроллеры, но хочется повторить для дома сие девайс.
Убедительная к Вам, просьба.
Вышлите мне на e-mail:[email protected] прошивку для ОК, DS18b20, показания с десятыми долями и,
если есть возможность, на два датчика (дом-улица).
Буду очень благодарен за помощь.
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

Bobi wrote:Вышлите мне на e-mail прошивку для ОК
А что Вам не позволяет скачать с основного сайта? Там есть и готовые прошивки и исходники...
Bobi wrote:если есть возможность, на два датчика (дом-улица).
нет - пока такой прошивки нет.
Bobi
Пробегал мимо
Posts: 4
Joined: 23 May 2009 11:29
Location: Tambov

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

Post by Bobi »

Уважаемый Hardlock.
С основного сайта пробовал скачивать прошивку с ОК, но...
в результате скачивается файл размером 369 байт и не открывается.
Пробовал несколько раз. Скачивал Оперой.
В файле для Протеуса стоит датчик DS18S20. С датчиком DS18B20 девайс в Протеусе отказывается работать.
Да и с датчиком DS18S20 десятые доли не отображаются.
Исходя из этого я решил обратиться с, упомянутой выше, просьбой.
User avatar
hardlock
Администратор
Posts: 4010
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

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

Post by hardlock »

Bobi wrote:Скачивал Оперой.
В этом вся проблема. Сейчас переделываю механизм скачивания на всём сайте. Для ОК - во вложении.
Attachments
temp_led_oc.rar
(1.17 KiB) Downloaded 948 times
Bobi
Пробегал мимо
Posts: 4
Joined: 23 May 2009 11:29
Location: Tambov

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

Post by Bobi »

Уважаемый Hardlock.
Подскажите, почему в Протеусе такая белиберда?
При подаче сигнала на 5 ногу высвечивается знак (-) и 0.0
Подскажите, где ошибка?
Attachments
Результат в Протеусе
Результат в Протеусе
Post Reply