บทความ Project Home Control

ควบคุมเครื่องใช้ไฟฟ้าในบ้านด้วย Android

 

ตอนที่ 2. Hardware และ การอัพเดท โปรแกรม

- โดย Tumrobot

1. Schematic

ตัวโปรเจ็ค Home Control - Mini นี้ ออกแบบ Hardware ด้วย MCU ATMEGA328P-PU ซึ่งทำการพัฒนา Code ด้วย Arduino ดังนั้นการพัฒนา Code จึงค่อนข้างเหมาะสำหรับผู้เริ่มต้น และ ผู้ที่สนใจระบบควบคุมการเปิดปิด อุปกรณ์เครื่องใช้ไฟฟ้า ภายในบ้าน ซึ่งการการทำงาน และ Code ที่ดูค่อนข้างจะสามารถเข้าใจได้ง่ายกว่า MCU ตัวอื่นๆ และทำสำคัญยังเป็น MCU ที่หาได้ง่าย และค่อนข้างเป็นที่นิยม อย่างมากในบ้านเรา เพียงแต่ส่วนใหญ่เราจะรู้จัก ในลักษณ์ของ Arduino Board ซะมากกว่า ซึ่งตัว MCU ตัวนี้อยู่ในบอร์ด ที่เราคุ้นเคยเป็นอย่างดีเช่น Arduino UNO R3 ซึ่งถ้าหากผู้ที่สนใจ จะนำบอร์ด Arduino มาต่อรีเลย์ และต่อวงจรเสริมส่วนต่างๆ ดังวงจรข้างล่าง แล้วอัพโหลด Code ที่ทางทีมงาน OpenFog พัฒนาเอาไว้ ตัวบอร์ดก็จะสามารถทำงานร่วมกับ Application Home Control V3.0 ได้เช่นเดียวกัน

ดังนั้นเพื่อให้เกิดความง่ายและสะดวกสำหรับผู้เริ่มต้นในการพัฒนา และศึกษาการทำงานของ Arduino Code และการทำงานของ Android App ทาง OpenFog จึงได้พัฒนาตัว Home Control - Kit Mini ตัวนี้ขึ้นมา พร้อมทั้ง Up bootloader สำหรับ Arduino ลงบน ATMEGA328 ให้พร้อมใช้งานได้เลย

สำหรับท่านที่สนใจขั้นตอนการอัพ Bootloader Arduino ลงบน ATMEGA328 สามารถอ่านได้ ที่นี่

   

 

การทำงานของ Hardware ในแต่ละส่วน

1. MCU - ATMEGA328P-PU หรือจะเรียกอีกชื่อนึงว่า Arduino Chip ซึ่งตัวนี้เป็นตัว Processor หลักที่ควบคุมการทำงานของ Board ที่ค่อยเชื่อมต่อ Hardware ส่วนต่างๆ ไม่ว่าจะเป็น ตัว Serial to Ethernet Module หรือ LCD Module หรือตัว Real - Time Clock หรือแม้กระทั่งส่วนควบคุม Output ของ Home Control Kit - Mini ซึ่งก็คือรีเลย์นั่นเอง การพัฒนา Arduino Code สามารถ ศึกษารายละเอียดเพิ่มเติมได้ที่ http://arduino.cc/

2. Serial To Ethenet Module เนื่องจากว่าตัว MCU นั้นไม่สามารถติดต่อสื่อสารกับระบบ Ethernet ได้โดยตรง ดังนั้นเราจึงจำเป็นต้องมีตัวช่วยสำหรับ MCU ที่จะให้สามารถรับส่งข้อมูลต่างๆ ผ่านระบบ Ethernet ได้ ซึ่งจริงๆ แล้วก็มีหลากหลายช่องทาง ที่จะทำให้ตัว MCU ติดต่อกับ Ethernet ไม่ว่าจะเป็น Ethernet Sheild หรือ Ethernet (ENC28J60) Module ซึ่งความจริงแล้วเราสามารถเลือกใช้งานได้ตามที่เราต้องการ แต่เนื่องจากว่าทางทีมงานได้ทดลองและเปรียบเทียบผลของการทำงานของโมดูลต่างๆ ดูแล้วจึงอยากที่จะเลือกใช้โมดูลที่คิดว่ามีเสถียรภาพและใช้งานง่ายมากว่า

คุณสมบัติพิเศษของตัว Serial to Ethernet Module ตัวนี้อีกอย่างนึงที่ได้เปรียบตัว Ethernet Device อื่นๆ นั่นก็คือเราสามารถค้นหา IP ของ Module ได้จากวงแลนอื่นๆ ในกรณีทีเรา Fix IP กันคนละวงแลน และยังสามารถกำหนดปรับเปลี่ยน IP และ Port การใช้งานได้อย่างอิสระ ซึ่งต่างจากตัว Module ตัวอื่นๆ ที่ต้องแก้ไข IP หรือ Port ด้วย MCU Code เพียงเท่านั้น

3. ส่วนคุบคุม Output Relay ตัวโปรเจ็คตัวนี้ออกแบบ ให้สามารถควบคุม Ouput ได้ 2 ช่อง ซึ่งเป็นการสั่งเปิดปิด คอนแทกซ์รีเลย์ โดยเรียงจาก NC, C,NO ซึ่งจะสามารถต่อเครื่องใช้ไฟฟ้าได้จากภายนอกกล่องจึง ทำให้ง่ายต่อการแก้ไข และเพิ่มลดขนาดของสายไฟต่างๆ ได้อย่างอิสระตามที่ต้องการ โดยตัวรีเลย์นี้รองรับการใช้งานเครื่องใช้ไฟฟ้า 2000W หรือ 10A

4. ส่วนควบคุมฐานเวลา วงจรนี้ใช้ DS1302 เป็นตัวควบคุมฐานเวลาของระบบ โดยวัตถุประสงค์ก็คือเพื่อใช้งานในส่วนของการแสดงวันเวลาบนหน้าจอแสดงผล และ เป็นฐานเวลาให้กับระบบการตั้งเวลาของกล่อง Home Control โดย DS1302 นี้ต่อเข้ากับ Battery Backup 3V ดังนั้นไม่ว่าจะเกิดเหตุการณ์ไฟฟ้าขัดข้อง หรือมีการ Reset ระบบ ตัวฐานเวลาก็จะสามารถเดินต่อไปได้โดยไม่ต้องมา Set เวลาใหม่

5. จอแสดงผล LCD Module เป็นจอแสดงผลแบบ Characteristic จำนวน 16 ตัวอักษร 2 บรรทัด มีโมดูลควบคุมเป็น I2C to LCD ซึ่งจะสามารถทำให้ประหยัดจำนวน PIN ของ MCU เนื่องจากว่าตัว Module ตัวนี้ใช้ PIN ควบคุมการทำงาน เพียงแค่ 2 PIN เท่านั้น ซึ่งรายละเอียดเพิ่มาเติมสามารถอ่านได้จาก บทความนี้

6. ภาคจ่ายไฟ เราใช้ Switching Adapter ขนาด 5V 1A จ่ายแรงดันให้กับ ตัว LM1117-3.3 เพื่อแปลงไฟให้ระบบ โดยตัวที่ต้องการแรงดัน 3.3V นั้นได้แก่ MCU, DS1302 และ Ethernet Module ส่วน รีเลย์ และ LCD นั้นต้องการใช้งานที่แรงดัน 5V ดังนั้นจึงไม่ต้องการที่จะต้องแปลงไฟ จึงสามารถต่อกับ Adapter ได้เลย ซึ่งตัว Home Control Mini - Kit นี้กินไฟสูงสุดแค่ 250mA เท่านั้น

2. PCB ( การจัดวาง Layout ของอุปกรณ์บน PCB ทั้ง Toplay และ Bottom Layer)

   

 

   

 

   

 

3. ขั้นตอนการอัพเดทโปรแกรม

 

ขั้นตอนการ อัพเดทโปรแกรมให้กับ Home Control - Kit ( Mini )

สิ่งที่ต้องเตรียม

1. โมดูล USB TTL to UART ให้เลือก โมดูลรุ่น USB to UART (CP2102) with DTR/CTS pinout Ver3.0 หรือรุ่นอะไรก็ได้ที่มี PIN DTR/RST ซึ่งสำคัญมากในการอัพเดท Firmware ให้กับตัว Home Conntrol Kit - Mini

     

ทำการติดตั้ัง Driver และตรวจสอบ Comport ดูให้เรียบร้อยว่า OS ของระบบสามารถรองรับการทำงานของ USB to UART ได้หรือไม่ ถ้าหากค้นเจอเราก็สามารถใช้งาน Comport นั้นในการโปรแกรม ตัว Home Control Kit - Mini ได้เลย

   

จากนั้นให้ทำการ จั๊มป์สายแพร ที่ต่อกับ USB to Serial Module เข้าไปที่ Home Control - Kit Mini ตรงตำแหน่ง Pin Header J5 ( มุมบนซ้ายมือของบอร์ด ) โดยเรียงขาจากซ้ายมือไปยังขวามือเป็นดังต่อไปนี้ DTR | TX | RX | GND

   

 

   

 

 

 

 

2. ติดตั้งโปรแกรม Arduino IDE ให้เรียบร้อย

เมื่อทำการติดตั้งโปรแกรม Arduino IDE เรียบร้อยแล้วก็ดาวน์โหลด Code และเปิดโปรแกรมขึ้นมา ทำการเลือก Tool และเลือก Serial Comport ที่เป็น Comport ของตัว USB to Serial Module

   

 

   

เมื่อทำการโปรแกรมเสร็จเรียบร้อยแล้ว เราก็จะสามารถใช้งานตัว Home Control - Kit Mini ในโปรแกรมตัวใหม่ที่เรา พัฒนาต่อจาก Code เดิมหรือ เขียนขึ้นมาใหม่ได้ทันที

 

อ่านต่อ ตอนที่ 3