Пост N: 967
Зарегистрирован: 26.12.06
Откуда: Санкт-Ленинград
Рейтинг:
1
Отправлено: 30.01.09 17:22. Заголовок: Вот, на данный момен..
Вот, на данный момент надо адаптировать программу, написанную для 1820 под 18b20. Так понял, просмотрев даташит, основное отличие - смещённые, относительно 1820, биты в информационном слове?
Пост N: 968
Зарегистрирован: 26.12.06
Откуда: Санкт-Ленинград
Рейтинг:
1
Отправлено: 30.01.09 19:40. Заголовок: Значит я всё правиль..
Значит я всё правильно понял. Интересовал ещё вопрос, происходит ли сдвиг информационных битов, при смене разрядности, но уже прочёл в параллельной ветке, что нет.
Оффтоп: Alberto пишет:
цитата:
это уже обсуждалось
А вот поэтому я всегда и говорю, чтопусть тем будет больше, но они будут конкретнее. А тема "1 Wire" больно уж обширная.
Уважаемые, скажите ,пожалуйста, возникали у Вас проблемы с датчиком DS18B20 при отображении отрицательных температур? Использую датчик DS18B20, но отрицательная температура не отображается. положительная отображается нормально. Обработку произвожу как указано в Самоучителе. С уважением, sergi2/
Пост N: 7
Зарегистрирован: 23.01.08
Откуда: Удмуртия, г.Камбарка
Рейтинг:
0
Замечания:
Отправлено: 09.02.09 09:53. Заголовок: При чтении младшего ..
При чтении младшего байта значения температуры Temp_LSB и дальнейшем его преобразовании в двоично-десятичный вид и последующим выводом на индикацию после нуля градусов Цельсия, изменения показаний не происходят. Перед началом преобразования произвожу инвертирование байта при опросе нулевого бита старшего байта Temp_MSB.
Пост N: 6
Зарегистрирован: 15.03.10
Откуда: Россия, Волжский
Рейтинг:
0
Отправлено: 03.04.10 01:42. Заголовок: доброе время суток п..
доброе время суток подскажите, кто может, вот в самоучителе обсуждалось тема про задания порогов в датчиках DS1820 но затронут лишь верхний порог, а как быть с нижним? дело вот в чём пороги положительных температур задаются очень просто как они есть + сдвиг в лево на один бит 25*С == ( 00011001 == 19h) а мы задаём 25*С == ( 00110010 == 32h ) так как нулевой бит это 0,5 градуса ну тут всё понятно, а как же быть с отрицательными температурами, нууу скажем с -25*С == ( 11001110 == CEh) вот тут и непонятно как потом определить что это минус 25 градусов, а не плюс 103*С == ( 11001110 == CEh) если программу составлять самостоятельно не смотря на всех остальных, так как рекомендовал КЕА в самоучителе, отказаться от фирменной идеи определения порогов, и взять это в сваи руки, каждый раз считывая эти данные и сверяя их с тем что выдал датчик при замере температуры. Я бы организовал это так. Датчик имеет диапазон измерения од -55 до 125*С . 125 это максимум и это 7 бит значит, самый старший бит можно использовать как знак ( + или - ) . Получается, что пороги можно забивать в привычной нам форме, числа как они есть, в 7-ми битном двоичном виде, плюс восьмой бит как знак, то получится что 25*С это ( 00011001 == 19h), а вот -25*С это ( 10011001 == 99h) это и обрабатывать намного проще, легче ориентироваться в этих числах. Но это не есть СТАНДАРТ , а это очень плохо. другие люди этого не паймут. как это сделать по уму по правилам
Пост N: 229
Зарегистрирован: 26.12.06
Откуда: Украина, Новомосковск
Рейтинг:
0
Отправлено: 03.04.10 07:56. Заголовок: ОКТОГЕН насколько я ..
ОКТОГЕН насколько я помню то температура передается в 2х байтах причем количество градаций градуса не две, а шеснадцать тамже записан и знак температуры. Прочитайте более внимательно 5й раздел практикума а именно пункт 5,8. я думаю вопросы отпадут сами.
Пост N: 7
Зарегистрирован: 15.03.10
Откуда: Россия, Волжский
Рейтинг:
0
Отправлено: 04.04.10 00:27. Заголовок: Vladimir пишет: ОКТ..
Vladimir пишет:
цитата:
ОКТОГЕН насколько я помню то температура передается в 2х байтах причем количество градаций градуса не две, а шеснадцать тамже записан и знак температуры.
в этом то и проблема, температура передается в 2х байтах, а порог задаётся одним байтом как быть? как правильно задовать пемпературные пороги от -55 и до 125 градусов.
Пост N: 106
Зарегистрирован: 21.10.07
Откуда: Россия, Иркутск
Рейтинг:
0
Отправлено: 05.04.10 16:07. Заголовок: Т.к. регистры TH и T..
Т.к. регистры TH и TL – 8-разрядные, при сравнении используются только с 11 по 4 биты температурного регистра. Если измеренная температура ниже или равна TL или выше TH, возникает условие сигнализации, и в DS18B20 устанавливается сигнальный флаг. Этот флаг обновляется после каждого измерения температуры, поэтому, если сигнальное условие пропадает, флаг будет сброшен после следующего преобразования.
After the DS1820 has performed a temperature conversion, the temperature value is compared to the trigger values stored in TH and TL. Since these registers are 8–bit only, the 0.5°C bit is ignored for comparison.
Пост N: 8
Зарегистрирован: 15.03.10
Откуда: Россия, Волжский
Рейтинг:
0
Отправлено: 05.04.10 21:38. Заголовок: Понятно, вот только..
Понятно, вот только если вдруг, ну мало ли, приспичит мне держать интервал температуры какого либо процесса, где нижний придел +103*С градуса, а верхний +120*С то датчик впадёт в штопор. Его скромные мозги будут думать, что +103*С это минус 25*С и реагировать не будут при опускании температуры ниже +103*С. Датчик будит думать, что приделы заданы как, от -25*С до +120*С (ведь +103*С и -25*С записываются одинаково)
Пост N: 1223
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
3
Фото:
Отправлено: 06.04.10 01:50. Заголовок: ОКТОГЕН пишет: Его ..
ОКТОГЕН пишет:
цитата:
Его скромные мозги будут думать, что +103*С это минус 25*С и
Бред полный... Изучите внимательно даташит и представление двоичных чисел в дополнительном коде и все встанет на свои места... Датчик будет выдавать только температуру в дополнительном коде для отрицательных температур, а для положительных в прямом... А что по этому поводу будет думать ваша программа... Неизвестно никому... И никогда не спутать +103 и -25, они совершенно разные.
Пост N: 13
Зарегистрирован: 15.03.10
Откуда: Россия, Волжский
Рейтинг:
0
Отправлено: 18.04.10 03:32. Заголовок: я по неруски читать ..
я по нерусски читать к сожалению не умею, поэтому мало что понимаю из Д.Ш. уж извините все мои знания ограничиваются самоучителем. А вот подскажите, а возможен ли ,теоретически, такой случай, что контрольная сумма при считывании результатов измерения температуры будет ,,0,, или ,,255,,
Пост N: 137
Зарегистрирован: 21.10.07
Откуда: Россия, Иркутск
Рейтинг:
0
Отправлено: 18.04.10 05:47. Заголовок: ОКТОГЕН пишет: А во..
ОКТОГЕН пишет:
цитата:
А вот подскажите, а возможен ли ,теоретически, такой случай, что контрольная сумма при считывании результатов измерения температуры будет ,,0,, или ,,255,,
Вот таблица возможных значений CRC8 для DS1820 Скрытый текст
весёлая табличка не вдаваясь в заумный и высокий смысл этой таблицы, а рассуждая по рабоче-крестьянски ( путём перемножения в столбик ) получается 256 возможных значений тоесть от 0 и до 255. вообще спасибо за ответ
Все даты в формате GMT
3 час. Хитов сегодня: 13
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет