Ultrasonic sensor ทํางานอย่างไร

74 ครั้งเข้าชม
ultrasonic sensor ทำงานอย่างไร มีขั้นตอน: 1. ส่ง Pulse 10 ไมโครวินาทีไปที่ขา Trig 2. ปล่อยคลื่น 40 kHz จำนวน 8 ชุด 3. คลื่นสะท้อนกลับจากวัตถุ 4. วัดเวลาผ่านสัญญาณ Echo ที่ขา Echo
ความคิดเห็น 0 ครั้งถูกใจ

Ultrasonic sensor ทำงานอย่างไร? 4 ขั้นตอน

ultrasonic sensor ทำงานอย่างไร เป็นความรู้พื้นฐานที่ช่วยให้การวัดระยะทางด้วยคลื่นเสียงแม่นยำขึ้น การเข้าใจขั้นตอนการทำงานจะช่วยลดข้อผิดพลาดจากปัจจัยแวดล้อม เช่น อุณหภูมิ เพื่อให้ได้ค่าที่ถูกต้อง การนำไปใช้งานจริงจะได้ระยะทางที่เชื่อถือได้ ลดความผิดพลาดจากการประมาณค่า

Ultrasonic sensor ทำงานอย่างไร: เจาะลึกหลักการสะท้อนของคลื่นเสียงที่เปลี่ยนโลกการวัดระยะทาง

ultrasonic sensor คืออะไร ทำงานโดยใช้หลักการสะท้อนของคลื่นเสียงความถี่สูงที่มนุษย์ไม่ได้ยิน (ปกติคือ 40 kHz) โดยตัวเซนเซอร์จะส่งคลื่นออกไปกระทบวัตถุแล้วจับเวลาที่เสียงเดินทางสะท้อนกลับมาเพื่อคำนวณเป็นระยะทางที่แม่นยำ

หลักการนี้คล้ายกับการทำงานของค้างคาวที่ใช้เสียงในการนำทางในที่ mืดสนิท แม้ดูเหมือนจะเป็นเรื่องซับซ้อน แต่ในความเป็นจริงมันคือการคำนวณทางฟิสิกส์พื้นฐานที่รวมเข้ากับแผงวงจรอิเล็กทรอนิกส์ขนาดเล็ก ในฐานะที่ผมเคยคลุกคลีกับการสร้างหุ่นยนต์หลบหลีกสิ่งกีดขวางมาหลายปี ผมบอกได้เลยว่าเซนเซอร์ชนิดนี้คือ ดวงตา คู่แรกที่มือใหม่ต้องทำความรู้จัก แต่เชื่อไหมว่ามีปัจจัยสำคัญหนึ่งที่คนส่วนใหญ่มักมองข้าม ซึ่งอาจทำให้การวัดระยะทางของคุณเพี้ยนไปได้ถึง 10-15% เลยทีเดียว ผมจะเฉลยเรื่องนี้ในส่วนของผลกระทบจากสภาพแวดล้อมด้านล่าง

กระบวนการส่งและรับสัญญาณ: 4 ขั้นตอนการทำงานที่เกิดขึ้นในเสี้ยววินาที

การทำงานของ Ultrasonic sensor เช่นรุ่นยอดนิยมอย่าง hc-sr04 หลักการทำงาน แบ่งออกเป็นขั้นตอนที่ชัดเจนและรวดเร็วมากจนเราไม่สามารถมองเห็นด้วยตาเปล่าได้ ขั้นตอนเหล่านี้เกิดขึ้นซ้ำๆ หลายสิบครั้งต่อวินาทีเพื่อให้ได้ข้อมูลระยะทางที่เรียลไทม์ที่สุด

ลำดับการทำงานมาตรฐานประกอบด้วย: 1. การกระตุ้น (Trigger): ไมโครคอนโทรลเลอร์ส่งสัญญาณไฟฟ้า Pulse ขนาด 10 ไมโครวินาทีไปยังขา Trig ของเซนเซอร์ 2. การปล่อยคลื่น (Emission): เซนเซอร์ปล่อยคลื่นอัลตร้าโซนิคความถี่ 40,000 รอบต่อวินถี่ (40 kHz) จำนวน 8 ชุดออกไปในอากาศ [4] 3. การสะท้อน (Echo): คลื่นวิ่งไปกระทบวัตถุและสะท้อนกลับมายังตัวรับสัญญาณของเซนเซอร์ 4. การจับเวลา (Measurement): เซนเซอร์จะส่งสัญญาณกลับไปที่ขา Echo โดยความกว้างของสัญญาณ Pulse นี้จะเท่ากับระยะเวลาที่คลื่นเดินทางไป-กลับ

ผมเคยสงสัยตอนเริ่มศึกษาใหม่ๆ ว่าทำไมต้องส่งคลื่น 8 ชุด? คำตอบคือเพื่อความแม่นยำและป้องกันสัญญาณรบกวนจากเสียงรอบข้างที่มีความถี่ต่ำกว่า หากส่งเพียงคลื่นเดียว เซนเซอร์อาจจะแยกไม่ออกระหว่างเสียงสะท้อนของตัวเองกับเสียงปิดประตูหรือเสียงลมพัดแรงๆ การใช้ชุดคลื่นความถี่เฉพาะช่วยให้ระบบมีความเสถียรมากขึ้นอย่างมาก

สูตรคำนวณระยะทาง: ทำไมเราต้องหารสองเสมอ?

เมื่อเราได้เวลา (Time) มาแล้ว การเปลี่ยนให้เป็นระยะทางต้องใช้ สูตรคำนวณระยะทาง ultrasonic sensor เป็นตัวแปรสำคัญ โดยปกติความเร็วเสียงในอากาศจะอยู่ที่ประมาณ 343 เมตรต่อวินาที หรือ 0.0343 เซนติเมตรต่อไมโครวินาที [2]

สูตรที่ใช้คือ: ระยะทาง = (เวลา 0.0343) / 2 สาเหตุที่เราต้องหารสองก็เพราะเวลาที่เซนเซอร์วัดได้คือเวลาที่คลื่นเดินทางจากตัวส่งไปหาวัตถุ บวกกับ เวลาที่สะท้อนกลับมาหาตัวรับ หากไม่หารสอง ระยะทางที่ได้จะกลายเป็นสองเท่าของความเป็นจริงเสมอ

บอกตามตรงว่าสมัยที่ผมหัดเขียนโปรแกรม Arduino ครั้งแรก และพยายามศึกษาว่า ultrasonic sensor ทำงานอย่างไร ผมลืมหารสองในโค้ด ผลที่ได้คือหุ่นยนต์ของผมหยุดห่างจากกำแพงไกลเกินไปจนดูตลก ผมเสียเวลาตรวจสอบวงจรอยู่นานก่อนจะพบว่ามันเป็นเพียงความผิดพลาดทางคณิตศาสตร์เล็กๆ น้อยๆ นี่คือบทเรียนที่ย้ำว่าความเข้าใจในฟิสิกส์เบื้องต้นนั้นสำคัญพอๆ กับการเขียนโค้ด

ปัจจัยที่ส่งผลต่อความแม่นยำ: ความลับของอุณหภูมิที่หลายคนพลาด

นี่คือส่วนที่ผมสัญญาไว้ตอนต้น การตรวจสอบลึกซึ้งว่า ultrasonic sensor ทำงานอย่างไร จะพบว่าความแม่นยำของมันไม่ได้คงที่เสมอไป เพราะความเร็วเสียงขึ้นอยู่กับอุณหภูมิของอากาศ ในอุณหภูมิที่ร้อนขึ้น โมเลกุลของอากาศจะเคลื่อนที่เร็วขึ้น ทำให้เสียงเดินทางได้ไวขึ้นตามไปด้วย

ความเร็วเสียงจะเพิ่มขึ้นประมาณ 0.6 เมตรต่อวินาทีต่อทุกๆ 1 องศาเซลเซียสที่เพิ่มขึ้น [1] หากคุณใช้งานในห้องแอร์ที่อุณหภูมิ 25 องศาเซลเซียส กับการใช้งานกลางแจ้งในประเทศไทยที่อุณหภูมิ 40 องศาเซลเซียส ค่าความเร็วเสียงจะต่างกันเกือบ 3% ซึ่งส่งผลให้การวัดระยะทางคลาดเคลื่อนได้หลายเซนติเมตรหากคุณไม่ได้ชดเชยค่าอุณหภูมิในซอฟต์แวร์

การคำนวณความเร็วเสียงที่แม่นยำขึ้นสามารถใช้สูตร: v = 331.3 + (0.606 อุณหภูมิ) เมตรต่อวินาที สำหรับโปรเจกต์ที่ต้องการความละเอียดสูง เช่น การวัดระดับน้ำในถังขนาดใหญ่ การติดตั้งเซนเซอร์วัดอุณหภูมิควบคู่ไปด้วยจึงเป็นสิ่งจำเป็นที่ขาดไม่ได้เลย

ข้อจำกัดและการเลือกพื้นผิว: สิ่งที่คลื่นเสียงไม่ชอบ

แม้ Ultrasonic sensor จะทำงานได้ดีในที่มืดและไม่เกี่ยงเรื่องสีของวัตถุ (ต่างจากเซนเซอร์แสง IR) แต่จุดอ่อนที่ใหญ่ที่สุดของมันคือ วัสดุซับเสียง วัตถุที่มีผิวอ่อนนุ่ม เช่น ฟองน้ำ พรมหนาๆ หรือเสื้อผ้าขนสัตว์ จะดูดซับคลื่นอัลตร้าโซนิคแทนที่จะสะท้อนกลับมา ทำให้เซนเซอร์มองไม่เห็นวัตถุนั้น

นอกจากนี้ มุมตกกระทบก็สำคัญ หากคุณวัดระยะทางไปยังวัตถุที่วางเอียงเป็นมุมมากกว่า 45 องศา คลื่นเสียงอาจจะสะท้อนแฉลบไปทิศทางอื่นแทนที่จะกลับมาหาตัวรับ ส่งผลให้เซนเซอร์รายงานค่าผิดพลาดหรือวัดระยะทางไม่ได้เลย (Out of range)

รอสักครู่ มีเรื่องที่แย่กว่านั้นอีก ครั้งหนึ่งผมเคยพยายามใช้เซนเซอร์ตัวนี้ตรวจจับม่านบางๆ ในห้องแล็บ ผลคือหุ่นยนต์พุ่งชนม่านเต็มแรง เพราะคลื่นเสียงทะลุผ่านรูเล็กๆ ของผ้าไปเกือบหมดและสะท้อนกลับมาไม่เพียงพอ เหตุการณ์นั้นทำให้ผมเรียนรู้ว่าการรู้ขีดจำกัดของอุปกรณ์สำคัญกว่าการรู้วิธีใช้เพียงอย่างเดียวเสียอีก

ส่วนประกอบหลักของ Ultrasonic Sensor

ส่วนประกอบของ ultrasonic sensor ประเภทนี้ไม่ได้ซับซ้อนมากนัก แต่มันคือการทำงานร่วมกันของระบบไฟฟ้าและกลศาสตร์ที่ลงตัวเพื่อให้ได้ประสิทธิภาพสูงสุดในการตรวจจับระยะทาง 2 ซม. ถึง 400 ซม. [3]

ส่วนประกอบที่ต้องรู้จักประกอบด้วย: Piezoelectric Transducer: เป็นหัวใจหลักของ หลักการทำงานของ ultrasonic sensor ทำหน้าที่เปลี่ยนพลังงานไฟฟ้าเป็นแรงสั่นสะเทือนทางกลเพื่อสร้างเสียง และในขณะเดียวกันก็เปลี่ยนแรงสั่นสะเทือนกลับเป็นไฟฟ้าเมื่อได้รับเสียงสะท้อน Control Circuit: วงจรควบคุมที่ทำหน้าที่จัดการจังหวะการส่งสัญญาณและขยายสัญญาณเสียงสะท้อนที่มักจะเบาบางมากให้กลายเป็นสัญญาณ Digital ที่ไมโครคอนโทรลเลอร์อ่านได้ Resonator: โครงสร้างรูปกรวยหรือท่อที่ช่วยรวมสัญญาณเสียงให้พุ่งตรงไปยังเป้าหมาย ป้องกันไม่ให้สัญญาณกระจายออกด้านข้างมากเกินไปจนไปกระทบกำแพงข้างๆ แทน

เปรียบเทียบ Ultrasonic Sensor รุ่นยอดนิยมสำหรับการใช้งาน

ในตลาดปัจจุบันมีเซนเซอร์ให้เลือกหลายรุ่นตามงบประมาณและลักษณะงานที่ต้องการ นี่คือรุ่นที่พบเห็นได้บ่อยที่สุด

HC-SR04 (Standard)

  1. 2 ซม. ถึง 400 ซม. โดยมีความคลาดเคลื่อนประมาณ 3 มม.
  2. ถูกที่สุด เหมาะสำหรับการเรียนรู้และโปรเจกต์ต้นแบบ
  3. ใช้ไฟ 5V DC เป็นหลัก กินกระแสน้อยเพียง 15 mA
  4. ใช้งานในร่มเท่านั้น ไม่กันฝุ่นและไม่กันน้ำ

JSN-SR04T (Waterproof)

  1. 20 ซม. ถึง 450 ซม. (ระยะใกล้ทำได้ไม่ดีเท่ารุ่นปกติ)
  2. สูงกว่ารุ่นปกติประมาณ 3-5 เท่า
  3. ใช้ไฟ 3.3V ถึง 5V DC ยืดหยุ่นกว่าในการต่อกับบอร์ดรุ่นใหม่
  4. กันน้ำระดับ IP67 เหมาะสำหรับวัดระดับน้ำหรือติดท้ายรถ
หากคุณเพิ่งเริ่มหัดใช้ HC-SR04 คือคำตอบที่คุ้มค่าที่สุด แต่ถ้าต้องนำไปติดตั้งนอกอาคารหรือต้องเปียกน้ำ JSN-SR04T คือตัวเลือกที่จำเป็นเพราะหัวเซนเซอร์ถูกออกแบบมาให้ทนทานต่อความชื้น

โปรเจกต์ถังขยะอัจฉริยะของ เกม (Game): เมื่อเซนเซอร์เจอโจทย์ยากในชีวิตจริง

เกม นักเรียนมัธยมในกรุงเทพฯ ต้องการสร้างถังขยะที่เปิดฝาเองอัตโนมัติเมื่อมีคนเดินมาใกล้ เขาเลือกใช้ HC-SR04 ติดไว้ด้านหน้าถังขยะเพื่อตรวจจับระยะห่างในรัศมี 30 ซม. โดยตั้งความหวังว่ามันจะทำงานได้ทันที

ปัญหาแรกที่เจอคือฝาถังขยะเปิดเองมั่วซั่วเมื่อมีลมพัดหรือมีแมววิ่งผ่าน เกมจึงพยายามแก้ด้วยการเพิ่มเงื่อนไขในโค้ดให้วัดค่าซ้ำ 3 ครั้งก่อนจะสั่งเปิด แต่ผลคือฝาเปิดช้าเกินไปจนคนเดินผ่านไปแล้ว

เขาเริ่มสังเกตว่าระยะที่แม่นยำที่สุดคือเมื่อคนเดินตรงเข้ามาหาเซนเซอร์ เกมจึงตัดสินใจติดตั้งเซนเซอร์ทำมุมก้มลงเล็กน้อยเพื่อลดสัญญาณรบกวนจากระยะไกล และปรับระยะเวลาหน่วงให้สั้นลงเหลือ 50 มิลลิวินาที

สุดท้ายถังขยะทำงานได้อย่างเสถียร (แม่นยำขึ้นประมาณ 90%) เกมเรียนรู้ว่าตำแหน่งการติดตั้งมีผลเท่ากับการเขียนโปรแกรม และความภูมิใจที่สุดคือถังขยะตัวนี้ถูกนำไปตั้งใช้จริงในห้องสมุดโรงเรียนได้นานกว่า 3 เดือน

ประเด็นสำคัญ

ความเร็วเสียงเปลี่ยนตามอุณหภูมิ

ควรชดเชยค่าอุณหภูมิในสูตรคำนวณหากต้องทำงานในสภาวะที่ร้อนหรือเย็นจัด เพื่อรักษาความแม่นยำที่ระดับ 1-2%

ระวังวัตถุซับเสียงและมุมเอียง

หลีกเลี่ยงการวัดวัตถุที่เป็นผ้าหรือพรม และตรวจสอบว่าเซนเซอร์ตั้งฉากกับผิววัตถุเพื่อป้องกันสัญญาณสะท้อนแฉลบ

การหารสองคือหัวใจสำคัญ

อย่าลืมหารสองในสูตรคำนวณเสมอ เพราะค่าเวลาที่ได้คือระยะทางรวมไป-กลับ

เลือกใช้รุ่นให้เหมาะกับงาน

ใช้รุ่นกันน้ำ JSN-SR04T สำหรับงานนอกอาคารหรือวัดระดับของเหลว และใช้ HC-SR04 สำหรับงานทดลองทั่วไปเพื่อประหยัดงบประมาณ

ขยายความรู้

ทำไมเซนเซอร์ Ultrasonic ถึงวัดระยะทางไม่ได้ในสุญญากาศ?

คลื่นอัลตร้าโซนิคคือคลื่นกลที่ต้องการตัวกลาง (เช่น อากาศ ของเหลว หรือของแข็ง) ในการเดินทาง ในสุญญากาศที่ไม่มีโมเลกุลอากาศ คลื่นเสียงจึงไม่สามารถเคลื่อนที่ออกไปได้ แตกต่างจากเซนเซอร์แสงที่ทำงานได้ในอวกาศ

ระยะที่สั้นที่สุดที่เซนเซอร์วัดได้คือเท่าไหร่?

ส่วนใหญ่จะอยู่ที่ประมาณ 2-3 เซนติเมตร เนื่องจากเซนเซอร์ต้องใช้เวลาสลับโหมดจากตัวส่งเป็นตัวรับ หากวัตถุอยู่ใกล้เกินไป เสียงจะสะท้อนกลับมาถึงก่อนที่เซนเซอร์จะพร้อมรับสัญญาณ ทำให้เกิดอาการวัดค่าไม่ได้หรือค่ากระโดด

หากคุณต้องการทราบรายละเอียดเพิ่มเติม ลองศึกษาว่า Ultrasonic sensor ทำหน้าที่ใด ในโปรเจกต์ต่างๆ ได้เลยครับ

เราสามารถใช้ Ultrasonic sensor วัดระยะทางไกลเกิน 5 เมตรได้ไหม?

ในทางทฤษฎีทำได้ยากเพราะพลังงานของคลื่นเสียงจะลดลงตามระยะทางที่เพิ่มขึ้น (Inverse Square Law) สัญญาณที่สะท้อนกลับมาจากระยะ 5 เมตรจะเบาบางมากจนถูกสัญญาณรบกวนกลบหมด สำหรับระยะไกลขนาดนั้นแนะนำให้ใช้ Laser Rangefinder แทน

แหล่งอ้างอิง

  • [1] En - ความเร็วเสียงจะเพิ่มขึ้นประมาณ 0.6 เมตรต่อวินาทีต่อทุกๆ 1 องศาเซลเซียสที่เพิ่มขึ้น
  • [2] Handsontec - ความเร็วเสียงในอากาศจะอยู่ที่ประมาณ 343 เมตรต่อวินาที หรือ 0.0343 เซนติเมตรต่อไมโครวินาที
  • [3] Cdn - นิยมใช้ตรวจจับวัตถุหรือวัดระยะทางที่ 2 ซม. - 400 ซม.
  • [4] Cdn - คลื่นอัลตร้าโซนิคความถี่ 40,000 รอบต่อวินาที (40 kHz) จำนวน 8 ชุดออกไปในอากาศ