Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 03.02.2012, 15:54  
Opasif
Частый гость
 
Регистрация: 18.01.2009
Сообщений: 22
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Opasif на пути к лучшему
По умолчанию DS18B20 всегда выдает 85*С

Тема, связанная с измерением температуры с помощью датчика DS18B20 и контролера PIC16F628A, уже обсуждалась на форуме.
За основу взял рабочий проект "DIGITAL CLOCK WITH DATE AND THERMOMETER" https://kazus.ru/forums/showthread.php?t=20570 пост #10.
Из проекта за ненадобностью были удалены прерывания, таймеры, дисплей. Старший и младший байты температуры выводятся на PORTB.

time_waste макрос заменил на
Код:
init_v	DELAY_CNT,D'15';или другая величина задержки
CALL	Delay	; выполняет задержку, основываясь на DELAY_CNT
процедура GetTemperature1()
{
sensor_convert
BigDelay // ›750ms
sensor_read
BigDelay // ›750ms
}

В процедуре sensor_read добавил вывод прочитанных значений на PORTB.

Каждый раз получаю значение 85*C (LSB = b'01010000', MSB = b'00000101', т.е. значения, как при включении питания датчика ). В чём может быть проблема?

Прикладываю проект MPLAB - Proteus
Вложения:
Тип файла: zip termo2.zip (39.1 Кб, 49 просмотров)
Реклама:
Opasif вне форума  
Непрочитано 03.02.2012, 16:02  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: DS18B20 всегда выдает 85*С

Сообщение от Opasif Посмотреть сообщение
т.е. значения, как при включении питания датчика ).
Вы сами ответили на свой вопрос.
Ищите в питании датчика. Либо оно мало, либо оно прерывается. Датчик попросту не работает у вас.
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
picavr вне форума  
Непрочитано 03.02.2012, 18:51  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: DS18B20 всегда выдает 85*С

Если 2-проводное подключение - резистор поменьше. 1 кОм
niXto вне форума  
Непрочитано 05.02.2012, 12:32  
Opasif
Частый гость
 
Регистрация: 18.01.2009
Сообщений: 22
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Opasif на пути к лучшему
По умолчанию Re: DS18B20 всегда выдает 85*С

ОПРАШИВАЮ ПЕРВЫЙ ДАТЧИК (U2 на схеме)! Питание от VCC 5V, также DQ подключен через R1 4,7k к 5V. Все как в спецификации. Так что с питанием проблем нет.
Второй датчик (U3 на схеме) пока не используется.
Opasif вне форума  
Непрочитано 05.02.2012, 12:39  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: DS18B20 всегда выдает 85*С

Да там беда, а не проект. Автор совершенно не желает понимать, как работает протеус и датчик температуры. Никакой паузы для конвертирования нет. Отправил SKIP ROM -› CONVERT T и тут же читает. Видимо я один удосужился его проект посмотреть. Сначала писал на МикроС, я ему дал все готовое - только подключи и собери. Но нет, понесло в МРЛАБ и ассемблер. Но и тут засада. Что дальше будет?
Зачем вам моделировать кварцевый генератор?
Easyrider83 вне форума  
Непрочитано 05.02.2012, 13:10  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: DS18B20 всегда выдает 85*С

Сообщение от Easyrider83 Посмотреть сообщение
Видимо я один удосужился его проект посмотреть.
ИМХО, такие грубые ошибки, автор должен бы сам отлавливать, читая даташит...
А народ обленился... я не хочу ещё и даташиты им разжовывать )))
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
picavr вне форума  
Непрочитано 05.02.2012, 13:15  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: DS18B20 всегда выдает 85*С

Цитата:
(при частоте 4МГц 1 цикл выполняется 1 мкс)
Машинный цикл = Fosc/4. Соответственно 1 такт МК равен 1 мкс.
Цитата:
; BigDelay for more then 750ms
Выполняется 3092 такта, т.е. ~3,1 миллисекунды вместо 750-ти.... "Маловато будет" (с)

Хотя Proteus это пропускает... и через некоторое время датчик начинает выдавать правильные значения... Терпежу не хватило...
в железе не заработает.

Последний раз редактировалось omercury; 05.02.2012 в 13:21.
omercury вне форума  
Сказали "Спасибо" omercury
Opasif (05.02.2012)
Непрочитано 05.02.2012, 14:42  
Opasif
Частый гость
 
Регистрация: 18.01.2009
Сообщений: 22
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Opasif на пути к лучшему
По умолчанию Re: DS18B20 всегда выдает 85*С

Omercury, огромное Вам спасибо! Действительно, забыл ввести промежуточный цикл на 250.

Код:
;BigDelay
		MOVLW	D'3'
		MOVWF	CntH
	LoopH
		MOVLW	D'250'
		MOVWF	CntM
	LoopM
		MOVLW	D'255'
		MOVWF	CntL
	LoopL
		NOP
		DECFSZ	CntL,1
		GOTO	LoopL
		DECFSZ	CntM,1
		GOTO	LoopM
		DECFSZ	CntH,1
		GOTO	LoopH

Последний раз редактировалось Opasif; 05.02.2012 в 14:45.
Opasif вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При симуляции PROTEUS выдает ошибку fiksx Proteus 9 14.11.2013 14:59
Не выдает мощность TOP250 whale2 Источники питания и свет 132 08.01.2012 17:44
Не всегда можно верить и даташитам nml Коллекция глюков 13 06.07.2011 21:49
Смайлики - всегда под рукой slavar1 Обсуждение сайта и форума 7 20.03.2011 19:10
винавр выдает ошибку mikb Микроконтроллеры, АЦП, память и т.д 14 04.03.2008 14:40


Часовой пояс GMT +4, время: 16:39.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot