Ну, неточность показаний- это от прошивки не зависит, датчик калиброван при изготовлении.. Он - или подогревается протекающим через него током, или греется ещё от чего- то...
Схема завелась с полтыка.Показания со старым советским термометром 1:1.Датчик сначала припаял к плате,показания росли вместе с прогревом индикатора и стабилизатора.Подпаял метр двухжильного провода в экране - все стало норма.Без токоограничительных сопротивлений грелась тинька,пришлось ставить на 100 Ом прям на предварительно откусанные ножки.Автору благодарность за проект!
В общем термометр у меня не запустился и я забросил его, а тут собирая блок питания наткнулся на него, и решил поковырять. В итоге запустил я термометр. Прошивал в AVR Studio 4, программатор AVRISP mkII (клон), и как ни странно я поставил фьюз CKDIV8. И термометр заработал. Контроллер Attiny 2313-20PU
Я рад
_________________ Люди не изобретают, люди вспоминают... (gray Az) - Мир потрясают те, кто втоптан в грязь. С Олимпа можно лишь метать молнии. (с)
Заголовок сообщения: Re: Термометр: меньше не бывает?
Добавлено: Чт янв 22, 2015 21:43:14
Нашел транзистор. Понюхал.
Карма: 2
Рейтинг сообщений: 2
Зарегистрирован: Сб мар 30, 2013 18:18:34 Сообщений: 153 Откуда: Калининград
Рейтинг сообщения:0
Собрал термометр, приятно так, лежишь в темноте видно какие перепады по комнате от сквозняка гуляют Рядышком подсветка часы освещает в зависимости от дня-ночь, но вот думаю как-бы ещё сделать ещё один для отрицательных температур Чтоб знать примерно что с утра ждать идя к машине, потому как погода у нас меняется практически через час. Товарищ писал на 8 или 9 странице о том чтоб сделать мигающую точку при отрицательном показании температуры но ему так толком не ответили Подсобит кто с прошивкой? Кстати товарищу постом выше - прошивал и я в АВР студио сначала, и постоянно натыкался на F0 научился с этой проблемой, потом попробовал в кодевижион и вон результат,работает и глаз радует Хороший градусник! Автору уважение!
, но вот думаю как-бы ещё сделать ещё один для отрицательных температур Чтоб знать примерно что с утра ждать идя к машине, потому как погода у нас меняется практически через час.!
А чем вас не устраивает знак МИНУС при отрицательных показаниях? Это термометр, собранный по схеме из ЭТОЙ ветки..
Есть прошивка, которая меряет температуру с точностью до десятичных значений, при этом необходим 4х символьный LED дисплей, анод лишнего сегмента цепляют к PORTD.3 , а запятую цепляют на PORTB.7.
Вообще тяжеловато вспомнить, я его делал в октябре 2013 года ("вспомнил" по датам фотографий ) Могу выложить плату в lay, и считать прошивку и фьюзы с МК. зы.. Если в наличии только трёхразрядный индикатор, то, я думаю, что ЛЕВЫЙ индикатор можно заменить светодиодом (особенно, если подобрать такого же цвета, что и индикатор, "прямоугольный" типа такого: http://www.chipdip.ru/product/l-113hdt/
Заголовок сообщения: Re: Термометр: меньше не бывает?
Добавлено: Пт янв 23, 2015 21:08:01
Нашел транзистор. Понюхал.
Карма: 2
Рейтинг сообщений: 2
Зарегистрирован: Сб мар 30, 2013 18:18:34 Сообщений: 153 Откуда: Калининград
Рейтинг сообщения:0
У меня сейчас руки немного связанны, для изготовления плат кое-чего не хватает, собираю пока с тех заготовок что натравил раньше есть только с той статьи что указал Смотрю схемы ничем не отличаются практически, но разводки разные а печатка совсем другая. Я как бы и не гнался за миниатюрностью, если бы раньше попал на статью из вашей ссылки то затравил бы таких с десяток. Сегодня нашел выход с ситуации- есть у меня собран еще один термометр двухканальный, на пике и дисплее от нокии, там дом-улица. вот собственно и идея ваша мне понравилась! Насчет прямоугольного светодиода! у меня есть такие, вот бы до этой статьи (которая обсуждается здесь) дописать программу для PB3 или PB1 ведь они же свободны чтоб при отрицательном показании подавался сигнал на эти порты.
Ну, вот, собственно, вся подборка файлов, которые были мной использованы при изготовлении термометра. Термометр под индикатор ОА, 4 разряда.. - с индикацией отрицательного показания, точность индикации 0,1 градуса.
Сделал с плюсом и минусом, и с округлением. Но почему то он при нуле показывает плюс когда больше 0.2 градуса, и минус если ниже -0.2, хотя в условии явно задано, чтобы показывал плюс когда больше либо равно единице. И минус когда меньше или равно -1. И округляет почему то в большую сторону только когда десятые градуса больше 7, но ведь в условии задано больше 5.
Код:
if (temperature>=1) { digit_out[0]=PLUS; // если температура больше нуля показать плюс } else { digit_out[0]=PROBEL; //если ноль то пробел if (temperature<=-1) { temp = ( ~temp ) + 0x0001; // если число отрицательное перевести его в норм.вид digit_out[0]=MINUS; // и высветить знак минус (в дальнейшем атрибут отр.темп.) }
};
celie_tmp = temp >> 4; // целая часть числа
drob_tmp = temp & 0x000F; // дробная часть числа с точностью 1/16 градуса drob = (unsigned char) ((drob_tmp * 10) / 16); // преобразование дробной части в формате "1/16 градуса" в десятичный формат с точностью 0,1 градуса
celie = (unsigned char) celie_tmp; // я люблю явное преведение типов
Кажется разобрался. Переменная temperature в шестнадцатиричном формате. Но проблема в том что для DS18S20 и для DS18B20 она разная, т.к. у DS18S20 разрешающая способность 9 бит, а у DS18B20 12 бит по умолчанию. Может быть ее привести к одной разрешающей способности 9 бит, DS18B20 это позволяет сделать. И тогда не нужно будет тратить лишнее время на преобразования 1/16 градуса в 0,1, так как мне нужны только целые. А 0,5 округлять до 1.
Заголовок сообщения: Re: Термометр: меньше не бывает?
Добавлено: Пт янв 30, 2015 19:29:18
Нашел транзистор. Понюхал.
Карма: 2
Рейтинг сообщений: 2
Зарегистрирован: Сб мар 30, 2013 18:18:34 Сообщений: 153 Откуда: Калининград
Рейтинг сообщения:0
АлександрЛ писал(а):
Ну, вот, собственно, вся подборка файлов, которые были мной использованы при изготовлении термометра. Термометр под индикатор ОА, 4 разряда.. - с индикацией отрицательного показания, точность индикации 0,1 градуса.
Ему можно сделать индикацию полярности- достаточно подключить светодиод между выводом сегмента G индикатора и неиспользованным выводом 7 микроконтроллера. Если при этом взять прямоугольный светодиод типа такого: http://www.chipdip.ru/product/l-513hdt/ и расположить его слева перед первой цифрой индикатора- он будет как знак "минус"
Здравствуйте. Собрал этот термометр - http://bezkz.su/publ/300283-29-1-0-283.html Прошивку залил с общим анодом, включил, и работают только 1 и 3 сегмент, там написано F 0, и больше ничего не меняется, печатку разводил сам для контроллера в корпусе dip, но выложить не могу, она в формате lay6, такой не пропускает, подскажите, в чем может быть проблема?
и работают только 1 и 3 сегмент, там написано F 0, и больше ничего не меняется, печатку разводил сам для контроллера в корпусе dip, но выложить не могу, она в формате lay6, такой не пропускает,
Это не СЕГМЕНТ, а РАЗРЯД, вы выражовывайтесь правильно!! Сегмент, это то, из чего состоят цифры, а разряд- это сама цифра, в многоразрядном индикаторе- определённая цифра (разряд) F0 - это, возможно, сообщение о том, что МК не видит термометра.. Может быть, у вас неправильно выставлены фьюзы, поэтому МК и "не видит".. Правда, лучше бы ещё 7 резисторов добавить- чтобы ограничить ток через светодиоды индикатора.. У меня подобный термометр есть, только на 4 разряда-
зы.. Чтобы выложить *.lay6,его нужно спрятать в архив, или выложить в виде картинки.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения