Вопросы по работе с термометрами DS18B20

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
snayperAlfa
Открыл глаза
Сообщения: 58
Зарегистрирован: Ср июл 09, 2008 22:17:41

Вопросы по работе с термометрами DS18B20

Сообщение snayperAlfa »

Собрал я термометр по примеру из CodeVisionAVR.Вывожу данные на LCD.Но значения оооочень медленнннноооо изменяются.Как можна поправить ситуацию.Использую AtMega16(11.0592 MHz) .Вот код:[code]/
Оформляйте длинные тексты в виде приложения! Сэр Мурр
Вложения
текст программы.txt
(2.84 КБ) 1179 скачиваний
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

единственное, что можно сделать - это убрать delay_ms(500) в конце проги.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
KT315B
Сверлит текстолит когтями
Сообщения: 1269
Зарегистрирован: Пт июл 21, 2006 15:05:19
Откуда: плод воображения
Контактная информация:

Сообщение KT315B »

Пример, кстати, совсем тривиальный - там и тормозить то нечему. Правда обмен с DS1820 происходит около половины секунды - с этим придется смириться, ибо у 1-Wire жесткие требования к таймингам...
R2AIV 73!
snayperAlfa
Открыл глаза
Сообщения: 58
Зарегистрирован: Ср июл 09, 2008 22:17:41

Сообщение snayperAlfa »

Жалко,что он такой медленный
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

на счет медленности - не все так плохо.
это 1820 и 18s20 тормоза - 0.75с измеряют, а 18b20 можно заставить работать почти в 10 раз быстрее - надо сконфигурировать его на 9-битовый результат. найдите в вашей проге место, где датчик настраивается на 12 бит и переделайте на 9. будет значительно быстрее работать
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
snayperAlfa
Открыл глаза
Сообщения: 58
Зарегистрирован: Ср июл 09, 2008 22:17:41

Сообщение snayperAlfa »

А результат я получу какой? Допустим 34 градуса, 34.0 градуса, 34.00градуса.Завтра попробую.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

snayperAlfa писал(а):А результат я получу какой? Допустим 34 градуса, 34.0 градуса, 34.00градуса.Завтра попробую.
не обольщайся сотыми долями - паспортная погрешность датчика 0,5°С - так что сотые все равно будут иметь отношение скорее к бурям на Марсе, чем к реальной температуре. при 9 битах точности ты гарантированно получишь эту самую погрешность в 0,5° (и результат будет как раз с шагом в пол-градуса)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Krik99
Потрогал лапой паяльник
Сообщения: 375
Зарегистрирован: Вс мар 04, 2007 13:14:25
Откуда: Украина
Контактная информация:

Сообщение Krik99 »

Да не так он уж и тормозит. Может тормозит из-за вывода на LCD и там есть пауза после вывода. Можно попробывать уменьшить паузы между командами, я пробывал в два раза, частенько приходят ошибки, и больше 85 не меряет. Сам того не понимая delay настроил на 4мгц а МК на 8мгц. всё работало но больше 85 выдавало ошибку. А ваще мне и такая скорость подходит, а если надо быстрей делай на АЦП к примеру, есть много датчиков с интерфейсом i2c. :)
Изображение
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

snayperAlfa писал(а):Скажите пожалуйста,какое максимальное количество датчиков DS18B20 можно поцепить к одному выводу МК ATMega16. Компилятор CodevisionAVR.

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

Мой уютный бложик... заходите!
snayperAlfa
Открыл глаза
Сообщения: 58
Зарегистрирован: Ср июл 09, 2008 22:17:41

Сообщение snayperAlfa »

Тоесть нету ограничений?А можна ли штук под 100?
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

под 100 может не хватить ОЗУ - это уже надо детально вникать в задачу. и куда 100 штук вы лепить собрались? там начнутся уже ограничения на линию связи - на ее погонную емкость и индуктивность...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
snayperAlfa
Открыл глаза
Сообщения: 58
Зарегистрирован: Ср июл 09, 2008 22:17:41

Сообщение snayperAlfa »

Система сбора температуры в медицинской лаборатории
Аватара пользователя
Mozart
Мучитель микросхем
Сообщения: 413
Зарегистрирован: Пт мар 10, 2006 12:23:05
Откуда: Moscow
Контактная информация:

Сообщение Mozart »

а что является объектом для измерений???

имхо лучше аналоговые датчики взять (к примеру платиновые от хонивелл e.g. 700 серия там есть по 40р), вы сможете в узком диапазоне температур получить нужную точность в 0,1гр... тем более точность +-0,5гр для медицины не очень корошо...
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
KDAlex
Открыл глаза
Сообщения: 58
Зарегистрирован: Сб июн 14, 2008 12:00:32

Сообщение KDAlex »

Поставить-то можно, но, ИМХО, т.к. для опроса каждого датчика трятится порядочно (около 0,5с) времени, то 100 датчиков будут так тормозно обновлятся, что для лаборатории это будет неприемлимо (хотя.. лаборатории разные бывают). Сам в свое время ваял нечто похожее. Пока не понял, что скорость слишком мала чтобы заюзать 25+ устройств. Получается отнюдь не реал-тайм.
Аватара пользователя
Mozart
Мучитель микросхем
Сообщения: 413
Зарегистрирован: Пт мар 10, 2006 12:23:05
Откуда: Moscow
Контактная информация:

Сообщение Mozart »

здесь даже не во времени дело... можно и ПЛИС всунуть.. но дело всё в том что насколько мне известно точность в 0,5гр... для медицины это неприемлимо... если мерить температуру в боксе каком-нить с клетками... то точно не пойдёт а если просто температуру в помещении и строить градиент температуру... то сомневаюсь...

но заманивает простота... возьмите лучше tmp03/04
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
MetEl
Вымогатель припоя
Сообщения: 543
Зарегистрирован: Чт окт 18, 2007 16:45:30
Откуда: из Питера

Сообщение MetEl »

ну я так вскользь посмотрел, может - signed int, но если и так CVAМR понимает, то ладно.
Просто с запятыми другой тип переменной используется(int это целое, без десятых и пр. т.е. без децимальной точки).
Просто я не понял, а где и что указывает точку (рисует).
простое чмо, выдумщик
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Re: DS18B20

Сообщение tych »

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
Откуда: Украина
Контактная информация:

Сообщение Krik99 »

megasvintus писал(а):Долблюсь с данным девайсом уже второй день. Все время выдается температура 63898 градусов... :evil: :evil: :evil: И она при нагреве/охлаждении датчика не меняется.
Хоть убей- не пойму в чем дело!
Устройство нормально опознается.
Прикладываю исходник, может ткнет кто на ошибку/ошибки носом :cry:

Модератор, не закрывайте пожалуйста тему, я поиском нашел подобные темы, но ответа на свой вопрос не получил.


Резистор на 4,7к цеплял?
Частота проекта и частота МК одинаковые?
Вложения
termo.rar
(65.41 КБ) 801 скачивание
Изображение
Аватара пользователя
megasvintus
Вымогатель припоя
Сообщения: 568
Зарегистрирован: Вт мар 04, 2008 20:03:03
Откуда: Нижний Новгород

Сообщение megasvintus »

Цеплял.
Одинаковые.

Всплыл прикол номер 2- сменил тип переменной, в которой будет храниться температура на int, на дисплее стало отображаться -9999. Это значит ошибка чтения, если не ошибаюсь... А почему? Ведь девайс всего 1 и нормально узнается.
Трудно быть деревянным, совсем трудно....
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Сообщение sachok »

Исправил но меряет только с точностью до целых. Если надо до десятых то буду продалжать. Если нет то напиши выложу.
Я не Сашок!!!
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»