Подключение датчика температуры от авто к Arduino

Assassinsnake
Offline
Зарегистрирован: 29.01.2018

Всем привет!

В ардуино я новичок, потихоньку осваиваю азы. Сейчас возник вопрос, как подключить аналоговый датчик от автомобиля к ардуино. Прочитал много способов подключения различного типа термисторов, но не нашел нужного мне.

Имеется датчик кат. номер 23.3828

Рабочее напряжение - в 3,4±0,03

И тарировки к нему:

температура °C - сопротивление Ом



100-177*90-241*80-332*70-467*60-667*50-973*45-1188*40-1459*30-2238*25-2796

20-3520*15-4450*10-5670*5-7280*0-9420*-5-12300*-10-16180*-15-21450*-20-28680 -30-52700*-40-100700

Вопрос в том, как правильно подключить данный (двухконтактный) датчик к ардуино нано и какой скетч нужен для него?

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

табличку привели бы в нормальный вид

100-177
90-241
80-332
70-467
60-667
50-973
45-1188
40-1459
30-2238
25-2796
20-3520
15-4450
10-5670
5-7280
0-9420
-5-12300
-10-16180
-15-21450
-20-28680 
-30-52700
-40-100700

 

yul-i-an
yul-i-an аватар
Offline
Зарегистрирован: 10.12.2012
Assassinsnake
Offline
Зарегистрирован: 29.01.2018

Спасибо, не знал как это сделать.

Assassinsnake
Offline
Зарегистрирован: 29.01.2018

Спасибо, почитаю.
По сути, мне нужно построить подобный график, но только так, что бы его поняла ардуино.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

yul-i-an пишет:
Может поможет http://arduino.ru/forum/programmirovanie/termorezistor

не, не поможет, во первых стабилизатор напряжения надо делать, второе число градаций АЦП  маловато, а формула получается такая:

y = 0,154x6 - 6,796x5 + 117,5x4 - 991,3x3 + 4169,x2 - 7768,x + 4869

Взято по методике оттуда же

 

yul-i-an
yul-i-an аватар
Offline
Зарегистрирован: 10.12.2012
DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

интерполяцию можно сплайнами сделать по опорным точкам. 

b707
Offline
Зарегистрирован: 26.05.2017

yul-i-an пишет:
Ну вот тогда ещё http://arduino.ru/forum/programmirovanie/povyshenie-razresheniya-atsp-s-... И ещё http://arduino.ru/forum/programmirovanie/biblioteka-dlya-termorezistora В поиске можно все найти.

в поиске какого только бреда нет.

Советую ТС прочитать эти ветки до конца, прежде чем пользоваться кодом yul-i-an

b707
Offline
Зарегистрирован: 26.05.2017

Assassinsnake пишет:

Спасибо, почитаю.
По сути, мне нужно построить подобный график, но только так, что бы его поняла ардуино.

автор, никакие библиотеки для этого не нужны. И сложные формулы тоже. Берете и забиваете в память табличку - да хоть на каждую единицу разрешения АЦП. И потом интерполяцией между соседними точками - это, как я помню, изучают в школе тольи в 6, толи в 8 классе

Siegurd
Offline
Зарегистрирован: 16.05.2017

Я лично пользуюсь полиномами. Для подобной задачи - третей степени хватает сполна (имеется ввиду точность/быстродействие).

По быстродействию пробовал счить полином 5 степени на Megе - 450-1000 мкс, что весьма не плохо, учитывая, что все переменные и константы типа float.

Полиномы подбираю в Matlab.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Более красивые графики тут:

https://www.compel.ru/lib/ne/2015/10/9-maxim-integrated-spektr-resheniy-...

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

b707 пишет:

Assassinsnake пишет:

Спасибо, почитаю.
По сути, мне нужно построить подобный график, но только так, что бы его поняла ардуино.

автор, никакие библиотеки для этого не нужны. И сложные формулы тоже. Берете и забиваете в память табличку - да хоть на каждую единицу разрешения АЦП. И потом интерполяцией между соседними точками - это, как я помню, изучают в школе тольи в 6, толи в 8 классе

в школе изучают методы повышения точности измерений, это наврядли, в советское время точно не изучали
В исходной задаче аналоговый вход измеряет напряжение от 0 до 5 вольт в разрешении 1023 единиц, напряжение на датчике 3,4 вольта, то-есть имеем 696 единиц разрешения на всю шкалу. По вышеприведённой схеме, если токограничительный резистор равен 100 омам, то еще меньше, то-есть 257 единиц разрешения...далее понятно что точность измерения 20% -то-есть никакая, получим даже не показометр ))) Задача не имеет решения предполагаемыми средствами, нужно вводить сторонний ацп, эталонный резистор мотать константаном ну и т.д. ))) я кузнец, думаю метрологи сейчас меня поправят как надо сделать правильно )))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Siegurd пишет:

Я лично пользуюсь полиномами. Для подобной задачи - третей степени хватает сполна (имеется ввиду точность/быстродействие).

По быстродействию пробовал счить полином 5 степени на Megе - 450-1000 мкс, что весьма не плохо, учитывая, что все переменные и константы типа float.

Полиномы подбираю в Matlab.

а код привести, нам начинающим будет полезно

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

trembo пишет:

Более красивые графики тут:

https://www.compel.ru/lib/ne/2015/10/9-maxim-integrated-spektr-resheniy-...

Вот за что я платиновые датчики и уважал - за высокую линейность )))
 

b707
Offline
Зарегистрирован: 26.05.2017

ua6em пишет:

в школе изучают методы повышения точности измерений, это наврядли....

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

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

ua6em пишет:
Вот за что я платиновые датчики и уважал - за высокую линейность )))

Рекомендую "зауважать" DS18B20

Siegurd
Offline
Зарегистрирован: 16.05.2017

ua6em пишет:

Siegurd пишет:

Я лично пользуюсь полиномами. Для подобной задачи - третей степени хватает сполна (имеется ввиду точность/быстродействие).

По быстродействию пробовал счить полином 5 степени на Megе - 450-1000 мкс, что весьма не плохо, учитывая, что все переменные и константы типа float.

Полиномы подбираю в Matlab.

а код привести, нам начинающим будет полезно

 

вот - целое видео

Siegurd
Offline
Зарегистрирован: 16.05.2017

trembo пишет:

ua6em пишет:
Вот за что я платиновые датчики и уважал - за высокую линейность )))

Рекомендую "зауважать" DS18B20

 

 

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

 
Penni
Penni аватар
Offline
Зарегистрирован: 18.01.2015

Siegurd пишет:

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

К меня на старой машинке стоял самодельный датчик температуры из DS18B20. Берется трубка алюминиевая подходящего диаметра, один конец расплющивается и сверлится под болт, во второй конец вставляется 18B20 и обжимается плотно, с обратной стороны заливается с термопистолета и все. У меня лет 5ть проработал, наверное и сейчас работает у нового хозяина )

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Siegurd пишет:

ua6em пишет:

Siegurd пишет:

Я лично пользуюсь полиномами. Для подобной задачи - третей степени хватает сполна (имеется ввиду точность/быстродействие).

По быстродействию пробовал счить полином 5 степени на Megе - 450-1000 мкс, что весьма не плохо, учитывая, что все переменные и константы типа float.

Полиномы подбираю в Matlab.

а код привести, нам начинающим будет полезно

 

вот - целое видео

кода ардуины в упор не увидел )))

Siegurd
Offline
Зарегистрирован: 16.05.2017

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

  float myfloat;
  float sensorCalbrate = 1.117;

  int x;
  int y;
  float z;

  x = 1;
  y = x / 2;            // y now contains 0, ints can't hold fractions    -уравнение
  z = (float)x / 2.0;   // z now contains .5 (you have to use 2.0, not 2) -уравнение 

 

b707
Offline
Зарегистрирован: 26.05.2017

Penni пишет:

К меня на старой машинке стоял самодельный датчик температуры из DS18B20. Берется трубка алюминиевая подходящего диаметра, один конец расплющивается и сверлится под болт, во второй конец вставляется 18B20 и обжимается плотно, с обратной стороны заливается с термопистолета и все. У меня лет 5ть проработал, наверное и сейчас работает у нового хозяина )

кстати да - диапазон измерений у DS-ки как раз автомобильный - от -40 до +125. точность на порядок выше терморезистора. А что касается надежности и креплений - это все решается довольно-таки просто. если руки есть.

Терморезисторы рулят в области высоких температур - сотни и тыщи градусов во всяких реакторах и печках. А в быту и авто DS18B20 - вне конкуренции.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Penni пишет:

с обратной стороны заливается с термопистолета и все. У меня лет 5ть проработал, наверное и сейчас работает у нового хозяина )

1. Есть готовые заглушенные с одной стороны цилиндрики, недавно тут пробегала ссылка на них.
2. Использую для заливки обычный сантехнический силикон.
    Даже не нейтральный, а уксусный.
    Проверено, он даже в жидком виде ток не проводит.
    Зато не вытекает и не размягчается от температуры

Гриша
Offline
Зарегистрирован: 27.04.2014

b707 пишет:

DS18B20 - вне конкуренции.

не совсем в тему...  кто-нибудь проверял показания DS18B20. Вопрос на предмет брака и точность разных No-name  производителей с Али. Уже штук 50 распаял, вот кажется что врет, а проверить нечем... 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Гриша пишет:

кто-нибудь проверял показания DS18B20. Вопрос на предмет брака и точность разных No-name  производителей с Али. Уже штук 50 распаял, вот кажется что врет, а проверить нечем... 

у мня DS18 болтается за окном в железной трубке, брал у китайцев.  До -37  показывает синхронно с температурой на телефоне (GISMETEO)плюс минус градус (разрешение 9 бит), начиная с -39 начинает врать на 2 градуса вверх. Дом, на стене которого он стоит - неотапливаемый, ИК засветки от стен нету.

Bender
Bender аватар
Offline
Зарегистрирован: 05.04.2011

Penni пишет:

К меня на старой машинке стоял самодельный датчик температуры из DS18B20. Берется трубка алюминиевая подходящего диаметра, один конец расплющивается и сверлится под болт, во второй конец вставляется 18B20 и обжимается плотно, с обратной стороны заливается с термопистолета и все. У меня лет 5ть проработал, наверное и сейчас работает у нового хозяина )


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

Думал как к штатному датчику прицепиться сохранив штатный показомер. Получается, что надо одновременно замерять напряжение и ток в цепи и тоже может получиться +/- неизвестно сколько.