Безконтактен температурен сензор MLX90614 - Как да се свържете - AVR - Проекти върху AVR микроконтролери

температурен

Накрая се сдобих с един интересен сензор за пирометър MLX90614. Това е инфрачервен сензор, който ви позволява да определяте температурата, като използвате безконтактен метод. Такъв сензор ви позволява почти моментално да отчетете телесната температура чрез измерване на инфрачервеното лъчение на обекта. Сега нека го опознаем по-добре и да анализираме работата в Bascom-AVR.

Първо, нека разберем какви модификации на сензора съществуват. Първо, те се различават по захранващото напрежение, има версии с 3 и 5 волта.

На второ място, те се различават по броя на сензорите вътре в сензора: те се доставят с един сензор и два:

свържете

Има и версия на сензора, в която има два сензора, но показанията от тях се сумират и усредняват. При мен дойде такъв сензор.

Третата разлика е ъгълът на гледане. Има, както е на снимката по-горе, с отворен прозорец, в който ъгълът на гледане достига до 180 °. И има версии с намален ъгъл до 35 °, 10 ° и 5 °. Закупих сензор с ъгъл на гледане от 10 °, но се оказа, че там няма нищо сложно, просто върху корпуса на сензора се притиска черна тръба, която отрязва част от изгледа. Следователно можете да вземете отворени сензори, те са по-евтини и да залепите сами тръбата. Но би било по-интересно да добавите чифт лещи, само намирането на такива, които пропускат инфрачервено лъчение, вероятно няма да е лесно.

Всички сензори са свързани чрез стандартен I2C интерфейс. Пиноут от страната на краката.

безконтактен

Говорейки за измерени температури. Температурната граница за измерения обект е -70 ÷ 380 ° C, а за самия сензор -40 ÷ 125 ° C.

Данните в сензора се съхраняват в сурова форма и заемат два байта, следователно, за да ги преобразувате в градуси по Целзий, е необходимо преобразуване: разделете стойността на 50 и след това извадете 273,15 от резултата. Също така трябва да вземете предвид една функция - сензорът първо изпраща ниския байт, а след това и високия. Следователно получените данни трябва да бъдат „обърнати“ преди преобразуване.

Например, сглобих схема на микроконтролер ATmega8, показанията ще се показват на LCD дисплея. Сензорът се предлага във версия с пет волта, така че не са необходими преобразуватели между него и веригата. Само изтегляне с резистори до положително в съответствие с протокола I2C протокол

свържете

Програма Bascom-AVR:

$ regfile = "m8def.dat"
$ кристал = 8000000


'конфигурация на дисплея
Конфигуриране Lcd = 16 * 2
Конфигуриране Lcdpin = Pin, Rs = Portb. 5, E = Portb. 4, Db4 = Portb. 3, Db5 = Portb. 2, Db6 = Portb. 1, Db7 = Portb. 0

'' връзка на сензора
Конфигуриране Scl = Portc. 0
Конфигуриране Sda = Portc. един

Дим Стойност Като Байт 'получен байт
Дим Темп Като Единична 'температура
Дим Tempword Като Word 'помощна променлива
Дим Irtemp Като Струна * 8 'температура на обекта
Дим Senstemp Като Струна * 8 'температура на сензора
Дим Cmd Като Байт 'команди за сензора

Cls
Намерете единадесет
Lcd "Да се"; Irtemp; "° C" 'показва температурата на обекта
Долна линия
Lcd "Ts"; Senstemp; "° C" 'показва температурата на сензора


'подпрограма за анкетиране на сензора
Read_mlx:

I2crbyte Стойност, Ак получавате втория байт
Tempword = Tempword Или Стойност 'добавете два байта

I2cstop 'край на анкетирането на сензора

Завъртете Tempword, Наляво, 8 'разменете два байта в променлива

Temp = Tempword * 0. 02 'преобразува данните в температура по Целзий
Темп = Темп - 273. петнадесет

Програмата показва две температури. Горната линия е температурата на измервания обект, в долната линия - температурата на самия сензор.

Снимки от експерименти. Температура на горещ чайник

безконтактен

чайникът просто кипна, но температурата на пластмасовия корпус не се повиши над 80.

температура на фризера

сензор

И ето една интересна снимка от листа с данни, показваща грешката на сензора в зависимост от външни фактори.
Измервана температура на обекта, Ta - околна температура

сензор

По време на тестването забелязах една характеристика, за по-точно измерване на температурата, сензорът трябва да бъде максимално близо, така че обектът да покрива целия ъгъл на гледане на сензора. Като цяло сензорът е интересен, хареса ми. И ето интересен проект с този сензор https://geektimes.ru/post/257850/

Сензор закупен тук, въпреки че тук можете да купите по-евтино тук