Обявления

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

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

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

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

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

Сообщение hardlock » 14 апр 2009 15:03

Прилепил сюда на всяк случай...
Вложения
Termometr.rar
(33.24 КБ) Скачиваний: 1120
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3374
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

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

Сообщение Sasha » 20 апр 2009 18:14

подскажите как проверить ds18b20 (они продаются уже прошитые ли надо самому)
Sasha
Пробегал мимо
 
Сообщения: 4
Зарегистрирован: 20 апр 2009 18:01
Откуда: Украна

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

Сообщение hardlock » 20 апр 2009 19:17

Sasha писал(а):они продаются уже прошитые ли надо самому

Ничего прошивать не надо. В них только устанаваивается разрешение 9 - 12 бит. Всё остальное уже в них есть и не (пере)программируется.
Проверить проще всего собрав термометр и прям на рынке или в магазине подключить датчик. Должен показывать температуру сразу (через 1 секунду после включения).
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3374
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

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

Сообщение Sasha » 20 апр 2009 19:22

В них только устанаваивается разрешение 9 - 12 бит.это как ?простите за глупые вопросы
Sasha
Пробегал мимо
 
Сообщения: 4
Зарегистрирован: 20 апр 2009 18:01
Откуда: Украна

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

Сообщение hardlock » 20 апр 2009 19:29

программно. Если Вы правильно поняли, то это цифровые датчики. Общение с ними происходит по протоколу 1-wire. Крроме считывания температуры и друхих параметров (8 байт серийный номер и т.д.) можно в него ещё кой чего записать. Например установить разрешающую способность измерения. При 12 битах (по-умолчанию) получается одно деление 0,0625 градуса Цельсия. В инете инфы по ним масса. Почитайте.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3374
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

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

Сообщение Telek » 23 апр 2009 15:50

Поизвращался еще над термометром. Теперь термометр имеет настройки:
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)... хотя если собирать в "железе" на фьюз предделителя пофиг, т.к предделитель все равно настраивается в самой программе.

ЗЫ. Код во вложении. (Наконец-то нашел как тут вложения прикручиваюся :-) )
Вложения
Termometr2.rar
(6.66 КБ) Скачиваний: 1236
Telek
Пробегал мимо
 
Сообщения: 24
Зарегистрирован: 11 фев 2009 21:06
Откуда: Москва

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

Сообщение hardlock » 23 апр 2009 15:58

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

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

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

Сообщение Telek » 23 апр 2009 16:12

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

ЗЫ. Вот еще приложил схему, т.к. она чутка изменена, в плане использования портов.
Вложения
Telek
Пробегал мимо
 
Сообщения: 24
Зарегистрирован: 11 фев 2009 21:06
Откуда: Москва

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

Сообщение Telek » 26 апр 2009 19:59

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

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

ЗЫ. В железе собирал с транзисторами на общих коллекторах индикаторов.
Вложения
Telek
Пробегал мимо
 
Сообщения: 24
Зарегистрирован: 11 фев 2009 21:06
Откуда: Москва

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

Сообщение hardlock » 26 апр 2009 22:09

Telek писал(а):В железе собирал с транзисторами на общих коллекторах индикаторов

Если не секрет, зачем? Ведь делалось всё для упрощения конструкции?
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3374
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

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

Сообщение Telek » 26 апр 2009 23:07

hardlock писал(а):Если не секрет, зачем? Ведь делалось всё для упрощения конструкции?

Перестраховался. Хотел питать от 3в и ниже(две батарейки ААА). Напряжение достаточно низкое, и поэтому с транзисторами как-то ярче получается и плюс не хотелось нагружать порты при низком питании - процессору и так тяжко. Но на макетке все делал без резисторов и т.д. - проработало это все у меня недели 2-3(причем ребенок постоянно игрался) - ничего не сгорело, глюков тоже не было. Больше за яркость волновала. Тем более в корпусе место было - поэтому решил заполнить под завязку. Кстати, при сборке место закончилось и я выкраивал уже милиметры... :mrgreen: даже думал микропроцессоры крышку обточить, проклиная себя за то, что жалко было ставить процессор в мелком корпусе :-)
Telek
Пробегал мимо
 
Сообщения: 24
Зарегистрирован: 11 фев 2009 21:06
Откуда: Москва

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

Сообщение hardlock » 26 апр 2009 23:11

Telek писал(а):Больше за яркость волновала

А не пробовали без транзисторов? Большая разница в яркости получилась? А то я в транзисторами вообще не собирал, а падение напряжения на портах (при 5В питании) без них - мизерное.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3374
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

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

Сообщение Telek » 27 апр 2009 10:57

hardlock писал(а):
Telek писал(а):Больше за яркость волновала

А не пробовали без транзисторов? Большая разница в яркости получилась? А то я в транзисторами вообще не собирал, а падение напряжения на портах (при 5В питании) без них - мизерное.

Я на макетке все делал без транзисторов, + цеплял транзистор на один разряд... субективно разница практически не заметна. Поэтому конечно по хорошему транзисторы можно не ставить... и схема проще и деталей меньше.
Telek
Пробегал мимо
 
Сообщения: 24
Зарегистрирован: 11 фев 2009 21:06
Откуда: Москва

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

Сообщение hardlock » 27 апр 2009 11:08

Telek писал(а):и схема проще и деталей меньше.

:-) к чему собственно и стремился при разработке схемы...

вот моя конструкция переносного термометра:


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

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

Сообщение Telek » 27 апр 2009 11:21

О как компактненько! и корпус зачетный... это из чего такой корпус?
ЗЫ. Понравилось как заделал клеммы для батарейки.
Telek
Пробегал мимо
 
Сообщения: 24
Зарегистрирован: 11 фев 2009 21:06
Откуда: Москва

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

Сообщение hardlock » 27 апр 2009 11:27

Telek писал(а):это из чего такой корпус?

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

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

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

Сообщение hardlock » 01 май 2009 23:10

Анатолий Николаевич писал(а):Как ввести в конструкцию термометра второй датчик? (хочется температуру дом/улица).
Надо переписывать программу под 2 датчика. Изначально проект планировался как самая простая конструкция и 2 датчика не предполагалось. Как появится время могу попробовать сделать такой проект, но пока его (времени) нет...
Анатолий Николаевич писал(а):Почему на пределе минус значение температуры -28,3 градуса, а показания 58,5 градусов? Как решить эту проблему?

Это прошивка от термометра или термостата?
Очень странно. Вроде проверял в морозилке - всё было нормально. Доступ к конструкции (на работе всё) будет только после праздников. Поэтому сейчас ничего сказать не могу. Как только проверю - сразу отпишусь.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3374
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

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

Сообщение Yoake » 09 май 2009 22:46

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

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

Всё, разобрался :)
В моём LED индикаторе сегменты промаркированы иначе. Совести нет у производителей - никаких стандартов нет :))))
Yoake
Пробегал мимо
 
Сообщения: 2
Зарегистрирован: 09 май 2009 22:25
Откуда: Киев

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

Сообщение hardlock » 09 май 2009 23:41

Yoake писал(а):В моём LED индикаторе сегменты промаркированы иначе. Совести нет у производителей - никаких стандартов нет )))

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

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

Сообщение Yoake » 10 май 2009 11:03

Вобщем работает всё отлично, только перепаивать проводки обламался - отредактировал исходник и всё ок :)
Теперь вот подумываю подключить 4 датчика. Схему оставлю эту же, только кнопку добавлю для циклического переключения показаний. Нажал кнопку, показывает номер следующего датчика, опустил - показывает его температуру... может немного будет неудобно, зато минимум кнопок :)
Вобщем буду изучать протокол передачи данных... если что-то получится, отпишусь.
Yoake
Пробегал мимо
 
Сообщения: 2
Зарегистрирован: 09 май 2009 22:25
Откуда: Киев

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

Сообщение Bobi » 23 май 2009 11:35

Уважаемый Hardlock.
Очень понравилась Ваша конструкция термометра.
Я не программирую контроллеры, но хочется повторить для дома сие девайс.
Убедительная к Вам, просьба.
Вышлите мне на e-mail:patrin@tamb.ru прошивку для ОК, DS18b20, показания с десятыми долями и,
если есть возможность, на два датчика (дом-улица).
Буду очень благодарен за помощь.
Bobi
Пробегал мимо
 
Сообщения: 4
Зарегистрирован: 23 май 2009 11:29
Откуда: Tambov

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

Сообщение hardlock » 23 май 2009 17:10

Bobi писал(а):Вышлите мне на e-mail прошивку для ОК

А что Вам не позволяет скачать с основного сайта? Там есть и готовые прошивки и исходники...
Bobi писал(а):если есть возможность, на два датчика (дом-улица).

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

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

Сообщение Bobi » 23 май 2009 18:02

Уважаемый Hardlock.
С основного сайта пробовал скачивать прошивку с ОК, но...
в результате скачивается файл размером 369 байт и не открывается.
Пробовал несколько раз. Скачивал Оперой.
В файле для Протеуса стоит датчик DS18S20. С датчиком DS18B20 девайс в Протеусе отказывается работать.
Да и с датчиком DS18S20 десятые доли не отображаются.
Исходя из этого я решил обратиться с, упомянутой выше, просьбой.
Bobi
Пробегал мимо
 
Сообщения: 4
Зарегистрирован: 23 май 2009 11:29
Откуда: Tambov

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

Сообщение hardlock » 24 май 2009 08:01

Bobi писал(а):Скачивал Оперой.

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

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

Сообщение Bobi » 24 май 2009 10:36

Уважаемый Hardlock.
Подскажите, почему в Протеусе такая белиберда?
При подаче сигнала на 5 ногу высвечивается знак (-) и 0.0
Подскажите, где ошибка?
Вложения
Bobi
Пробегал мимо
 
Сообщения: 4
Зарегистрирован: 23 май 2009 11:29
Откуда: Tambov

Пред.След.

Вернуться в ATtiny



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

Сейчас этот форум просматривают: Bing [Bot] и гости: 7