ตั้งเวลาเปิดปิดอุปกรณ์เครื่องไฟฟ้า 8 ช่องควบคุมด้วย AVR

อารัมภีย์ จันทร์ใย

 

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

 

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

               

หลักการทำงาน

                เริ่มต้นการทำงานด้วยจ่ายแรงดันไฟฟ้ากระแสตรง (DC) ขนาด 12 โวลต์ โดยป้อนเข้าทาง CON1 จากนั้นแรงดันจะถูกลดระดับลงให้เหลือ 5 โวลต์โดย IC4 (LM2576-5) เพื่อป้อนให้กับอุปกรณ์ต่างๆ ในวงจร สำหรับ IC2 (MAX232) จะเป็นตัวเชื่อมต่อข้อมูลระหว่างตัว IC3 กับคอมพิวเตอร์โดยใช้การสื่อสารแบบอนุกรม (หรือ Serial Port ซึ่งส่วนนี้จะเป็นฟังก์ชันเสริมเพื่อรองรับการเชื่อมต่อกับคอมพิวเตอร์ในการเก็บข้อมูลหรือการพัฒนาในการทำงานส่วนต่างๆ ที่ต้องการอนาคต ซึ่งในโครงงานนี้จะยังไม่ใช้) ส่วน Q1 จะใช้ในการกระตุ้นการทำงานของบัสเซอร์เนื่องจากกระแสที่ได้จากไมโครคอนโทรลเลอร์นั้นไม่เพียงพอ IC3 ไมโครคอนโทรลเลอร์ตระกูล AVR เบอร์ ATMEGA128 เป็นหัวใจหลักของโครงงานนี้เลยก็ว่าได้ เนื่องจากเป็นตัวที่ทำหน้าที่เชื่อมต่อกับอุปกรณ์ต่างๆ ที่อยู่ในวงจรแล้วนำมาประมวลผลเพื่อให้ได้การทำงานตามคุณสมบัติที่ต้องการ ซึ่งอุปกรณ์ต่างๆ ที่กล่าวมาได้แก่ IC1 (DS1307) เป็นอุปกรณ์กำเนิดฐานเวลาจริงการเชื่อมต่อกับ IC3 จะใช้ลักษณะของการเชื่อมต่อแบบ I2C โดยการทำงานของ IC1 จำเป็นต้องได้รับแรงดันตลอดเวลาเพื่อให้ฐานเวลาทำงานได้ตลอดในกรณีที่แหล่งจ่ายไฟหลักขัดข้อง โดยในโครงงานนี้จะใช้แบตเตอรี่แบบกระดุมแรงดัน 3 โวลต์ (CR2032)

การเชื่อมต่อกับสวิตช์แบบเมตริกซ์ (Matrix) ขนาด 4x3 จะใช้พอร์ต F ของ IC3 โดยการตรวจสอบสภาวะของสวิตช์นั้นจะใช้การแสกนอย่างรวดเร็วทั้งแนวตั้งและแนวนอนเพื่อหาตำแหน่งของสวิตช์ที่กด ในส่วนการแสดงผลจะใช้ LCD1 ที่มีคุณสบัติเป็นกราฟิกแอลซีดี (Graphic LCD) ขนาด 240x64 การเชื่อมต่อเข้ากับ IC3 จะแบ่งออกเป็นสองส่วน คือ ส่วนของข้อมูลที่ใช้แสดงผลและส่วนควบคุมการแสดงผล โดยขาข้อมูลจะเชื่อมต่อเข้ากับพอร์ต A และขาควบคุมจะใช้พอร์ต C สำหรับการควบคุมการเปิดปิดไฟพื้นหลัง (Black Light) จะใช้ทรานซิสเตอร์ Q2 (B772) ต่อผ่าน CON7 และจะมี VR1 เป็นตัวต้านทานแบบปรับค่าได้ขนาด 10 กิโลโอห์มทำหน้าที่ปรับค่าความเข้มของจุด (dot) ขนแอลซีดีเพื่อให้สามารถมองเห็นสิ่งที่แสดงบนแอลซีดีได้อย่างสะดวก

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

 

การประกอบ

                ก่อนประกอบผู้อ่านต้องเตรียมแผ่นวงจรพิมพ์ซึ่งมีลักษณะเป็นแบบ Plate Through Hold (PTH) ดังแสดงในรูปที่ 2 เมื่อได้แล้วก็ให้ดูรูปที่ 3 เพื่อเป็นแนวทางในการลงอุปกรณ์ให้ถูกต้อง การลงประกอบให้เริ่มใส่อุปกรณ์ที่มีความสูงน้อยก่อน โดยให้เริ่มจากการใส่ IC3 ก่อนเพราะเป็นอุปกรณ์ที่มีขนาดความสูงน้อยที่สุดและเนื่องจากโครงงานนี้มีอุปกรณ์ IC3 ซึ่งเป็นแบบ Surface Mount Device (SMD) ดังนั้นจะต้องระวังในเรื่องของการบัดกรีไม่ควรใช้ความร้อนสูงและเวลาของการบัดกรีควรทำอย่างรวดเร็วเพราะอุปกรณ์ชนิดนี้มีความทนทานต่อความร้อนไม่มากนักไม่อย่างนั้นอาจจะทำอุปกรณ์เกิดความเสียหายได้ หลังจากนั้นก็เริ่มใส่อุปกรณ์ตัวอื่นๆ ต่อไป เช่น ตัวเก็บประจุแบบ SMD (C1 และ C2), ตัวต้านทาน เป็นต้น เมื่อลงอุปกรณ์ครบหมดทุกตัวแล้วให้ทำการตรวจสอบความเรียบร้อยและความถูกต้องของการลงอุปกรณ์ทั้งหมดอีกทีหนึ่ง

 

เมื่อแน่ใจว่าถูกต้องแล้วให้ทำการจ่ายแรงดันไฟกระแสตรง 12 โวลต์ที่ CON1 แล้วสังเกตสิ่งที่เกิดขึ้นด้วยสายตา ซึ่งขณะนั้น LED1 และ LED2 จะต้องติดสว่างหากพบว่ามีสิ่งผิดปกติให้ถอดแหล่งจ่ายออกทันที หากไม่มีสิ่งผิดปกติให้นำโวลต์มิเตอร์ไปวัดแรงดันแต่ละจุดโดยดูจากรูปที่ 1 ว่าถูกต้องหรือไม่ หลังจากนั้นให้ต่อเครื่องโปรแกรม AVR ที่ตำแหน่ง CON3 ให้ทำการ Fuse Bit AVR ดังรูปที่ 4 จากนั้นก็ให้ทำการโปรแกรมไฟล์นามสกุล .Hex ที่ไปยังหน่วยความจำของ IC3 ได้ทันที (ไฟล์นามสกุล “HEX สามารถดาวน์โหลดได้จากเว็บไซต์ http://electronics.se-ed.com)

 

การทดสอบ

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

 

 

                เมื่อมองเห็นได้อย่างชัดเจนแล้วให้ทดสอบการทำงานในโหมดการตั้งเวลา โดยเริ่มจากการกดเครื่องหมาย ‘ที่สวิตช์แบบเมตริกซ์แล้วตามด้วยรหัสผ่านซึ่งได้กำหนดไว้จากโปรแกรม คือ “123456” แล้วตามด้วยเครื่องหมาย ‘

หากใส่รหัสผ่านถูกต้องก็จะเข้าสู่โหมดการตั้งเวลาหน้าจอแอลซีดีจะแสดงข้อความดังรูปที่ 6 โดยที่หน้าจอแอลซีดีจะแสดงเมนูให้เลือกดังนี้

1. Set Date ตั้งวันที่

2. Set Time ตั้งเวลา

3. Set Day ตั้งค่าของวันคือวันอาทิตย์ (Sunday) ไปจนถึงวัน เสาร์ (Saturday)

4. Set Load ตั้งค่าเปิดปิดของโหลด

 

การเลื่อนเมนูขึ้นและลงสามารถทำได้โดยการกดปุ่ม “และ “เพื่อเลื่อนเมนูขึ้นและลงตามลำดับ หากแถบบาร์ตรงกับช่องที่ต้องการตั้งค่า ให้กดที่ปุ่ม “เพื่อยืนยันการเข้าสู่การตั้งค่า เริ่มแรกคือการตั้งค่า “วัน/เดือน/ปี” โดยแถบบาร์จะขึ้นที่ “1.Set Date” แล้วกดเครื่องหมาย “ที่หน้าจอจะปรากฎข้อความเป็นวันที่ตั้งค่าไว้ปัจจุบันที่อ่านมาจาก Real Time Clock (DS1307) หากต้องการเปลี่ยนแปลงให้กดสวิตช์เป็นค่าวันที่ต้องการได้เลยหรือหากต้องการยกเลิกการเข้าเมนูนี้ก็ให้กดปุ่ม “ซึ่งการใส่ค่า วัน/เดือน/ปี นั้นจะต้องเป็นค่าที่มีจริงในปฎิทินเท่านั้น ยกตัวอย่างเช่น วันที่จะต้องไม่เกิน 31 และเดือนไม่เกิน 12 หากใส่ถูกต้องวันที่จะถูกใช้ค่าที่ป้อนเข้าไปเพื่อเปลี่ยนแปลงค่าภายใน DS1307 แต่ถ้าใส่ค่าไม่ถูกต้องค่าที่กำหนดจะไม่ถูกใส่เข้าไปหรือค่าวันจะไม่เปลี่ยนแปลงนั่นเอง

                การตั้งค่าเวลาทำได้โดยเลื่อนแถบบาร์มาที่ “2.Set Time” แล้วทำตามขั้นตอนเหมือนกับการตั้งค่าของวันที่ โดยในโหมดนี้จะเริ่มตั้งจาก “ชั่วโมง/นาที/วินาที” โดยมีการตรวจสอบการตั้งค่าเหมือนกัน ซึ่งค่าชั่วโมงจะใส่ได้ไม่เกิน 24 และในส่วนค่าของนาทีและวินาทีจะต้องไม่เกิน 59 หากใส่ค่าถูกต้องเวลาจะถูกป้อนเข้าไปใน DS1307 เช่นเดียวกับการตั้งค่าวันที่ การตั้งค่าวันในสัปดาห์ (day of the week) ก็ทำขั้นตอนเหมือนกับการตั้งวันที่และเวลา โดยเลื่อนแถบบาร์มาที่ “3.Set Day” และหลังจากนั้นก็ทำตามขั้นตอนได้เลย

                สุดท้าย คือ การตั้งค่าเปิด-ปิดของโหลดโดยให้เลื่อนแถบบาร์มาที่ตำแหน่ง “4.Set Load” แล้วตามด้วยเครื่องหมาย “สำหรับการเลือกโหลด (Load) สามารถเลือกช่วงเวลาได้ทั้งหมด 8 ช่วง ดังตัวอย่างที่จะแสดงดังต่อไปนี้

ตัวอย่างการตั้งค่าการเปิด – ปิดการทำงานของโหลด

                ตัวอย่างนี้จะสาธิตการตั้งค่าเวลาในช่องที่ 1 โดยให้เลื่อนแถบบาร์มาที่ “1. Timer ch” (สามารถเลือกได้ทั้งหมด 8 Channel) หากเลื่อนแถบบาร์มาตำแหน่งที่ 1 แล้วให้กดเครื่องหมาย “ที่หน้าจอจะแสดงค่าเดิมที่ตั้งไว้ (ในกรณีที่มีการตั้งไว้ก่อนหน้า) เช่น “Open 12:00:00” หากต้องการเปลี่ยนแปลงค่าเวลาเปิดโหลดให้ใส่ค่าเวลาใหม่ที่ต้องการเปลี่ยนและจะต้องคำนึงด้วยว่าจะต้องใส่ให้ถูกต้องตามรูปแบบที่กำหนดคือ ชั่วโมงจะใส่ค่าไม่เกิน 24 นาฬิกา และค่าของนาทีและค่าของวินาทีไม่เกิน 59 หากใส่ค่าผิดโปรแกรมจะทำการยกเลิกและให้ตั้งค่าใหม่จนก่วาจะถูกต้องหรือถ้าต้องการยกเลิกการตั้งค่าเองจากผู้ใช้ให้กดปุ่ม “

หากไม่ต้องการเปลี่ยนเวลาเปิด กล่าวคือ ต้องการใช้ค่าเดิมที่ตั้งไว้ก็ให้กดเครื่องหมาย “ได้เลย ซึ่งค่าของเวลาที่เปิดจะจำค่าเดิมไว้ หลังจากนั้นหน้าจอแอลซีดีจะปรากฎข้อความ “Close 13:00:00” เพื่อให้ผู้ใช้ใส่ค่าเวลาที่ต้องการปิดโหลด ซึ่งในส่วนนี้ก็สามารถเปลี่ยนแปลงหรือยกเลิกได้ โดยการกดปุ่ม “เพื่อทำการยกเลิก หากไม่ต้องการยกเลิกให้ใส่ค่าเวลาที่ต้องการหรือกด “เพื่อใช้ค่าเดิม และที่หน้าจอจะแสดงแถบบาร์ 1 ถึง 9 เพื่อให้ผู้ใช้เลือกโหลด โดยหากเลือกตำแหน่งที่ 9 จะสามารถเปิดปิดโหลดในเวลาเดียวกันได้ แต่ถ้าหากเลือกโหลดที่ 1 ถึง 8 จะเป็นการเปิด-ปิดเพียงโหลดที่เลือกเท่านั้น

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

 

                แนวการประยุกต์ใช้งาน สำหรับโครงงานนี้ ผู้เขียนได้นำมาประยุกต์ในเรื่องของการจ่ายน้ำในสวนเพื่อการรดน้ำต้นไม้ แต่สำหรับโครงงานนี้สามารถนำไปประยุกต์ใช้งานในด้านอื่นๆ ได้ เช่น เรื่องของการเปิด-ปิดออดของโรงเรียน ซึ่งอาจจะช่วยแบ่งเบาภานะของเจ้าหน้าที่โดยไม่ต้องกังวลว่าต้องมาคอยเปิดออดให้ทำงานหลายๆ ครั้งใน 1 วัน สำหรับหน้าจอ สามารถเลือกการแสดงผลได้ทั้ง Character LCD และแสดงผล ที่ใช้แบบ Graphic LCD ดังรูปข้างต้น

เพียงเท่านี้ท่านก็ได้เครื่องมือช่วยที่จะ ทุ่นแรง ทุ่นเวลา เพื่อให้เหมาะกับยุคสมัยนี้ที่หนึ่งคนจะต้องทำหน้าที่หลายๆ อย่างในเวลาเดียวกัน ทั้งนี้ก็เพื่อประคองตนให้อยู่ได้ในสภาวะเศรฐกิจที่ไม่ค่อยสู้ดีนักของบ้านเราและทั่วโลก สำหรับผู้อ่านท่านใดที่มีข้อเสนอแนะสามารถติชมโครงงานของผู้เขียนได้ที่ arampee@jnutthailand.com หรือที่เว็บไซต์ของผู้เขียน http://www.jnutthailand.com

 

 

 

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

ตัวต้านทาน 1/4 วัตต์ +/-5%

R1-R9,R13,R14           10k                                                                     7                    ตัว

R5,R6                             4.7k                                                                   2                    ตัว

R7                                    1k                                                                       1                    ตัว

R8,R12                           10                                                                       2                    ตัว

R10,R15-R21               470                                                                     8                    ตัว

R11                                 680                                                                     1                    ตัว

R23                                 1.5k                                                                   1                    ตัว

VR1                                ตัวต้านทานปรัค่าได้แบบเกือกม้า 10k        1                    ตัว

 

ตัวเก็บประจุ

C1,C2                                                         10pF 50V เซรามิก                   2                ตัว

C3-C6,C8,C9,C12,C15,C17,C18,C19 0.1uF 50V โพลีเอสเตอร์     11              ตัว

C7,C10,C11,C16,C20                            470uF 16V อิเล็กทรอไลต์      5                ตัว

C13,C14                                                     22pF 50V เซรามิก                   2                ตัว

 

อุปกรณ์สารกึ่งตัวนำ

D1                             1N5819                          1                       ตัว

Q1                             2N4403                          1                       ตัว

Q2                             B772                               1                       ตัว

IC1                            DS1307                          1                       ตัว

IC2                            MAX232                       1                       ตัว

IC3                            ATMEGA128              1                       ตัว

IC4                            LM2576-5                     1                       ตัว

IC5-IC12                 PC817                            8                       ตัว

LED1-LED2          แอลอีดีสีแดง 3 มม.     2                       ตัว

 

อื่นๆ

XTAL1                    คริสตอล 32.768KHz                                           1                       ตัว

XTAL2                    คริสตอล 16 MHz                                                 1                       ตัว

L1                             100uH                                                                     1                       ตัว

SW1                         กดติดปล่อยดับ                                                       1                       ตัว

SW2                         สวิตช์โยก                                                                1                       ตัว

SW1                         สวิตช์แบบเมตริกซ์ขนาด 4x3                            1                       ตัว

SP1                           บัสเซอร์ 5 โวลต์                                                    1                       ตัว

BATT1                    ถ่านกระดุมรุ่น CR2032 หร้อมซ็อกเก็ตแบบตั้ง 1                  ชุด

CON1                       คอนเน็กเตอร์ 2 ขา                                               1                       ตัว

CON2                       RS-232 ตัวเมีย                                                       1                       ตัว

CON3- CON4        คอนเน็กเตอร์ 10 ขา                                             2                       ตัว

CON5                       คอนเน็กเตอร์ 26 ขา                                             2                       ตัว

CON6-CON15       คอนเน็กเตอร์ 2 ขา                                               10                    ตัว

 

ขอบคุณครับ

อารัมภีย์ จันทร์ใย