Interface
Proto Invention
กองบรรณาธิการ
แผงวงจรเชือ่ มต่อ BMP085 ตัวตรวจจับ ความกดอากาศ
แผงวงจรที่ช่วยให้การใช้งานโมดูลตัวตรวจจับความกดอากาศได้สะดวกขึ้น ช่วยในการเชื่อมต่อกับไมโครคอนโทรลเลอร์ทั้งระบบบัส +5V และ +3.3V เมื่อระบบสมองกลฝั งตัวได้ รับการยอมรับว่ามีบทบาทต่อการพัฒนา ทัง้ ในการเรี ยนการสอนด้ านวิศวกรรมศาสตร์ และมี การน� ำไปใช้ งานได้ จริ งเพิ่มมากขึน้ อุปกรณ์ หนึ่งที่ได้ รับการพัฒนาตามมาเพื่อช่วยให้ ระบบ สมองกลฝั งตัวตอบโจทย์ในทุกการประยุกต์ใช้ งานนัน่ คือ ตัวตรวจจับหรื อ เซนเซอร์ มีการพัฒนาตัวตรวจจับปริ มาณทางกายภาพออกมาให้ ใช้ งาน อย่างมากมาย จากที่เดิมถูกจ�ำกัดไว้ ในแวดวงคนอุตสาหกรรมเท่านัน้ วัน นี ้นักเล่น นักทดลองได้ มีโอกาสใช้ ตวั ตรวจจับแปลกๆ ในราคาที่เป็ นไปได้ ส�ำหรับงานทดลอง หรื อการท�ำโครงงานเล็กๆ เล่น และเรี ยนรู้ ที่น�ำมาคุย กันในโครงงานนี ้คือ โมดูลตัวตรวจจับความกดอากาศ หรื อ Barometric sensor ตัวที่น�ำมาแนะน�ำคือ BMP085 และที่เราจะท�ำกันคือ แผงวงจรที่ใช้ เชื่อมต่อโมดูล BMP085 นี ้กับไมโครคอนโทรลเลอร์
แนะน�ำ BMP085 โมดูลตรวจจับความกดอากาศ
• ติดต่อกับไมโครคอนโทรลเลอร์ เพื่ออ่านค่าผ่านทางบัส I2C
• ให้ คา่ ของอุณหภูมิในพื ้นรที่ที่ตรวจวัดสัมพันธ์กบั ค่าความกดอากาศ ในช่วงเวลาและสภาพแวดล้ อมเดียวกัน ท�ำให้ น�ำผลการตรวจจับไปค�ำนวณ เพื่ อหาค่าต� ำแหน่งความสูงจากระดับน� ำ้ ทะเล (altitude) ของสถานที่ ที่ ติดตังตั ้ วตรวจจับนี ้ได้
• มีจดุ ต่อ 6 จุด มีระยะห่าง 0.1 นิ ้ว หรื อ 2.54 มม.
• ขนาด 0.65 x 0.65 นิ ้วหรื อ 16.5 x 16.5 มม.
ในรูปที่ 1 แสดงหน้ าตาทังด้ ้ านหน้ าและด้ านหลังซึง่ แสดงการจัดขาไว้ อย่างชัดเจน 1.1 ภาพด้านบน
1.2 ภาพด้านล่าง
เป็ นตัวตรวจจับปริ มาณของสภาพแวดล้ อมที่พฒ ั นาขึ ้นจากเทคโนโลยี เปี ยโซ-รี ซสิ ตีฟ (Piezo-resistive technology) เป็ นผลงานของ BOSCH หนึ่งในผู้ผลิตตัวตรวจจับคุณภาพสูงในวงการอุตสาหกรรมระดับโลก มี คุณสมบัติที่นา่ สนใจดังนี ้ • วัดความกดอากาศได้ ในช่วง 300 ถึง 1100 hPa (hPa คือหน่วย hecto Pascal โดยที่ hecto หมายถึง 100) • มีความผิดพลาดในการวัดต�่ำสุด +2.5hPa
รูปที่ 1 โมดูล BMP085 ตัวตรวจจับความกดดันอากาศ
• ต้ องการไฟเลี ้ยงในย่าน 1.8 ถึง 3.6V กินกระแสไฟฟ้าเฉลี่ยต�่ำมาก เพียง 3mA ที่อตั ราการเปลี่ยนแปลงของข้ อมูล 1Hz The Prototype Electronics
71
Interface : BMP085
วงจรของแผงวงจรเชื่อมต่อส�ำหรับโมดูล BMP085 เนื่องจากโมดูล BMP085 ต้ องการไฟเลี ้ยง +3.3V ในการท�ำงาน รวม ้ ำไปใช้ กบั ไมโครคอนโทรลเลอร์ ถึงการติดต่อเป็ นแบบบัส I2C ดังนันในการน� ต้ องมีการต่ออุปกรณ์ภายนอกเพิ่มเติมอีกเล็กน้ อย กรณีใช้ กบั ไมโครคอนโทรลเลอร์ ทใี่ ช้ ไฟเลี ้ยง +5V ต้ องมีไอซีเรกูเลเตอร์ +3.3V มาจัดการควบคุมไฟเลี ้ยงคงที่ที่ +3.3V พร้ อมกับตัวต้ านทาน 2 ตัวที่ ต่อพูลอัปเข้ าที่ขา SDA และ SCL ตามข้ อก�ำหนดของบัส I2C กรณีใช้ กบั ไมโครคอนโทรลเลอร์ ที่ใช้ ไฟเลี ้ยง +3.3V ก็ต้องการเพียง ตัวต้ านทาน 2 ตัวที่ตอ่ พูลอัปเข้ าที่ขา SDA และ SCL ตามข้ อก�ำหนดของ บัส I2C เท่านัน้
จุดต่อ K3 ใช้ คอนเน็กเตอร์ IDC 2.54 มม. ตัวเมียและตัวผู้ขาตรง 4 ขา เพื่อรองรับการเชื่อมต่อบอร์ ดไมโครคอนโทรลเลอร์ ที่ใช้ จดุ ต่อที่มีระยะห่าง เท่ากัน รวมถึงรองรับการใช้ สายต่อวงจรแบบสายไฟเดี่ยวเบอร์ AWG22 ที่ ใช้ ตอ่ วงจรกับเบรดบอร์ ดหรื อแผงต่อวงจร
การสร้าง เริ่ มจากจัดหาอุปกรณ์ ตามรายการ จากนัน้ ท� ำแผ่นวงจรพิมพ์ ตาม แบบในรูปที่ 3 แล้ วบัดกรี เพื่อติดตังอุ ้ ปกรณ์ตามแบบในรูปที่ 3 เช่นกัน
แต่เพื่อความสะดวกและลดความยุ่งยากในการสร้ างแผงวงจรเชื่อม ต่อแยกกันระหว่างบัส +5V และ +3.3V จึงได้ ออกแบบแผงวงจรเชื่อมต่อ แบบที่ใช้ ได้ ทงกั ั ้ บระบบบัสทังสองแบบ ้ รวมทังมี ้ ตวั ต้ านทานเพื่อต่อพูลอัป และตัวต้ านทานต่ออนุกรมที่ขาเชื่อมต่อเพื่อป้องกันกระแสไฟฟ้าไหลเกิน รวมถึ ง การลัด วงจร พร้ อมกัน นัน้ ยัง จัด สรรจุด ต่ อ ใช้ ง านไว้ ทัง้ แบบเป็ น คอนเน็กเตอร์ JST 2.0 มม. (ก�ำลังนิยมใช้ มากขึ ้น) และแบบ IDC 2.54 มม. ทังตั ้ วผู้และตัวเมีย ดังแสดงวงจรของแผงวงจรเชื่อมต่อนี ้ในรูปที่ 2 รูปที่ 3 ลายทองแดงขนาดเท่าแบบของแผ่นวงจรพิมพ์ของ แผงวงจรเชื่อมต่อโมดูล BMP085 และแบบการลงอุปกรณ์ จุดที่ต้องให้ ความสนใจคือ ซ็อกเก็ตขากลม 6 ขา แถวเดี่ยวที่ใช้ รองรับ ตัวโมดูล BMP085 ต้ องบัดกรี ก่อน พร้ อมกันนันยั ้ งต้ องบัดกรี คอนเน็กเตอร์ IDC ตัวเมีย 5 ขา แถวเดี่ยวด้ วย เพื่อใช้ ประคองโมดูลไม่ให้ เอียงมากเกินไป โดยการบัดกรี คอนเน็กเตอร์ IDC ตัวเมีย 5 ขา ต้ องยกให้ ขาของคอนเน็กเตอร์ เหนือแผ่นวงจรพิมพ์ขึ ้นมานิดหน่อยอาจแค่ 0.5 ถึง 1 มม. ดังรูปที่ 4 รูปที่ 2 วงจรของแผงวงจรเชื่อมต่อโมดูล BMP085 กับไมโครคอนโทรลเลอร์ IC1 เป็ นไอซีเรกูเลเตอร์ +3.3V แบบ low dropout หรื อแบบมีแรงดัน ตกคร่อมต�่ำเพียง 60mV เท่านัน้ ดังนันจึ ้ งรองรับได้ ทงไฟเลี ั้ ้ยงที่เข้ ามาทัง้ +5V และ +3.3V เนื่องจากตัวโมดูลท�ำงานได้ ตงแต่ ั ้ 1.8 ถึง 3.6V หากไฟ เลี ้ยงที่เข้ ามาเป็ น +3.30V หลังจากผ่าน IC1 แล้ วจะเกิดแรงดันตกคร่อมที่ IC1 ประมาณ 0.06V ท�ำให้ มีแรงดันที่ขาเอาต์พตุ ของ IC1 เป็ น +3.24V ซึง่ ยังท�ำให้ โมดูล BMP085 ท�ำงานได้ แรงดันตกคร่อม 0.06V นี ้เป็ นค่าแรงดัน ตกคร่อมต�่ำสุด และจะเพิ่มขึ ้นเมื่อแรงดันอินพุตมีคา่ เพิ่มขึ ้น ดังนันหากแรง ้ ดันอินพุตมีคา่ +5V แรงดันตกคร่อมของ IC1 จะกลายเป็ น 1.7V ้ นัน่ คือ ขาสัญญาณที่ใช้ งานหลักๆ คือ ขาเชื่อมต่อบัส I2C ทังสองขา SDA และ SCL ในวงจรได้ ตอ่ R1 และ R2 พูลอัปไว้ โดยมี R3 และ R4 ต่อไว้ เพื่อจ�ำกัดกระแสไฟฟ้าที่ไหลเข้ ามากเกินไปในกรณีเกิดการลัดวงจรที่จดุ ต่อ สัญญาณ K1, K2 หรื อ K3 ส่วนขา EOC เป็ นขาแจ้ งว่า กระบวนการแปลง ค่าของ BMP085 เสร็จสิ ้นลงแล้ ว ซึง่ หากต้ องการก็ต้องต่อเข้ ากับขาอินพุต อินเตอร์ รัปต์ของไมโครคอนโทรลเลอร์ ท�ำให้ เสียขาพอร์ ตเพิ่มอีก 1 ขา ใน ทางปฏิบตั จิ ริ งไม่จ�ำเป็ นต้ องใช้ ก็ได้ เพราะใช้ การหน่วงเวลาในกระบวนการ ทางซอฟต์แวร์ ชว่ ยได้ จุดต่อ K1 และ K2 ใช้ คอนเน็กเตอร์ JST 2.0 มม. 3 ขา ตัวผู้ เพื่อให้ เกิดความสะดวกในการเชื่อมต่อกับบอร์ ดไมโครคอนโทรลเลอร์ ภายนอกที่ ใช้ จดุ เชื่อมต่อแบบนี ้ ซึง่ มีข้อดีคือ ป้องกันการเสียบผิดขัวได้ ้ โดยมีการจัดขา ตามที่แสดงในรูป 72
The Prototype Electronics
รูปที่ 4 การบัดกรีติดตั้งคอนเน็กเตอร์ IDC ตัวเมีย เพื่อใช้รองหรือพยุง โมดูล BMP085 ให้อยู่ในแนวตั้งฉาก ส่ ว นที่ โ มดูล BMP085 ต้ อ งจัด การเพิ่ ม เติ ม นิ ด หน่ อ ย โดยบัด กรี คอนเน็กเตอร์ 6 ขา 2 ทิศทางเข้ าที่จดุ ต่อสัญญาณทัง้ 6 จุด โดยเสียบด้ าน ที่ขนาดขาเล็กกว่าเข้ ากับตัวโมดูล ส่วนด้ านที่ขาใหญ่กว่า แข็งกว่า (จริ งๆ ต่างกันไม่มาก) ให้ หนั ออกมาจากตัวโมดูล ดังรูปที่ 5 เสร็ จแล้ วอย่าเพิ่งเสียบ โมดูลเข้ ากับแผงวงจรที่ท�ำขึ ้น เพราะต้ องมีขนตอนการทดสอบก่ ั้ อน
รูปที่ 5 การติดตั้งคอนเน็กเตอร์ 2 ทิศทางเข้ากับโมดูล BMP085
การต่อกับไมโครคอนโทรลเลอร์ มีตวั อย่างแสดงในรูปที่ 6 เป็ นการต่อกับโมดูลไมโครคอนโทรลเลอร์ POP-MCU หรื อ POP-168 ซึง่ พัฒนาโปรแกรมด้ วยภาษา C/C++ ภายใต้ ซอฟต์แวร์ Arduino โดยต่อผ่านบอร์ ดพัฒนาโครงงานด้ วย POP-168 ซึง่ แนะน�ำให้ สร้ างใน TPE ฉบับที่ 14 ใช้ โปรแกรมทดสอบชื่อ BMP085_Test. pde ดาวน์โหลดได้ จาก www.tpemagazine.com หากทุกอย่างถูกต้ อง วงจรจะวัดและแสดงค่าความกดดันอากาศและพารามิเตอร์ อื่นๆ ที่โมดูล BMP085 ให้ คา่ ออกมาผ่านทางหน้ าต่าง Serial Terminal ของ Arduino IDE ดังรูปที่ 7
ก็ง่ายๆ เพียงเท่านี้ส�ำหรับการน�ำโมดูล BMP085 ไปใช้งานผ่านแผง วงจรเชื่อมต่อที่ท�ำเองได้ ช่วยให้การใช้งานโมดูลตรวจจับนี้สะดวกมาก ขึ้น ทั้งยังช่วยป้องกันความเสียหายที่อาจเกิดจากการต่อใช้งานได้อย่าง มาก นอกจากนั้นด้วยแนวทางของวงจรในโครงงานนี้น่าจะใช้เป็นตัวอย่าง ส�ำหรับการไปประยุกต์ใช้งานร่วมกับตัวตรวจจับสมัยใหม่แบบอื่นๆ ที่ต้อง ใช้ไฟเลี้ยง +3.3V เพื่อให้รองรับการเชื่อมต่อกับไมโครคอนโทรลเลอร์ที่ใช้ ไฟเลี้ยงทั้งในระดับ +5V และ +3.3V *******************************************
6.1
6.2
รายการอุปกรณ์
*******************************************
R1 และ R2 - ตัวต้ านทาน 4.7kW 1/8W 5% หรื อ 1% 2 ตัว R3 และ R4 - ตัวต้ านทาน 47W 1/8W 5% หรื อ 1% 2 ตัว C1 - ตัวเก็บประจุ 0.1mF 50V หรื อ 63V โพลีเอสเตอร์ 2 ตัว IC1 - ไอซี LP2950-33 (+3.3V) K1 และ K2 - คอนเน็กเตอร์ JST 2.0 มม. 3 ขางอ ตัวผู้ 2 ตัว K3 - คอนเน็กเตอร์ IDC 2.5 มม. 4 ขา ตัวผู้ และตัวเมีย อย่างละ 1 ตัว ตัวต้ านทาน 0W 1/8W, แผ่นวงจรพิมพ์หน้ าเดียว, ซ็อกเก็ตขากลม 6 ขา, คอนเน็กเตอร์ 2 ทิศทาง 6 ขา, คอนเน็กเตอร์ IDC 2.5 มม. 5 ขา ตัวเมีย, โมดูล BMP085 หมายเหตุ - คอนเน็กเตอร์ 2 ทิศทาง 6 ขา, คอนเน็กเตอร์ IDC 2.54 มม. 5 ขา ตัว เมีย อาจไม่ใช้ ก็ได้ หากบัดกรี โมดูล BMP085 ลงบนแผ่นวงจรพิมพ์ โดยตรง ด้ วยการใช้ เศษขาอุปกรณ์เป็ นขาส�ำหรับบัดกรี - IC1 และคอนเน็กเตอร์ทั้งหมด มีจำ�หน่ายที่ อีเลคทรอนิคส์ ซอร์ซ (www.es.co.th) - โมดูล BMP085 ดูหน้า TPE SHOP
รูปที่ 6 การเชื่อมต่อกับไมโครคอนโทรลเลอร์ของโมดูล BMP085 เมื่อ ใช้งานผ่านแผงวงจรเชื่อมต่อที่ท�ำขึ้น
www.tpemagazine.com
รูปที่ 7 ผลการท�ำงานของโมดูล BMP085 ที่เชื่อมต่อกับ POP-MCU The Prototype Electronics
73