Всё по 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.
Кто работал с исходниками с этого сайта помогите правильно ли я после нахождения Rom датчика дальше команды подаю после метки Loop1:BVS писал(а):Плохо ищите, но вот то, что я вспомнил, в этой статье есть пример с табличным расчетом, а в комментариях найдете и математический расчет.
еще была тема http://www.radiokot.ru/forum/viewtopic.php?f=25&t=11525
которую почему-то забросили
Код: Выделить всё
Вычисляется 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 ret
Re: Всё по DS18(B/S)20.
или как зная Rom обратиться к конкретному устройству? я понимаю что надо из 8 байтного Rom переслать код в регистры а дальше командами in и out , а как закодить не знаю даже
- Реклама
Re: Всё по DS18(B/S)20.
Заканчиваю термометр на 4 датчика http://asis-kbr.ru/forum/viewtopic.php?f=9&t=117casino777 писал(а):или как зная Rom обратиться к конкретному устройству? я понимаю что надо из 8 байтного Rom переслать код в регистры а дальше командами in и out , а как закодить не знаю даже
Ща чето с EEPROM зразобраться не могу, читать номер датчика получается, а в EEPROM его загнать не получается чет..... Как разберусь, свистну (на асме пишу)
Re: Всё по DS18(B/S)20.
Было бы здорово!shads писал(а):Ща чето с EEPROM зразобраться не могу, читать номер датчика получается, а в EEPROM его загнать не получается чет..... Как разберусь, свистну (на асме пишу)
Читаем правила п.2.7
Gudd-Head
Re: Всё по DS18(B/S)20.
Наконец то я допер до решения этого феномена. Мне тут говорили что проблема в саморазогреве датчиков. Я сначала повелся, думаю ну значит надо питание отключать между опросами, и сами опросы реже проводить. Но мой ступор усилился, когда я начал заниматься второй версией термо регистратора. Если на первой плате уход был несколько градусов, то на второй все датчики врали на 7 градусов (когда включаеш устр-во показывает 23 гр. а минут через 10 показывает 30 !!!!!). Я все еще свято верил что это саморазогрев..... Хотя уже можно было понять что это уже чересчур.....shads писал(а):Чето я в ступоре.
Если втыкаю датчики в разъем (хоть зажимаю контакты, хоть нет), то они сек ч-з 10 постепенно повышают температуру на пару град (проверил на всех 10шт.).
Если они лежат в рядок на столе и я к ножкам прижимаю проводки от платки, то все нормально (сейчас все 10шт стабильно показывают 24,5).
?????
Короче просветление пришло сегодня, когда начал работать с несколькими датчиками на одной линии, оказ-ся тот датчик что в разъеме платы, ведет себя как описано выше, а тот датчик что подключен к небольшой линии и лежит хоть на столе хоть в воздуже висит, прекрасно показывает реальную температуру, и никуда уходить не собирается..... Короче проблема была в том что в относительной близости от разъема в который включен датчик, находится стабилизатор 7805, вот он то и разогревается, нагревая все вокруг!!!!!
На первой плате, был минимум потребления, контроллер и MAX232, вот стаб и нагревал все вокруг на несколько градусов. А на второй плате, там уже целый пирог потребителей (+ семисегментник), вот и напрягается стабилизатор гдето до 40 град. (померял выносным датчиком, прижав его к стабу).
Вывод - саморазогрева датчиков я так и не заметил.....
Интересно, а по заявлениям других источников, на сколько саморазогреваются датчики, мож как раз в пределах 0,5 град, чего можно и не заметить?
- Вложения
-
- plata1.jpg
- (57.13 КБ) 575 скачиваний
-
- plata2.jpg
- (76.03 КБ) 393 скачивания
- 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 КБ) 303 скачивания
Последний раз редактировалось 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 КБ) 323 скачивания
- DJ_Kiridza
- Мучитель микросхем
- Сообщения: 458
- Зарегистрирован: Пн дек 13, 2010 13:01:59
- Откуда: Украина
- Контактная информация:
Re: Всё по DS18(B/S)20.
Я сейчас свой проект пишу, тоже на 8 датчиков и тоже с работой через терминал. Попадись мне эта схемка раньше...
Но все равно я делаю немного не так - у меня все делеи крутяться в таймере, таким образом основное тело программы выполняется независимо от задержек. Просто на частоте 8Мгц ресет пульс длинной в 480 мс - это кругленькое число операций. А так завел будильник на 480мс и крутишься себе в основном теле, зазвонил будильник - перевел линую, завел будильник, крутишься в основном теле, дальше зазвонил будильник - проверил пресенс пульс, есть контакт? заводим будильник на длинну таймслота и т.д.
Вот только по даташиту не понял как правильно считается CRC - кто может разжевать, ато тупо драть с исходников не охота
(пишу на асме)
Но все равно я делаю немного не так - у меня все делеи крутяться в таймере, таким образом основное тело программы выполняется независимо от задержек. Просто на частоте 8Мгц ресет пульс длинной в 480 мс - это кругленькое число операций. А так завел будильник на 480мс и крутишься себе в основном теле, зазвонил будильник - перевел линую, завел будильник, крутишься в основном теле, дальше зазвонил будильник - проверил пресенс пульс, есть контакт? заводим будильник на длинну таймслота и т.д.
Вот только по даташиту не понял как правильно считается CRC - кто может разжевать, ато тупо драть с исходников не охота
(пишу на асме)
мысли мысли штош вы вйотесь
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)


