Например TDA7294

Форум РадиоКот • Просмотр темы - Всё по DS18(B/S)20.
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 10:38:03

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


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



Начать новую тему Ответить на тему  [ Сообщений: 1164 ]     ... , , , 32, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Чт ноя 28, 2013 02:00:16 
Нашел транзистор. Понюхал.

Карма: 2
Рейтинг сообщений: 4
Зарегистрирован: Вс июн 17, 2012 16:32:42
Сообщений: 171
Рейтинг сообщения: 0
А кто что-нибудь может сказать про DS1822? С ней может попроще работать,чем с 18B20?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Чт ноя 28, 2013 09:00:42 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Что значит "попроще" ? В чём возникли сложности ?
Что у 22, что у 20 - 1-Wire.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб ноя 30, 2013 00:47:37 
Открыл глаза

Зарегистрирован: Чт июл 07, 2011 14:42:13
Сообщений: 78
Рейтинг сообщения: 0
В общем не пошла стандартная библиотека в CVAVR. И так как в термостате нужен только один датчик, то сделал так: Всё вроде бы работает индикаторы не мерцают никаких 9999 не проскакивает.
Индикация динамическая, кнопки настроек 4шт. работают по прерыванию таймера. Буду гонять и смотреть.
Не знаю на сколько всё правильно сделал, возможно всё не правильно, но в железе вроде бы всё стабильно.

Спойлерwhile (1)
{

//////////////////////////////// замер температуры //////////////////////////////////////////

if (flag==30){ // замер t по таймеру 0
w1_init();
w1_write(0xcc);
w1_write(0x44);
if (z==1){
delay_ms(800); // задержка вводится только 1 раз после включения питания
}
w1_init();
w1_write(0xcc);
w1_write(0xbe);
temper=w1_read(); //формирование полученного значения температуры
temper=((w1_read())<<8)+temper;
temper=temper/16; // плюсовая температура с датчика приходит умноженная на 16, поэтому делим на 16

flag=0; // обнуляем переменную flag
z=3;
c=temper; // присваиваем переменной с значение переменной temper

if (temper<0){ // если температура меньше 0 то -
temper=0.0-temper; // преобразуем в понятный вид
}

display1=temper; // присваиваем переменной display значение переменной temper для вывода на индикатор
b++;
}

//////////////////////////////// управление нагрузкой

if (temper>=display){ // если температура достигнет заданной термостатом
PORTC.5=0; // выключить нагрузку
}
if ((temper<termdown)&(b==2)){ // если температура достигнет нижнего значения гистерезиса
PORTC.5=1; // включить нагрузку
}
b=1;
termdown=display-m+1; // переменная termdown нижний предел термостата, равен разности term и m

_________________
Что поиск рулит знаю. Забанен во всех поисковых системах.


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Чт янв 02, 2014 15:53:00 
Грызет канифоль

Карма: 1
Рейтинг сообщений: 21
Зарегистрирован: Пн май 16, 2011 10:54:32
Сообщений: 299
Откуда: Красноярск
Рейтинг сообщения: 0
Перенес свой вопрос по поводу ассемблерной реализации интерфейса Wire1 в отдельную тему.

_________________
Все можно сделать, было бы желание!


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Чт янв 09, 2014 09:56:08 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1012
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 18798
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Вадиматоричик писал(а):
в отдельную тему.

Здорово. Обычно после этого ещё дают ссылку на тему.

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Ср янв 29, 2014 15:08:14 
Грызет канифоль

Карма: 1
Рейтинг сообщений: 21
Зарегистрирован: Пн май 16, 2011 10:54:32
Сообщений: 299
Откуда: Красноярск
Рейтинг сообщения: 0
Да, прошу прощения :)) . Вот ссылка с готовым "решением на скорую руку" http://radiokot.ru/forum/viewtopic.php?f=61&t=98826.

_________________
Все можно сделать, было бы желание!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Ср фев 05, 2014 17:36:42 
Встал на лапы

Зарегистрирован: Пн апр 21, 2008 13:53:59
Сообщений: 131
Рейтинг сообщения: 0
Подскажите, какие есть идеи.
Есть DS1820, подключил к атмеге16, вывожу на дисплей.
Только при комнатной температуре датчик показывае минус 33 градуса. Греешь пальцами - показыает минус 27.5, если греть зажигалкой осторожно - то уходит выше нуля температура. В чем может быть проблема?

Строка вывода из учебника
Цитата:
sprintf(lcdbuf,"Temp=%-i.%-uC",temp/10, abs(temp%10));


если надо, могу показать остальной код но там все дефолтно. Брак? Другие не пробовал подцеплять еще


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Вт апр 29, 2014 20:47:34 
Нашел транзистор. Понюхал.

Карма: 2
Рейтинг сообщений: 4
Зарегистрирован: Вс июн 17, 2012 16:32:42
Сообщений: 171
Рейтинг сообщения: 0
Короче,вот состряпал прогу термометра для 2х датчиков с выводом на два 7-мисегментника.Индикация нормальная,но
при отсутствии датчиков индикаторы показывают -15.Почему,понять не могу? И может кто-нить знает,как можно
сделать вывод десятых долей градуса? Применена мега16. Хотел сначала на меге8 сделать,но побоялся по 2 раз-
ряда на 1 вывод вешать а ключи на транзюках было лень делать.Пришлось лупить из гаубицы по мухам....


Вложения:
2DS+Mega16.rar [86.31 KiB]
Скачиваний: 194
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Ср апр 30, 2014 10:08:39 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1012
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 18798
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
eduardo писал(а):
Почему,понять не могу?

Видимо, "111111111111111111111111" в отсутствие датчика воспринимается как число в доп. коде, и после махинаций с битами дробной части и/или знака получается "11111111111111110000". Количество "1" примерное.

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Ср апр 30, 2014 13:40:44 
Вымогатель припоя

Карма: 22
Рейтинг сообщений: 114
Зарегистрирован: Пн июн 14, 2010 13:07:29
Сообщений: 630
Откуда: Жуковский
Рейтинг сообщения: 0
Если датчика нет, то ds18b20_temperature(&rom_code[0][0]) вернет -9999, что в 16-ричном целочисленном виде есть D8F1, а так, как переменная temp1 - типа unsigned char (вот тут и ошибка), то в нее попадет F1 - что соответствует -15 в знаковом представлении. И, вообще-то, ds18b20_temperature(&rom_code[0][0]) возвращает float (это к тому, что можно десятые доли спокойно использовать).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Ср апр 30, 2014 22:58:08 
Нашел транзистор. Понюхал.

Карма: 2
Рейтинг сообщений: 4
Зарегистрирован: Вс июн 17, 2012 16:32:42
Сообщений: 171
Рейтинг сообщения: 0
Cпасибо,замечательно,но к сожалению я не знаю как работать с типом float... :dont_know:

К примеру:
int temp;

w1_write(0x50); // читать младший байт
temp=ds18b20_temperature(&rom_code[0][0]);

w1_write(0x05); //читать старший байт
temp=ds18b20_temperature(&rom_code[0][0]);

А как дробную часть выделить?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Чт май 01, 2014 06:53:59 
Грызет канифоль
Аватар пользователя

Карма: 10
Рейтинг сообщений: 106
Зарегистрирован: Пт ноя 15, 2013 20:58:23
Сообщений: 281
Рейтинг сообщения: 0
eduardo писал(а):
А как дробную часть выделить?

Побитное И по маске с байтом, в котором единицы в дробной части, конкретно для 18b20 LS байт содержит дробную часть в младших четырех битах, т.е. байт маски 0x0F. Аналогично можно определить знак - побитное И старшего MS байта температуры c байтом, в котором единичка только в старшем разряде - 0x80.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Чт май 01, 2014 13:36:03 
Опытный кот
Аватар пользователя

Карма: 8
Рейтинг сообщений: 105
Зарегистрирован: Ср фев 22, 2012 01:25:21
Сообщений: 882
Рейтинг сообщения: 0
eduardo писал(а):
И может кто-нить знает,как можно сделать вывод десятых долей градуса?
Если что глянь как я сделал...
http://asis-kbr.ru/forum/viewtopic.php?f=11&t=160


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Сб май 03, 2014 03:47:37 
Грызет канифоль

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


из родного даташита, можно узнать как сканировать датчик с повышенной разрядностью. для данного семейства - до 0,0625.
для другого - можно и до 0,01.

собственно ничего сложного - читай и делай...
удачи вам
(круглый)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Вс май 04, 2014 02:34:46 
Нашел транзистор. Понюхал.

Карма: 2
Рейтинг сообщений: 4
Зарегистрирован: Вс июн 17, 2012 16:32:42
Сообщений: 171
Рейтинг сообщения: 0
ds18b20_init(0,20,30,DS18B20_9BIT_RES)---9битное разрешение(точность 0,5 град.)
........_10_.......................0,25
........_11_.......................0,125
ds18b20_init(0,20,30,DS18B20_12BIT_RES)---12битное разрешение(точность0,0625 град)

Это я знаю,а дальше как? Деление? Остаток от деления?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Вс май 04, 2014 10:01:44 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
eduardo
1)Деление, остаток от деления.
2)Арифметика с фиксированной точкой(например T*10).
3) ds18b20_temperature написать самостоятельно, прочитать результат, отмасштабировать битовыми операциями.
4)Удобный, но жирный printf


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Вс май 04, 2014 10:44:55 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
eduardo писал(а):
Почему,понять не могу?
Вся проблема в использовании каких-то сторонних недобиблиотек, и от незнания их работы. 100500-ый раз совет - разберитесь с протоколом 1-Wire, потом покурите даташит на датчик и сделайте всё самостоятельно. Ничего там сложного нет - обычное ногодрыганье с задержками.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Вт май 06, 2014 01:24:18 
Нашел транзистор. Понюхал.

Карма: 2
Рейтинг сообщений: 4
Зарегистрирован: Вс июн 17, 2012 16:32:42
Сообщений: 171
Рейтинг сообщения: 0
Аlex писал(а):
eduardo писал(а):
Почему,понять не могу?
Вся проблема в использовании каких-то сторонних недобиблиотек, и от незнания их работы. 100500-ый раз совет - разберитесь с протоколом 1-Wire, потом покурите даташит на датчик и сделайте всё самостоятельно. Ничего там сложного нет - обычное ногодрыганье с задержками.




Да только я не знаю как это делать.... Как например сделать на Си,чтобы контроллер установил шину в низкое состояние на
какой-либо период времени?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Вт май 06, 2014 01:29:12 
Нашел транзистор. Понюхал.

Карма: 2
Рейтинг сообщений: 4
Зарегистрирован: Вс июн 17, 2012 16:32:42
Сообщений: 171
Рейтинг сообщения: 0
shads писал(а):
eduardo писал(а):
И может кто-нить знает,как можно сделать вывод десятых долей градуса?
Если что глянь как я сделал...
http://asis-kbr.ru/forum/viewtopic.php?f=11&t=160



Спасибо,писать код Си я кое-как могу,но читать,уж не обессудьте, чужие коды не умею. :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Всё по DS18(B/S)20.
СообщениеДобавлено: Вт май 06, 2014 22:20:03 
Опытный кот
Аватар пользователя

Карма: 8
Рейтинг сообщений: 105
Зарегистрирован: Ср фев 22, 2012 01:25:21
Сообщений: 882
Рейтинг сообщения: 0
eduardo писал(а):
Спасибо,писать код Си я кое-как могу,но читать,уж не обессудьте, чужие коды не умею. :)
Аналогично :).....
Мне всегда легче самому написать с нуля, чем разбираться в чужой писанине...


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


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

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


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