Страница 3 из 5
Добавлено: Вт фев 20, 2007 12:52:33
AJIEKCEu
Я в протеусе тестю... там не должно быть проблем...
Большое спасибо ARV который обяъснил очень мноогое в личной переписке...
Сейчас удаляюсь на некоторое время .. эксперементироватьт:)... о результатах отпишусь..
Добавлено: Вт фев 20, 2007 21:47:06
Abakt
вот кстати ATtiny15 и термометр ds18b20 в РАДИО 2007-01 стр. 46 прога на FTP Радио.
Добавлено: Пн апр 16, 2007 21:07:14
Дмитрий О
Доброго времени суток. Просмотрел весь топик, и такое ощущение, что даже никто и не подозревает, что сначала (перед поиском и т. д.) нужно вызвать w1_init(); а потом проводить поиски и тому подобное. Сегодня пробовал 1820 на 2313 - все пашет превосходно, подтягу не ставил. Жаль только, что дискретность 0.5 градуса.
Добавлено: Пн апр 16, 2007 21:16:22
ARV
Дискретность можно уменьшить

теоретически до 0,1
Добавлено: Пн апр 16, 2007 21:18:03
Дмитрий О
Пытаюсь сейчас найти по этому поводу материал. А вы не знаете случаем, как это можно сделать?
Добавлено: Пн апр 16, 2007 21:29:27
ARV
Знаю

.
Считываем все 9 байт из памяти.
Пусть
7-й байт из памяти =
СR
8-й байт из памяти =
CP
Измеренная стандартно температура =
Т
Температура с дискретностью (точностью) до 0,1 градус
Tx
Тогда:
Тх = Т - 0,25 + (СР-CR)/CР
Добавлено: Вт апр 17, 2007 10:39:27
Дмитрий О
Спасибо! Программу написал, да вот чет теперь термометр работать не хочет. Как заработет все это, отпишусь.
Добавлено: Пн май 07, 2007 15:20:30
Mikhail
Подскажите пожалуйста, у меня датчик DS1820 и контроллер mega8535, пишу на ассемблере, на пальцах объясните как инициализировать датчик, и получить данные, заранее спасибо.
Добавлено: Пт июн 15, 2007 14:33:33
inventives
ASM.txt во вложении
Добавлено: Пн окт 08, 2007 13:52:48
Dmitro
Вроде тема подходящая, помогите, у меня все работает в PROTEUSE с датчиком DS18S20 и какая-то ерунда с датчиком DS18B20 результат стабильно неправильный. Время на обработку даю ~750мс.
Добавлено: Пн окт 08, 2007 14:09:51
Aheir
Если не ошибаюсь, это все таки разные датчики с разными процедурами обработки, соответственно..
Добавлено: Сб окт 13, 2007 08:29:59
Dmitro
По докам процесс обработки у них одинаковый таймслоты совпадают, только время вычисления температуры в "В" варианте больше, ну так я не жадный 750мс я выделил. Та к в PROTEUSE почему то семейство датчиков "S" серии как и надо 10Н, а на "В" серию стоит 28Н, а такой серии вообще нет. Ну в общем я пока работаю с "S" а там как соберу все в железе и оно не пойдет, тогда буду дальше по форуму "шарится"
Добавлено: Вт дек 11, 2007 18:55:06
Krik99
Да вот тоже увлёкся работай с интерфейсом 1Wire. Вот два дня разбирался и ели разобрался

А весь баг был в частоте... Да и написал в процесе изучения два термомитра на ds18b20 и ds18s20 под CodeVisionAVR Есль есть вопросы пишите в асю.

Вот щя мучаю таблетку iButton. Неукого нет исходника чтения с этой таблетки на Си? За ранние спасибо!
Read ROM
Добавлено: Вт дек 11, 2007 21:24:58
Dmitro
у меня вот еще проблема, если так можно назвать решил в начале программы на индикацию выводить код устройства, так чето у меня только первый байт только пишет, а остальные нули. Может необходимы какие интервалы между вводом команды READ ROM и получением ответа, так тогда бы не получал первого байта кода.
Подскажите что делать.
Добавлено: Ср дек 12, 2007 03:04:42
benin
Krik99 писал(а):Да вот тоже увлёкся работай с интерфейсом 1Wire. Вот два дня разбирался и ели разобрался

А весь баг был в частоте... Да и написал в процесе изучения два термомитра на ds18b20 и ds18s20 под CodeVisionAVR Есль есть вопросы пишите в асю.

Вот щя мучаю таблетку iButton. Неукого нет исходника чтения с этой таблетки на Си? За ранние спасибо!
В Proteus 7.2 есть пример для работы с 1wire... лежит по адресу: \SAMPLES\VSM for AVR\One-Wire\NETWORK
так там в комплекте исходнички на С под iwire даллосовские игрушки, такие как: ds2430, ds2433, ds18b20, ds18s20 и ds1990 (как раз вроде Ваша таблетка) ... Правда все ооочень простенько и основывается на 1wire.h, но поставленные Вами задачи("...чтения с этой таблетки на Си") выполняет...
Прикрепил файлик на случай отсутствия Протеуса...
Добавлено: Ср дек 12, 2007 11:08:29
Krik99
benin
Спасибо! Но меня интересовала только та строчка которая читает код с таблетки и записывает. Не подскажите?

Добавлено: Ср дек 12, 2007 11:59:59
benin
Krik99 писал(а):benin
Спасибо! Но меня интересовала только та строчка которая читает код с таблетки и записывает. Не подскажите?

Нуу...
// detect how many 1 Wire devices are present on the bus
devices=w1_search(SEARCH_ROM,&rom_code[0,0]);
определяет все устройства, подключенные к iwire, записывая их КОДЫ(9 байт) в массив rom_code и возвращая кол-во найденных в переменной devices.
Добавлено: Сб фев 16, 2008 19:25:08
Krik99
Вот появилась проблемка, написал прошивку для термометра, пробывал в Протэусе, всё работает на ура. А вот на железе, всё работает, но если температура выше 60градусов, ds18b20 посылает ошибку. Что это может быть?
За ранние спасибо.

Добавлено: Пт фев 29, 2008 08:44:39
AJIEKCEu
Глючит дачтик при данной температуре..
я тоже испытывал.. при +40 норм... далее норм...
при -15 начинает тормозить.. птом ерорит...
Хотя по обещанному в описании должно держать...
МК у меня бюыл при норм температуре
Добавлено: Пт фев 29, 2008 11:32:07
Mozart
я не знаю почему это... вчера в 4часа я столкнулся с подобной фигнёй...а именно если отправить Convert_T то читать темперетутру после 750мс (при 12 битном разрешении) приходится 2 раза, иначе он выдаёт 0х5005...
единственно что я вчера вообще не проверял его на достоверность... хотя бы в тающий лёд запихнуть или в чашку с чаем....
з.ы. у мну время будет проведу эксримент...
з.з.ы. пошёл запихивать воду в морозилку...