Требуется небольшая помощь с ATmega16 и DS1820

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
AJIEKCEu
Открыл глаза
Сообщения: 44
Зарегистрирован: Вс ноя 26, 2006 18:46:49

Сообщение AJIEKCEu »

Я в протеусе тестю... там не должно быть проблем...


Большое спасибо ARV который обяъснил очень мноогое в личной переписке...

Сейчас удаляюсь на некоторое время .. эксперементироватьт:)... о результатах отпишусь..
МяУУууУуУу
Аватара пользователя
Abakt
Вечно гонимый
Сообщения: 568
Зарегистрирован: Ср янв 10, 2007 19:15:51

Сообщение Abakt »

вот кстати ATtiny15 и термометр ds18b20 в РАДИО 2007-01 стр. 46 прога на FTP Радио.
Аватара пользователя
Дмитрий О
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пн авг 29, 2005 16:27:04
Откуда: Дмитров
Контактная информация:

Сообщение Дмитрий О »

Доброго времени суток. Просмотрел весь топик, и такое ощущение, что даже никто и не подозревает, что сначала (перед поиском и т. д.) нужно вызвать w1_init(); а потом проводить поиски и тому подобное. Сегодня пробовал 1820 на 2313 - все пашет превосходно, подтягу не ставил. Жаль только, что дискретность 0.5 градуса.
aka Diamond
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

Дискретность можно уменьшить :) теоретически до 0,1
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Дмитрий О
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пн авг 29, 2005 16:27:04
Откуда: Дмитров
Контактная информация:

Сообщение Дмитрий О »

Пытаюсь сейчас найти по этому поводу материал. А вы не знаете случаем, как это можно сделать?
aka Diamond
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

Знаю :).
Считываем все 9 байт из памяти.
Пусть
7-й байт из памяти = СR
8-й байт из памяти = CP
Измеренная стандартно температура = Т
Температура с дискретностью (точностью) до 0,1 градус Tx
Тогда:
Тх = Т - 0,25 + (СР-CR)/CР
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Дмитрий О
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пн авг 29, 2005 16:27:04
Откуда: Дмитров
Контактная информация:

Сообщение Дмитрий О »

Спасибо! Программу написал, да вот чет теперь термометр работать не хочет. Как заработет все это, отпишусь.
aka Diamond
Mikhail
Родился
Сообщения: 9
Зарегистрирован: Пт май 04, 2007 22:32:16
Откуда: Великий Новгород
Контактная информация:

Сообщение Mikhail »

Подскажите пожалуйста, у меня датчик DS1820 и контроллер mega8535, пишу на ассемблере, на пальцах объясните как инициализировать датчик, и получить данные, заранее спасибо.
inventives
Родился
Сообщения: 3
Зарегистрирован: Пт июн 01, 2007 11:34:06

Сообщение inventives »

ASM.txt во вложении
Вложения
Пример.txt
Пример на asm с комментариями на рус.
(1.95 КБ) 466 скачиваний
Dmitro
Открыл глаза
Сообщения: 64
Зарегистрирован: Пт дек 01, 2006 20:32:23
Откуда: Запорожье
Контактная информация:

Сообщение Dmitro »

Вроде тема подходящая, помогите, у меня все работает в PROTEUSE с датчиком DS18S20 и какая-то ерунда с датчиком DS18B20 результат стабильно неправильный. Время на обработку даю ~750мс.
Аватара пользователя
Aheir
Модератор
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург
Контактная информация:

Сообщение Aheir »

Если не ошибаюсь, это все таки разные датчики с разными процедурами обработки, соответственно..
Оптимизм х (Опыт + Знания) = const
Dmitro
Открыл глаза
Сообщения: 64
Зарегистрирован: Пт дек 01, 2006 20:32:23
Откуда: Запорожье
Контактная информация:

Сообщение Dmitro »

По докам процесс обработки у них одинаковый таймслоты совпадают, только время вычисления температуры в "В" варианте больше, ну так я не жадный 750мс я выделил. Та к в PROTEUSE почему то семейство датчиков "S" серии как и надо 10Н, а на "В" серию стоит 28Н, а такой серии вообще нет. Ну в общем я пока работаю с "S" а там как соберу все в железе и оно не пойдет, тогда буду дальше по форуму "шарится"
Аватара пользователя
Krik99
Потрогал лапой паяльник
Сообщения: 375
Зарегистрирован: Вс мар 04, 2007 13:14:25
Откуда: Украина
Контактная информация:

Сообщение Krik99 »

Да вот тоже увлёкся работай с интерфейсом 1Wire. Вот два дня разбирался и ели разобрался :) А весь баг был в частоте... Да и написал в процесе изучения два термомитра на ds18b20 и ds18s20 под CodeVisionAVR Есль есть вопросы пишите в асю. :) Вот щя мучаю таблетку iButton. Неукого нет исходника чтения с этой таблетки на Си? За ранние спасибо!
Изображение
Dmitro
Открыл глаза
Сообщения: 64
Зарегистрирован: Пт дек 01, 2006 20:32:23
Откуда: Запорожье
Контактная информация:

Read ROM

Сообщение Dmitro »

у меня вот еще проблема, если так можно назвать решил в начале программы на индикацию выводить код устройства, так чето у меня только первый байт только пишет, а остальные нули. Может необходимы какие интервалы между вводом команды READ ROM и получением ответа, так тогда бы не получал первого байта кода.
Подскажите что делать.
Аватара пользователя
benin
Родился
Сообщения: 13
Зарегистрирован: Ср фев 08, 2006 22:40:03
Контактная информация:

Сообщение 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, но поставленные Вами задачи("...чтения с этой таблетки на Си") выполняет...

Прикрепил файлик на случай отсутствия Протеуса...
Вложения
ds1990.c
(2.95 КБ) 480 скачиваний
Аватара пользователя
Krik99
Потрогал лапой паяльник
Сообщения: 375
Зарегистрирован: Вс мар 04, 2007 13:14:25
Откуда: Украина
Контактная информация:

Сообщение Krik99 »

benin

Спасибо! Но меня интересовала только та строчка которая читает код с таблетки и записывает. Не подскажите? :)
Изображение
Аватара пользователя
benin
Родился
Сообщения: 13
Зарегистрирован: Ср фев 08, 2006 22:40:03
Контактная информация:

Сообщение 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.
Аватара пользователя
Krik99
Потрогал лапой паяльник
Сообщения: 375
Зарегистрирован: Вс мар 04, 2007 13:14:25
Откуда: Украина
Контактная информация:

Сообщение Krik99 »

Вот появилась проблемка, написал прошивку для термометра, пробывал в Протэусе, всё работает на ура. А вот на железе, всё работает, но если температура выше 60градусов, ds18b20 посылает ошибку. Что это может быть?
За ранние спасибо. :)
Изображение
Аватара пользователя
AJIEKCEu
Открыл глаза
Сообщения: 44
Зарегистрирован: Вс ноя 26, 2006 18:46:49

Сообщение AJIEKCEu »

Глючит дачтик при данной температуре..
я тоже испытывал.. при +40 норм... далее норм...
при -15 начинает тормозить.. птом ерорит...
Хотя по обещанному в описании должно держать...
МК у меня бюыл при норм температуре
МяУУууУуУу
Аватара пользователя
Mozart
Мучитель микросхем
Сообщения: 413
Зарегистрирован: Пт мар 10, 2006 12:23:05
Откуда: Moscow
Контактная информация:

Сообщение Mozart »

я не знаю почему это... вчера в 4часа я столкнулся с подобной фигнёй...а именно если отправить Convert_T то читать темперетутру после 750мс (при 12 битном разрешении) приходится 2 раза, иначе он выдаёт 0х5005...
единственно что я вчера вообще не проверял его на достоверность... хотя бы в тающий лёд запихнуть или в чашку с чаем....

з.ы. у мну время будет проведу эксримент...
з.з.ы. пошёл запихивать воду в морозилку...
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»