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

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

shads писал(а):Наверное..... ну вроде в этом не должно возникнуть сложностей

Проще всего, наверное, начать с получения Presense от датчика. Если питание будет активное (а не в паразитном режиме), то за время Reset он наверняка нормально стартанёт. А вот с паразитным питанием... ХЗ.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

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

Сообщение HHIMERA »

shads писал(а):если контроллер будет ногой подавать питание на DS18B20, сколько времени надо ждать после пробуждения контроллера, чтобы DS18B20 пришел в себя, и нормально отрабатывал замер температуры?

Здесь быстрее вопрос к длине/сопротивлению линии и наличию/отсутствию ёмкости по питанию датчика...
При длине в несколько см. и отсутствию ёмкости по питанию можно рулить датчиком сразу...
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
Yusff
Встал на лапы
Сообщения: 124
Зарегистрирован: Сб окт 20, 2012 14:07:16

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

Сообщение Yusff »

А кто как защищает датчики? Сделал термометр дом/улица. Пару лет назад во время грозы выгорели датчики (они на одной шине, похоже была наводка на кабель выносного), причем порт контроллера выжил. Напаял стабилитроны со стороны МК. Третьего дня опять сильная гроза - сгорел только уличный. Так DS-ок не напасешься. :(
Аватара пользователя
Сериг
Это не хвост, это антенна
Сообщения: 1451
Зарегистрирован: Пт фев 19, 2010 19:39:28
Откуда: Москва

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

Сообщение Сериг »

Я питаю через резитор,сталю диод по питанию. Вроде хватает :dont_know:
Amstron
Нашел транзистор. Понюхал.
Сообщения: 173
Зарегистрирован: Вт дек 21, 2010 21:18:52

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

Сообщение Amstron »

Есть проблема с измерением температуры.
У меня датчик DS18b20. Программа работала замечательно, пока не добавил дополнительное меню в своей программе.
Это меню ни как не связанно с работой датчиков. В это меню программа даже не заходит (надо поставить ловушку проверить).
Дак вот после того как я сделал это доп. меню, то у меня измеряемая температура всегд отображается как НОЛЬ (0) градусов.
Сами датчики программа находит, я их могу перебирать кнопкой: идет отображение количество подключенных датчиков в зависимости от того сколько датчиков подключенно.

Уважаемые Коты, подскажите с чем это может быть связанно?
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

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

Сообщение shads »

Amstron писал(а):после того как я сделал это доп. меню, то у меня измеряемая температура всегд отображается как НОЛЬ (0) градусов.
В протеусе то же самое?

Функция чтения данных с датчика проверяет CRC ?
Если CRC не верна, программа реализует вывод сообщения об ошибке?
Amstron
Нашел транзистор. Понюхал.
Сообщения: 173
Зарегистрирован: Вт дек 21, 2010 21:18:52

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

Сообщение Amstron »

shads писал(а):
Amstron писал(а):после того как я сделал это доп. меню, то у меня измеряемая температура всегд отображается как НОЛЬ (0) градусов.
В протеусе то же самое?

Функция чтения данных с датчика проверяет CRC ?
Если CRC не верна, программа реализует вывод сообщения об ошибке?


Отлаживаю на железе.
Протеусом не пользуюсь.

Компилятор CV AVR версия 2.05.03

Подскажите как реализовать функцию проверки CRC?
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7359
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

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

Сообщение uldemir »

Amstron писал(а):Дак вот после того как я сделал это доп. меню, то у меня измеряемая температура всегд отображается как НОЛЬ (0) градусов.
Уважаемые профессора, у меня в подвале слышен подземный стук. Не подскажете, с чем это может быть связано?
Проверять код!
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

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

Сообщение shads »

Amstron писал(а):Отлаживаю на железе.
Тогда покупай железный отладчик.....

Amstron писал(а):Протеусом не пользуюсь.
Ну раз не хош освоить полезную программу, тогда тем более покупай железный отладчик.....

Amstron писал(а):Компилятор CV AVR версия 2.05.03
Если хочеш чтобы шустро помогали, переходи на AVRStudio4+GCC

Amstron писал(а):Подскажите как реализовать функцию проверки CRC?
Вот как я задавал этот же вопрос.....
Тут еще от Леонида Ивановича есть рассчет CRC
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7359
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

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

Сообщение uldemir »

А!!! Правда глаза колет!!! Ну, ну. А что благородный дон ожидал?, что мы подтвердим вашу версию, что датчики плохие и больше трёх меню не выдерживают - выдают сплошные нули. Ай-яй-яй, какие плохие датчики. Дык вот - копать код! Я тоже не апологет симуляторов - всё проверяю в железе. И всё-равно проскакивают ошибки. Был тут аналогичный случай - написал термометр. Код переносился из одного проекта в другой. И тут вдруг обнаружилось что 4-й датчик на шине не читается - выдаёт ошибку CRC. Догадайтесь с трёх раз кто был виноват? Увы, не датчик, а я сам - в одном месте был не внимательным - не переключил страницу памяти. И вылезло это только в одном проекте, где по случайному совпадению, эта не переключенная страница портила накопленный сериальник именно 4-го датчика. Так что - проверять код еще и еще раз. Вставлять контрольные точки.

А CRC как считать написано в AN27. О, еще тама есть интересная программка.
Amstron
Нашел транзистор. Понюхал.
Сообщения: 173
Зарегистрирован: Вт дек 21, 2010 21:18:52

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

Сообщение Amstron »

В моем случае - глючный компилятор.
На версии 1,25,9 температура стала измерятся, но перестала работать другая функция, которая на других версиях отлично работает!

Или с настройками компилятора что то не то?
конфигурация3.jpeg
(61.97 КБ) 377 скачиваний
Biggy
Открыл глаза
Сообщения: 71
Зарегистрирован: Вт дек 09, 2008 20:54:30
Откуда: Златоуст
Контактная информация:

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

Сообщение Biggy »

А возможно ли на этой шине реализовать так, чтобы система понимала, что скажем один датчик комнатный, один уличный, а один еще где-нибудь стоит.
Изображение
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

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

Сообщение shads »

Biggy писал(а):А возможно ли на этой шине реализовать так, чтобы система понимала, что скажем один датчик комнатный, один уличный, а один еще где-нибудь стоит.

Я тут делал так:
Отсоединял линию, подключал датчик №1, программировал его под номером 1, потом подключал датчик №2, программировал его под номером 2, ну и т.д.
Потом когда все датчики запрограммированы, подключаю линию и вешаю все датчики на эту линию..... Теперь у меня известно какой датчик где и под каким номером работает.....

Функцию автоматического поиска как раз не использую по той причине, что потом не понятно кто есть кто из датчиков.....
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

Biggy писал(а):система понимала, что скажем один датчик комнатный, один уличный

Это можно сделать если один датчик будет с паразитным питанием, другой — с "активным".
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Amstron
Нашел транзистор. Понюхал.
Сообщения: 173
Зарегистрирован: Вт дек 21, 2010 21:18:52

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

Сообщение Amstron »

Amstron писал(а):В моем случае - глючный компилятор.
На версии 1,25,9 температура стала измерятся, но перестала работать другая функция, которая на других версиях отлично работает!

Или с настройками компилятора что то не то?
конфигурация3.jpeg


Спасибо что "ответили" (((

Скажите, сложно перейти на другой компилятор , например на AVRStudio4+GCC ?
borys
Держит паяльник хвостом
Сообщения: 927
Зарегистрирован: Вт сен 07, 2010 19:27:48
Откуда: Ташкент

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

Сообщение borys »

То, как делает shads, и есть самый правильный подход.
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

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

Сообщение shads »

Amstron писал(а):Скажите, сложно перейти на другой компилятор , например на AVRStudio4+GCC ?
Элементарно.....
Вот ветка где можно задавать все вопросы по AVRStudio4+GCC
viewtopic.php?f=57&t=6996&start=1460
alexsis_76
Открыл глаза
Сообщения: 46
Зарегистрирован: Ср апр 29, 2009 04:11:48

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

Сообщение alexsis_76 »

Доброго времени суток уважаемые коты, хотелось бы узнать кто как делает сортировку датчиков. пока работает вариант с предварительной записью в eeprom и чтением оттуда, но хотелось бы сделать вариант с чтением действительных номеров с последующим сравнением с eeprom
Amstron
Нашел транзистор. Понюхал.
Сообщения: 173
Зарегистрирован: Вт дек 21, 2010 21:18:52

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

Сообщение Amstron »

У меня проблема с измерением температуры DS18b20.

Как Вы объясните, что это не глюк компилятора?

Если я в любое место в программе вставляю следующий код, то у меня ответ от датчиков температуры DS18b20 всегда НОЛЬ градусов.

Спойлерif (stabilizator_GAZ == 1)
{
bukva_0 = 5; // S
bukva_1 = 10; // выкл
bukva_2 = 0; // 0
bukva_3 = 22; // n
};


if (stabilizator_GAZ == 0)
{
bukva_0 = 5; // S
bukva_1 = 0; // 0
bukva_2 = 23; // F
bukva_3 = 23; // F
};

if (knopka2==2)
{ while (knopka2==2){ } ;
stabilizator_GAZ = 1;
};

if (knopka3==3)
{ while (knopka3==3){ } ;
stabilizator_GAZ = 0;
};

if (knopka1==1)
{ while (knopka1==1){ } ;
vukluchit_bukvu();
rejim=31;
xg = 5;
};


Если я в этом коде исправляю строчку rejim=31; на rejim=28; то глюка нету.
Хочу заметить еще раз, что этот код я вставляю в места где у мена программа в цикле даже и не заходит туда!

Я уже с этим трахаюсь давно, решил перейти на AVR studio 4.
Есть идея попробовать использовать другую библиотеку , возможно само-писанную.
Поделитесь попробовать... мое мыло gsm-3@ya.ru
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

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

Как Вы объясните, что это не глюк компилятора?
А как Вы объясните, что это глюк компилятора, а не Ваш косяк ?
Я, например, не могу ничего объяснить, видя небольшой огрызок программы. Но по нему Ваш уровень сразу виден, который не даёт мне сомневаться в том, что глюк вовсе не компилятора...

программа в цикле даже и не заходит туда!
Зачем он (этот код) тогда вообще нужен, если программа туда не заходит ?
Ответить

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