เทคโนโลยีเซนเซอร์วัดอุณหภูมิ

โพรบเซนเซอร์ DS18B20 แบบกำหนดเอง & 1-ประกอบสายเคเบิล

DS18B20 เซ็นเซอร์อุณหภูมิ 1 สายกันน้ำ + ชุดบอร์ดอะแดปเตอร์

เรามีขั้วต่อเซนเซอร์ DS18B20 1 สายที่ดีที่สุดให้เลือกมากมาย, รวมถึงนาโนเฟล็กซ์, ดิสเพลย์พอร์ต, ยูเอสบี, พลังงานแสงอาทิตย์, ซาต้า, HDMI, นั่นคือความคิด, เอสเอเอส & อื่น ๆ อีกมากมาย. สายเคเบิลทั้งหมดผลิตขึ้นตามมาตรฐานอุตสาหกรรมสูงสุด. การใช้ชุดวงจรเซ็นเซอร์สำหรับการสร้างกล่องช่วยให้คุณมุ่งเน้นไปที่การออกแบบและการตลาดของคุณได้, ลดต้นทุน, และเก็บเกี่ยวผลประโยชน์จากสายการผลิตของเรา, กระบวนการประกันคุณภาพ, และความเชี่ยวชาญด้านการผลิต.

เซ็นเซอร์ DS18B20 สื่อสารโดยใช้ไฟล์ “1-ลวด” โปรโตคอล, ซึ่งหมายความว่าใช้สายข้อมูลเดียวสำหรับการสื่อสารทั้งหมดกับไมโครคอนโทรลเลอร์, การอนุญาตให้เซ็นเซอร์หลายตัวเชื่อมต่อในบรรทัดเดียวกันและระบุด้วยรหัสอนุกรม 64 บิตที่ไม่ซ้ำกันของพวกเขา; สายข้อมูลเดียวนี้ถูกดึงสูงด้วยตัวต้านทานและเซ็นเซอร์ส่งข้อมูลโดยการดึงบรรทัดต่ำในช่วงเวลาที่กำหนดเพื่อส่งบิตข้อมูล.

DS18B20 เซ็นเซอร์อุณหภูมิ: โพรบกันน้ำ DS18B20 ได้รับการออกแบบมาเพื่อการใช้งานใต้น้ำ, สามารถทำงานได้ในสภาพแวดล้อมที่เปียกหรือชื้นโดยไม่ได้รับความเสียหายจากน้ำหรือความชื้น.
แรงดันไฟฟ้าของเซ็นเซอร์อุณหภูมิ: 3.0วี ~ 5.25V;
ช่วงอุณหภูมิในการทำงาน:-55 ℃ถึง +125 ℃ (-67 ¨ ถึง +257 ฟา);
ให้การวัดอุณหภูมิเซลเซียสตั้งแต่ 9 บิตถึง 12 บิต;
โมดูลอะแดปเตอร์มีตัวต้านทานแบบดึงขึ้น, และเชื่อมต่อโดยตรงกับ GPIO ของ Raspberry Pi โดยไม่ต้องใช้ตัวต้านทานภายนอก;
ใช้ชุดโมดูลอะแดปเตอร์นี้เพื่อทำให้การเชื่อมต่อเซ็นเซอร์อุณหภูมิกันน้ำเข้ากับโครงการของคุณง่ายขึ้น.

โพรบเซ็นเซอร์อุณหภูมิดิจิตอล DS18B20 & โมดูล XH2.54 ถึง PH2.0

โพรบเซ็นเซอร์อุณหภูมิดิจิตอล DS18B20 & โมดูล XH2.54 ถึง PH2.0

จีนทำ DS18B20 ชิปอุณหภูมิ Acquisition TO-92 เซ็นเซอร์อุณหภูมิ

จีนทำ DS18B20 ชิปอุณหภูมิ Acquisition TO-92 เซ็นเซอร์อุณหภูมิ

DS18B20 เซ็นเซอร์อุณหภูมิ 1 สายกันน้ำ + ชุดบอร์ดอะแดปเตอร์

DS18B20 เซ็นเซอร์อุณหภูมิ 1 สายกันน้ำ + ชุดบอร์ดอะแดปเตอร์

1. ประเด็นสำคัญเกี่ยวกับโปรโตคอล 1-Wire:
สายข้อมูลเดี่ยว:
จำเป็นต้องใช้สายเพียงเส้นเดียวในการสื่อสารระหว่างเซ็นเซอร์และไมโครคอนโทรลเลอร์.
การสื่อสารแบบฮาล์ฟดูเพล็กซ์:
ข้อมูลสามารถส่งข้อมูลได้ทั้งสองทิศทาง, แต่จะมีทิศทางเดียวเท่านั้น.
พลังปรสิต:
DS18B20 สามารถจ่ายไฟได้โดยตรงจากสายข้อมูลระหว่างการสื่อสาร, ทำให้ไม่จำเป็นต้องใช้แหล่งจ่ายไฟแยกต่างหากในบางกรณี.
ที่อยู่อุปกรณ์ที่ไม่ซ้ำ:
เซ็นเซอร์ DS18B20 แต่ละตัวมีรหัสซีเรียล 64 บิตที่ไม่ซ้ำกันซึ่งช่วยให้ไมโครคอนโทรลเลอร์สามารถระบุและระบุเซ็นเซอร์แต่ละตัวบนบัสได้.
ขั้นตอนการสื่อสารกับ DS18B20:
1.1 รีเซ็ตชีพจร:
ไมโครคอนโทรลเลอร์เริ่มต้นการสื่อสารโดยการดึงสายข้อมูลต่ำตามระยะเวลาที่กำหนด (รีเซ็ตชีพจร).
1.2 ชีพจรแสดงตน:
หากมี DS18B20 อยู่บนรถบัส, มันจะตอบสนองด้วยชีพจรสั้นๆ, บ่งบอกถึงการมีอยู่ของมัน.
1.3 คำสั่งรอม:
ไมโครคอนโทรลเลอร์ส่งคำสั่ง ROM เพื่ออ่านโค้ด 64 บิตเฉพาะของเซ็นเซอร์เฉพาะ (“จับคู่รอม”) หรือเพื่อระบุเซ็นเซอร์ทั้งหมดบนรถบัส (“ข้ามรอม”).
1.4 คำสั่งฟังก์ชัน:
ขึ้นอยู่กับการดำเนินการที่ต้องการ (เช่นการอ่านอุณหภูมิ), ไมโครคอนโทรลเลอร์จะส่งคำสั่งฟังก์ชันเฉพาะไปยังเซ็นเซอร์.
1.5 การถ่ายโอนข้อมูล:
ข้อมูลจะถูกส่งทีละบิต, โดยมีเซ็นเซอร์ดึงสายข้อมูลต่ำเพื่อส่ง ‘0’ และปล่อยให้สายขึ้นสูงเพื่อส่ง '1'.

2. คำอธิบายโดยละเอียดเกี่ยวกับโปรโตคอลการสื่อสาร 1-Wire ของ DS18B20
เหตุผลที่มีการใช้เซ็นเซอร์ DS18B20 อย่างแพร่หลายส่วนใหญ่เนื่องมาจากโปรโตคอลการสื่อสารที่เป็นเอกลักษณ์ – 1-โปรโตคอลการสื่อสารแบบใช้สาย. โปรโตคอลนี้ทำให้ข้อกำหนดสำหรับการเชื่อมต่อฮาร์ดแวร์ง่ายขึ้น และเป็นวิธีที่มีประสิทธิภาพในการส่งข้อมูล. บทนี้จะวิเคราะห์กลไกการทำงานและกระบวนการแลกเปลี่ยนข้อมูลเชิงลึกของโปรโตคอลการสื่อสาร 1 บรรทัด เพื่อเป็นการวางรากฐานที่มั่นคงสำหรับการฝึกเขียนโปรแกรมในภายหลัง.
2.1 พื้นฐานของโปรโตคอลการสื่อสารแบบ 1 สาย
2.1.1 คุณสมบัติของโปรโตคอลการสื่อสาร 1 สาย:
DS18B20 1-Wire Communication Protocol เรียกอีกอย่างว่า “รถบัสเดี่ยว” เทคโนโลยี. มันมีคุณสมบัติดังต่อไปนี้: – การสื่อสารแบบบัสเดี่ยว: ใช้สายข้อมูลเพียงเส้นเดียวในการส่งข้อมูลแบบสองทิศทาง, ซึ่งช่วยลดความซับซ้อนของการเดินสายได้อย่างมากเมื่อเทียบกับวิธีการสื่อสารด้วยเซนเซอร์แบบหลายสายแบบดั้งเดิม. – การเชื่อมต่อหลายอุปกรณ์: รองรับการเชื่อมต่ออุปกรณ์หลายเครื่องบนบัสข้อมูลเดียว, และระบุและสื่อสารผ่านรหัสประจำตัวอุปกรณ์. – การใช้พลังงานต่ำ: ในระหว่างการสื่อสาร, อุปกรณ์อาจอยู่ในสถานะสแตนด์บายพลังงานต่ำเมื่อไม่ได้มีส่วนร่วมในการสื่อสาร. – ความแม่นยำสูง: ด้วยระยะเวลาการส่งข้อมูลที่สั้นลง, สามารถลดการรบกวนจากภายนอกและปรับปรุงความแม่นยำของข้อมูลได้.
2.1.2 รูปแบบข้อมูลและการวิเคราะห์เวลาของการสื่อสารแบบสายเดียว
รูปแบบข้อมูลของโปรโตคอลการสื่อสารแบบ 1 สายเป็นไปตามกฎเวลาที่กำหนด. รวมถึงระยะเวลาในการเริ่มต้น, เขียนจังหวะและอ่านจังหวะ:
ระยะเวลาในการเริ่มต้น: โฮสต์จะเริ่มกำหนดเวลาการตรวจจับการแสดงตนก่อน (การแสดงตนชีพจร) โดยการดึงรถบัสลงในช่วงเวลาหนึ่ง, จากนั้นเซ็นเซอร์จะส่งพัลส์การแสดงตนเพื่อตอบสนอง.
เขียนจังหวะ: เมื่อโฮสต์ส่งกำหนดเวลาการเขียน, ขั้นแรกมันจะดึงรถบัสลงมาประมาณ 1-15 ไมโครวินาที, แล้วปล่อยรถบัส, และเซ็นเซอร์จะดึงบัสลงมา 60-120 ไมโครวินาทีในการตอบสนอง.
อ่านจังหวะ: โฮสต์จะแจ้งให้เซ็นเซอร์ส่งข้อมูลโดยการดึงบัสลงแล้วปล่อย, และเซ็นเซอร์จะส่งออกบิตข้อมูลบนบัสหลังจากเกิดความล่าช้าระยะหนึ่ง.

อุปกรณ์อะนาล็อก DS18B20+, MAXIM เทอร์โมมิเตอร์ดิจิตอลแบบตั้งโปรแกรมได้ความละเอียด 1 สาย

อุปกรณ์อะนาล็อก DS18B20+, MAXIM เทอร์โมมิเตอร์ดิจิตอลแบบตั้งโปรแกรมได้ความละเอียด 1 สาย

DS18B20 เซนเซอร์วัดอุณหภูมิแบบดิจิตอล 1 สาย 12 บิตพร้อม 1 สายมิเตอร์

DS18B20 เซนเซอร์วัดอุณหภูมิแบบดิจิตอล 1 สาย 12 บิตพร้อม 1 สายมิเตอร์

เซนเซอร์โพรบ DS18B20 สำหรับการเก็บอุณหภูมิและความชื้นในห้องเย็นแบบโซ่เย็นโดยเฉพาะ

เซนเซอร์โพรบ DS18B20 สำหรับการเก็บอุณหภูมิและความชื้นในห้องเย็นแบบโซ่เย็นโดยเฉพาะ

2.2 การใช้ซอฟต์แวร์ในการสื่อสารข้อมูล
2.2.1 การเริ่มต้นและรีเซ็ตการสื่อสาร 1 บรรทัด
ในระดับซอฟต์แวร์, การเริ่มต้นและการรีเซ็ตการสื่อสารแบบ 1-Wire เป็นขั้นตอนแรกของการสื่อสาร. ต่อไปนี้เป็นรหัสเทียมเพื่อใช้กระบวนการนี้:

// ฟังก์ชันการเริ่มต้นการสื่อสาร OneWire
ทำให้ OneWire_Init เป็นโมฆะ() {
// ตั้งค่าบัสเป็นโหมดอินพุตและเปิดใช้งานตัวต้านทานแบบดึงขึ้น
ตั้งค่า PinMode(DS18B20_PIN, INPUT_PULLUP);
// รอให้รถบัสว่าง
ดีเลย์ไมโครวินาที(1);
// ส่งพัลส์รีเซ็ต
OneWire_รีเซ็ต();
}

// ฟังก์ชั่นรีเซ็ตการสื่อสาร OneWire
โมฆะ OneWire_Reset() {
// ดึงรถบัสลง
ตั้งค่า PinMode(DS18B20_PIN, เอาท์พุต_ต่ำ);
ดีเลย์ไมโครวินาที(480);
// ปล่อยรถบัส
ตั้งค่า PinMode(DS18B20_PIN, INPUT_PULLUP);
ดีเลย์ไมโครวินาที(70);
// รอการปรากฏตัวของชีพจร
ถ้า (!รอ OneWirePresence())
// ตรวจไม่พบชีพจร, อาจไม่ได้เชื่อมต่อเซ็นเซอร์หรือการเริ่มต้นล้มเหลว
ข้อผิดพลาดในการจัดการ();
ดีเลย์ไมโครวินาที(410);
}

// รอการปรากฏตัวของชีพจร
บูล WaitForOneWirePresence() {
กลับ ReadPin(DS18B20_PIN) == 0; // สมมติว่าระดับต่ำคือการมีสัญญาณ
}

2.2.2 การดำเนินการอ่านและเขียนข้อมูล

การดำเนินการอ่านและเขียนข้อมูลเป็นส่วนสำคัญของการสื่อสารด้วยเซ็นเซอร์. รหัสต่อไปนี้แสดงวิธีการเขียนไบต์ไปยังบัสแบบสายเดียว:
// เขียนไบต์ไปยังบัสแบบสายเดียว
โมฆะ OneWire_WriteByte(ข้อมูลไบต์) {
สำหรับ (อินท์ ไอ = 0; ฉัน < 8; ฉัน++) {
OneWire_WriteBit(ข้อมูล & 0x01);
ข้อมูล >>- 1;
}
}

// เขียนเล็กน้อยถึงบัสสายเดียว
ทำให้ OneWire_WriteBit เป็นโมฆะ(ข้อมูลบิต) {
ตั้งค่า PinMode(DS18B20_PIN, เอาท์พุต_ต่ำ);
ถ้า (ข้อมูล) {
// ปล่อยรถบัสเมื่อเขียน 1
ตั้งค่า PinMode(DS18B20_PIN, INPUT_PULLUP);
ดีเลย์ไมโครวินาที(1);
} อื่น {
// ดึงรถบัสให้ต่ำต่อไปในขณะที่เขียน 0
ดีเลย์ไมโครวินาที(60);
}
ตั้งค่า PinMode(DS18B20_PIN, INPUT_PULLUP);
ดีเลย์ไมโครวินาที(1);
}

ถัดมาคือฟังก์ชันอ่านไบต์:
// อ่านไบต์จากบัสสายเดียว
ไบต์ OneWire_ReadByte() {
ข้อมูลไบต์ = 0;
สำหรับ (อินท์ ไอ = 0; ฉัน < 8; ฉัน++) {
ข้อมูล >>- 1;
ถ้า (OneWire_ReadBit())
ข้อมูล |= 0x80;
}
ส่งคืนข้อมูล;
}

// อ่านสักนิดจากบัสสายเดียว
บิต OneWire_ReadBit() {
ตั้งค่า PinMode(DS18B20_PIN, เอาท์พุต_ต่ำ);
ตั้งค่า PinMode(DS18B20_PIN, INPUT_PULLUP);
ดีเลย์ไมโครวินาที(3);
ผลลัพธ์บูล = ReadPin(DS18B20_PIN);
ดีเลย์ไมโครวินาที(57);
ส่งคืนผลลัพธ์;
}

2.2.3 กลไกการตรวจสอบการสื่อสาร OneWire

โปรโตคอลการสื่อสาร OneWire ใช้กลไกการตรวจสอบอย่างง่ายในกระบวนการแลกเปลี่ยนข้อมูล, โดยปกติโดยการอ่านข้อมูลที่เขียนกลับเพื่อตรวจสอบความถูกต้องของข้อมูล. ต่อไปนี้เป็นโค้ดตัวอย่างสำหรับตรวจสอบข้อมูลที่เขียน:

ข้อมูลไบต์ = 0x55; // สมมติว่าข้อมูลที่จะส่ง

OneWire_WriteByte(ข้อมูล); // เขียนข้อมูลไปยังบัส OneWire

ไบต์ readData = OneWire_ReadByte(); // อ่านข้อมูลกลับจากบัส OneWire

ถ้า (อ่านข้อมูล != ข้อมูล) {
ข้อผิดพลาดในการจัดการ(); // หากข้อมูลที่อ่านกลับไม่ตรงกับข้อมูลที่เขียน, จัดการกับข้อผิดพลาด