Страница 1 из 16

Термометр: меньше не бывает?

Добавлено: Вт апр 27, 2010 23:08:38
love-chat
http://radiokot.ru/circuit/digital/home/61/
Есть пару вопросов по етой схеме,ответьте пожайлуста.
1-Что за индикатор использован в статье автора?(маркировка)
2-можно ли ету схему запитать от низкого напряжения?(поставить-микроконтролер с буковкой L)
3-какие минимальные робочие напряжения для етой схемы?(микросхема,термодатчик)(какой из датчиков будет точнее измерять напряжение?маркировку)
4-обезательно впаивать резистор и конденсатор?зачем оны нужны?
5-микроконтролер программировался уже впаяным в схему?(или какимто другим способом?)
К чему ети вопросы-да схемка маленькая,но-питание 5 вольт-ето три пальчиковых батарейки...которые больше самого термометра...неувязочка.Хотелось бы собрать ету схему с питание от компьютерной круглой батарейки.

Re: Термометр: меньше не бывает?

Добавлено: Ср апр 28, 2010 09:23:18
Banjin
ИМХО, предел миниатюризации не достигнут, надо попробовать сделать термометр с применением жидкокристалического индикатора - в толщину меньше станет девайс

Re: Термометр: меньше не бывает?

Добавлено: Ср апр 28, 2010 10:59:18
ARV
тут давеча новости от NXP в мыло пришли - сделали они ARM Cortex в корпусе 2х2 мм. думаю, если взять его за основу, можно-таки будет достичь предела :)))

Re: Термометр: меньше не бывает?

Добавлено: Чт апр 29, 2010 18:01:16
love-chat
Товарищи можно ответы по существу :o

Re: Термометр: меньше не бывает?

Добавлено: Чт апр 29, 2010 18:05:24
wws63
love-chat писал(а):http://radiokot.ru/circuit/digital/home/61/
Хотелось бы собрать ету схему с питание от компьютерной круглой батарейки.

Надолго батарейки не хватит. Максимум - один день и то под сомнением :)
А отсутствие токоограничивающих резисторов, это вообще плохо. Так делать нельзя. Стремясь за миниатюризацией, не стоит забывать о надёжности работы устройства и яркости (качестве) свечения индикаторов. Оно будет плохим и сильно зависящим от напряжения питания устройства.

Re: Термометр: меньше не бывает?

Добавлено: Пт апр 30, 2010 12:22:12
Shushik
Скажите, а где и что поменять в прошивке, чтобы можно было использовать индикатор с общими анодами?

Re: Термометр: меньше не бывает?

Добавлено: Вт май 04, 2010 13:51:47
Danko
love-chat писал(а):Есть пару вопросов по этой схеме,ответьте пожалуйста.
1-Что за индикатор использован в статье автора?(маркировка)
2-можно ли эту схему запитать от низкого напряжения?(поставить-микроконтроллер с буковкой L)
3-какие минимальные рабочие напряжения для этой схемы?(микросхема, термодатчик)(какой из датчиков будет точнее измерять напряжение?маркировку)
4-обязательно впаивать резистор и конденсатор? зачем они нужны?
5-микроконтроллер программировался уже впаяным в схему?(или каким-то другим способом?)
К чему эти вопросы-да схемка маленькая, но-питание 5 вольт-это три пальчиковых батарейки...которые больше самого термометра...неувязочка.Хотелось бы собрать эту схему с питание от компьютерной круглой батарейки.
1-RL-T3610GDAW/D15
2-эксперимент с буквой L не производил, у обычного tiny2313 питание от 2,7 до 5,5 В.
3-для тини минимум 2,7В, для DS18S20 и DS18B20 минимум 3,0В
4-резистор 4,7кОм - подтягивающий для шины 1-wire. Конденсатор - в зависимости от источника питания. Если от батарейки возможно и не ставить, если от блока питания то можно добавить еще и электролит.
5-МК прошивается прямо на плате. Литиевая компьютерная батарейка выдает 3,0В. МК работать будет, а вот термодатчик ?

Фотки сделаны при питании от батареек (4,0В) три подсевшие батарейки.

Для уменьшения ширины у МК перед монтажом ножки подгибаются под корпус.

Shushik писал(а):... что поменять в прошивке, чтобы можно было использовать индикатор с общими анодами?
в файле mini-term.c строки: 50-68, 72-90, 99, 119, 124, 126. Инвертировать нужно значения и действия. Нужно подробнее?

Re: Термометр: меньше не бывает?

Добавлено: Вт май 04, 2010 15:39:10
Shushik
Danko Да, желательно поподробнее :)

Re: Термометр: меньше не бывает?

Добавлено: Ср май 05, 2010 11:07:00
Danko
Shushik, для сравнения выкладываю обе версии.

в папке plus схема, плата, фузы.

Re: Термометр: меньше не бывает?

Добавлено: Ср май 05, 2010 19:07:40
Shushik
Danko Огромнейшее спасибо!!!

Re: Термометр: меньше не бывает?

Добавлено: Ср май 05, 2010 20:38:26
xelos
ARV писал(а):тут давеча новости от NXP в мыло пришли - сделали они ARM Cortex в корпусе 2х2 мм. думаю, если взять его за основу, можно-таки будет достичь предела :)))

из пушки по воробьям называется. нет смысла ставить ARM для термометра. еще и ос на него забацать.

Re: Термометр: меньше не бывает?

Добавлено: Пн май 31, 2010 18:44:36
fkvfaydar
Хм... странно, собрал на макетке. Подключил питание, вроде работает, но раз в секунду (а может и чаще) показывает на индикаторе f_1
То есть сначала температура - 26.3
в следующую секунду надпись -F 1
Не подскажете из-за чего это может быть?

Проблема устранена. Плавал контакт между data и vcc через резистор

Re: Термометр: меньше не бывает?

Добавлено: Ср июн 02, 2010 20:44:53
Лютик
скажите, а что будет на индикаторе при отрицательной температуре?

Re: Термометр: меньше не бывает?

Добавлено: Чт июн 03, 2010 11:06:16
uyra
можно ли питать термометр от таблеточных батареек

Re: Термометр: меньше не бывает?

Добавлено: Чт июн 03, 2010 11:12:13
Seal
uyra писал(а):можно ли питать термометр от таблеточных батареек

Можно, но не долго. Точнее батареек не на долго хватит.

Re: Термометр: меньше не бывает?

Добавлено: Чт июн 03, 2010 11:14:04
Seal
Лютик писал(а):скажите, а что будет на индикаторе при отрицательной температуре?

В статье есть файл для ПРОТЕУС,запусти и увидешь.

Re: Термометр: меньше не бывает?

Добавлено: Чт июн 03, 2010 14:55:04
Лютик
мне для этого еще и протеус качать и устанавливать :shock: ?! может проще просто ответить, я колеблюсь собирать или нет, т.к. показания отрицательной температуры меня тоже интрересуют

Re: Термометр: меньше не бывает?

Добавлено: Чт июн 03, 2010 17:39:07
Danko
Ограничений по индикации нет. Все то, что датчик измерит то термометр и покажет.
Изображение

Re: Термометр: меньше не бывает?

Добавлено: Пт июн 04, 2010 10:10:12
Лютик
Danko писал(а):Ограничений по индикации нет. Все то, что датчик измерит то термометр и покажет.
Изображение

спасибо, будем собирать :))

Re: Термометр: меньше не бывает?

Добавлено: Пн июн 07, 2010 11:09:59
pelican
Собрал девайс с 2-мя датчиками + прикрутил светик, который горит с показаниями одного датчика, и не горит с показаниями второго (что бы знать, какой датчик в данный момент работает). Заметил такой проблем: в какой-то момент светик начинает работать уже с другим датчиком, т.е. показания первого датчика остаются на индикаторе ещё на 2 сек., а светик гаснет, потом появляются показания второго датчика, а с ними зажигается светик... Что может быть? Подтянул ресет ч/з 10к к + питания (кнопку сброса поставил), так после этого таких сбоев стало меньше (1-2 раза в день, до этого - 10-15 раз в день а то и больше).
Вот думаю, как отловить этот момент?

вот код основного цикла:

Код: Выделить всё

 while (1) {
               
        if (ds18x20_devices >= 1) {  // если обнаружено больше одного датчика

                for (i=0;i<ds18x20_devices;) {
                        if (rom_code[i][0] == DS18B20_FAMILY_CODE){
                             temperature=ds18b20_temperature(&rom_code[i][0]);
                        }
                        if (rom_code[i][0] == DS18S20_FAMILY_CODE){
                             temperature=ds18s20_temperature(&rom_code[i][0]);
                        }
                        if (temperature!=-9999){
                            view_term();
                            if (ds18x20_devices > 1){
                                led_ON=~led_ON;     
                            }                       
                        }
                        delay_ms(2000);
                        i++;
                }
        }

Может быть в моём случае есть смысл читать показания 1-го датчика в одну переменную, а второго - в другую, и, чётко зная, с каким датчиком идёт работа, светить или не светить диодом?
Или переписать основной цикл примерно так:

Код: Выделить всё

[code] while (1) {
               
   if (ds18x20_devices = 2) {  // если обнаружено 2 датчика
         i = 0;
         if (rom_code[i][0] == DS18B20_FAMILY_CODE){
            temperature=ds18b20_temperature(&rom_code[i][0]);
         }
         if (rom_code[i][0] == DS18S20_FAMILY_CODE){
            temperature=ds18s20_temperature(&rom_code[i][0]);
         }
         if (temperature!=-9999){
            view_term();
         }
         led_ON = 1;    // зажигаем диод                           
         delay_ms(2000);

         i = 1;
         if (rom_code[i][0] == DS18B20_FAMILY_CODE){
            temperature=ds18b20_temperature(&rom_code[i][0]);
         }
         if (rom_code[i][0] == DS18S20_FAMILY_CODE){
            temperature=ds18s20_temperature(&rom_code[i][0]);
         }
         if (temperature!=-9999){
            view_term();
         }
         led_ON = 0;    // гасим диод                           
         delay_ms(2000);

         }

   if (ds18x20_devices = 1) {  // если обнаружен 1 датчик
         if (rom_code[0][0] == DS18B20_FAMILY_CODE){
            temperature=ds18b20_temperature(&rom_code[0][0]);
         }
         if (rom_code[0][0] == DS18S20_FAMILY_CODE){
            temperature=ds18s20_temperature(&rom_code[0][0]);
         }
         if (temperature!=-9999){
            view_term();
         }
         led_ON = ~led_ON;    // просто мигаем каждые 2000 ms                           
         delay_ms(2000);

         }
   }
[/code]

Какой вариант предпочтительней? Кто что сможет подсказать?