а даташит слабО посмотреть? если сохраните конфигурацию в EEPROM - сохранится она и после выключения питания. а по умолчанию он в 12-битном режиме работает, если не ошибаюсь.sheva_s писал(а):Подскажите датчик ds18b20 с завода настроен на какое разрешение ? Если я его перенастрою на другое разрешение сохраняються ли эти настройки в датчике после отключения питания, или стают на заводские. (может глупый вопрос просто хочу как можно больше упростить программу избавиться от настройки датчика)
Вопросы по работе с термометрами DS18B20
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- sheva_s
- Грызет канифоль
- Сообщения: 256
- Зарегистрирован: Пт апр 27, 2007 14:32:48
- Откуда: Украина Кривой Рог
- Контактная информация:
в даташит не слабо , проблема с английским.
Подскажите еще пожалуйста вот в этой строке
цифрами -55,125 что настраивается ?
Подскажите еще пожалуйста вот в этой строке
Код: Выделить всё
ds18b20_init(0,-55,125,DS18B20_9BIT_RES);цифрами -55,125 что настраивается ?
- Pooher
- Мучитель микросхем
- Сообщения: 491
- Зарегистрирован: Вс янв 07, 2007 01:45:48
- Откуда: Российская Федерация, будь она неладна...
в даташит не слабо , проблема с английским.
Настоящий даташит ПО-РУССКИ
А вообще, буржуйский учите, пригодится.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
а вот если почитать хелп к неизвестно за что всеми любимому CVAVR, то можно выяснить, что -55 и 125 в данном случае - это пороги "срабатывания" этого термометра-термостата (как в данном контексте перевести ALARM я не знаю). иначе говоря, для практического применения по барабану, какие цифры там писать - хоть нули.Igor_67 писал(а):Ну, если внимательно прочитать ветку сначала, то можно обнаружить много полезной информации, как, например, то что минимальная температура, которую меряет DS18B20 = -55 град., а максимальная = 125 град. Вот это они и есть!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
-
Петро
- Первый раз сказал Мяу!
- Сообщения: 31
- Зарегистрирован: Вс сен 13, 2009 15:42:50
- Откуда: Львів
- Контактная информация:
здравствуйте!
Пытаюсь получить от DS18B20 сигнала присутствия, но не получается... Подтягивающий резистор подключен, использую все три вывода DS18B20, он же подключен к mega8l. Посмотрите плиз код инициализации
Вот схемка в Proteus:
Пытаюсь получить от DS18B20 сигнала присутствия, но не получается... Подтягивающий резистор подключен, использую все три вывода DS18B20, он же подключен к mega8l. Посмотрите плиз код инициализации
Код: Выделить всё
.def counter=R16
.def temp=R17
.def Delay_reg=R18
.equ tempIO=1 ;вивод 1-Wire интерфейса
.cseg
.org 0
rjmp Program
Program:
ldi temp,high(RAMEND)
out SPH,temp
ldi temp,low(RAMEND)
out SPL,temp
;SFIOR.PUD=1
ldi temp,(1<<PUD)
out SFIOR,temp
cbi PORTB,tempIO ;подсаживаэм линию
sbi DDRB,tempIO
ldi counter,0x86
;задержка 700 мкс
_delay1_:
rcall Delay
dec counter
brne _delay1_
cbi DDRB,tempIO ;отпускаэм линию
;задержка 65 мкс
ldi counter,0xD
_delay2_:
rcall Delay
dec counter
brne _delay2_
sbic PORTB,tempIO ;если PORTB(1)=1 -нет датчика
ret ;выход
;задержка 500 мкс
ldi counter,0x60
_delay3_:
rcall Delay
dec counter
brne _delay3_
sbis PORTB,tempIO ;если PORTB(1)=0 краткое замикание на линии
ret ;выход
Main: rjmp Main
retiВот схемка в Proteus:
- Вложения
-
- DS18B20.doc
- (254.17 КБ) 273 скачивания
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
да надоело просто на одни и те же вопросы отвечать одно и то же...Петро писал(а):кто-нибудь меня слышет? сюда можно еще что нибудь писать, тема еще не закрыта?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Alex72
- Прорезались зубы
- Сообщения: 201
- Зарегистрирован: Пн сен 08, 2008 11:21:11
- Откуда: Пермь
- Контактная информация:
tankjr писал(а):поделитесь прошивкой под авр на ассемблере
Наверно хотел сказать библиотеками под AVR на ассемблере. DS18B20 это прежде всего шина 1Wire. Вот что наше у себя навскидку, а вообще поисковики никто не отменял
- Вложения
-
- 1Wire(asm).rar
- (78.02 КБ) 314 скачиваний
- AI_Disable
- Сверлит текстолит когтями
- Сообщения: 1116
- Зарегистрирован: Чт окт 15, 2009 14:16:18
- Откуда: Екб
- Контактная информация:
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
а что тут рассказывать? при обращении к датчику надо указать его конкретный адрес, вот и все. 20 датчиков у вас - должны знать все 20 их адресов. работа ведется очень просто:AI_Disable писал(а):Подскажите, где можно на русском почитать про алгоритм работы с более чем одним датчиком. Или сами объясните, если не очень лениво.
- Иванов!
- Я!
- Уздечка от коня! давай температуру!
- Петров!
- Я!
- стекло от бутыля! давай температуру!
но прежде, разумеется, надо устроить перекличку, т.е. затребовать все адреса у всех датчиков. конкретные команды давным давно описаны, если самому не лень - найдете легко, на русском, и не в одном месте. дерзайте!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- AI_Disable
- Сверлит текстолит когтями
- Сообщения: 1116
- Зарегистрирован: Чт окт 15, 2009 14:16:18
- Откуда: Екб
- Контактная информация:
Опять я забыл конкретизировать вопрос.
Да, я понимаю, как решить задачу, если известны все ROM. Но как быть, если они не известны? При посылке команды READ ROM все начинают отвечать хором, и различить датчики не представляется возможным.
Насколько я понял, для нескольких датчиков используется команда SEARCH ROM, но вот беда: в тех описаниях датчиков, которые я находил, про эту команду обычно написано что-то вроде "А, это типо слишком сложно/долго описывать/etc, так что пропустим этот шаг, а кому надо, найдёт где-то ещё".
Да, я понимаю, как решить задачу, если известны все ROM. Но как быть, если они не известны? При посылке команды READ ROM все начинают отвечать хором, и различить датчики не представляется возможным.
Насколько я понял, для нескольких датчиков используется команда SEARCH ROM, но вот беда: в тех описаниях датчиков, которые я находил, про эту команду обычно написано что-то вроде "А, это типо слишком сложно/долго описывать/etc, так что пропустим этот шаг, а кому надо, найдёт где-то ещё".
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
а вы собрались самостоятельно делать функцию поиска адресов? вас не устраивают уже готовые исходники?
кстати, я не сторонник определять адреса датчиков в ходе работы устройства. я считаю, что значительно разумнее заранее определить их при помощи компьютера и потом уже прошивать глухо в программу МК.
в крайнем случае можно использовать не одну линию, а несколько, и по каждой обращаться к ЕДИНСТВЕННОМУ датчику, избавив себя, таким образом,ю от проблемы поиска адресов и неизбежного головняка "кто есть кто"...
кстати, я не сторонник определять адреса датчиков в ходе работы устройства. я считаю, что значительно разумнее заранее определить их при помощи компьютера и потом уже прошивать глухо в программу МК.
в крайнем случае можно использовать не одну линию, а несколько, и по каждой обращаться к ЕДИНСТВЕННОМУ датчику, избавив себя, таким образом,ю от проблемы поиска адресов и неизбежного головняка "кто есть кто"...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Pooher
- Мучитель микросхем
- Сообщения: 491
- Зарегистрирован: Вс янв 07, 2007 01:45:48
- Откуда: Российская Федерация, будь она неладна...
Я вот вообще очень долго думал, и так и не придумал в каком приложении можно использовать много датчиков, не зная "Кто есть кто". Ведь командой SEARCH ROM мы можем прочитать(вычислить) код каждого, но вот каким он окажется на линии, первым, четвёртым, сто двадцать восьмым, мы не знаем. Это хорошо если их два, а если сто? Подумайте, оно Вам надо?
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
- AI_Disable
- Сверлит текстолит когтями
- Сообщения: 1116
- Зарегистрирован: Чт окт 15, 2009 14:16:18
- Откуда: Екб
- Контактная информация:
ARV, да, есть желание написать такую функцию, если смогу, конечно. Судя по вашему иронизирующему вопросу, это не такая простая задача? Готовые исходники, не устраивают тем, что я не могу понять как они работают
Определять код заранее, тоже не очень удобно: во-первых, чтоб повторить устройство понадобится компьютер+адаптер+софт, а во-вторых, после замены датчика потребуется перепрошивка МК.
Проблему определения "какой датчик, где расположен" собираюсь решить записью всех ROM в eeprom или флэш, при первом включении устройства.
Определять код заранее, тоже не очень удобно: во-первых, чтоб повторить устройство понадобится компьютер+адаптер+софт, а во-вторых, после замены датчика потребуется перепрошивка МК.
Проблему определения "какой датчик, где расположен" собираюсь решить записью всех ROM в eeprom или флэш, при первом включении устройства.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
лучше, чем уже написано в даташите, точнее, апноуте, вы все равно не сделаетеAI_Disable писал(а):ARV, да, есть желание написать такую функцию, если смогу, конечно. Судя по вашему иронизирующему вопросу, это не такая простая задача? Готовые исходники, не устраивают тем, что я не могу понять как они работают
Определять код заранее, тоже не очень удобно: во-первых, чтоб повторить устройство понадобится компьютер+адаптер+софт, а во-вторых, после замены датчика потребуется перепрошивка МК.
Проблему определения "какой датчик, где расположен" собираюсь решить записью всех ROM в eeprom или флэш, при первом включении устройства.
по поводу вашего прибора. допустим, у вас 2 датчика: один в доме, другой на улице. адреса у них, естественно, разные. вы запукстили поиск, нашли 2 адреса - как ваш прибор узнает, что первый найденный датчик - это уличный? а второй - домашний? если затем один из датчиков вы замените на другой - еще вопрос, окажется его адрес меньше или больше оставшегося - как ваша система опознает, вместо которого появился новый датчик - вместо уличного или домашнего?! она ведь знает только НОМЕР, но не МЕСТО.
значит, вам надо продумывать целую систему настроек, писать инструкцию пользователя, как все это настраивать... морока да и только
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- AI_Disable
- Сверлит текстолит когтями
- Сообщения: 1116
- Зарегистрирован: Чт окт 15, 2009 14:16:18
- Откуда: Екб
- Контактная информация:
Согласен, если датчика два-три, то "игра не стоит свеч". Я сейчас пытаюсь сделать устройство с 20-тью датчиками и возможностью добавления ещё n-ого количества. Тянуть к каждому датчику свой провод, как-то не очень хочется, тем более, если нужно будет добавить датчиков, то придётся лезть в устройство. Да и портов на всех не напасешься.
Предполагаю сделать начальную настройку, когда человек "объяснит" устройству какой датчик, где находится.
Также предполагается, что в один момент времени может выйти из строя не более одного датчика, так что устройство сразу сможет понять, какой из датчиков заменили.
Предполагаю сделать начальную настройку, когда человек "объяснит" устройству какой датчик, где находится.
Также предполагается, что в один момент времени может выйти из строя не более одного датчика, так что устройство сразу сможет понять, какой из датчиков заменили.
