в свойствах датчика протеуса можно настроить дискретность уставки его температурыZhuk72 писал(а):При 9-битной конфигурации младшие 3 бита всегда в нуле.
Всё по DS18(B/S)20.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18548
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Всё по DS18(B/S)20.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Реклама
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: Всё по DS18(B/S)20.
ARV писал(а):в свойствах датчика протеуса можно настроить дискретность уставки его температуры
Может выразился не очень, но я имел в виду именно шаг установки температуры.Zhuk72 писал(а):Я уже проверил в Протеусе при шаге датчика 0.0625*С.
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
- ROMan2947
- Грызет канифоль
- Сообщения: 287
- Зарегистрирован: Сб янв 23, 2016 00:59:59
- Откуда: Чебоксары
Re: Всё по DS18(B/S)20.
Согласен, вполне логично.Благодарю за ответ!Zhuk72 писал(а):Я уже проверил в Протеусе при шаге датчика 0.0625*С.
При 9-битной конфигурации младшие 3 бита всегда в нуле.
Выход изменяется (начиная с бита 3), когда прирост достигает 0.5*С, т.е. через каждые 8 шагов.
Re: Всё по DS18(B/S)20.
Здраствуйте. Подскажите пожалуйста с преобразованием температуры)
либо я не понял что-то со знаком.
Код: Выделить всё
data[0] = w1_read();//читаем два байта с температурой
data[1] = w1_read();
//загоняем в двух байтную переменную
temp = data[1];
temp = temp<<8;
temp |= data[0]; /// далее идет преобразование в переменную инт без точки
d1=temp>>1; //сдвиг вправо 1 части
d2=temp>>3; //сдвиг другой
d3=d1+d2; // сложение за результатом без точки
Возращаю функцией значение d3 и записываю его в инт.
z=temp_18b20(); // зэт интовая переменная в которой храню преобразование температуры
p=z>>15 ;//двигаю чтобы проверить знак температуры)
if (p!=0)
{
z=z&(~((1<<11)|(1<<12)|(1<<13)|(1<<14)|(1<<15)));/а здесь попытался инвертировать биты знака чтобы потом работать с чистым числом но не выходит ) не могу понять почему)
}- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18548
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Всё по DS18(B/S)20.
прочтите здесь: http://radiokot.ru/forum/viewtopic.php? ... 2#p2971952 и делайте правильноTenken писал(а):Подскажите пожалуйста с преобразованием температуры
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Реклама
Re: Всё по DS18(B/S)20.
ещевозник вопрос на счет контрольной суммы. Ибо переодически в индикации вылазиет какая-то хрень ) нашел на форуме такой код: написано код рабочий только вот тут нихрена не понял.Я так понял это функцию тоже надо зацикливать на кол-во байт в дс 18б20 и потом сравнивать с последним?
Код: Выделить всё
uint8_t
_crc_ibutton_update(uint8_t crc, uint8_t data)
{
uint8_t i;
crc = crc ^ data;
for (i = 0; i < 8; i++)
{
if (crc & 0x01)
crc = (crc >> 1) ^ 0x8C;
else
crc >>= 1;
}
return crc;
}- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18548
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Всё по DS18(B/S)20.
не надо сравнивать, надо "зацикливать" ВСЕ данные - если все верно, то в итоге будет НОЛЬ.Tenken писал(а):и потом сравнивать с последним?
но вот код показанной вами функции не проверял я, поэтому не гарантирую его корректность. лучше всего взять гарантированно верный код - из avr-libc (входит в комплект avr-gcc модуль util/crc16.h) или реализовать алгоритм самостоятельно по апноуту производителя.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Всё по DS18(B/S)20.
Я вот такую функцию делал. Не хочу сказать что именно так и надо делать и что она оптимальна, но проблем не было. Сначала хотел на асме сделать, но решил что сделаю "потом".
Спойлер
Код: Выделить всё
#define dlinaBit 64
#define defPolinomObr ((uint8_t)0b10001100)Код: Выделить всё
//функция подсчета CRC8 для DS18B20
//*****************************************************************
uint8_t get_CRC8(uint8_t * pAddrr){
uint8_t CRC8=0;
//--------------------------
uint8_t NumerBit=0; //номер текущего бита
while ( NumerBit<(dlinaBit+8) ){
uint8_t BitRead,BitHi;
if ( //прочитаем значение бита
(pAddrr[NumerBit>>3]) & (0x01<<(NumerBit&0x07)) ) BitRead=0x80; else BitRead=0;
if (!(NumerBit<dlinaBit)) BitRead=0;
//---------
if (CRC8&0x01) BitHi=1;else BitHi=0; //выдвигаемый бит
CRC8>>=1;
CRC8+=BitRead;
if (BitHi) CRC8=CRC8 ^ (uint8_t)defPolinomObr;;
//---------
NumerBit++;
} //while
return CRC8;
}А вот периодической хрени быть не должно, у меня есть устройство с DS, кабель метров 15 был (сейчас укоротил), никаких проблем не было. Контрольная сумма "на всякий случай", но не для борьбы с помехами. Если у Вас постоянные ошибки, надо что-то пересмотреть.Tenken писал(а): Ибо переодически в индикации вылазиет какая-то хрень
Re: Всё по DS18(B/S)20.
Спасибо большое значит буду думать что не так дальше)
Нужна прошивка для подключения датчиков температуры ds18b20
Здравствуйте!
Нужен пример для AtmelStudio 4 на С++ для работы с датчиком температуры ds18b20 с выводом на LCD 1602+atmega32a
Очень жду помощи...
Нужен пример для AtmelStudio 4 на С++ для работы с датчиком температуры ds18b20 с выводом на LCD 1602+atmega32a
Очень жду помощи...
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18548
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Нужна прошивка для подключения датчиков температуры ds18
Воспользуйтесь поиском - примеров ПОЛНО, правда, не на С++, а на просто Си. На плюсах, на сколько мне известно, такой ерундой никто не заморачивался.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Нужна прошивка для подключения датчиков температуры ds18
Может на форуме есть примеры рабочие???
- acckyiboxxx
- Нашел транзистор. Понюхал.
- Сообщения: 182
- Зарегистрирован: Ср янв 25, 2012 07:26:40
Re: Нужна прошивка для подключения датчиков температуры ds18
Ваша ссылка мне не помогла. Зависает
Третий пример из интернета пробую и ноль...
Помогите разобраться...
Третий пример из интернета пробую и ноль...
Помогите разобраться...
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18548
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Нужна прошивка для подключения датчиков температуры ds18
http://radiokot.ru/lab/controller/18
http://radiokot.ru/lab/controller/19/
http://radiokot.ru/circuit/digital/measure/135/
http://radiokot.ru/circuit/digital/measure/46/
http://radiokot.ru/circuit/digital/home/24/
http://radiokot.ru/circuit/digital/home/26/
http://radiokot.ru/circuit/digital/home/41/
http://radiokot.ru/circuit/digital/home/61/
http://radiokot.ru/circuit/digital/home/69/
И это только на этом сайте, да и то мне уже влом стало копипастить ссылки... Вам не стыдно?
Добавлено after 1 minute 23 seconds:
Re: Нужна прошивка для подключения датчиков температуры ds18b20
Я правда в списке ссылок с разбегу залимонил несколько проектов на PIC... они вам не подойдут... но еще есть минимум 50 (!!!) проектов термометров на Радиокоте - дерзайте!
http://radiokot.ru/lab/controller/19/
http://radiokot.ru/circuit/digital/measure/135/
http://radiokot.ru/circuit/digital/measure/46/
http://radiokot.ru/circuit/digital/home/24/
http://radiokot.ru/circuit/digital/home/26/
http://radiokot.ru/circuit/digital/home/41/
http://radiokot.ru/circuit/digital/home/61/
http://radiokot.ru/circuit/digital/home/69/
И это только на этом сайте, да и то мне уже влом стало копипастить ссылки... Вам не стыдно?
Добавлено after 1 minute 23 seconds:
Re: Нужна прошивка для подключения датчиков температуры ds18b20
Я правда в списке ссылок с разбегу залимонил несколько проектов на PIC... они вам не подойдут... но еще есть минимум 50 (!!!) проектов термометров на Радиокоте - дерзайте!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- acckyiboxxx
- Нашел транзистор. Понюхал.
- Сообщения: 182
- Зарегистрирован: Ср янв 25, 2012 07:26:40
Re: Нужна прошивка для подключения датчиков температуры ds18
ARV, я полагаю человеку надо такое решение https://www.chipdip.ru/product/sth0014ur , хотел-бы собрать сам - разобрался-бы как работает и слепил-бы.
Re: Нужна прошивка для подключения датчиков температуры ds18
Не судите строго, я только учусь...
С LCD без проблем подключил, ножками на вход/выход научился управлять. Сделал часики. С прерываниями разобрался. С шаговиками разобрался. А вот датчик температуры меня в ступор ввел. Мучаюсь и не пойму ничего вроде должно работать а не хочет...
Толи код кривой, то ли я как-то не так...
Купил для пробы датчик вот тут http://jewelfox.ru/lot.php?id=8439.
Может что не так подключаю (тоже в интернете смотрел)... диод при подключение питания должен же гореть, а у меня не горит...
С LCD без проблем подключил, ножками на вход/выход научился управлять. Сделал часики. С прерываниями разобрался. С шаговиками разобрался. А вот датчик температуры меня в ступор ввел. Мучаюсь и не пойму ничего вроде должно работать а не хочет...
Толи код кривой, то ли я как-то не так...
Купил для пробы датчик вот тут http://jewelfox.ru/lot.php?id=8439.
Может что не так подключаю (тоже в интернете смотрел)... диод при подключение питания должен же гореть, а у меня не горит...
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18548
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Нужна прошивка для подключения датчиков температуры ds18
именно такое решение есть среди показанных мной ссылок: http://radiokot.ru/circuit/digital/home/61/ - кстати, это моя разработка (основа), там и ссылка на мой вариант есть.acckyiboxxx писал(а):я полагаю человеку надо такое решение

если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!




