Вопросы по работе с термометрами DS18B20
-
snayperAlfa
- Открыл глаза
- Сообщения: 58
- Зарегистрирован: Ср июл 09, 2008 22:17:41
Вопросы по работе с термометрами DS18B20
Собрал я термометр по примеру из CodeVisionAVR.Вывожу данные на LCD.Но значения оооочень медленнннноооо изменяются.Как можна поправить ситуацию.Использую AtMega16(11.0592 MHz) .Вот код:[code]/
Оформляйте длинные тексты в виде приложения! Сэр Мурр
Оформляйте длинные тексты в виде приложения! Сэр Мурр
- Вложения
-
- текст программы.txt
- (2.84 КБ) 1179 скачиваний
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
единственное, что можно сделать - это убрать delay_ms(500) в конце проги.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
-
snayperAlfa
- Открыл глаза
- Сообщения: 58
- Зарегистрирован: Ср июл 09, 2008 22:17:41
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
на счет медленности - не все так плохо.
это 1820 и 18s20 тормоза - 0.75с измеряют, а 18b20 можно заставить работать почти в 10 раз быстрее - надо сконфигурировать его на 9-битовый результат. найдите в вашей проге место, где датчик настраивается на 12 бит и переделайте на 9. будет значительно быстрее работать
это 1820 и 18s20 тормоза - 0.75с измеряют, а 18b20 можно заставить работать почти в 10 раз быстрее - надо сконфигурировать его на 9-битовый результат. найдите в вашей проге место, где датчик настраивается на 12 бит и переделайте на 9. будет значительно быстрее работать
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
-
snayperAlfa
- Открыл глаза
- Сообщения: 58
- Зарегистрирован: Ср июл 09, 2008 22:17:41
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
не обольщайся сотыми долями - паспортная погрешность датчика 0,5°С - так что сотые все равно будут иметь отношение скорее к бурям на Марсе, чем к реальной температуре. при 9 битах точности ты гарантированно получишь эту самую погрешность в 0,5° (и результат будет как раз с шагом в пол-градуса)snayperAlfa писал(а):А результат я получу какой? Допустим 34 градуса, 34.0 градуса, 34.00градуса.Завтра попробую.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Krik99
- Потрогал лапой паяльник
- Сообщения: 375
- Зарегистрирован: Вс мар 04, 2007 13:14:25
- Откуда: Украина
- Контактная информация:
Да не так он уж и тормозит. Может тормозит из-за вывода на LCD и там есть пауза после вывода. Можно попробывать уменьшить паузы между командами, я пробывал в два раза, частенько приходят ошибки, и больше 85 не меряет. Сам того не понимая delay настроил на 4мгц а МК на 8мгц. всё работало но больше 85 выдавало ошибку. А ваще мне и такая скорость подходит, а если надо быстрей делай на АЦП к примеру, есть много датчиков с интерфейсом i2c. 

- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
snayperAlfa писал(а):Скажите пожалуйста,какое максимальное количество датчиков DS18B20 можно поцепить к одному выводу МК ATMega16. Компилятор CodevisionAVR.
предположу, что штук 50 можно... а что?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
-
snayperAlfa
- Открыл глаза
- Сообщения: 58
- Зарегистрирован: Ср июл 09, 2008 22:17:41
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
под 100 может не хватить ОЗУ - это уже надо детально вникать в задачу. и куда 100 штук вы лепить собрались? там начнутся уже ограничения на линию связи - на ее погонную емкость и индуктивность...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
-
snayperAlfa
- Открыл глаза
- Сообщения: 58
- Зарегистрирован: Ср июл 09, 2008 22:17:41
- Mozart
- Мучитель микросхем
- Сообщения: 413
- Зарегистрирован: Пт мар 10, 2006 12:23:05
- Откуда: Moscow
- Контактная информация:
а что является объектом для измерений???
имхо лучше аналоговые датчики взять (к примеру платиновые от хонивелл e.g. 700 серия там есть по 40р), вы сможете в узком диапазоне температур получить нужную точность в 0,1гр... тем более точность +-0,5гр для медицины не очень корошо...
имхо лучше аналоговые датчики взять (к примеру платиновые от хонивелл e.g. 700 серия там есть по 40р), вы сможете в узком диапазоне температур получить нужную точность в 0,1гр... тем более точность +-0,5гр для медицины не очень корошо...
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
Поставить-то можно, но, ИМХО, т.к. для опроса каждого датчика трятится порядочно (около 0,5с) времени, то 100 датчиков будут так тормозно обновлятся, что для лаборатории это будет неприемлимо (хотя.. лаборатории разные бывают). Сам в свое время ваял нечто похожее. Пока не понял, что скорость слишком мала чтобы заюзать 25+ устройств. Получается отнюдь не реал-тайм.
- Mozart
- Мучитель микросхем
- Сообщения: 413
- Зарегистрирован: Пт мар 10, 2006 12:23:05
- Откуда: Moscow
- Контактная информация:
здесь даже не во времени дело... можно и ПЛИС всунуть.. но дело всё в том что насколько мне известно точность в 0,5гр... для медицины это неприемлимо... если мерить температуру в боксе каком-нить с клетками... то точно не пойдёт а если просто температуру в помещении и строить градиент температуру... то сомневаюсь...
но заманивает простота... возьмите лучше tmp03/04
но заманивает простота... возьмите лучше tmp03/04
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
- tych
- Э...
- Сообщения: 2792
- Зарегистрирован: Ср апр 04, 2007 08:39:14
- Откуда: Москва
- Контактная информация:
Re: DS18B20
Vertel писал(а):где и как устанавливается битность датчика и как вывести десятые. Пример из CVAVR для этого датчика не работает, выводит +3F вместо температуры.
Можно посмотреть пример в PROTEUS -
C:\Program Files\Proteus\SAMPLES\VSM for AVR\One-Wire\DS18X20
by Martin Thomas <eversmith>
http://www.siwawi.arubi.uni-kl.de/avr-projects
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- Krik99
- Потрогал лапой паяльник
- Сообщения: 375
- Зарегистрирован: Вс мар 04, 2007 13:14:25
- Откуда: Украина
- Контактная информация:
megasvintus писал(а):Долблюсь с данным девайсом уже второй день. Все время выдается температура 63898 градусов...![]()
![]()
И она при нагреве/охлаждении датчика не меняется.
Хоть убей- не пойму в чем дело!
Устройство нормально опознается.
Прикладываю исходник, может ткнет кто на ошибку/ошибки носом![]()
Модератор, не закрывайте пожалуйста тему, я поиском нашел подобные темы, но ответа на свой вопрос не получил.
Резистор на 4,7к цеплял?
Частота проекта и частота МК одинаковые?
- Вложения
-
- termo.rar
- (65.41 КБ) 801 скачивание

- megasvintus
- Вымогатель припоя
- Сообщения: 568
- Зарегистрирован: Вт мар 04, 2008 20:03:03
- Откуда: Нижний Новгород