Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

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

Пт май 25, 2018 09:14:44

afz писал(а):И вся эта возня, естественно, не ради скорости, а ради компактности кода - подобная задачка легко влезет и в тиньку с 1К флеши (512 машинных команд максимум).
вообще-то преобразование кода датчика в "осмысленное число градусов" необходимо только для визуализации человеку. у упомянутой вами тиньки вряд ли будет возможность выводить результат измерений на дисплей, а выполнять какие-то регулирующие функции она сможет и при использовании "сырых" кодов датчика, достаточно привести все необходимые "пороги" в единый формат. и это даст выигрыш куда бОльший, нежели оптимизация метода конвертации кодов температуры.

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

Пт май 25, 2018 09:29:53

Скорее всего снова на грабли с расчетом минусовых значений при полноразмерном преобразовании (с дробной частью) кому-то повезло наскочить.
Так все уже даавно пережовано многократно.
8)

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

Сб июн 02, 2018 06:38:53

akl писал(а):И получите в результате фигню.
Да, что-то я поторопился. Если смотреть на код температуры, как на целое число, то оно же получается умноженным на 16. Тогда еще проще. Умножаем код температуры на 10, прибавляем 8 и делим на 16, после чего преобразуем полученное целое число в строку. Последнюю цифру интерпретируем, как десятые, остальные - как целую часть. Не забываем о знаке - его перед всеми операциями надо отделить и работать с абсолютной величиной кода температуры.

ARV писал(а):у упомянутой вами тиньки вряд ли будет возможность выводить результат измерений на дисплей
Если индикатор представляет набор простых семисегментных светиков - безусловно. А если там что-то с SPI, I2C, да, хотя бы, с банальным сдвиговым регистром и сигналом передачи из него в регистр отображения, вроде 4094 (если не врет мой склероз - те же TIC'и) - легко.

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

Сб июн 02, 2018 08:48:22

Для удобства работы автоматики регуляторов достаточно сделать смещение нуля к началу шкалы измерений.
А использовать дробную часть или обойтись без неё - это уже вопрос конкретной системы. Не забываем также и про время разогрева/ изменения температуры самого датчик(инерционность/постоянная времени теплопередачи корпуса) может получится так, что больше чем на полградуса контроль будет просто лишен смысла...
:roll:

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

Сб июн 02, 2018 09:38:34

BOB51 писал(а):Для удобства работы автоматики регуляторов достаточно сделать смещение нуля к началу шкалы измерений.
Безусловно. Для автоматики. Я же пишу про термометр, на показания которого смотрят люди.

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

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

Сб июн 02, 2018 11:49:15

Так для термометра и пол-градуса есть избыточная точность.
Тем более, что разброс даже среди рядышком лежащих экземпляров из одной коробушки может иметь минимум +/-1.
У потребителя сразу споры о "неисправностях/истинности" начинаются.
8)

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

Сб июн 09, 2018 12:15:18

Выкладываю рабочие функции работы с ds18b20
https://docviewer.yandex.ru/view/525091 ... c5fQ%3D%3D

мжт кому то при годиться.

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

Сб июн 09, 2018 18:37:43

vk696 писал(а):Выкладываю рабочие функции работы с ds18b20
и кому нужна ваша "выкладка", для просмотра которой надо авторизоваться в "яндексе"? неприлично так делать

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

Ср июн 13, 2018 08:55:09

Исправляюсь. приложил в архиве к сообщению.
Вложения
DS18B20.7z
(962.11 KiB) Скачиваний: 659

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

Пн янв 28, 2019 23:09:21

А тут уже писали по поводу саморазогрева датчика?
Я этого почти не наблюдаю. Что раз в 800 мс читаю, что раз в 5 секунд. Температура меняется всего на 0,1 градус, что скорее в пределах шума и погрешностей... Он без гильзы, просто висит в воздухе в коробочке.

А другие пишут что разогрев аж до 0,5 градуса. Врут собаки или датчики разные?

С какой скоростью рекомендуется читать чтобы соблюсти компромисс точности и разогрева?


З.Ы. Вот еще нашел важнейшую статью по поводу помехозащищенности проводов и фильтра: https://consense.com.ua/forum/viewtopic.php?f=70&t=183 Оказывается применив фильтр, можно не боятся длинной связи на обычных проводах без экрана и витой пары.

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

Пн янв 28, 2019 23:45:05

Upgrader писал(а):Я этого почти не наблюдаю.
Дак это же прекрасно :)
Вообще, любое устройство, потребляющее энергию, должно греться. И чем больше оно потребляет, тем больше греется. Это физика, которую не нае.... :))
Другое дело, в какой среде находится датчик. Если он висит в воздухе, который очень плохо проводит тепло, то на нём саморазогрев будет более ощутим, чем, например, на опущенном в воду, которая хорошо (по крайней мере - лучше, чем воздух) проводит тепло.

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

Вт янв 29, 2019 18:31:08

Upgrader писал(а):А другие пишут что разогрев аж до 0,5 градуса. Врут собаки или датчики разные?
Китайцы давно освоили выпуск квази DS18B20.
Уже сталкивался что при параллельном включении нескольких китаедатчиков линия dq просаживался так, что МК воспринимал ее как лог.0. Т.е. ток потребления по DQ был крайне большим. По одиночке работали, но на изменения температуры реагировали медленно.

Недавно купил себе на али партию типо DSок. Вроде как рабочие. Пускай лежат для опытов. Даже удалось деньги вернуть с али. Как я выяснил самый первый критерий для выяснения подделки это считать scrathpad и сравнить со значениями по умолчанию.

Для скринов воспользовался прогой от ARV, удобненькая.

Я еще в MAXIM отправил фото маркировок и вот ответ.
The markings are like the ones on your component but we see that the 3rd line (date code) and the 4th line (lot code) do not match.


Так что может какие-то и саморазогреваются.
Вложения
fake sensor.png
(32.87 KiB) Скачиваний: 699

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

Вт янв 29, 2019 18:39:08

Надо же... Моя программка кому-то нужна... Прямо прослезился...

Что касается саморазогрева, то лично могу засвидетельствовать: факт имел место быть именно на настоящих датчиках, купленных у официального дилера Dallas Semiconductor ещё до слияния с максимкой.
Саморазогрев наблюдался при постоянном питании датчика, не при паразитном. И да, это был DS1820 в чистом виде, без буковок. Проблема на тот момент была признана производителем и описана в каком-то апноуте. С тех пор, возможно, что-то и изменилось...

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

Вт янв 29, 2019 21:56:08

Ааа, возможно разогрев может идти просто когда подключено питание. У меня по 3 проводам оно всегда подключено. И скорее всего так оно и есть, потому что я уже затра№ался калибровать, сейчас одно, а завтра другое. Но вот частота опроса точно не влияет на нагрев.

А стоит ли дергать питание каждую секунду? Хм...

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

Вт янв 29, 2019 22:31:13

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

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

Вт янв 29, 2019 22:47:34

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

Я понял что DS18(B/S)20 не самый лучший термометр :)))

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

Ср янв 30, 2019 13:40:17

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

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

Ср янв 30, 2019 13:49:05

То больше для работы регулятора важно.
8)
Но опять же там много разных "побочных факторов".
:roll:

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

Ср янв 30, 2019 14:25:13

А зачем быстрый термометр, если окружающая температура меняется в лучшем случае на несколько градусов в час?
Ну термометры не только температуру окружающего воздуха меряют :))) :write:

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

Ср янв 30, 2019 14:30:53

Но то термометры, а это DS-ка. Она как бы под воздух и заточена, насколько я понимаю.

И для этого она - вполне неплохой вариант.
Ответить