Например TDA7294

Форум РадиоКот • Просмотр темы - 8бит в 16бит (термодатчик ds1821 в ds18b20)
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вс янв 12, 2025 01:04:42

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


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



Начать новую тему Ответить на тему  [ Сообщений: 20 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Ср мар 06, 2013 01:47:58 
Родился

Зарегистрирован: Ср мар 06, 2013 01:24:25
Сообщений: 18
Откуда: Ukraine
Рейтинг сообщения: 0
Здравствуйте, уважаемые! Только начал я осваивать прелести микропроцессоров, как тут же "напоролся" на проблему. Собственно о ней: решил я сделать для машины електронный термометр на двух цифровых датчиках. Купил проц PIC16F84A, датчики DS18B20, ЛСД на основе HD44780, нашел готовую схему с прошивкой, прошил проц. И только после включения схемы и внимательного изучения даташитов понял, что программа предназначалась для датчика ds1821, а он 8-ми битный, а я купил ds18b20 (16-ти битный). DS18B20 у нас в городе достать можно, ds1821 - нет. У Вас, я уверен, есть "заготовки" с детства цифровых датчиков, а для меня - большая проблема на уровне микропроцессора переделать формат принимаемых данных. Очень прошу помочь переделать программу под ds18b20. Просьба не пинать начинающего и помочь в переделке программы ( прилеплена ), или ткнуть носом где можно взять PIC16F84A+DS18B20(2-4штуки)+ЛСД на основе HD44780(форматом 16х1), как котенка в молоко на первой неделе его жизни. Вся информация взята осюда: http://electromost.com/publ/bytovaja_tekhnika/termometr_s_temodatchikom_ds1821/4-1-0-11 Спасибо!
P.S.Какое удовольствия заняться чем-то новым, собрать/сделать - работает! А когда делаешь/мучишся/учишся/пробуешь а оно не выходит - руки опускаются....


Вложения:
241_ds1821.zip [5.31 KiB]
Скачиваний: 255
Вернуться наверх
 
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Ср мар 06, 2013 10:47:27 
У меня есть заготовка, которую я делал для работы. Но она собрана в конфигурации АТмega8535+6*DS18B20+WH4004A(40*4), так как у меня выдаётся кроме температуры серийный номер. Датчики к PIC-ам я не подключал.
Вот может поможет http://chipenable.ru/index.php/programming-avr/item/106-1-wire-rabota-s-ds18b20-ispolzovanie-dvuh-datchikov-chast-4.html


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Ср мар 06, 2013 19:39:35 
Родился

Зарегистрирован: Ср мар 06, 2013 01:24:25
Сообщений: 18
Откуда: Ukraine
Рейтинг сообщения: 0
orinoko писал(а):
собрана в конфигурации АТмega8535+6*DS18B20+WH4004A(40*4)
Извините, я ищу для PIKa.........Море всего в нете, только не то,что нужно...


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Чт мар 07, 2013 00:38:09 
Грызет канифоль

Зарегистрирован: Ср дек 30, 2009 09:55:39
Сообщений: 277
Рейтинг сообщения: 0
pelia писал(а):
...внимательного изучения даташитов понял, что программа предназначалась для датчика ds1821, а он 8-ми битный, а я купил ds18b20 (16-ти битный)....


бряхня(из кинухи)!!!
по разрешению 1821 = 0,01 градуса. 1820 = 0,06 градуса. погрешность у них одинаковая - т.к. реализованы одинаково (терморезистор, генератор, регистры подсчёта, 1Wire(у 21 - протокол усечён)). отличия есть но небольшие короче говоря.

так, что не те ДШ читали явно.

удачи вам
(круглый)


Вернуться наверх
 
Новое высоковольтное герконовое реле HR12-V от HONGFA для передовых разработок

Компания Hongfa представляет новое высоковольтное мощное реле HR12-V с нормально разомкнутыми контактами. Герконовые реле имеют ряд преимуществ по сравнению с электромеханическими. Среди них: малый размер, высокая скорость срабатывания, стабильная по характеристикам и взрывобезопасная коммутация цепей и экономичность энергопотребления. Новое реле HR12-V способно коммутировать мощность 100 Вт в цепях постоянного тока, значения которого лежат в области 10 мА/1,5 кВ…1,5 А/60 В. Температура эксплуатации составляет -40…105°C.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Чт мар 07, 2013 15:48:05 
Родился

Зарегистрирован: Ср мар 06, 2013 01:24:25
Сообщений: 18
Откуда: Ukraine
Рейтинг сообщения: 0
У меня на ЛСД оба датчика всегда показывают 0,1С. Другого оправдания я не нашел - только несоответствие сигналов с датчика. По даташиту они не взаимозаменяемые. Отличие - длина передаваемой кодировки. Или я не прав?


Вернуться наверх
 
Широкий выбор электромеханических реле Hongfa – складская программа в Компэл

КОМПЭЛ продолжает поддерживать и расширять список складских позиций Hongfa, представленных электромеханическими реле. Продукция компании активно применяется в таких областях, как промышленность, энергетика, бытовые приборы, автомобильная отрасль и специальная техника, требующая высокой надежности и на сегодняшний момент может легко заменить электромеханические реле ушедших из РФ брендов.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Чт мар 07, 2013 17:15:16 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Код передается один и тот же, просто при меньшей битности в коде больше не несущих информацию нулей... Они отличаются, но не принципиально. DS18B20 имеет изменяемую битность, смысл только в том что чем меньше бит измеряет - тем быстрее. Могут отличатся кодами команд и всего лишь. и да DS18B20 перед использованием надо подготовить - записать в его куций EEPROM настройку на нужную битность, иначе получишь фигню - т.к. количество бит одинаковое а страдает выравнивание, в результате универсальной процедурой не обойтись - каждую битность надо интерпретировать по-своему.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Чт мар 07, 2013 21:13:59 
Родился

Зарегистрирован: Ср мар 06, 2013 01:24:25
Сообщений: 18
Откуда: Ukraine
Рейтинг сообщения: 0
Alexeyslav писал(а):
DS18B20 перед использованием надо подготовить
Этого я не ожидал, потому не заметил. Спасибо! Буду исправлять


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Чт мар 07, 2013 22:01:19 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Либо предусмотреть в прошивке процедуру подготовки термометра, инициируемую нажатием SMD-кнопки на плате или джампером. Вдруг накроется и придется ставить другую...

Почему нельзя это делать каждое включение... операция записи занимает время, и тратится ресурс встроенной в термометр EEPROM, однажды от просто накроется самопроизвольно.


Вернуться наверх
 
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Чт мар 07, 2013 22:38:22 
DS18B20 готовить предварительно не надо. Есть параметры по умолчанию с завода, включаемые при подаче питания - 12 бит (если датчик новый), выравнивание вправо. Для проверки, что записано в ЕЕПРОМ, можно произвести чтение Scratchpad'а, и проверить биты конфигурации. Если они в нужном состоянии, то ничего писать не надо. Посто подать команду "Convert", через >750 мс (при макс. точности) прочитать командой "Read Scratchpad" (9 байт). первые два байта - температура с дискретностью 1/16 градуса. Как я понял из ДШ на 1821, там есть команда чтения температуры, которая выдаёт 1 байт (целое число градусов). Чтобы получить что-то после запятой, требуется доп. телодвижения - запросить двумя отдельными командами два регистра, и провести арифмерические действия с ними.
Соответственно, коды команд этих микросхем разный.
Русское описание DS18B20
http://www.e-voron.dp.ua/files/pdf/maxim/ds18b20-rus.pdf


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Пт мар 08, 2013 00:56:51 
Грызет канифоль

Зарегистрирован: Ср дек 30, 2009 09:55:39
Сообщений: 277
Рейтинг сообщения: 0
orinoko писал(а):
..первые два байта - температура с дискретностью 1/16 градуса....Чтобы получить что-то после запятой...


апсолютно верно.
1/16 = 0,0625 (DS18x20)
1/100 = 0,01 (DS1821)
и там и там - повышенную точность надо вычислять(лень лезть в код по 20 - но вроде как и его так-же надо было к 0,06 разрешению приводить). даташиты на этот счёт имеются.

готовить не надо. но если 21 - он может быть переведён в режим термостата. и это доп. гимор с точки зрения железа и софта. работа с 20 и 21 - очень похожа. (если одиночное)запуск на преобразование, ждём, чтение регистров, запуск на преобразование ....
команды очень близки либо совпадают. по допускам и кривизны - терморезистор внутри. приход к реальной температуре - 5 минут (физика процесса передачи тепла). 20 в пром. установках - менее удобны.

удачи вам
(круглый)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Сб мар 09, 2013 03:09:43 
Родился

Зарегистрирован: Ср мар 06, 2013 01:24:25
Сообщений: 18
Откуда: Ukraine
Рейтинг сообщения: 0
Решил перейти на готовую прогу того-же устройста, только на ATTiny. Учитывая, что и 10 лет назад она была практичнее ( пусть не убьют меня PICовци ), всегда мечтал програмировировать именно Атмел. Ну больше он мне нравился и нравится, извините.... Но тоже, естественно, нужны советы. Правда это уже совсем другая тема http://radiokot.ru/circuit/digital/home/24/


Последний раз редактировалось pelia Сб мар 09, 2013 22:46:59, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Сб мар 09, 2013 03:22:12 
Опытный кот

Карма: 1
Рейтинг сообщений: 52
Зарегистрирован: Чт мар 12, 2009 16:31:05
Сообщений: 804
Рейтинг сообщения: 0
Вероятно,если писать на asm для датчиков ds18b20,памяти и хватит 2313-ой.Ну а,если попроще,на C,да использовать для этого функцию sprinntf,да ещё,к тому-же использовать тип данных float для вывода температуры,то ниже меги8 не обойтись.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Сб мар 09, 2013 03:30:53 
Родился

Зарегистрирован: Ср мар 06, 2013 01:24:25
Сообщений: 18
Откуда: Ukraine
Рейтинг сообщения: 0
Vov123 писал(а):
Ну а,если попроще,на C,да использовать для этого функцию sprinntf,да ещё,к тому-же использовать тип данных float для вывода температуры,то ниже меги8 не обойтись.
Да...Для Вас это может и попроще........:) Лично я считаю, что если уже учить, то Ассемблер. Сложнее конечно но, думаю, практичнее


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Сб мар 09, 2013 04:06:05 
Опытный кот

Карма: 1
Рейтинг сообщений: 52
Зарегистрирован: Чт мар 12, 2009 16:31:05
Сообщений: 804
Рейтинг сообщения: 0
Да учите всё,да на разные контроллеры.PIC-и,AVR,LPC,STM,8051.Один день одно,два дня другое.Ведь в школе алгебра с литературой не путалось?
Вот для начала,то чего Вам надо,но на меге8.Разбирайтесь.Не забывайте смотреть настройки компилятора в свойствах проекта,ведь там может "спрятано" основное.


Вложения:
12.rar [131.81 KiB]
Скачиваний: 236
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Сб мар 09, 2013 04:48:58 
Родился

Зарегистрирован: Ср мар 06, 2013 01:24:25
Сообщений: 18
Откуда: Ukraine
Рейтинг сообщения: 0
Vov123, до Меги8/16/32 мне еще далеко. Я только учусь. Для начала был очень большой "напряг" выставить фусы.... ( Я уверен он опять повторится ) Я имел ввиду что когда-то давно пробовал освоить Assembler, когда еще не было ( я не видел ) программ для написания на С. Я понимаю - это НАМНОГО проще но, на Ассемблере это "первый" код, на более "низком" уровне ( перед самым програмированием проца ). Он максимально точен ко всем командам процессора. А если вобщем: высказываясь Вашим языком: зная некоторые стихотворения проще изучить сам язык, верно? Но а Ассемблере можна сделать "чудеса" недоступные любому другому языку програмирования - лично мое мнение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Сб мар 09, 2013 08:37:39 
Опытный кот

Карма: 1
Рейтинг сообщений: 52
Зарегистрирован: Чт мар 12, 2009 16:31:05
Сообщений: 804
Рейтинг сообщения: 0
Ну,что-ж,желаю Вам удачи и терпения.Когда Ваши желания и мысли перейдут рубеж 1Кб кода асм (половина 2313),я думаю Вы сами выберите удобный для Вас язык высокого уровня.
А пока могу порекомендовать самоучитель Белова.Там и про асм,и те-же примеры программы на Си (CVAVR,а на диске и WinAVR),программаторах и программировании,фусах и русский перевод даташита 2313.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Сб мар 09, 2013 16:03:34 
Родился

Зарегистрирован: Ср мар 06, 2013 01:24:25
Сообщений: 18
Откуда: Ukraine
Рейтинг сообщения: 0
Спасибо! Уже качаю


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Сб мар 09, 2013 21:05:27 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Мега 8 в самый раз для начала. Куда там далеко? Она самая простая в линейке и достаточно выводов для экспериментов. Можно определить целый порт под отладочные нужды и еще останется. Собственно, у атмеловских контроллеров система команд одна - отличаются они лишь набором переферии и адресами регистров в каждой из них - но это вас беспокоить не должно, к каждому контроллеру уже заранее составлен заголовочный файл с определениями. А если его нет - можно набросать самому, по примеру соседнего по функциональности - останется только сверить адреса регистров.

На самом деле, на ассемблере писать довольно тяжело если пользоваться исключительно ассемблером, вставлять в код магические числа и напрочь забыть что есть такие вещи как INCLUDE, .DEFINE и .MACRO

Если правильно все использовать писать на ассемблере становится даже интересно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Пн мар 11, 2013 16:57:28 
Грызет канифоль

Зарегистрирован: Ср дек 30, 2009 09:55:39
Сообщений: 277
Рейтинг сообщения: 0
pelia писал(а):
...а Ассемблере можна сделать "чудеса" недоступные любому другому языку...


азм отличается от других языков только одной вещью:

что сделал = сам дурак.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: 8бит в 16бит (термодатчик ds1821 в ds18b20)
СообщениеДобавлено: Пн мар 11, 2013 21:29:56 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Ага, а в других языках можно на компилятор грешить. 8)


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 20 ] 

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


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 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