Всё по DS18(B/S)20.
Re: Всё по DS18(B/S)20.
Можно . Ну ,а если один накроется медным тазом, а готовое устройство откл. нельзя , что бы прописать новый датчик. Что делать будите?
Re: Всё по DS18(B/S)20.
shads писал(а):Я наверное неправильно мысль выразил.
Да ради бога! я тоже так по началу делал, потом надоело, и пришлось отвязать устройство от датчиков.
з.ы. да и тазом они бывает накрываются
Re: Всё по DS18(B/S)20.
Дыкэта, здесь не о стратегических объектах речь. А так - стандартная функция настроек устройства - удалить\прописать датчик. Отключил линию на минутку, вставил датчик, удалил\прописал, линию воткнул и пошел вешать датчик гиде надо.....ILYAUL писал(а):Можно . Ну ,а если один накроется медным тазом, а готовое устройство откл. нельзя , что бы прописать новый датчик. Что делать будите?
Re: Всё по DS18(B/S)20.
BVS писал(а):Плохо ищите, но вот то, что я вспомнил, в этой статье есть пример с табличным расчетом, а в комментариях найдете и математический расчет.
еще была тема http://www.radiokot.ru/forum/viewtopic.php?f=25&t=11525
которую почему-то забросили
Кто работал с исходниками с этого сайта помогите правильно ли я после нахождения Rom датчика дальше команды подаю после метки Loop1:
Код: Выделить всё
Вычисляется ROM
rcall OWClearROM_NO
rcall OWFirst
sbrs search_flags, search_result
rjmp EndOfExample
Есть ROM
loop1:
; Код
main:
rcall ds
rcall bcd_convert ;преобразование
ldi lcd_command,$01
rcall lcdcmd
ldi wreg, 3
rcall ds_longdelay
rcall display; вывод на экран
;Следующий датчик
rcall OWNext
sbrs search_flags, search_result
rjmp EndOfExample
rjmp loop1
EndOfExample:
rjmp main
Ds:
rcall ds_reset
ldi ds_command, 0xCC
rcall ds_write
ldi ds_command, 0×44
rcall ds_write
ldi wreg, 255
rcall ds_longdelay ; 178ms
ldi wreg, 255
rcall ds_longdelay ; 178ms
ldi wreg, 255
rcall ds_longdelay ; 178ms
ldi wreg, 255
rcall ds_longdelay ; 178ms
ldi wreg, 60
rcall ds_longdelay ; 40ms
rcall ds_reset
ldi ds_command, 0xCC
rcall ds_write
ldi ds_command, 0xBE
rcall ds_write
ldi wreg, 5
rcall ds_delay
rcall ds_read
ret
ds_reset:
cbi PORTB, PB0
ldi wreg, 0xFF
out DDRB, wreg
ldi wreg, 220
ldi wreg, 0xFE
out DDRB, wreg
ldi wreg, 220
rcall ds_delay
retRe: Всё по DS18(B/S)20.
или как зная Rom обратиться к конкретному устройству? я понимаю что надо из 8 байтного Rom переслать код в регистры а дальше командами in и out , а как закодить не знаю даже
Re: Всё по DS18(B/S)20.
casino777 писал(а):или как зная Rom обратиться к конкретному устройству? я понимаю что надо из 8 байтного Rom переслать код в регистры а дальше командами in и out , а как закодить не знаю даже
Заканчиваю термометр на 4 датчика http://asis-kbr.ru/forum/viewtopic.php?f=9&t=117
Ща чето с EEPROM зразобраться не могу, читать номер датчика получается, а в EEPROM его загнать не получается чет..... Как разберусь, свистну (на асме пишу)
Re: Всё по DS18(B/S)20.
shads писал(а):Ща чето с EEPROM зразобраться не могу, читать номер датчика получается, а в EEPROM его загнать не получается чет..... Как разберусь, свистну (на асме пишу)
Было бы здорово!
Читаем правила п.2.7
Gudd-Head
Re: Всё по DS18(B/S)20.
shads писал(а):Чето я в ступоре.
Если втыкаю датчики в разъем (хоть зажимаю контакты, хоть нет), то они сек ч-з 10 постепенно повышают температуру на пару град (проверил на всех 10шт.).
Если они лежат в рядок на столе и я к ножкам прижимаю проводки от платки, то все нормально (сейчас все 10шт стабильно показывают 24,5).
?????
Наконец то я допер до решения этого феномена. Мне тут говорили что проблема в саморазогреве датчиков. Я сначала повелся, думаю ну значит надо питание отключать между опросами, и сами опросы реже проводить. Но мой ступор усилился, когда я начал заниматься второй версией термо регистратора. Если на первой плате уход был несколько градусов, то на второй все датчики врали на 7 градусов (когда включаеш устр-во показывает 23 гр. а минут через 10 показывает 30 !!!!!). Я все еще свято верил что это саморазогрев..... Хотя уже можно было понять что это уже чересчур.....
Короче просветление пришло сегодня, когда начал работать с несколькими датчиками на одной линии, оказ-ся тот датчик что в разъеме платы, ведет себя как описано выше, а тот датчик что подключен к небольшой линии и лежит хоть на столе хоть в воздуже висит, прекрасно показывает реальную температуру, и никуда уходить не собирается..... Короче проблема была в том что в относительной близости от разъема в который включен датчик, находится стабилизатор 7805, вот он то и разогревается, нагревая все вокруг!!!!!
На первой плате, был минимум потребления, контроллер и MAX232, вот стаб и нагревал все вокруг на несколько градусов. А на второй плате, там уже целый пирог потребителей (+ семисегментник), вот и напрягается стабилизатор гдето до 40 град. (померял выносным датчиком, прижав его к стабу).
Вывод - саморазогрева датчиков я так и не заметил.....
Интересно, а по заявлениям других источников, на сколько саморазогреваются датчики, мож как раз в пределах 0,5 град, чего можно и не заметить?
- Вложения
-
- plata1.jpg
- (57.13 КБ) 573 скачивания
-
- plata2.jpg
- (76.03 КБ) 392 скачивания
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Всё по DS18(B/S)20.
shads писал(а):на сколько саморазогреваются датчики?
Ток потребления × напряжение питания.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Всё по DS18(B/S)20.
Скинул проект для AVRStudio http://asis-kbr.ru/forum/viewtopic.php?f=9&t=117casino777 писал(а):Было бы здорово!
Если вопросы будут (по прошивке) там спрашивай, чтобы здесь не сорить.
Нарушение п.2.7 Правил Форума
Gudd-Head
Re: Всё по DS18(B/S)20.
Вывод - саморазогрева датчиков я так и не заметил.....
Пару десятых градуса при комнатной температуре.
Re: Всё по DS18(B/S)20.
Значит меня изначально в заблуждение ввели.....
Мастер Ломастер писал(а):саморазогрев - явление давно признанное самим производителем. пока подано питание на датчик, он потребляет хоть и мизерный, но все-таки ток, который и разогревает кристалл. если теплу от кристалла через корпус деваться некуда (воздух - плохой проводник тепла), корпус разогревается. как правило, прибавка в 1-2 градуса - это закономерность.
Re: Всё по DS18(B/S)20.
Я сужу по опыту использования. Первый замер от последующих отличается на 0.1-0.2 градуса. Редко бывает 0.3
Re: Всё по DS18(B/S)20.
Уважаемые коты!
Помогите разобраться. Цепляю ds18b20 к ATMega16. Контроллер тактируется частотой 1 МГц от встроенного генератора. отправляю на датчик команду "чтение ROM" и хочу этот самый ROM увидеть на LCD. В верхней строчке LCD вывожу то, что отправляется на датчик, а в нижней хочу посмотреть кусочек ROM кода.. Проблема в том, что МК рисует в нижней строчке единицы (то есть выходит, что ds18b20 вроде как и не отвечает на команду), хотя инициализация проходит правильно. Взгляните пожалуйста, может я что-то упустил или неправильно понял? я подробно откомментировал, чтобы прослеживался ход мысли.. с датчиком работаю впервые, да и с МК недавно
Помогите разобраться. Цепляю ds18b20 к ATMega16. Контроллер тактируется частотой 1 МГц от встроенного генератора. отправляю на датчик команду "чтение ROM" и хочу этот самый ROM увидеть на LCD. В верхней строчке LCD вывожу то, что отправляется на датчик, а в нижней хочу посмотреть кусочек ROM кода.. Проблема в том, что МК рисует в нижней строчке единицы (то есть выходит, что ds18b20 вроде как и не отвечает на команду), хотя инициализация проходит правильно. Взгляните пожалуйста, может я что-то упустил или неправильно понял? я подробно откомментировал, чтобы прослеживался ход мысли.. с датчиком работаю впервые, да и с МК недавно
- Вложения
-
- prog.c
- (3.16 КБ) 301 скачивание
Последний раз редактировалось Laplaskin Ср апр 25, 2012 17:16:09, всего редактировалось 1 раз.
Re: Всё по DS18(B/S)20.
Вопросик назрел.....
Как можно программно определить какой датчик подключен DS18B20 или DS18S20 ?
Или придется всегда вручную выбирать способ обработки?
Как можно программно определить какой датчик подключен DS18B20 или DS18S20 ?
Или придется всегда вручную выбирать способ обработки?
Re: Всё по DS18(B/S)20.
Прочитать код устройства. Первый байт вам даст ответ на вопрос
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Re: Всё по DS18(B/S)20.
Ой..... Как же это я сразу не догадался, спасибо. Полистал мануал, и действительно коды семейств у них разные 10h и 28h. А я думал что это одно семейство.
-
borys
- Держит паяльник хвостом
- Сообщения: 927
- Зарегистрирован: Вт сен 07, 2010 19:27:48
- Откуда: Ташкент
Re: Всё по DS18(B/S)20.
Уважаемый shads!
Скачал файлы по вашей ссылке. Все хорошо, но схема нечитабельная. Не могли бы Вы выло-
жить более внятное исполнение. А за проект спасибо.
Скачал файлы по вашей ссылке. Все хорошо, но схема нечитабельная. Не могли бы Вы выло-
жить более внятное исполнение. А за проект спасибо.
Re: Всё по DS18(B/S)20.
Демонстрационный проект на 8 датчиков DS18B20 для PROTEUS
- Вложения
-
- DS18B20_5.rar
- (22.8 КБ) 320 скачиваний
- DJ_Kiridza
- Мучитель микросхем
- Сообщения: 458
- Зарегистрирован: Пн дек 13, 2010 13:01:59
- Откуда: Украина
- Контактная информация:
Re: Всё по DS18(B/S)20.
Я сейчас свой проект пишу, тоже на 8 датчиков и тоже с работой через терминал. Попадись мне эта схемка раньше...
Но все равно я делаю немного не так - у меня все делеи крутяться в таймере, таким образом основное тело программы выполняется независимо от задержек. Просто на частоте 8Мгц ресет пульс длинной в 480 мс - это кругленькое число операций. А так завел будильник на 480мс и крутишься себе в основном теле, зазвонил будильник - перевел линую, завел будильник, крутишься в основном теле, дальше зазвонил будильник - проверил пресенс пульс, есть контакт? заводим будильник на длинну таймслота и т.д.
Вот только по даташиту не понял как правильно считается CRC - кто может разжевать, ато тупо драть с исходников не охота
(пишу на асме)
Но все равно я делаю немного не так - у меня все делеи крутяться в таймере, таким образом основное тело программы выполняется независимо от задержек. Просто на частоте 8Мгц ресет пульс длинной в 480 мс - это кругленькое число операций. А так завел будильник на 480мс и крутишься себе в основном теле, зазвонил будильник - перевел линую, завел будильник, крутишься в основном теле, дальше зазвонил будильник - проверил пресенс пульс, есть контакт? заводим будильник на длинну таймслота и т.д.
Вот только по даташиту не понял как правильно считается CRC - кто может разжевать, ато тупо драть с исходников не охота
(пишу на асме)
мысли мысли штош вы вйотесь
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)