MAX6675 K-வகை தெர்மோகப்பிள் சென்சாரை Arduino உடன் பயன்படுத்துவது எப்படி
அறிமுகம்
வெப்பநிலையை துல்லியமாக அளவிடுவது எண்ணற்ற மின்னணு திட்டங்களில் ஒரு அடிப்படைத் தேவையாகும், PCB சாலிடரிங்கிற்கான ரீஃப்ளோ ஓவனை உருவாக்குவது முதல் 3D பிரிண்டரின் ஹாட்எண்ட் அல்லது BBQ ஸ்மோக்கரின் வெப்பநிலையை கண்காணிப்பது வரை. நிலையான தெர்மிஸ்டர்கள் மற்றும் DS18B20 போன்ற டிஜிட்டல் சென்சார்கள் மிதமான வெப்பநிலைகளுக்கு நன்றாக வேலை செய்தாலும், விஷயங்கள் மிகவும் சூடாகும்போது அவை தோல்வியடைகின்றன. இங்குதான் K-வகை தெர்மோகப்பிள் செயல்பாட்டுக்கு வருகிறது. இது கடுமையான, மலிவான சென்சார் ஆகும், இது தீவிர வெப்பநிலைகளை அளவிடும் திறன் கொண்டது, ஆனால் அதன் சிறிய மின்னழுத்த சமிக்ஞையை படிக்கக்கூடிய டிஜிட்டல் மதிப்பாக மாற்ற ஒரு சிறப்பு இடைமுக சிப்பு தேவைப்படுகிறது.
இந்த வழிகாட்டி MAX6675 பிரேக்அவுட் போர்டை K-வகை தெர்மோகப்பிள் சென்சார் மற்றும் Arduino உடன் எவ்வாறு பயன்படுத்துவது என்பதை நிரூபிக்கிறது, செல்சியஸ் மற்றும் பாரன்ஹீட் இரண்டிலும் வெப்பநிலைகளை சீரியல் மானிட்டரில் படித்து காட்டுவதற்கு (வீடியோவில் 00:00 மணிக்கு). MAX6675 தொகுதி சிக்கலான சிக்னல் கண்டிஷனிங் மற்றும் கோல்ட்-ஜங்ஷன் இழப்பீட்டை உங்களுக்காக கையாளுகிறது, SPI நெறிமுறை வழியாக சுத்தமான டிஜிட்டல் தரவை வெளியிடுகிறது. இந்த அமைப்பு அதிக வெப்பநிலை உணர்தல் தேவைப்படும் திட்டங்களுக்கு ஏற்றது, அவை:
- 3D பிரிண்டரின் ஹாட்எண்ட் அல்லது சூடான படுக்கையின் வெப்பநிலையை கண்காணித்தல்.
- BBQ கிரில் அல்லது சமையலறை அடுப்புக்கான டிஜிட்டல் தெர்மோமீட்டரை உருவாக்குதல்.
- DIY ரீஃப்ளோ ஓவன் அல்லது சாலிடரிங் நிலையத்திற்கான வெப்பநிலை கட்டுப்படுத்தியை உருவாக்குதல்.
- வாகன அல்லது ரோபாட்டிக்ஸ் திட்டங்களில் வெளியேற்ற வாயு வெப்பநிலையை அளவிடுதல்.
வன்பொருள் கூறுகள்
இந்த டுடோரியலைப் பின்பற்ற, உங்களுக்கு பின்வரும் கூறுகள் தேவைப்படும். வயரிங் நேரடியானது, மேலும் குறியீடு Arduino போர்டின் அனைத்து பதிப்புகளுடனும் இணக்கமானது (வீடியோவில் 00:47 மணிக்கு).
- Arduino போர்டு (Uno, Mega, Nano, போன்றவை)
- MAX6675 தொகுதி (பிரேக்அவுட் போர்டு)
- K-வகை தெர்மோகப்பிள் சென்சார் (எந்த ப்ரோப் பாணியும்)
- ஜம்பர் கம்பிகள்
MAX6675 தொகுதி மிகவும் சிறியது. வீடியோவில் காட்டப்பட்டுள்ளபடி, அதன் பரிமாணங்கள் நீளம் 32.1மிமீ, அகலம் 15.6மிமீ, மற்றும் ஆழம் 16.3மிமீ (வீடியோவில் 02:35 மணிக்கு). தொகுதியில் தெர்மோகப்பிளை இணைப்பதற்கான ஒரு சிறிய டெர்மினல் பிளாக் மற்றும் மின்சாரம் மற்றும் SPI தொடர்புக்கான பின்களின் வரிசை உள்ளது. K-வகை தெர்மோகப்பிள் சரியான துருவமுனைப்புடன் தொகுதியுடன் இணைக்கப்படுகிறது; சிவப்பு (நேர்மறை) கம்பி '+' டெர்மினலுக்கும் மஞ்சள் (எதிர்மறை) கம்பி '-' டெர்மினலுக்கும் செல்கிறது (வீடியோவில் 01:27 மணிக்கு).
தொழில்நுட்ப விவரக்குறிப்புகள்
வயரிங்கில் மூழ்குவதற்கு முன், MAX6675 சிப்பின் திறன்களைப் புரிந்துகொள்வது உதவியாக இருக்கும். மாக்சிம் இன்டிகிரேட்டடின் டேட்டாஷீட்டின் படி, தொகுதி பரந்த அளவிலான வெப்பநிலைகளை அளவிட முடியும், இது தொழில்துறை மற்றும் பொழுதுபோக்கு பயன்பாடுகளுக்கு ஏற்றதாக அமைகிறது (வீடியோவில் 01:44 மணிக்கு).
- அளவீட்டு வரம்பு: 0°C முதல் +1024°C வரை
- தீர்மானம்: 12-பிட் (0.25°C)
- தொடர்பு: SPI (சீரியல் பெரிஃபெரல் இன்டர்ஃபேஸ்)
- இயக்க மின்னழுத்தம்: 3.0V முதல் 5.5V வரை
வயரிங் வழிகாட்டி
MAX6675 க்கான வயரிங் எளிதானது, மின்சார இணைப்பு மற்றும் SPI தொடர்புக்கான மூன்று டிஜிட்டல் பின்கள் மட்டுமே தேவை. இந்த எடுத்துக்காட்டில், தரவு கோடுகளுக்கு Arduino பின்கள் 4, 5, மற்றும் 6 ஐப் பயன்படுத்துவோம் (வீடியோவில் 03:28 மணிக்கு). இணைப்புகள் பின்வருமாறு:
- VCC (ஆரஞ்சு கம்பி): Arduino இன் 5V பின்னுடன் இணைக்கிறது (வீடியோவில் 02:56 மணிக்கு).
- GND (மஞ்சள் கம்பி): Arduino இன் GND பின்னுடன் இணைக்கிறது (வீடியோவில் 02:51 மணிக்கு).
- SO - சீரியல் அவுட் (பச்சை கம்பி): Arduino டிஜிட்டல் பின் 4 உடன் இணைக்கிறது (வீடியோவில் 03:01 மணிக்கு).
- CS - சிப் செலக்ட் (சாம்பல் கம்பி): Arduino டிஜிட்டல் பின் 5 உடன் இணைக்கிறது (வீடியோவில் 03:08 மணிக்கு).
- SCK - சீரியல் க்ளாக் (வெள்ளை கம்பி): Arduino டிஜிட்டல் பின் 6 உடன் இணைக்கிறது (வீடியோவில் 03:14 மணிக்கு).
குறியீடு விளக்கம்
இந்த டுடோரியலில் வழங்கப்பட்ட குறியீடு எளிமையாகவும் மாற்றியமைக்க எளிதாகவும் வடிவமைக்கப்பட்டுள்ளது. இது max6675.h என்ற நூலகத்தை நம்பியுள்ளது, அதை நீங்கள் முதலில் நிறுவ வேண்டும். நூலகத்தை ZIP கோப்பாக பதிவிறக்கம் செய்து, Sketch -> Include Library -> Add .ZIP Library க்குச் சென்று உங்கள் Arduino IDE இல் சேர்க்கலாம். நிறுவிய பிறகு, நூலகம் அங்கீகரிக்கப்படுவதற்கு Arduino IDE ஐ மூடி மீண்டும் திறக்க வேண்டும் (வீடியோவில் 04:14 மணிக்கு).
நூலகம் நிறுவப்பட்டதும், வழங்கப்பட்ட குறியீட்டை உங்கள் ஸ்கெட்ச்சில் நகலெடுக்கலாம். முதல் படி நூலக கோப்பைச் சேர்ப்பது, இது MAX6675 சிப்புடன் தொடர்பு கொள்ள தேவையான செயல்பாடுகளை Arduino க்கு அணுகலை வழங்குகிறது (வீடியோவில் 03:55 மணிக்கு). அடுத்து, தொகுதி இணைக்கப்பட்ட பின்களை நீங்கள் வரையறுப்பீர்கள். உங்கள் Arduino இல் வேறு பின்களைப் பயன்படுத்த முடிவு செய்தால் நீங்கள் மாற்ற வேண்டிய ஒரே குறியீட்டு வரிகள் இவைதான் (வீடியோவில் 04:52 மணிக்கு).
int soPin = 4;// SO=சீரியல் அவுட்
int csPin = 5;// CS = சிப் செலக்ட் CS பின்
int sckPin = 6;// SCK = சீரியல் க்ளாக் பின்
பின்களை வரையறுத்த பிறகு, MAX6675 வகுப்பின் ஒரு நிகழ்வை உருவாக்குகிறோம். இந்த வரியில் உள்ள வாதங்களின் வரிசை முக்கியமானது; அவை sckPin, csPin, மற்றும் soPin வரிசையில் இருக்க வேண்டும். அவற்றை மாற்றினால் சென்சார் சரியாக வேலை செய்யாது (வீடியோவில் 05:21 மணிக்கு).
MAX6675 robojax(sckPin, csPin, soPin);// MAX6675 இன் நிகழ்வு பொருளை உருவாக்கவும்
setup() செயல்பாட்டில், 9600 பாட் வீதத்தில் சீரியல் மானிட்டரை துவக்குகிறோம், இதனால் வெப்பநிலை அளவீடுகளை எங்கள் கணினியில் பார்க்க முடியும் (வீடியோவில் 05:41). முக்கிய தர்க்கம் loop() செயல்பாட்டில் உள்ளது. இங்கே, robojax பொருளின் readCelsius() மற்றும் readFahrenheit() முறைகளை அழைத்து வெப்பநிலையைப் பெற்று சீரியல் மானிட்டரில் அச்சிடுகிறோம். லூப்பின் முடிவில் 1000 மில்லி விநாடிகள் (1 விநாடி) தாமதம் சேர்க்கப்படுகிறது, இது புதுப்பிப்பு வீதத்தை அமைக்கிறது (வீடியோவில் 05:54). வேகமான புதுப்பிப்புகள் வேண்டுமெனில், இந்த தாமதத்தை 100 மில்லி விநாடிகள் அல்லது அதற்கும் குறைவாக குறைக்கலாம் (வீடியோவில் 08:44).
Serial.print("C = ");
Serial.print(robojax.readCelsius());
Serial.print(" F = ");
Serial.println(robojax.readFahrenheit());
delay(1000);
இந்த குறியீடு ஒரு அடிப்படை வாசிப்பு சோதனை ஆகும். வெப்பநிலை வரம்புகளின் அடிப்படையில் செயல்களைத் தூண்டுவதற்கு இதை எளிதாக விரிவாக்கலாம். எடுத்துக்காட்டாக, வெப்பநிலை ஒரு குறிப்பிட்ட மதிப்பைத் தாண்டினால் சரிபார்க்க if அறிக்கையைப் பயன்படுத்தலாம், பின்னர் ஒரு அமைப்பை குளிர்விக்க விசிறியை இயக்கலாம், அல்லது வெப்பநிலை மிகவும் குறைந்தால் ஹீட்டரை இயக்கலாம் (வீடியோவில் 06:42).
நேரடி திட்ட செயல்விளக்கம்
சென்சாரின் திறன்களை நிரூபிக்க, வீடியோ தெர்மோகப்பிளை வெப்ப துப்பாக்கியால் சூடாக்குவதைக் காட்டுகிறது. வெப்பம் பயன்படுத்தப்படும்போது, சீரியல் மானிட்டரில் வெப்பநிலை வாசிப்பு வேகமாக அதிகரிக்கிறது. செயல்விளக்கம் வெப்பநிலை 125 டிகிரி செல்சியஸுக்கு மேல் செல்வதைக் காட்டுகிறது, அதனுடன் தொடர்புடைய பாரன்ஹீட் மதிப்பும் காட்டப்படுகிறது (வீடியோவில் 08:25). வெப்ப துப்பாக்கி அகற்றப்பட்டவுடன், வெப்பநிலை படிப்படியாக குளிர்வதைக் காணலாம், இது சென்சாரின் துல்லியம் மற்றும் பதிலளிக்கும் தன்மையை உறுதிப்படுத்துகிறது. இந்த நிகழ்நேர பின்னூட்டம் MAX6675 தொகுதியை துல்லியமான, அதிக வெப்பநிலை கண்காணிப்பு தேவைப்படும் எந்த திட்டத்திற்கும் சிறந்த தேர்வாக ஆக்குகிறது.
வீடியோ அத்தியாயங்கள்
- [00:00] அறிமுகம் மற்றும் திட்ட கண்ணோட்டம்
- [01:15] வன்பொருள் விளக்கம்
- [02:41] வயரிங் விளக்கம்
- [03:28] குறியீடு விளக்கம்
- [07:26] வெப்பநிலை அளவீட்டு செயல்விளக்கம்
// Original library source:
// www.ladyada.net/learn/sensors/thermocouple
/*
* Arduino code to read temperature using MAX6675 chip and K-type thermocouple
* and display it on the serial monitor
*
* Watch video instructions for this code: https://youtu.be/VGqONmUinqA
* Download this code from Robojax.com
*
* Updated by Ahmad Shamshiri for Robojax.com on Saturday, November 23, 2018
* at 21:25 in Ajax, Ontario, Canada
*
* This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
* This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "max6675.h" // max6675.h file is part of the library that you should download from Robojax.com
int soPin = 4;// SO=Serial Out
int csPin = 5;// CS = chip select CS pin
int sckPin = 6;// SCK = Serial Clock pin
MAX6675 robojax(sckPin, csPin, soPin);// create instance object of MAX6675
void setup() {
Serial.begin(9600);// initialize serial monitor with 9600 baud
Serial.println("Robojax MAX6675");
}
void loop() {
// Basic readout test, just print the current temperature
// Robojax.com MAX6675 temperature reading on serial monitor
Serial.print("C = ");
Serial.print(robojax.readCelsius());
Serial.print(" F = ");
Serial.println(robojax.readFahrenheit());
delay(1000);
}
நீங்கள் தேவைப்படும் எண்ணங்கள்
-
அலிஎக்ஸ்பிரஸ்Purchase MAX6675 K-Type from Amazons.click.aliexpress.com
-
பாங்குட்Purchase MAX6675 K-Type from Banggoodbanggood.com
வளங்கள் மற்றும் மேற்கோள்கள்
-
வெளியுறுப்புDownload the MAX6675 Library (from GitHub)github.com
-
வெளியுறுப்புMAX6675 datasheet (PDF)datasheets.maximintegrated.com
கோப்புகள்📁
மற்ற கோப்புகள்
-
MAX6675 நூலகம்
robojax-max6675-thermo.zip0.01 MB