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

เซ็นเซอร์อุณหภูมิ DS18B20 ที่เชื่อมต่อกับ MCU

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

DS18B20 หัววัดอุณหภูมิแบบดิจิตอล 9 ถึง 12 นิดหน่อย

DS18B20 หัววัดอุณหภูมิแบบดิจิตอล 9 ถึง 12 นิดหน่อย

เซนเซอร์โพรบ DS18B20 กันน้ำ

เซนเซอร์โพรบ DS18B20 กันน้ำ

TPE Overmolding เซ็นเซอร์ DS18B20 กันน้ำ IP68

TPE Overmolding เซ็นเซอร์ DS18B20 กันน้ำ IP68

รู้เบื้องต้นเกี่ยวกับเซ็นเซอร์อุณหภูมิ DS18B20
คุณสมบัติทางเทคนิค:
1. โหมดอินเตอร์เฟสสายเดียวที่ไม่ซ้ำกัน. เมื่อ DS18B20 เชื่อมต่อกับไมโครโปรเซสเซอร์, เท่านั้น 1 จำเป็นต้องใช้สายเพื่อให้เกิดการสื่อสารสองทางระหว่างไมโครโปรเซสเซอร์และ DS18B20.
②. ช่วงการวัดอุณหภูมิ -55°C~+125°C, ข้อผิดพลาดในการวัดอุณหภูมิโดยธรรมชาติ 1 ℃.
③. รองรับฟังก์ชั่นเครือข่ายหลายจุด. สามารถเชื่อมต่อ DS18B20 หลายตัวแบบขนานกับสายไฟเพียงสามสายเท่านั้น, และสูงสุดที่ 8 สามารถเชื่อมต่อแบบขนานเพื่อตระหนักถึงการวัดอุณหภูมิแบบหลายจุด. หากตัวเลขมีขนาดใหญ่เกินไป, แรงดันไฟฟ้าของแหล่งจ่ายไฟจะต่ำเกินไป, ส่งผลให้ส่งสัญญาณที่ไม่เสถียร.
④. แหล่งจ่ายไฟทำงาน: 3.0~ 5.5V/DC (สามารถใช้แหล่งจ่ายไฟปรสิตของสายข้อมูล).
⑤. ไม่จำเป็นต้องใช้ส่วนประกอบอุปกรณ์ต่อพ่วงในระหว่างการใช้งาน.
⑥. ผลการวัดจะถูกส่งแบบอนุกรมในรูปแบบดิจิทัล 9~12 บิต.
⑦. เส้นผ่านศูนย์กลางของท่อป้องกันสแตนเลสคือφ6.
⑧. เหมาะสำหรับการวัดอุณหภูมิของท่ออุตสาหกรรมขนาดกลางต่างๆ DN15~25, DN40~DN250 และอุปกรณ์ในพื้นที่แคบ.
⑨. เกลียวติดตั้งมาตรฐาน M10X1, m12x1.5, G1/2” เป็นทางเลือก.
⑩. เชื่อมต่อสาย PVC โดยตรงหรือเชื่อมต่อกล่องรวมสัญญาณแบบบอลเยอรมัน, ซึ่งสะดวกต่อการเชื่อมต่อกับอุปกรณ์ไฟฟ้าอื่นๆ.

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

รูป 1 เป็นดังนี้:

แผนภาพวงจรการเชื่อมต่อ DS18B20 และ MCU

แผนภาพวงจรการเชื่อมต่อ DS18B20 และ MCU

2. แผนภาพการเชื่อมต่อ DS18B20 และ MCU

คำจำกัดความของพารามิเตอร์พิน DS18B20

คำจำกัดความของพารามิเตอร์พิน DS18B20

3. คำจำกัดความของพิน DS18B20:

ดีคิว: ข้อมูลเข้า/ออก. เปิดอินเตอร์เฟซท่อระบายน้ำ 1 สาย. นอกจากนี้ยังสามารถจ่ายไฟให้กับอุปกรณ์ได้เมื่อใช้ในโหมดพลังงานปรสิต VDD: แหล่งจ่ายไฟบวก GND: กราวด์ไฟฟ้า 4. บทนำการวิเคราะห์ภายใน DS18B20:

การวิเคราะห์และการแนะนำโครงสร้างภายใน DS18B20

การวิเคราะห์และการแนะนำโครงสร้างภายใน DS18B20

รูปด้านบนแสดงแผนภาพบล็อกของ DS18B20, และ ROM 64 บิตจะจัดเก็บรหัสซีเรียลเฉพาะของอุปกรณ์. หน่วยความจำบัฟเฟอร์ประกอบด้วย 2 ไบต์ของการลงทะเบียนอุณหภูมิที่เก็บเอาต์พุตดิจิทัลของเซ็นเซอร์อุณหภูมิ. นอกจากนี้, หน่วยความจำบัฟเฟอร์ช่วยให้สามารถเข้าถึงรีจิสเตอร์ทริกเกอร์สัญญาณเตือนบนและล่างขนาด 1 ไบต์ (TH และ TL) และรีจิสเตอร์การกำหนดค่า 1 ไบต์. การลงทะเบียนการกำหนดค่าช่วยให้ผู้ใช้สามารถตั้งค่าความละเอียดของอุณหภูมิเป็นการแปลงดิจิทัลได้ 9, 10, 11, หรือ 12 บิต. ไทย, TL, และการลงทะเบียนการกำหนดค่าจะไม่ลบเลือน (อีพรอม), ดังนั้นจึงจะเก็บข้อมูลไว้เมื่อปิดอุปกรณ์. DS18B20 ใช้โปรโตคอลบัส 1 สายอันเป็นเอกลักษณ์ของ Maxim, ซึ่งใช้สัญญาณควบคุม. สายควบคุมต้องใช้ตัวต้านทานแบบดึงขึ้นที่อ่อนแอ เนื่องจากอุปกรณ์ทั้งหมดเชื่อมต่อกับบัสผ่านพอร์ต 3 สถานะหรือแบบเปิดเดรน (พิน DQ ในกรณีของ DS18B20). ในระบบบัสนี้ไมโครโปรเซสเซอร์ (ผู้เชี่ยวชาญ) ใช้รหัส 64 บิตที่ไม่ซ้ำกันสำหรับแต่ละอุปกรณ์. เพราะแต่ละอุปกรณ์มีรหัสเฉพาะตัว, จำนวนอุปกรณ์ที่สามารถแก้ไขได้บนบัสเดียวนั้นแทบจะไม่จำกัด.

รูปแบบการลงทะเบียนอุณหภูมิ

แผนภาพรูปแบบการลงทะเบียนอุณหภูมิ DS18B20

แผนภาพรูปแบบการลงทะเบียนอุณหภูมิ DS18B20

ความสัมพันธ์ระหว่างอุณหภูมิ/ข้อมูล

DS18B20 ความสัมพันธ์ระหว่างข้อมูลอุณหภูมิ

DS18B20 ความสัมพันธ์ระหว่างข้อมูลอุณหภูมิ

สัญญาณเตือนการทำงาน

หลังจากที่ DS18B20 ทำการแปลงอุณหภูมิแล้ว, จะเปรียบเทียบค่าอุณหภูมิกับค่าทริกเกอร์สัญญาณเตือนเสริมสองตัวที่ผู้ใช้กำหนดซึ่งจัดเก็บไว้ในรีจิสเตอร์ TH และ TL ขนาด 1 ไบต์. บิตเครื่องหมายบ่งชี้ว่าค่าเป็นบวกหรือลบ: บวก S=0, ลบ S=1. การลงทะเบียน TH และ TL นั้นไม่ลบเลือน (อีพรอม) จึงไม่ระเหยเมื่อปิดเครื่อง. TH และ TL สามารถเข้าถึงได้ผ่านไบต์ 2 และ 3 ของความทรงจำ.
รูปแบบการลงทะเบียน TH และ TL:

รีจิสเตอร์การกำหนดค่า DS18B20

รีจิสเตอร์การกำหนดค่า DS18B20

แผนผังของการจ่ายไฟให้กับ DS18B20 โดยใช้แหล่งจ่ายไฟภายนอก

แผนผังการใช้แหล่งจ่ายไฟภายนอกเพื่อจ่ายไฟให้กับ DS18B20

แผนผังการใช้แหล่งจ่ายไฟภายนอกเพื่อจ่ายไฟให้กับ DS18B20

64-รหัสหน่วยความจำแบบอ่านอย่างเดียวของบิตเลเซอร์:

DS18B20 รหัสหน่วยความจำแบบอ่านอย่างเดียวแบบเลเซอร์ 64 บิต

DS18B20 รหัสหน่วยความจำแบบอ่านอย่างเดียวแบบเลเซอร์ 64 บิต

DS18B20 แต่ละตัวมีรหัส 64 บิตที่ไม่ซ้ำกันจัดเก็บไว้ใน ROM. สำคัญน้อยที่สุด 8 บิตของรหัส ROM ประกอบด้วยรหัสตระกูลสายเดี่ยวของ DS18B20: 28ชม.. ต่อไป 48 บิตมีหมายเลขซีเรียลเฉพาะ. ที่สำคัญที่สุด 8 บิตมีการตรวจสอบความซ้ำซ้อนแบบวนรอบ (ซีอาร์ซี) ไบต์, ซึ่งคำนวณตั้งแต่แรก 56 บิตของรหัส ROM.

แผนที่หน่วยความจำ DS18B20

แผนที่หน่วยความจำ DS18B20

แผนที่หน่วยความจำ DS18B20

การลงทะเบียนการกำหนดค่า:

รูป 2

รีจิสเตอร์การกำหนดค่า DS18B20

รีจิสเตอร์การกำหนดค่า DS18B20

ไบต์ 4 ของหน่วยความจำมีการลงทะเบียนการกำหนดค่า, ซึ่งจัดไว้ดังรูป 2. ผู้ใช้สามารถตั้งค่าความละเอียดการแปลงของ DS18B20 โดยใช้บิต R0 และ R1 ได้ที่นี่ ดังแสดงในตาราง 2. ค่าเริ่มต้นในการเปิดเครื่องสำหรับบิตเหล่านี้คือ R0 = 1 และ R1 = 1 (12-ความละเอียดบิต). โปรดทราบว่ามีความสัมพันธ์โดยตรงระหว่างการแก้ไขและเวลาที่เกิด Conversion. นิดหน่อย 7 และบิต 0 ถึง 4 ในการลงทะเบียนการกำหนดค่าสงวนไว้สำหรับการใช้งานภายในของอุปกรณ์และไม่สามารถเขียนทับได้.

โต๊ะ 2 การกำหนดค่าความละเอียดของเทอร์โมมิเตอร์

การกำหนดค่าความละเอียดของเทอร์โมมิเตอร์ DS18B20

การกำหนดค่าความละเอียดของเทอร์โมมิเตอร์ DS18B20

ซีอาร์ซี เจเนอเรชั่น

ไบต์ CRC เป็นส่วนหนึ่งของรหัส DS18B20 ROM 64 บิต และมีให้ในไบต์ที่ 9 ของ scratchpad. รหัส ROM CRC จะคำนวณจากอันแรก 56 บิตของโค้ด ROM และบรรจุอยู่ในไบต์ที่สำคัญที่สุดของ ROM. CRC ของ scratchpad จะคำนวณตามข้อมูลที่จัดเก็บไว้ใน scratchpad, ดังนั้นจึงเปลี่ยนแปลงเมื่อข้อมูลใน Scratchpad เปลี่ยนแปลง. CRC จัดเตรียมวิธีการตรวจสอบข้อมูลให้กับโฮสต์บัสเมื่ออ่านข้อมูลจาก DS18B20. หลังจากตรวจสอบว่าได้อ่านข้อมูลอย่างถูกต้องแล้ว, บัสมาสเตอร์ต้องคำนวณ CRC ใหม่จากข้อมูลที่ได้รับ จากนั้นเปรียบเทียบค่านั้นกับโค้ด ROM CRC (สำหรับการอ่าน ROM) หรือแผ่นขูด CRC (สำหรับการอ่านแผ่นรอยขีดข่วน). หาก CRC ที่คำนวณได้ตรงกับการอ่าน CRC, ได้รับข้อมูลอย่างถูกต้อง. การตัดสินใจเปรียบเทียบค่า CRC และดำเนินการทั้งหมดขึ้นอยู่กับดุลยพินิจของหัวหน้ารถบัส. ไม่มีวงจรภายใน DS18B20 ที่จะป้องกันการดำเนินการตามลำดับคำสั่งหาก:
DS18B20 ซีอาร์ซี (ROM หรือสแครชแพด) ไม่ตรงกับค่าที่สร้างโดยบัสมาสเตอร์.
ฟังก์ชันพหุนามที่เทียบเท่าสำหรับ CRC คือ:
ซีอาร์ซี = X8 + X5 + X4 + 1
บัสมาสเตอร์สามารถคำนวณ CRC ใหม่และเปรียบเทียบกับค่า CRC ของ DS18B20 ได้โดย:
เครื่องกำเนิดพหุนามจะแสดงในรูป 3. วงจรนี้ประกอบด้วยชิฟต์รีจิสเตอร์และเกต yihuo, และบิตของ shift register จะถูกเตรียมใช้งานเป็น 0. บิตที่มีนัยสำคัญน้อยที่สุดของโค้ด ROM หรือบิตที่มีนัยสำคัญน้อยที่สุดของไบต์ 0 ใน scratchpad ควรถูกเลื่อนไปที่ shift register ทีละครั้ง. หลังจากขยับไปทีละน้อย 56 จาก ROM หรือบิตที่สำคัญที่สุด 7 จากแผ่นรอยขีดข่วน, ตัวสร้างพหุนามจะมี CRC ที่คำนวณใหม่. ต่อไป, ต้องเลื่อนรหัส ROM 8 บิตหรือสัญญาณ CRC ใน scratchpad DS18B20 เข้าไปในวงจร. ณ จุดนี้, ถ้า CRC ที่คำนวณใหม่ถูกต้อง, shift register จะเป็น 0 ทั้งหมด.

รูป 3: เครื่องกำเนิดไฟฟ้าซีอาร์ซี

แผนภาพกระบวนการเครื่องกำเนิดไฟฟ้า DS18B20 CRC

แผนภาพกระบวนการเครื่องกำเนิดไฟฟ้า DS18B20 CRC

วี. การเข้าถึง DS18B20:
ลำดับการเข้าถึง DS18B20 มีดังต่อไปนี้:
ขั้นตอน 1. การเริ่มต้น;

ขั้นตอน 2. คำสั่งรอม (ตามด้วยการแลกเปลี่ยนข้อมูลที่จำเป็น);

ขั้นตอน 3. คำสั่งฟังก์ชัน DS18B20 (ตามด้วยการแลกเปลี่ยนข้อมูลที่จำเป็น);

บันทึก: ลำดับนี้จะถูกปฏิบัติตามทุกครั้งที่มีการเข้าถึง DS18B20, เนื่องจาก DS18B20 จะไม่ตอบสนองหากขั้นตอนใดในลำดับหายไปหรือไม่เป็นระเบียบ. ข้อยกเว้นสำหรับกฎนี้คือ Search ROM [F0h] และการค้นหาสัญญาณเตือน [เอ็ค] คำสั่ง. หลังจากออกคำสั่ง ROM ทั้งสองนี้แล้ว, เจ้าบ้านจะต้องกลับไปสู่ขั้นตอน 1 ตามลำดับ.
(บทนำข้างต้นแปลจากคู่มืออย่างเป็นทางการ)

คำสั่งรอม
1, อ่านรอม [33ชม.]
2, จับคู่รอม [55ชม.]
3, ข้ามรอม [ซีซีเอช]
4, ค้นหาสัญญาณเตือน [เอ็ค]

คำสั่งฟังก์ชัน DS18B20
1, แปลงอุณหภูมิ [44ชม.]
2, เขียน Scratchpad (หน่วยความจำ) [4เอ๊ะ]
3, อ่านสแครชแพด (หน่วยความจำ) [พ.ศ]
4, คัดลอก Scratchpad (หน่วยความจำ [48ชม.]
5, ปลุก E2 อีกครั้ง [B8ชม]
6, อ่านพลัง [B4ชม]

(สำหรับคำอธิบายโดยละเอียดของคำสั่งข้างต้น, ดูคู่มืออย่างเป็นทางการ)

VI. เข้าถึงไทม์มิ่ง DS18B20
ในระหว่างกระบวนการเริ่มต้น, บัสมาสเตอร์จะส่งพัลส์รีเซ็ต (เท็กซัส) ระดับต่ำอย่างน้อย 480µs โดยการดึงบัส 1-Wire. แล้ว, ต้นแบบบัสจะปล่อยบัสและเข้าสู่โหมดการรับ (รับ). หลังจากปล่อยรถบัสแล้ว, ตัวต้านทานแบบดึงขึ้น5kΩจะดึงบัส 1-Wire ให้สูง. เมื่อ DS18B20 ตรวจพบขอบที่เพิ่มขึ้นนี้, รอ 15µs ถึง 60µs จากนั้นส่งพัลส์การแสดงตนโดยการดึงบัส 1-Wire ต่ำเป็นเวลา 60µs ถึง 240µs.

กำหนดเวลาการเริ่มต้น:

ช่วงเวลาในการเขียนมีสองประเภท: “เขียน 1” ช่วงเวลาและ “เขียน 0” ช่วงเวลา. รถบัสใช้การเขียน 1 ช่วงเวลาในการเขียนตรรกะ 1 ไปยัง DS18B20 และเขียน 0 ช่วงเวลาในการเขียนตรรกะ 0 ไปยัง DS18B20. ช่วงเวลาการเขียนทั้งหมดต้องมีระยะเวลาอย่างน้อย 60µs โดยมีเวลาในการกู้คืนอย่างน้อย 1µs ระหว่างช่วงเวลาการเขียนแต่ละรายการ. ช่วงเวลาการเขียนทั้งสองประเภทเริ่มต้นโดยมาสเตอร์ดึงบัส 1-Wire ให้ต่ำ (ดูรูป 14). เพื่อสร้างการเขียน 1 ช่วงเวลา, หลังจากดึงบัส 1-Wire ลงต่ำแล้ว, ต้นแบบบัสจะต้องปล่อยบัส 1 สายภายใน 15µs. หลังจากปล่อยรถบัสแล้ว, ตัวต้านทานแบบดึงขึ้น5kΩจะดึงบัสให้สูง. สร้างก
เขียน 0 ช่วงเวลา, หลังจากดึงสาย 1-Wire ลงต่ำแล้ว, นายรถโดยสารจะต้องให้รถบัสอยู่ในระดับต่ำต่อไปตลอดระยะเวลาที่กำหนด (อย่างน้อย 60µs). DS18B20 สุ่มตัวอย่างบัส 1-Wire ภายในหน้าต่าง 15µs ถึง 60µs หลังจากที่ต้นแบบเริ่มช่วงเวลาการเขียน. หากบัสสูงระหว่างหน้าต่างสุ่มตัวอย่าง, อัน 1 เขียนไปที่ DS18B20. ถ้าสายต่ำ, อัน 0 เขียนไปที่ DS18B20.
บันทึก: Timeslot เป็นส่วนหนึ่งของการทำมัลติเพล็กซ์ด้วยตนเองแบบอนุกรมของข้อมูลช่วงเวลาสำหรับช่องสัญญาณเดียว.
รูป 14 เป็นดังนี้:

ช่วงเวลาการเขียน DS18B20 ขับเคลื่อนโดยโฮสต์เพื่อดึงบัส 1 สายไปที่ระดับต่ำ

ช่วงเวลาการเขียน DS18B20 ขับเคลื่อนโดยโฮสต์เพื่อดึงบัส 1 สายไปที่ระดับต่ำ

อ่านช่วงเวลา:
DS18B20 สามารถส่งข้อมูลไปยังโฮสต์ได้ก็ต่อเมื่อโฮสต์ออกช่วงเวลาการอ่านเท่านั้น. ดังนั้น, โฮสต์จะต้องสร้างช่วงเวลาการอ่านทันทีหลังจากออกคำสั่งอ่านหน่วยความจำ [พ.ศ] หรืออ่านพาวเวอร์ซัพพลาย [B4ชม] คำสั่งเพื่อให้ DS18B20 ให้ข้อมูลที่ต้องการ. อีกทางหนึ่ง, โฮสต์สามารถสร้างช่วงเวลาการอ่านได้หลังจากออก Convert T [44ชม.] หรือเรียกคืน E2 [B8ชม] คำสั่งให้ทราบสถานะ. ช่วงเวลาการอ่านทั้งหมดต้องมีระยะเวลาอย่างน้อย 60µs โดยมีเวลาฟื้นตัวขั้นต่ำ 1µs ระหว่างช่วงเวลาต่างๆ. ช่วงเวลาการอ่านเริ่มต้นโดยมาสเตอร์ดึงบัส 1-Wire ต่ำเพื่อให้อยู่ในระดับต่ำอย่างน้อย 1µs จากนั้นจึงปล่อยบัส (ดูรูป 14). หลังจากที่ต้นแบบเริ่มช่วงเวลาการอ่าน, DS18B20 จะเริ่มส่งสัญญาณ 1 หรือ 0 บนบัส. DS18B20 จะส่ง 1 โดยถือรถบัสให้สูงแล้วส่ง 0 โดยการดึงรถบัสให้ต่ำ. เมื่อก 0 ถูกส่งไปแล้ว, DS18B20 ปล่อยบัสโดยยกบัสให้สูง. ช่วงเวลาสิ้นสุดลงและบัสถูกดึงกลับไปยังสถานะไม่ได้ใช้งานสูงโดยตัวต้านทานแบบดึงขึ้น.

DS18B20 โฮสต์โดยละเอียดอ่าน 1 ช่วงเวลา

DS18B20 โฮสต์โดยละเอียดอ่าน 1 ช่วงเวลา

DS18B20 โฮสต์ที่แนะนำอ่าน 1 ช่วงเวลา

DS18B20 โฮสต์ที่แนะนำอ่าน 1 ช่วงเวลา