Например TDA7294

Форум РадиоКот • Просмотр темы - Простой термометр для дома с двумя датчиками DS18B20.
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вс апр 05, 2026 16:39:34

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 112 ]    , , , 4, ,  
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вс авг 24, 2008 03:34:15 
Друг Кота
Аватар пользователя

Карма: 20
Рейтинг сообщений: 323
Зарегистрирован: Ср дек 05, 2007 19:39:08
Сообщений: 4450
Откуда: Мурманск
Рейтинг сообщения: 0
А почему 0,5 градуса ?Без обид,собирал описанный в Радио 'Термометр-термостат'Шаталова,дак он с датчиками DS1820 обеспечивает точность 0,1 градуса.Сужу по показаниям индикатора,меняются через 0,1:).Так же согласен,что дома достаточно мерять температуру с точностью до градуса.Просто поиски истины,ничего более:).


Последний раз редактировалось Gigavolt Вс авг 24, 2008 03:46:58, всего редактировалось 1 раз.

Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вс авг 24, 2008 03:44:39 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 13
Зарегистрирован: Сб июл 19, 2008 02:16:33
Сообщений: 885
Откуда: Саратов
Рейтинг сообщения: 0
Gigavolt писал(а):
А почему 0,5 градуса ?Без обид,собирал описанный в Радио 'Термометр-термостат'Шаталова,дак он с датчиками DS1820 обеспечивает точность 0,1 градуса.
0.5*С - это штатное ( 9 бит ) разрешение микросхемы DS1820 в стандартном режиме.
Даташит писал(а):
The DS18S20 Digital Thermometer provides 9-bit centigrade temperature measurements

В режиме High-Resolution она должна давать разрешение 0.06*С.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вс авг 24, 2008 14:02:28 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 9
Зарегистрирован: Пн июл 14, 2008 18:12:37
Сообщений: 2296
Рейтинг сообщения: 0
вроде пролистал весь ДШ на DS1820 и не увидел там ничего отличающегося от штатного режима в 8бит данных + 8 бит знак температуры .

пересмотрю ещё раз ...
пересмотрел . ничего похожего на расширение разрешения в ДШ нету , так что или что-то не то с источниками , или ДШ не такой . пока отправлю админу такие прошивки , а если у кого-либо есть описание команды на расширение разрешения , то позже попытаюсь перелопатить прошивку .

_________________
есть вопросы ? чего-то не знаешь ? прежде всего смотри это


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вс авг 24, 2008 17:31:48 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 13
Зарегистрирован: Сб июл 19, 2008 02:16:33
Сообщений: 885
Откуда: Саратов
Рейтинг сообщения: 0
LINKS_234 писал(а):
вроде пролистал весь ДШ на DS1820 и не увидел там ничего отличающегося от штатного режима в 8бит данных + 8 бит знак температуры.
TEMPERATURE REGISTER FORMAT Figure 2
Да, так и есть, 8+1=9 бит
только это не совсем знак, это называется дополнительный код... :roll:

LINKS_234 писал(а):
ничего похожего на расширение разрешения в ДШ нету
Вот оно
Цитата:
Resolutions greater than 9 bits can be calculated using the data from the temperature, COUNT REMAIN
and COUNT PER °C registers in the scratchpad. Note that the COUNT PER °C register is hard-wired to
16 (10h). After reading the scratchpad, the TEMP_READ value is obtained by truncating the 0.5C bit
(bit 0) from the temperature data (see Figure 2).


Вечерком сляпаю програмку, и выложу исходник... :roll:


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения:
СообщениеДобавлено: Вс авг 24, 2008 22:21:14 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 9
Зарегистрирован: Пн июл 14, 2008 18:12:37
Сообщений: 2296
Рейтинг сообщения: 0
Kotische писал(а):
только это не совсем знак, это называется дополнительный код... :roll:

зинаю :) только он немного растянут ... на целый байт :)))

Цитата:
Вот оно
Цитата:
Resolutions greater than 9 bits can be calculated using the data from the temperature, COUNT REMAIN
and COUNT PER °C registers in the scratchpad. Note that the COUNT PER °C register is hard-wired to
16 (10h). After reading the scratchpad, the TEMP_READ value is obtained by truncating the 0.5C bit
(bit 0) from the temperature data (see Figure 2).


Вечерком сляпаю програмку, и выложу исходник... :roll:


у меня ДШ неправильный :( поиском ничего не находит в ДШ .
ДШ на 155,2 кб .
а свои варианты уже отправил на добавление к статье .

всёравно не допонимаю как повысить разрешалово - или командой задавать , или же считывать из временной памяти ?

_________________
есть вопросы ? чего-то не знаешь ? прежде всего смотри это


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вс авг 24, 2008 22:43:08 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 13
Зарегистрирован: Сб июл 19, 2008 02:16:33
Сообщений: 885
Откуда: Саратов
Рейтинг сообщения: 0
LINKS_234 писал(а):
у меня ДШ неправильный :(

Выложил даташит к себе на страничку: Даташит на ds18s20

LINKS_234 писал(а):
всёравно не допонимаю как повысить разрешалово - или командой задавать , или же считывать из временной памяти ?
Там кроме температурного есть ещё регистры в которых хранятся недостающие биты...
ща попробую запрограмить... если получится - выложу исходник :)))


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пн авг 25, 2008 00:28:46 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 13
Зарегистрирован: Сб июл 19, 2008 02:16:33
Сообщений: 885
Откуда: Саратов
Рейтинг сообщения: 0
Тааакс...
припаял микросхему, подправил програму...
получил удивительные результаты, вполне стыкующиеся с даташитом :)))

Итого:
COUNT_PER_C = SCRATCHPAD[7] = 10h = константа
COUNT REMAIN = SCRATCHPAD[6] = от 01h до 10h = меняется

протокол работы програмы
Цитата:
1 столбец = SCRATCHPAD[0]
2 столбец = SCRATCHPAD[1]
3 столбец = SCRATCHPAD[6]
4 столбец = SCRATCHPAD[7]

36h 00h 10h 10h
36h 00h 0Fh 10h
36h 00h 0Bh 10h
37h 00h 08h 10h
37h 00h 06h 10h
37h 00h 05h 10h
37h 00h 04h 10h
37h 00h 02h 10h
37h 00h 01h 10h
38h 00h 0Fh 10h
38h 00h 0Fh 10h
38h 00h 0Eh 10h
38h 00h 0Dh 10h
38h 00h 0Ch 10h
38h 00h 0Ah 10h
38h 00h 09h 10h
39h 00h 08h 10h
39h 00h 08h 10h
39h 00h 07h 10h
39h 00h 07h 10h
39h 00h 06h 10h
39h 00h 05h 10h
39h 00h 04h 10h
39h 00h 03h 10h
39h 00h 02h 10h
3Ah 00h 0Eh 10h
3Ah 00h 0Ah 10h
3Bh 00h 08h 10h
3Bh 00h 07h 10h
3Bh 00h 06h 10h
3Bh 00h 05h 10h
3Bh 00h 04h 10h
3Bh 00h 03h 10h
3Bh 00h 02h 10h
3Bh 00h 01h 10h
3Bh 00h 01h 10h
3Bh 00h 01h 10h
3Bh 00h 01h 10h
3Ch 00h 10h 10h
3Ch 00h 0Fh 10h

Видно что смена значения температуры происходит при переходе значения SCRATCHPAD[6] с 01h -> 10h и с 09h -> 08h
Я бы предложил вычислять недостающие биты так:
Tемпература( биты с 11 по 15 ) = SCRATCHPAD[1] биты с 0 по 4
Tемпература( биты с 4 по 10 ) = SCRATCHPAD[0] биты 1 по 7
Tемпература( биты с 0 по 3 ) = (10h - SCRATCHPAD[6]) у результата используем биты с 0 по 3
и получившееся целое число считать температурой в 1/16*С долях градуса Цельсия :idea:

Итого: у 18s20 разрешение получилось 0.06*С
такое же как и у 18b20 :)))


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пн авг 25, 2008 14:55:45 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 9
Зарегистрирован: Пн июл 14, 2008 18:12:37
Сообщений: 2296
Рейтинг сообщения: 0
а теперь ещё один вопрос на засыпку :
DS1820 и DS18S20 одинаковые ??? почему-то мне казалось что это разные датчики . даже когда я покупал DS18B20 в прайсе были и простые 1820 и 18S20 .

_________________
есть вопросы ? чего-то не знаешь ? прежде всего смотри это


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пн авг 25, 2008 18:41:22 
Опытный кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 13
Зарегистрирован: Сб июл 19, 2008 02:16:33
Сообщений: 885
Откуда: Саратов
Рейтинг сообщения: 0
LINKS_234 писал(а):
а теперь ещё один вопрос на засыпку :
DS1820 и DS18S20 одинаковые ??? почему-то мне казалось что это разные датчики ... в прайсе были и простые 1820 и 18S20 .

Апаратно они разные, програмно одинаковые.
1820 - это старая (слегка глючная) микросхемя давно снятая с производства.
18S20 - новая улучшенная микросхема - полный аналог, умеющая нормально работать на паразитном питании и длинной (до 300м) линии.
Програмно они абсолютно идентичны.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пн авг 25, 2008 21:02:36 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 9
Зарегистрирован: Пн июл 14, 2008 18:12:37
Сообщений: 2296
Рейтинг сообщения: 0
спасибо за информацию .
думаю не буду делать пока новую прошивку , к тому же датчиков нету .
если хотите - можете выложить свою версию прошивки , но не думаю что для домашнего использования понадобиться такое разрешение :) 0.5 градуса по сути не сильно заметны :)

да , кстати , исходники и окончательная схема термометра , которые отправлял админу на добавление к статье :


Вложения:
Комментарий к файлу: 2-ух строчник
датчики DS1820
разрешение 0.5 *С

term-LINKS_2_DS1820.c [12.54 KiB]
Скачиваний: 829
Комментарий к файлу: 2-ух строчник
датчики DS18B20

term-LINKS_2_DS18B20.c [12.45 KiB]
Скачиваний: 1059
Комментарий к файлу: окончательная схема термометра
SB1 - кнопка без фиксации (парралельно ей можно добавить конденсатор 10нФ для устранения возможного дребезга)

02.gif [22.48 KiB]
Скачиваний: 1121

_________________
есть вопросы ? чего-то не знаешь ? прежде всего смотри это
Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 28, 2008 07:43:11 
Родился

Зарегистрирован: Вт авг 19, 2008 06:47:22
Сообщений: 5
Откуда: Стерлитамак
Рейтинг сообщения: 0
По DS1821+ такая проблема. По алгоритму high resolution необходимо применение команды 41h для последующего получения значения count_per_C. Однако после нее основной 8-битный регистр температуры "замораживается" на значении 125 и все измерение накрывается. Статусный регистр остается без изменений. Испытал несколько экземпляров - это не брак. Подскажите, что не так.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 02, 2008 06:42:15 
Родился

Зарегистрирован: Вт авг 19, 2008 06:47:22
Сообщений: 5
Откуда: Стерлитамак
Рейтинг сообщения: 0
Попробовал выдерживать паузу до завершения температурной конверсии, прежде чем подавать дальнейшие команды - проблема разрешилась: разрешение в среднем 150 единиц на градус.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 03, 2008 08:55:04 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Пт авг 29, 2008 09:22:37
Сообщений: 442
Рейтинг сообщения: 0
Может ктонить выложить алгоритм работы с ds18b20???ООООчень надо весь инет перерыл нашел только это


Restart:
;Сброс всех устройств
;Подсаживаем линию
; задержка на 700мкс
;отпускаем линию
;Задержка в 65мкс,
;проверка сигнала
;уровень сигнала равен 0 передача управления дальше на3
;error уровень Равен 1 =обрыв линии
;3 формируем задержку в 500мкс проверяем уровень сигнала
;ок =уровень сигнала равен 1 переход на Readbit
;error уровень равен 0 =линия закорочена
;в переменную помешаем код ошибки и выходи 0=ок
reti
Readbit:
;Чтение чтение одного бита из устройства
;Формируем синхроимпульс, подсаживаем линию =задержка 1мкс отпускаем линию снова задержка 13мкс
;считываем уровень сигнала помешаем кудато
;заполняем слот задержкой в 60-120мкс (60мкс)
reti
writebit0:
;Запись в слот нулевого значения
;подсадить линию
;задержка в 80мкс
;отпустиь линию
;
reti
writebit1:
;Запись в слот единичного значения
;подсадить линию
;задержка в 4,5мкс
;отпустиь линию
;задержка в 75мкс
reti

но смущат одно, где приём 9-12 бит самой информации :shock: ?


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 05, 2008 11:56:56 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Пт авг 29, 2008 09:22:37
Сообщений: 442
Рейтинг сообщения: 0
Вымерли все чтоли...??? :roll: впрочем уже почти разобрался Большое спасибо!!! за помощ.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 30, 2008 00:39:43 
Родился

Зарегистрирован: Сб май 17, 2008 00:22:57
Сообщений: 9
Рейтинг сообщения: 0
Собрал с 16 сегметным индикатором показывет ероглефы не посдскажете в чем дело?

Да инепонял где схема на 4 датчика?


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Сб янв 03, 2009 14:27:33 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 9
Зарегистрирован: Пн июл 14, 2008 18:12:37
Сообщений: 2296
Рейтинг сообщения: 0
dimon-790 , все датчики DS18*20* работают с двумя байтами . младший байт всегда температура , а старший байт - или один знак , или знак и старшие биты температуры . всё зависит от модели . чтобы МК не загружать можно считать всего один бит знака , а все остальные пропустить , что там и реализованно .

Dj.Boom , 16 сегментов - это не полная спецификация индикатора , т.к. есть 16*1..16*4 . я не телепат .
что касается 4-ёх датчиков - не пойму где вы такое увидели ? если уж охота прицепить 4 датчика , то можно по два их комутировать , или же прицепить на разные ноги МК и в программе при одном алгоритме перебрасывать ноги , т.к. реализации считывания более 2-ух датчиков на 1 ноге я не напишу - слишком замудрёный алгоритм . а ещё проще повесить на каждую ногу по одному датчику - программа сильно упроститься , благо датчиков не много и ноги есть свободные . ещё советую почитать всю тему .

_________________
есть вопросы ? чего-то не знаешь ? прежде всего смотри это


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вс янв 04, 2009 15:15:19 
Родился

Зарегистрирован: Сб май 17, 2008 00:22:57
Сообщений: 9
Рейтинг сообщения: 0
16*1. Вообщем попробывал разные прошивки одна краказябра выводится.

Вот наваял завтра буду пробывать это.


Вложения:
Комментарий к файлу: Схема в Протеусе v6 и прошивка термометра на 6 датчиков.
term.rar [19.12 KiB]
Скачиваний: 473
Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вс янв 04, 2009 21:07:06 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 9
Зарегистрирован: Пн июл 14, 2008 18:12:37
Сообщений: 2296
Рейтинг сообщения: 0
вообще у вас судя по всему какой-то кривой индикатор . авторские прошивки нормально работают с однострочником , мои - с двухстрочником . свою я проверял и точно ещё один человек . всё без проблем (хотя всётаки проблема есть с обнулением ЖКИ - команда 0x01 не проходит и начинают появляться кракозяблы , но команда там только 1 раз встречается при инициализации ).

PS: возможно ещё придётся с таймингами поиграться на вывод в ЖКИ . да , ещё проблемы были с установкой фьюзов - деление на 8 не все убирали . тогда и будут кракозяблы.

_________________
есть вопросы ? чего-то не знаешь ? прежде всего смотри это


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вт янв 06, 2009 18:53:03 
Родился

Зарегистрирован: Сб май 17, 2008 00:22:57
Сообщений: 9
Рейтинг сообщения: 0
понятия не имею в чем прикол.
Но собрал свою схему все пашет. датчиков можно подключать от 0 до 8.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вт янв 06, 2009 22:27:15 
Родился

Зарегистрирован: Сб май 17, 2008 00:22:57
Сообщений: 9
Рейтинг сообщения: 0
доработал прошивку. Исправил некоторые мелкие огрехи и добавил точность теперь измерений 0.1

датчики забыл сказать ds1820.


Вложения:
term.rar [3.91 KiB]
Скачиваний: 556
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 112 ]    , , , 4, ,  

Часовой пояс: UTC + 3 часа


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y