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

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
3DRaven
Грызет канифоль
Сообщения: 294
Зарегистрирован: Пт мар 11, 2011 08:51:55

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

Сообщение 3DRaven »

Отбой :) Дело было в датчике. При отрицательной температуре он врал...показывал минус все дельше и зависал потом, при -80 где то. Потом, после датчика, прошивку сменил что бы отрицательную температуру считать правильно (до этого не знаб как было, не проверял :))...сделал сам расчет и все работает.
Реклама
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

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

Сообщение Мастер Ломастер »

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

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

Сообщение shads »

3DRaven писал(а):Отбой :) Дело было в датчике. При отрицательной температуре он врал...показывал минус все дельше и зависал потом, при -80 где то. Потом, после датчика, прошивку сменил что бы отрицательную температуру считать правильно (до этого не знаб как было, не проверял :))...сделал сам расчет и все работает.

Грешить на датчик - тоже сомнительно, т.к. скорее всего он или работает или не работает вообще. Кажется вы до конца так и не разобрались в чем проблема была (тем более работал\неработал зависело от того где плата с контроллером находилась, насколько я помню).
BVS
Потрогал лапой паяльник
Сообщения: 336
Зарегистрирован: Пн май 23, 2011 18:27:41

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

Сообщение BVS »

Ну вот как раз в датчике дело может быть, у меня чтото похожее было с одним конкретным датчиком, в то время как другие тутже подключенные работали нормально, потом он благополучно сдох вообще.
задержки установленны рабочие хоть и не точные, я у себя менял их довольно широко и все работало
вот сейчас специально переключил частоту с 8-ми на 4 МГц а оно работает! Я не чего не утверждаю но грешить только на тактовый генератор не думаю не стоит.
Реклама
Эиком - электронные компоненты и радиодетали
3DRaven
Грызет канифоль
Сообщения: 294
Зарегистрирован: Пт мар 11, 2011 08:51:55

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

Сообщение 3DRaven »

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

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

Сообщение uldemir »

Я сейчас сморожу глупость, но о достойнейшие умы, ответьте на вопрос: с какого места отсчитывать Tspon, который не должен превышать 10 мкс?
Для тех кому лень искать и смотреть даташит, сообщаю, что Tspon - время подачи strong pullup после выдачи команды 0x44 Convert_T. Вот интересует в каком месте эта команда кончается.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Реклама
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

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

Сообщение Мастер Ломастер »

uldemir писал(а):Я сейчас сморожу глупость, но о достойнейшие умы, ответьте на вопрос: с какого места отсчитывать Tspon, который не должен превышать 10 мкс?
Для тех кому лень искать и смотреть даташит, сообщаю, что Tspon - время подачи strong pullup после выдачи команды 0x44 Convert_T. Вот интересует в каком месте эта команда кончается.

при паразитном питании Strong Pullup должен подаваться не менее чем на все время преобразования, т.е. для 12-битного режима не менее 750 мс (лучше чуть больше).
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7359
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

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

Сообщение uldemir »

Ой, это-то я знаю. Проблема в том, что с какого момента надо это делать? когда считается, что команда подана? Ладно, наверное так и есть, что при последнем переходе от 0 к 1.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

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

Сообщение Arlleex »

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

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

Сообщение shads »

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

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

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

Сдвигаете регистр контрольной суммы вправо, с выпавшим младшим битом и входным битом производите исключающее ИЛИ. Далее копируете получившийся бит во временный обнулённый регистр вместо старшего (7-го), 3-го и 2-го бита, производите исключающее или между регистром контрольной суммы и временным регистром. Повторить это для каждого входного бита.
Похожий алгоритм на АСМе можете глянуть у меня: http://radiokot.ru/circuit/digital/game/03/ только там я мучал закольцованный регистр без внешнего сигнала, но идея такая же.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

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

Сообщение shads »

Спасибо..... Чертежик с прокруткой байта и ксорами я видел, но все ни как не мог сообразить, как это на деле работает. После вашего ясного описания, въехал наконец.....

Раньше тоже видел, еще такую реализацию:
crc.jpg
(40.37 КБ) 1031 скачивание
Но не соображал как ее для АВР перевернуть, ну теперь думаю проблем не будет.....
Спасибо.
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

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

Сообщение Мастер Ломастер »

shads писал(а):не соображал как ее для АВР перевернуть
ну дык надо было поискать по форуму - исходники 1-wire-crc на асме для AVR тут не раз выкладывались
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

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

Сообщение shads »

http://radiokot.ru/search/?query=1-wire-crc&x=8&y=6
?????????????
как ни пробовал переставлять......

Кстати... решил сделать не байтовую реализацию, а битовую. После приема\передачи каждого бита будет вызываться ф-я...
У меня прием\передача реализованы в одной подпрограмме в прерывании, вот после каждого бита и буду накручивать CRC, только в начале приема\передачи обнулить надо будет и все...
BVS
Потрогал лапой паяльник
Сообщения: 336
Зарегистрирован: Пн май 23, 2011 18:27:41

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

Сообщение BVS »

Плохо ищите, но вот то, что я вспомнил, в этой статье есть пример с табличным расчетом, а в комментариях найдете и математический расчет.

еще была тема http://www.radiokot.ru/forum/viewtopic.php?f=25&t=11525
которую почему-то забросили
Аватара пользователя
shads
Опытный кот
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

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

Сообщение shads »

Да это уже пройденый этап, все что обсуждается в ваших ссылках.
Просто я до сих пор использовал простой вариант с одним устройством на линии, ну и соответственно, ни адрес его не передавал, ни CRC не считал в данных. А тут понадобилось подключить 4 датчика http://asis-kbr.ru/forum/viewtopic.php?f=9&t=117, ну и соотв встал вопрос о полноценном обмене. Загвоздка была только в CRC (пишу на асме), а все примеры что находил на С (кстати в вашей первой ссылке CRC с табличным вариантом - тоже не подходит - слишком прожорлив до памяти). Вот тут уважаемый Gudd-Head мне и помог делом. Все уже решил.....
BVS
Потрогал лапой паяльник
Сообщения: 336
Зарегистрирован: Пн май 23, 2011 18:27:41

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

Сообщение BVS »

Не знаю, где вы искали, но когда мне надо было, год назад, я все нашел и сделал, например вот это и тоже на асме.
Я у себя подключал и 8 датчиков без проблем, и процедуры обмена в самом простом варианте сократил до 270 (точно не помню) байт кода вместе с поиском адреса, а crc надо считать, что с одним, что с несколькими датчиками.

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

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

Сообщение shads »

BVS писал(а):crc надо считать, что с одним, что с несколькими датчиками
Да это понятно, у меня просто серьезных целей не было, поэтому без CRC, а так конечно согласен.

BVS писал(а):P.S. Кстати для написания процедуры поиска очень помог именно сишный апноут хотя я си не очень то знаю.
Вообще не пойму зачем этот поиск нужен???
Вот например у меня 4 датчика, гораздо проще их пронумеровать, по очереди подключить по одному и инициализировать... чем потом разбираться како же датчик под каким номером и где он стоит.....
BVS
Потрогал лапой паяльник
Сообщения: 336
Зарегистрирован: Пн май 23, 2011 18:27:41

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

Сообщение BVS »

shads писал(а):Вообще не пойму зачем этот поиск нужен???

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

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

Сообщение shads »

BVS писал(а):
shads писал(а):Вообще не пойму зачем этот поиск нужен???

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

Я имел ввиду, что легче както пронумеровать визуально датчики и по одному их прописать в устройство (ф-я чтения адреса одного устройства на линии) а потом уже включить в одну линию все вместе, вместо того чтобы вместе сразу их подключить, найти с помощью ф-ции поиска а потом разбираться где из них который?
Ответить

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