Всё по DS18(B/S)20.
- Сообщения: 2
- Зарегистрирован: Сб май 10, 2008 12:50:21
В примере есть подсчёт CRC,использован табличный метод.Расчёт производится побайтно.Включите пошаговую отладку,алгоритм станет понятнее.
- Реклама
- Сообщения: 882
- Зарегистрирован: Ср фев 22, 2012 01:25:21
Я у себя сделал побитовую реализацию. Т.е. подсчет происходит не после приема всего байта и в отдельном модуле, а после приема каждого бита, и модуль интегрирован в функцию приема бита.DJ_Kiridza писал(а):Вот только по даташиту не понял как правильно считается CRC - кто может разжевать, ато тупо драть с исходников не охота
(пишу на асме)
Сам тоже допер, только после любезного объяснения товарищем Gudd-Head, на 5 страничке данной темы.
- Вложения
-
- Crc.jpg
- (38.33 КБ) 474 скачивания
- Сообщения: 38
- Зарегистрирован: Вт дек 13, 2011 00:00:15
Не хочет на железе работать , использую программу Terminal V 1.9VALE писал(а):Демонстрационный проект на 8 датчиков DS18B20 для PROTEUS
- Сообщения: 812
- Зарегистрирован: Ср мар 18, 2009 21:14:33
У кого нибудь есть либа для работы с ds18b20 , висящими на разных линиях. Т.е. с выбором порта и линии?
Очень надо - паралельная реализация не канает
Вот набросал кое чо под 1wire и DS, но почемуто шина подтягивается к 0 и всё.
Вычитывает только нули в result. Подтяжка 2.2К. Без паразитного питания.
Нарушение п.2.5 Правил Форума. Оформляйте код как вложение.
Gudd-Head
Очень надо - паралельная реализация не канает
Вот набросал кое чо под 1wire и DS, но почемуто шина подтягивается к 0 и всё.
Код: Выделить всё
...Нарушение п.2.5 Правил Форума. Оформляйте код как вложение.
Gudd-Head
За пояснение CRC спасибо, теперь понял - в даташите -это побитный алгоритм так расписан. еще раз пасиб.
мысли мысли штош вы вйотесь
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)
- Реклама
- Сообщения: 882
- Зарегистрирован: Ср фев 22, 2012 01:25:21
Подскажите пжлста, где глюк?
В реальности нагреваю датчик DS18S20, показывает максимум 127,5, дальше не поднимается.
В протеусе накручиваю датчик на 127,5 тоже нормально, но его можно накручивать еще дальше, до 128, при этом программа некорректно обрабатывает данные.
В реальности бывает 128 градусов? (т.е. мне нужно программу дорабатывать, чтобы корректно отображала 128 ?) Или это глюк протеуса?
Кстати в даташитах вообще указано что датчики меряют до 125 град. Что за разброд?????
В реальности нагреваю датчик DS18S20, показывает максимум 127,5, дальше не поднимается.
В протеусе накручиваю датчик на 127,5 тоже нормально, но его можно накручивать еще дальше, до 128, при этом программа некорректно обрабатывает данные.
В реальности бывает 128 градусов? (т.е. мне нужно программу дорабатывать, чтобы корректно отображала 128 ?) Или это глюк протеуса?
Кстати в даташитах вообще указано что датчики меряют до 125 град. Что за разброд?????
На битах покажите, как вам датчик сможет прислать температуру выше 127,75°.?.shads писал(а):В реальности нагреваю датчик DS18S20, показывает максимум 127,5, дальше не поднимается.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Сообщения: 882
- Зарегистрирован: Ср фев 22, 2012 01:25:21
Ну в принципе понял - что не может. Значит это глюк протеуса? Ведь у него до 128 поднимается.....Gudd-Head писал(а):На битах покажите, как вам датчик сможет прислать температуру выше 127,75°.?.
Да, легко, аж до 127,9375° могет!Gudd-Head писал(а):На битах покажите, как вам датчик сможет прислать температуру выше 127,75°.?.
Ну да, да... Лень было в ДШ лезть.IM1 писал(а):до 127,9375° могет!
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Сообщения: 882
- Зарегистрирован: Ср фев 22, 2012 01:25:21
Ааааа, понял. Наверное когда в протеусе выставляеш 128 градусов, на самом деле имеется ввиду как раз 127,9375.....IM1 писал(а):Да, легко, аж до 127,9375° могет!
(Но только вы имеете в виду DS18B20, а я говорил про DS18S20.....)
S - тоже может. У него есть дополнительные регистры позволяющие снять температуру с 12-ти битным разрешением.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
- Сообщения: 882
- Зарегистрирован: Ср фев 22, 2012 01:25:21
У меня постепенно (за пару минут после первого включения) убегает на 0,5 грдусов.ploop писал(а):Я сужу по опыту использования. Первый замер от последующих отличается на 0.1-0.2 градуса. Редко бывает 0.3
Ща проверил на B датчике в разрешении 0,1 град.
В принципе для частного использования - допустимо. Можно использовать и без проводника тепла.....
У этих датчиков есть такое понятие как саморазогрев. Если Вы его часто дергаете ( не понимаю тех кто дергает датчик больше чем 1 раз в секунду да и то это много. Не такой уж он быстрый. ) вот у Вас и ползёт температура в младших разрядах.
- Сообщения: 882
- Зарегистрирован: Ср фев 22, 2012 01:25:21
Да вообщето чаще чем раз в секунду его никто и не дергает. А реже..... Что это за термометр, на который посмотрел, и не уверен - это температура реальная, или минуту назад измерялась. Просто, хочется видеть реальную динамику, по крайней мере, обновлять показания раз в секунду.....ILYAUL писал(а):не понимаю тех кто дергает датчик больше чем 1 раз в секунду да и то это много. Не такой уж он быстрый.
Просто тут высказывались мнения по поводу ухода температуры от саморазогрева. Ктото говорит что на 2 градуса может уйти, ктото говорит что на 0,2 градуса, вот я и пытаюсь для себя выяснить это.....
Вообще - то в них заложена ошибка , согласно DS , в соответствии с температурным диапазоном и дают ещё значение дрейфа +/- 0.2 C . Правда последнее для стрессового режима. Не понимаю зачем.
Вообще делая просто термометр для измерения температуры окружающей среды , я отбрасываю все значения после запятой . +/- 0.5 С никак не влияют на мои ощущения , что одеть при данной температуре - куртку или шорты. Человек всё равно аппроксимирует показания любого уличного термометра.
Для производства , там свои датчики , в строго заданом диапазоне температур дающие минимальную ошибку.
Вообще делая просто термометр для измерения температуры окружающей среды , я отбрасываю все значения после запятой . +/- 0.5 С никак не влияют на мои ощущения , что одеть при данной температуре - куртку или шорты. Человек всё равно аппроксимирует показания любого уличного термометра.
Для производства , там свои датчики , в строго заданом диапазоне температур дающие минимальную ошибку.
У этих датчиков реально погрешность при температуре 20-50 град не превышает 0,2 град. Про-
верялось на серьезном фирменном калибраторе температур.
верялось на серьезном фирменном калибраторе температур.
Да ну? Мне попадались индивиды с погрешностью в градус. (Сравнивал с ртутным термометром)borys писал(а):У этих датчиков реально погрешность при температуре 20-50 град не превышает 0,2 град. Про-
верялось на серьезном фирменном калибраторе температур.
- Сообщения: 882
- Зарегистрирован: Ср фев 22, 2012 01:25:21
Мож ртутный вреть?AI_Disable писал(а):Да ну? Мне попадались индивиды с погрешностью в градус. (Сравнивал с ртутным термометром)borys писал(а):У этих датчиков реально погрешность при температуре 20-50 град не превышает 0,2 град. Про-
верялось на серьезном фирменном калибраторе температур.
Я тут эксперементировал с 10-ком датчиков (http://asis-kbr.ru/forum/viewtopic.php?f=9&t=117), все как один показывают..... Вродебы разброс до 0,2 град. Единственное, когда я датчики мучал в экстремальных условиях (один в кипяток, другой в морозильник), то они, потом, где то сутки врали на градус, хотя и влага высохла уже, и лежали рядом с другими достаточно уже, чтобы температура сравнялась, но одинаковые показания стали только ч-з день..... (видимо от шока долго оправляются:))
Все таки датчики не врут. Просто у них очень малая инерционность, поэтому они реагируют на
малейшее дуновение. Поэтому приводил пример их проверки именно в серьезном калибраторе.
Между прочим, этот калибратор выходил на режим более получаса.
малейшее дуновение. Поэтому приводил пример их проверки именно в серьезном калибраторе.
Между прочим, этот калибратор выходил на режим более получаса.


