Всё по DS18(B/S)20.

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
EDSedov
Вымогатель припоя
Сообщения: 573
Зарегистрирован: Вс ноя 04, 2012 20:20:13
Откуда: Рязань

Re: Помогиет с ds18b20 в CodeVisionAVR

Сообщение EDSedov »

Пишите сюда.
Выше нос! жизнь прекрасна! :))
Аватара пользователя
grung
Родился
Сообщения: 17
Зарегистрирован: Чт апр 12, 2012 17:35:15
Откуда: Украина Николаев

Re: Помогиет с ds18b20 в CodeVisionAVR

Сообщение grung »

Сорри конечно, но там на асме обсуждают. У меня конкретный пример с применением стандартных библиотек CodeVision/

Но проблема в другом, МК не видит сам датчик. Похоже что бракованный, завтра за новым поеду (((

Сделал проверку вот, проверку не прошла:

Код: Выделить всё


    devices=w1_init()


    while(devices==0) /* проверка на подключение датчика если его нет,то будем быстро мигать диодами*/
    {
        delay_ms(150); // пауза 150 мС
        PORTB=0b00011000; // вЫкл светодиод
        delay_ms(150); // пауза 150 мС
        PORTB=0b00001000; // вкл светодиод
       
        PORTB=0b00101000; // вЫкл светодиод
        delay_ms(150); // пауза 150 мС
        PORTB=0b00001000; // вкл светодиод   
        devices=w1_init();
    };
Аватара пользователя
EDSedov
Вымогатель припоя
Сообщения: 573
Зарегистрирован: Вс ноя 04, 2012 20:20:13
Откуда: Рязань

Re: Помогиет с ds18b20 в CodeVisionAVR

Сообщение EDSedov »

grung писал(а):Сорри конечно, но там на асме обсуждают. У меня конкретный пример с применением стандартных библиотек CodeVision/

Там на всем обсуждают.
Еще раз повторяю: тема дубль, создана не в том разделе, где нужно ("AVR" вместо "Периферия"), тема по данному вопросу уже есть (Всё по DS18(B/S)20)!!!
Выше нос! жизнь прекрасна! :))
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Всё по DS18(B/S)20.

Сообщение ploop »

Не кричите, перенёс куда надо.
Аватара пользователя
virus-error
Нашел транзистор. Понюхал.
Сообщения: 151
Зарегистрирован: Сб сен 04, 2010 20:59:41
Откуда: минск

DS18B20 не верные покозания

Сообщение virus-error »

как то раньше заметил что датчик выдает не верные показания, во время первого включения все ОК , спусть пару менут темперетура увеличилась на несколько градусов , я понел что дело не в прошиве , а сам датчик нагреватся , я пытался повесить резистор по питанию на датчик , нечево не вышло , тогда я поцепил кусок радиатора , но он да нужной температуры так и не скинул , только кулер с радиатором спас , виной все то что датчик слишком часто опрашивается , вот нашел статью где тоже это сказано
http://avtoelectro.radioliga.com/device ... mostat_vaz
в самом низу статьи
! В новой версии прошивки снижена скорость опроса датчика, тем самым исключая его разогрев и завышение показаний на 1-2 градуса. Прошивка лежит в архиве, однако оставлена и старая версия.
может кто знает где редко опрашивается датчик
Авторские права на грамматические и орфографические ошибки полностью и всецело принадлежат их авторам :)
Аватара пользователя
C@at
Вымогатель припоя
Сообщения: 652
Зарегистрирован: Вс ноя 13, 2011 16:42:05
Откуда: Украина

Re: DS18B20 не верные покозания

Сообщение C@at »

Это миф о неверных показаниях цифрового датчика, и не разрешимая проблема для продвинутых программеров, тот кто попроще, тому достаточно просто установить правильно датчик к той среде которую он измеряет.
Вот один из примеров заблуждения viewtopic.php?f=25&t=23459&start=360
Bовка
Нашел транзистор. Понюхал.
Сообщения: 175
Зарегистрирован: Вт май 01, 2012 15:07:19

Re: DS18B20 не верные покозания

Сообщение Bовка »

Датчик этот врёт и это заложено в принципе его работы, производитель об этом вскользь указывает в спецификации, т.е. датчик в любом случае завышает показания из-за саморазогрева и мы можем только уменьшить этот эффект , но устранить его невозможно.
Программно можно понизить частоту опроса или понизить разрешение, толку от разрешения 0,06 гр., если датчик на 2 градуса врёт ? Я понизил разрешение до 10 бит это 0,2-0,3 градуса, время преобразования уменьшилось с 750 мс (датчик маслает почти без перерыва) до 190 мс, показывает "ноздря в ноздрю" с ТСМ-50
Можно также увеличить "массу" датчика или применить его в металлическом корпусе, но при опросе раз в секунду и "полном штиле" вокруг датчика толку будет мало.
Ещё забыл сказать что если датчик припаян прямо к плате возле LED индикатора или стабилизатора, то и +10 сверху получить легко.
Последний раз редактировалось Bовка Вс окт 27, 2013 19:21:35, всего редактировалось 1 раз.
Аватара пользователя
virus-error
Нашел транзистор. Понюхал.
Сообщения: 151
Зарегистрирован: Сб сен 04, 2010 20:59:41
Откуда: минск

Re: DS18B20 не верные покозания

Сообщение virus-error »

можно , там где медленно изменяется температура уменьшить опрос и до 5-ти секунд заодно и МК отключал питание датчика ,
но мне уже неважно у меня кусок радиратора плюс кулер все ОК
Авторские права на грамматические и орфографические ошибки полностью и всецело принадлежат их авторам :)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15542
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: DS18B20 не верные покозания

Сообщение BOB51 »

Сколько ни работал с DSками врущих не замечал... 8)
"Убитые" попадались, возможны смешения относительно ртутника - но они корректируемы и постоянны. Расстояние выноса датчика без всяких ухищрений - около 5 метров. С рассчетом отрицательных температур есть нюанс, если считать с тем, что за запятой, но все вполне решаемо.
:sleep:
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: DS18B20 не верные покозания

Сообщение Z_h_e »

BOB51 писал(а):Расстояние выноса датчика без всяких ухищрений - около 5 метров
У меня работает на 10м по двухпроводке.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
Catcatcat
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Пт янв 13, 2012 21:46:35
Откуда: Днепропетровск
Контактная информация:

Re: DS18B20 не верные покозания

Сообщение Catcatcat »

Защита датчиков температуры DS18B20 от статического электричества - это проблема всех начинающих, почитай тут http://catcatcat.d-lan.dp.ua/zashhita-datchikov-temperaturyi-ds18b20-ot-staticheskogo-elektrichestva/

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

Изображение
Аватара пользователя
virus-error
Нашел транзистор. Понюхал.
Сообщения: 151
Зарегистрирован: Сб сен 04, 2010 20:59:41
Откуда: минск

Re: DS18B20 не верные покозания

Сообщение virus-error »

Защита датчиков температуры DS18B20 от статического электричества
интересная штучка я такой не видел :oops:
а на счет длинны , мне кажется можно придумать на операционниках, с двух сторон линии , даже можно напругу на линии поднять , а за пределами снова 5-ть вольт, таким способом можно и преодолеть большое растояние (хотя каму оно нужно такие растояния)
Последний раз редактировалось Gudd-Head Вт окт 29, 2013 12:02:11, всего редактировалось 1 раз.
Причина: Сюда перенёс
Авторские права на грамматические и орфографические ошибки полностью и всецело принадлежат их авторам :)
borys
Держит паяльник хвостом
Сообщения: 927
Зарегистрирован: Вт сен 07, 2010 19:27:48
Откуда: Ташкент

Re: Всё по DS18(B/S)20.

Сообщение borys »

На практике проверено - эти датчики могут работать с линиями длиной до 100 метров, с активной плдтяжкой
еще больше.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Всё по DS18(B/S)20.

Сообщение oleg110592 »

для dimmar из темы viewtopic.php?f=57&t=5560&p=1830457#p1830457
проверил, если не мешают прерывания - библиотека из CV работает (-9999) не проскакивает ни разу
СпойлерИзображение

Спойлер

Код: Выделить всё

/*
    1 GND         -   9  GND
    2 DQ          -   7  PA6
    3 VDD         -  10 +5V
   AN 4.7k PULLUP RESISTOR MUST BE CONNECTED
   BETWEEN DQ (PA6) AND +5V !

   Use an 2x16 alphanumeric LCD connected
   to PORTC as follows:

   1 GND- 9  GND
   2 +5V- 10 VCC
   3 VLC- LCD contrast control voltage 0..1V
   4 RS - 1  PC0
   5 RD - 2  PC1
   6 EN - 3  PC2
  11 D4 - 5  PC4
  12 D5 - 6  PC5
  13 D6 - 7  PC6
  14 D7 - 8  PC7
*/

#include <alcd.h> // Alphanumeric LCD Module functions

#include <ds18b20.h>
#include <delay.h>
#include <stdio.h>

char lcd_buffer[33];

/* maximum number of DS18B20 connected to the 1 Wire bus */
#define MAX_DEVICES 1

/* DS18B20 devices ROM code storage area */
unsigned char rom_code[MAX_DEVICES][9];

main()
{
lcd_init(16);
lcd_putsf("CodeVisionAVR\n1 Wire Bus Demo");
delay_ms(200);
lcd_clear();

/* measure and display the temperature(s) */
while (1)
      {
          sprintf(lcd_buffer,"%+.3f\xdfC",ds18b20_temperature(0));
          lcd_clear();
          lcd_puts(lcd_buffer);
          delay_ms(100);
      };
}

может настройки Clock в проекте не совпадают с реальными
dimmar
Открыл глаза
Сообщения: 78
Зарегистрирован: Чт июл 07, 2011 14:42:13

Re: Всё по DS18(B/S)20.

Сообщение dimmar »

oleg110592 писал(а):для dimmar


Спасибо за помошь, буду разбираться.
Что поиск рулит знаю. Забанен во всех поисковых системах.
kolobok0
Грызет канифоль
Сообщения: 296
Зарегистрирован: Ср дек 30, 2009 09:55:39

Re: DS18B20 не верные покозания

Сообщение kolobok0 »

virus-error писал(а):...я такой не видел...


по поводу разогрева...
имею не маленький опыт по применению в пром. установках данного типа датчики DS1821
разогрев есть, но он составляет ДЕСЯТЫЕ градуса. говорить о дрейфе в градусы на мой взгляд - это причина в другом.
пока на ум приходят следующие вещи:
1) статика, как тут прозвучало.
2) использование паразитного питания.
3) не правильное юзанье.

короче говоря - ищите ошибку конструктива либо софта...

удачи вам
(круглый)
eduardo
Нашел транзистор. Понюхал.
Сообщения: 171
Зарегистрирован: Вс июн 17, 2012 16:32:42

Re: Всё по DS18(B/S)20.

Сообщение eduardo »

Здравствуйте. Помогите пожалуйста разобраться.Написал программку для 2х DS18B20 и мега16+2 семисегментника. Т.е каждый датчик должен выводить температуру на свой индикатор. Но у меня получилось что оба датчика читаются только один раз при включении. Как сделать чтобы они читались хотя-бы раз в секунду? Частота МК 4 МГц. Писал в CV AVR V2.04.4.Файлы прилагаются. Спасибо.
Вложения
01.rar
(99.63 КБ) 195 скачиваний
Последний раз редактировалось eduardo Чт ноя 21, 2013 00:27:08, всего редактировалось 1 раз.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Всё по DS18(B/S)20.

Сообщение Аlex »

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

Re: Всё по DS18(B/S)20.

Сообщение eduardo »

Переделал. Но теперь катоды переключаются слишком медленно.
Вложения
02.rar
(99.33 КБ) 189 скачиваний
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Всё по DS18(B/S)20.

Сообщение Аlex »

eduardo писал(а):катоды переключаются слишком медленно
Переключайте их быстрее :)

В сети подобного хлама, типа термометров на DS, с исходниками, тьма-тьмущая :) Посмотрите как это делают другие.
Да и в этой теме Вы сможете найти решение своей проблемы, благо страниц не много - за час-два можно все посты прочитать.
Ответить

Вернуться в «Периферия»