บทความ Project My Hobby

สำหรับการเริ่มต้นเรียนรู้เกี่ยวกับอิเล็กทรอนิกส์

 

ตอนที่ 1. เครื่องบันทึกสัญญาณ IR รีโมท 4 รีเลย์

- โดย Tumrobot

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

 

   

 

โดยปกติแล้ว ถ้าหากท่านเคยได้ศึกษา การรับส่งข้อมูลของรีโมททั่วๆไป แล้วละก็ จะพบว่า Protocol การส่งสัญญาณของรีโมทนั้นมีหลากหลาย Protocol มาก ไม่ว่าจะเป็น

- Sony SIRC Protocol

- NEC Protocol

- Philips RC-5 Protocol

- Philips Non RC-5 Protocol

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

ซึ่งโดยทั่วไปแล้ว การถอดรหัสสัญญาณรีโมท จะมีลักษณะ Format ดังต่อไปนี้

เครดิตภาพจาก: http://www.sbprojects.com

ถ้าหากว่าเราลองสังเกตุดูลักษณะการส่งสัญญาณรีโมทของแต่ละยี่ห้อดูแล้วก็จะมี pattern ที่คล้ายๆ กันนั่นก็คือชุดคำสั่งจะเริ่มจาก Start,Command,Address

หรือ ไม่ก็ Start,Address,command ประมาณนี้ครับ

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

จากรูปเป็นตัวอย่างสัญญาณรีโมท ที่ผมทดลองกดส่งมาจากตัวส่งรีโมทของ ยี่ห้อหนึ่ง ถ้าหากว่าเราไม่ทราบยี่ห้อของรีโมท เราก็คงเดาไม่ออกครับว่าสัญญาณนี้เป็น Format Protocol อะไร แต่เราสามารถถอดรหัสออกมาเป็น Binary code ได้ดังต่อไปนี้

รหัส Binary Code ของสัญญาณรีโมทตัวนี้ก็คือ 0b00100000010111110000000000000000000000001001

เราก็แค่ทำการบันทึก Code ตัวนี้ลงบน บอร์ดตัวรับสัญญาณรีโมท และถ้าหากว่าครั้งต่อไปเราทำการกดปุ่มที่ส่งสัญญาณนี้ออกมาอีกรอบเราก็จะสามารถเทียบสัญญาณที่ส่งออกมาว่าเป็นการกดคำสั่งปุ่มไหน

คราวนี้คงจะนึกภาพออกแล้วใช่มั้ยละครับว่า ถ้าหากเราต้องการนำสัญญาณรีโมทปุ่มกดจากตัวส่งเราก็ไม่ต้องสนใจเรื่อง Format Protocol ให้มันรู้สึกว่ายุ่งยากอีกต่อไปละครับ

บอร์ดทดสอง บันทึกสัญญาณ IR รีโมท 4 รีเลย์

   

 

 

วงจรบอร์ด บันทึกสัญญาณ IR รีโมท 4 รีเลย์

 

หลักการทำงานของบอร์ด บันทึกสัญญาณ IR รีโมท 4 รีเลย์

ในบอร์ดบันทึกสัญญาณ IR รีโมท นี้ใช้ MCU Microchip ตระกูล PIC 18K เนื่องจากว่า เป็น MCU ที่มี EEprom ภายในตัวที่ค่อนข้างเยอะ เพื่อที่จะได้เก็บ ชุดคำสั่ง สัญญาณ รีโมท และที่สำคัญคือราคาไม่แพง ซึ่งการทำงานของบอร์ดนั้น เริ่มจาก เมื่อเราจ่ายไฟ AC เข้าที่ Connector JAC ซึ่งต่อเข้ากับขั้ว Input ของตัว สวิตชิ่ง Hi-Link ซึ่งสามารถรับแรงดัน Input ได้ตั้งแต่ 100V - 240V และจ่ายแรงดัน Output เป็น 5V โดยกระแส สามารถจ่ายได้ถึง 700mA ซึ่งประสิทธิภาพ เทียบกับขนาดของ size ของตัวสวิตชิ่งแล้วถือว่าเพียงพอกับความต้องการใช้งานของบอร์ด ในขณะที่ทั้งบอร์ดนั้นต้องการกระแสสูงสุด ไม่เกิน 200mA

เมื่อ MCU ได้รับแรงดัน 5V จ่ายเข้ามาแล้ว ตัว MCU ก็จะเริ่มทำงานด้วยการรอ สัญญาณ ดังต่อไปนี้

JR1 เป็นตัวรับสัญญาณรีโมท เบอร์ TSOP4838 ซึ่งรับความถี่ 38Khz ซึ่งเป็นค่ามาตรฐานและเป็นที่นิยมของความถี่รีโมททั่วไป เมื่อมีการกดปุ่ม ตัวส่งรีโมท ก็จะมีสัญญาณรีโมทเข้าที่ขา RB0 ซึ่งเป็นขา Ext Interupt ซึ่งเขียนโปรแกรมรอรับสัญญาณรีโมทเอาไว้ว่า ถ้าหากมีสัญญาณเข้ามากระตุ้นที่ขา Ext Interupt ให้ MCU หยุดการทำงานอย่างอื่นให้รอรับสัญญาณรีโมทที่เข้ามาให้ครบก่อน ในขณะเดียวกันตัว MCU ก็จะแจ้งให้เราทราบถึงการได้รับสัญญาณรีโมทเข้ามาโดยจะแสดงการกระพริบของ LED5 ให้เราได้ทราบว่าขณะนี้มีสัญญาณรีโมทเข้ามาที่ ตัวรับสัญญาณ

SW1 เป็นการกดเพื่อโปรแกรมสัญญาณรีโมทที่เราต้องการบันทึก โดยในขณะกด SW1 นั้น รีเลย์ 1 จะติดและ Buzzer จะดับ บี๊บๆ ซึ่งภายใน 10 วินาทีเราต้องยิงสัญญาณรีโมทที่ต้องการบันทึกไปยังบอร์ด ซึ่งถ้าหากว่าบอร์ดไม่ได้รับสัญญาณรีโมทภายใน 10 วินาทีตัวบอร์ดก็จะหยุดการรอรับสัญญาณรีโมท และเข้าสู่โหมด standby ต่อไป แต่ถ้าหากว่ามีสัญญาณรีโมทยิงเข้ามาภายใน 10 วินาที เสียง Buzzer ก็จะดัง บี๊บ ถี่ขึ้น เพื่อรอการกด SW2 ซึ่งเป็น สวิตช์ Save ซึ่งต้องกดบันทึกให้ทันภายใน 10 วินาทีเช่นกัน ไม่เช่นนั้นบอร์ดจะถือว่าเป็นการบันทึกสัญญาณล้มเหลว แล้วกลับเข้าสู่โหมด Standby ต่อไป

การเปลี่ยนช่องบันทึก ของสัญญาณ ให้กด SW1 แล้วปล่อย แล้วกดซ้ำอีกครั้ง รีเลย์ 2 ก็จะติด และถ้าหากมีสัญญาณรีโมทยิงเข้ามา แล้วกด SW2 เพื่อบันทึกภายใน 10 วินาทีก็จะสามารถบันทึกช่องสัญญาณที่ 2 เอาไว้ได้ ซึ่งการบันทึกช่องที่ 3 และช่องที่ 4 ก็จะสามารถทำเช่นเดิมได้ ซึ่งการบันทึกสัญญาณถ้าหากว่าบันทึกสำเร็จ ตัว Buzzer ก็จะดังรัวๆ แล้ว LED แสดงผลของรีเลย์แต่ละช่องพร้อมรีเลย์ ก็จะถูกตัดไป

SW2 เป็นการกดเพื่อบันทึกสัญญาณรีโมทหลังจากที่เรากด SW1 เพื่อบันทึกสัญญาณรีโมท และนอกจากนั้นแล้วยังเป็นการสั่งปิด รีเลย์ทุกตัวที่ เปิดค้างอยู่ ณ ขณะนั้น และถ้าหากว่ามีการกด SW2 ค้างไว้นานเกินกว่า 1 วินาที จะเป็นการลบ ข้อมูลสัญญาณรีโมทออกจาก Memory ของ MCU ออกไปด้วย

ส่วนท่านที่สนใจอยาก ลองทำบอร์ดขึ้นมาเพื่อใช้งานก็สามารถดาวน์โหลด โปรแกรม Hex ไฟล์สำหรับ MCU สามารถดาวน์โหลดได้จาก ที่นี่

 

รายการอุปกรณ์

No. Part Number Description Qty
1 PIC18F24K22-I/SP 8-Bit PIC MCU Flash 32KBytes, 3896 Bytes RAM 1
2 ZTT20.00MX  CERAMIC RESONATOR 20.0MHZ 3-PINS 1
3 ISS28T1-03 Socket Dip Solder Type 28 Pins, Pitch 2.54mm
Narrow Type
1
4 ULN2003APG TRANSISTOR ARRAY-7 NPN DARLINGTONS,+5V-I/P,500MA
50V(TTL/CMOS)
1
5 ISS16T1-03 Socket Dip Solder Type 16 Pins, Pitch 2.54mm 1
6 TSOP4838 Photo Receivers Modules 38kHz 1
7 HC12G-2DP Electromagnetic Transducer 5V/50mA,2048 Hz 1
8 HRS4H-S-DC5V-C RELAY COIL 5VDC, 10A,1 FORM C 4
9 5EHDRC-3P TERMINAL BLOCK HEADER(SOCKETS) FOR PLUGGABLE
300V/10A ,3PINS
4
10 5ESDV-3P TERMINAL BLOCK PLUGS FOR PLUGGABLE
300V/15A,03PINS
4
11 Hi-Link Switching Power Supply 220V to 5V 3W 600mA Hi-Link แปลงไฟ 220v เป็น 5v กระแส 600mA 1
12 HL-308U70GC LED 3 MM 5
13 TC-A109-X-A00 Tact Switch 12VDC/50mA, Stem Height 13mm 2
14 EGF477M1CF12TCSAP E-CAP 470UF/16V,105C 2
15 SR215C104KARAP4-90  MLCC CAP 0.1uF/50V, +/-10%, X7R 2
16 C Electrolite 100uF/16V 1
17 R-10K 1/8W 4
18 R-330R 1/8W 4
19 R-100R 1/8W 1
20 FHSS02G10/RH Board Socket 1x2 Pins Female Header 4
21 FHSS03G10/RH  Board Socket 3 Pins, Female Header 1
22 PHSS05G10/RH Pin Header Connector 5 Pins,2.54mm Pitch 1
23 5EHDRC-2P Plug-in Terminal Block 2pins,Male,300V15A
Pitch 5.00mm
1
24 5ESDV-2P Plug-in Terminal Block 2pins,Female,300V/15A
Pitch 5.00mm
1
25 PCB Single Side Board 1
26 FB-04 witn CNC Cut 1
27 AC Power Cord 1

งบประมาณ: 580 บาท ( รวม PCB และกล่อง อิเล็กทรอนิกส์ )

 

Device Layout การลงอุปกรณ์ของบอร์ด

   

 

PCB Design

   

 

ส่วนเรื่องการประยุกต์ใช้งานนั้น จะได้กล่าวถึงในบทความ ตอนที่ 2