electrical current measurement system¸•รวจวัดการใช้... ·...

74
ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย Electrical current measurement system ปรีชา รักษาพล Preecha Raksaphon สารนิพนธ์ฉบับนี้เป็นส่วนหนึ่งของการศึกษา หลักสูตรวิทยาศาสตรมหาบัณฑิต สาขาวิชาวิศวกรรมเครือข่าย คณะวิทยาการและเทคโนโลยีสารสนเทศ มหาวิทยาลัยเทคโนโลยีมหานคร ปีการศึกษา 2558

Upload: others

Post on 16-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ระบบตรวจวัดการใช้กระแสไฟฟา้ ผา่นระบบเครือข่าย Electrical current measurement system

ปรีชา รักษาพล Preecha Raksaphon

สารนพินธ์ฉบับนี้เป็นส่วนหน่ึงของการศึกษา

หลักสูตรวิทยาศาสตรมหาบัณฑิต สาขาวิชาวิศวกรรมเครือขา่ย

คณะวิทยาการและเทคโนโลยีสารสนเทศ

มหาวิทยาลยัเทคโนโลยมีหานคร

ปีการศึกษา 2558

Page 2: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ระบบตรวจวัดการใช้กระแสไฟฟา้ ผา่นระบบเครือข่าย Electrical current measurement system

ปรีชา รักษาพล

Preecha Raksaphon

สารนพินธ์ฉบับนี้เป็นส่วนหน่ึงของการศึกษา

หลักสูตรวิทยาศาสตรมหาบัณฑิต สาขาวิชาวิศวกรรมเครือขา่ย

คณะวิทยาการและเทคโนโลยีสารสนเทศ

มหาวิทยาลยัเทคโนโลยมีหานคร

ปีการศึกษา 2558

Page 3: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

หัวข้อ ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย Electrical current measurement system

ชื่อนักศึกษา นายปรีชา รักษาพล รหัสนักศึกษา 5417660029 หลักสูตร วิทยาศาสตรมหาบัณฑิต สาขาวิศวกรรมเครือข่าย ปีการศึกษา 2558 อาจารย์ท่ีปรึกษา ผศ.ดร.วรพล ลีลาเกียรติสกุล

บทคัดย่อ

สารนิพนธ์ฉบับนี้ ผู้ศึกษาได้พัฒนาระบบตรวจวัดการใช้งานกระแสไฟฟ้า ผ่านระบบเครือข่าย

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

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

Page 4: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

กิตติกรรมประกาศ

สารนิพนธ์ฉบับนี้สามารถพัฒนาจนส าเร็จได้ด้วยดี เพราะได้รับความกรุณา และความช่วยเหลือจากหลายท่าน ข้าพเจ้าขอขอบพระคุณมา ณ ที่นี้

ขอขอบพระคุณ ผศ.ดร.วรพล ลีลาเกียรสกุล อาจารย์ที่ปรึกษาโครงงาน ที่กรุณาสละเวลาอันมีค่าให้แนวคิด และค าแนะน าในการด าเนินโครงงานนี้เป็นอย่างดี

ขอขอบพระคุณ อาจารย์ในรั้วมหาวิทยาลัยเทคโนโลยีมหานครทุกท่าน ที่ช่วยประสิทธิประสาทวิชาแก่ข้าพเจ้า ให้สามารถน าความรู้ที่ได้รับ มาใช้ในการพัฒนาโครงงานนี้

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

ปรีชา รักษาพล

พฤษภาคม 2559

Page 5: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

สารบัญ หน้า

บทคัดย่อภาษาไทย I กิตติกรรมประกาศ II สารบัญ III สารบัญตาราง V สารบัญรูป VI บทที่ 1 บทน า 1

1.1 กล่าวน า 1 1.2 วัตถุประสงค์ของโครงงาน 2 1.3 ขอบเขตของโครงงาน 2

1.4 ประโยชน์ที่คาดว่าน่าจะได้รับ 2 1.5 โครงสร้างของสารนิพนธ์ 2 บทที่ 2 พ้ืนฐานและทฤษฎีที่เกี่ยวข้อง 3

2.1 ทฤษฎีและเทคโนโลยีที่เก่ียวข้อง 3 2.2 สรุปท้ายบท 12 บทที่ 3 การออกแบบ และพัฒนาระบบ 13

3.1 ภาพรวมของโครงงานเบื้องต้น 13 3.2 ระบบการท างานของโครงการต้นแบบ 14 3.3 บล็อกไดอะแกรมการท างานของระบบ 14 3.4 การออกแบบวงจรที่ใช้ในการตรวจวัดกระแสไฟฟ้า 15 3.5 การออกแบบการเขียนโปรแกรมไมโครคอนโทรลเลอร์อาร์ดูอิโน่ 16 3.6 การออกแบบการเขียนโปรแกรมบนคอมพิวเตอร์แม่ข่าย 17 3.7 การออกแบบการรับ-ส่งข้อมูลที่ใช้ในโครงงาน 20 3.8 การออกแบบฐานข้อมูลเพื่อใช้จัดเก็บข้อมูลกระแสไฟฟ้า 20 3.9 การออกแบบโครงสร้างว็บเพจเพื่อแสดงผล 21 3.10 แผนผังเว็บไซต์เพ่ือแสดงข้อมูล 22 3.11 ขั้นตอนการพัฒนาโครงการ 23

Page 6: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

สารบัญ(ต่อ) หน้า

บทที่ 4 ผลการทดลองโครงงาน 23

4.1 กล่าวน า 23 4.2 สภาพแวดล้อมในการทดลอง 25 4.3 ขั้นตอนการทดลอง 27 4.4 ผลการทดสอบและใช้งานระบบ 30 4.5 สรุปท้ายบท 35

บทที่ 5 สรุปผลการด าเนินงาน 36 5.2 สรุป 36 5.3 ปัญหาและอุปสรรคในการพัฒนาระบบ 36 5.4 แนวทางในการปรับปรุงและพัฒนา 36

เอกสารอ้างอิง 37 ภาคผนวก 38

Page 7: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

สารบัญตาราง หน้า

ตารางที่ 1.1 แสดงการด าเนินงานตามโครงสร้างของสารนิพนธ์ 2 ตารางที่ 2.1 ตารางข้อมูลทางเทคนิคของ ไมโครคอนโทรลเลอร์อาร์ดูอิโน่ ยูโน 4 ตารางที่ 3.1 ตาราง Log 20 ตารางที่ 3.2 ตาราง User 21 ตารางที่ 4.1 ตารางการเปรียบเทียบการทดสอบการวัดกระแสไฟฟ้า ระหว่าง ดิจิตอลมัลติมิเตอร์กับระบบตรวจวัดกระแสไฟฟ้าผ่านระบบเครือข่าย 35

Page 8: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

สารบัญรูป หน้า

รูปที่ 2.1 แสดงตารางประสิทธิภาพของไอซีเบอร์ ACS712-30A 3 รูปที่ 2.2 หน้าจอโปรแกรมอาร์ดูอิโน่ 5 รูปที่ 2.3 แสดงขั้นตอนการรับส่งข้อมูลของ Protocol http 6 รูปที่ 2.4 แสดงรูปร่างและสัญลักษณ์ของรีเลย์ 7 รูปที่ 2.5 แสดงวงจรการใช้งานแบบ NC และแบบ NO 8 รูปที่ 3.1 แสดงการท างานของระบบ 13 รูปที่ 3.2 แสดงภาพบล็อกไดอะแกรมการท างานของระบบ 15 รูปที่ 3.3 แสดงวงจรที่ใช้ในการตรวจวัดกระแส 15 รูปที่ 3.4 แสดง Flowchart ของโปรแกรมไมโครคอนโทรลเลอร์อาร์ดูอิโน่ 16 รูปที่ 3.5 แสดง Flowchart การออกแบบการเขียนโปรแกรมบนเครื่องแม่ข่าย 17 รูปที่ 3.6 แสดงการออกแบบการรับ-ส่งข้อมูลเพื่อวัดค่ากระแสไฟฟ้า 18 รูปที่ 3.7 แสดงการรับ-ส่งข้อมูลเพื่อการควบคุมไมโครคอนโทรลเลอร์ 19 รูปที่ 3.8 แสดงการรับ-ส่งข้อมูลบันทึกข้อมูลการใช้กระแสไฟฟ้าลงในฐานข้อมูล 20 รูปที่ 3.9 การออกแบบ Flowchart การท างานของหน้าเว็บไซต์ 21 รูปที่ 3.10 การออกแบบแผนผังเว็บไซต์ เพ่ือแสดงข้อมูล 22 รูปที่ 3.11 แสดงการต่อวงจรตรวจวัดกระแส 23 รูปที่ 3.12 แสดงการใช้ Mysql ในการบันทึกข้อมูลการใช้กระแสไฟฟ้า 24 รูปที่ 3.13 แสดงการใช้ Mysql ในการบันทึกข้อมูลผู้ใช้งาน 24 รูปที่ 4.1 เซนเซอร์ตรวจวัดกระแสไฟฟ้า 25รูปที่ 4.2 บอร์ดอาร์ดูอิโน่ i-Duino UNO 25รูปที่ 4.3 Ethernet Shield 26รูปที่ 4.4 กระติกต้มน้ าร้อนไฟฟ้า 26 รูปที่ 4.5 บอร์ดควบคุมการเปิด-ปิดวงจรไฟฟ้า 27 รูปที่ 4.6 แสดงการต่อระบบเพ่ือท าการทดสอบระบบ 27 รูปที่ 4.7 การก าหนดค่าให้กับไมโครคอนโทรลเลอร์อาร์ดูอิโน่ 28 รูปที่ 4.8 การก าหนดค่า IP Address ของคอมพิวเตอร์แม่ข่าย 28

Page 9: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

สารบัญรูป (ต่อ) หน้า

รูปที่ 4.9 แสดงการเปิดโปรแกรมรันเว็บบราวเซอร์ 29 รูปที่ 4.10 แสดงการสร้างตารางในฐานข้อมูล 29 รูปที่ 4.11 หน้าจอแรกเม่ือเปิดระบบ 30 รูปที่ 4.12 หน้าจอการเข้าสู่ระบบ 30 รูปที่ 4.13 หน้าจอเมนู Control 31 รูปที่ 4.14 หน้าจอเมนู Realtime แสดงค่าการใช้กระแสไฟฟ้าในปัจจุบันแสดงผล 31 รูปที่ 4.15 หน้าจอ Calculate รับค่าแบบตัวเลือกเพ่ือค านวณค่ากระแสไฟฟ้า 32 รูปที่ 4.16 หน้าจอ Calculate แสดงการค านวณค่ากระแสไฟฟ้า 32 รูปที่ 4.17 หน้าจอเมนู Year แสดงจ านวนของกระแสไฟฟ้าที่ใช้ในปีปัจจุบัน 33 รูปที่ 4.18 หน้าจอเมนู Monthly แสดงจ านวนของกระแสไฟฟ้าเป็นรายเดือนในปีปัจจุบัน 33 รูปที่ 4.19 หน้าจอ Daily แสดงปริมาณกระแสไฟฟ้าที่ใช้ในแต่ละวัน หน่วยเป็น Unit 34 รูปที่ 4.20 ตัวอย่างข้อมูลที่เก็บลงฐานข้อมูล 34

Page 10: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

บทที่ 1 บทน า

1.1 กล่าวน า

เนื่องจากในปัจจุบันเทคโนโลยีทางด้านการสื่อสารทางเครือข่ายมีการพัฒนาไปอย่างรวดเร็ว ท าให้มีการน าเทคโนโลยีการสื่อสารทางเครือข่ายมาประยุกต์ใช้งานด้านต่างๆ

การใช้พลังงานไฟฟ้าตามสถานที่ต่าง หรืออาคารส านักงาน ในปัจจุบัน มีการต่อพ่วงการใช้

พลังงาน โดยขาดการควบคุมหรือการตรวจสอบการใช้พลังงานไฟฟ้า อีกท้ังเพ่ือความปลอดภัยในการ

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

ระบบเซนเซอร์ เพ่ือท าการบริหารจัดการระบบโดยโปรแกรมคอมพิวเตอร์จากส่วนกลาง เพ่ือท าการตรวจวัดการใช้งานกระแสไฟฟ้าในช่วงเวลาต่างๆ ซึ่งนอกจะ ตรวจสอบการใช้กระแสไฟฟ้า จากวัดจุดต่างๆ แล้ว ยังสามารถควบคุมการท างานของระบบจ่ายไฟฟ้า จากจุดนั้นได้ด้วย 1.2 วัตถุประสงค์ของโครงงาน

1.2.1 เพ่ือให้ผู้ใช้ระบบสามารถตรวจสอบข้อมูลการใช้กระแสไฟฟ้าได้อย่างต่อเนื่อง 1.2.2 เพ่ือให้ผู้ใช้ระบบสามารถดูข้อมูลรายงานย้อนหลังได้ เป็นรายวัน 1.2.3 เพ่ือให้ผู้ใช้ระบบสามารถควบคุมระบบไฟฟ้าจากส่วนกลางได้ 1.2.4 เพ่ือออกแบบและพัฒนาโปรแกรมบริหารจัดการระบบไฟฟ้า

1.3 ขอบเขตของโครงงาน 1.3.1 สามารถเก็บข้อมูลการใช้กระแสไฟฟ้าได้ต่อเนื่อง ทุกๆ 5 นาท ี 1.3.2 สามารถแสดงรายงานข้อมูลการใช้กระแสไฟฟ้าได้เป็นรายวัน รายเดือน รายปี 1.3.3 สามารถตั้งค่าการท างานของระบบให้ควบคุมระบบการใช้กระแสไฟฟ้า และ ควบคุมการเปิด-ปิดได้ 1.3.4 ระบบโปรแกรมจัดการบริหารข้อมูล มีระบบฐานข้อมูลส าหรับการจัดเก็บข้อมูล มีการแสดงรายงานผ่านระบบเว็บแอพลิเคชั่น สามารถดูรายงานย้อนหลัง ได้ 1.3.5 ระบบเซ็นเซอร์ ใช้อุปกรณ์ สมองกลฝังตัว(Microcontroller)เชื่อมต่อกับ เซ็นเซอร์ วัดกระแสไฟฟ้าและสวิตช์แม่เหล็กไฟฟ้า (Relay) ในการตรวจวัดและควบคุม กระแสไฟฟ้า โดยที่ระบบเซ็นเซอร์ 1 ชุด สามารถตรวจวัดและควบคุม กระแสไฟฟ้าได้ 1 ชุด

Page 11: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

1.4 ประโยชน์ที่คาดว่าจะได้รับ 1.4.1 สามารถน าเอาเทคโนโลยีการสื่อสาร TCP/IP มาพัฒนางานให้เกิดประโยชน์ 1.4.2 สามารถจัดเก็บข้อมูลการใช้กระแสไฟฟ้า ตามจุดติดตั้ง เพื่อน าข้อมูลที่ได้จากการ ตรวจวัด มาจัดท านโยบายด้านการใช้พลังงาน 1.4.3 สามารถควบคุมการใช้กระแสไฟฟ้า เพื่อความปลอดภัยในการใช้งานมากขึ้น 1.4.4 สามารถพัฒนาทักษะในการเขียนโปรแกรมเก่ียวกับระบบ(Microcontroller) 1.4.5 สามารถพัฒนาทักษะในการเรียนรู้การสื่อสารตามมาตรฐาน 802.3

1.5 โครงสร้างของสารนิพนธ์ ตารางท่ี 1.1 แสดงการด าเนินงานตามโครงสร้างของสารนิพนธ์

ขั้นตอนการด าเนินงาน ม.ค. 58

ก.พ. 58

มี.ค. 58

เม.ย. 58

พ.ค. 58

1. ศึกษาพ้ืนฐานในการด าเนินโครงงาน 2. ศึกษาหลักการท างานของระบบ

3. การออกแบบและพัฒนาระบบ

4. ด าเนินการทดลอง 5. จัดท าเอกสารสารนิพนธ์

Page 12: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

บทที่ 2 พื้นฐานและทฤษฎีที่เกี่ยวข้อง

2.1 ทฤษฎีและเทคโนโลยีที่เกี่ยวข้อง

2.1.1 Sensor วัดกระแสไฟฟ้า ไอซีเบอร์ ACS712 [1] ไอซีวัดกระแสในตระกูล ACS712 ของบริษัท Allegro เป็น IC ที่ใช้หลักการวัดกระแสแบบ Hall Effect-Base สามารถใช้แรงดันไฟเลี้ยงวงจรแบบ DC ในช่วง 4.5V ถึง 5.5V โดยสามารถวัดกระแสได้ในสองแบบคือไฟฟ้ากระแสตรงและไฟฟ้ากระแสสลับ (DC และ AC) ให้แรงดันเอาต์พุต VOUT แบบเชิงเส้น (linear) ไอซีในตระกูลนี้ให้เลือกใช้แตกต่างกันตามช่วงของการวัดกระแส อาทิเช่น ±5A, ±20A และ ±30A ค่าผิดพลาดในการวัดอยู่ในช่วง 1.5% ที่อุณหภูมิ 25 องศาเซลเซียส เป็นต้น ค่า output sensitivity ของแต่ละช่วงแตกต่างกันไป ตั้งแต่ 66 mV/A ถึง 185 mV/A ยกตัวอย่างเช่น ไอซี ACS712-30A วัดกระแสได้ในย่าน -30 ถึง

+40 A (วัดได้ทั้งกระแส AC และ DC) ใช้ไฟกระแสตรง 5 V Sensitivity 66 mV/A , 5 μs output rise time in response to step input current 80 kHz bandwidth ตารางแสดงประสิทธิภาพของไอซีเบอร์ ACS712-30A แสดงดังรูปที่ 2.1

รูปที ่2.1 แสดงตารางประสิทธิภาพของไอซีเบอร์ ACS712-30A

Allegro MicroSystems, LLC.ACS712-Datasheet. สืบค้นจาก http://www.allegromicro.com/en/Products/Current-Sensor-ICs/Zero-To-Fifty-Amp-Integrated-Conductor-Sensor-ICs/ACS712.aspx

2.1.2 อาร์ดูอิโน ยูโน(Arduino UNO) [2] อาร์ดูอิโน ยูโน(Arduino UNO) เป็นไมโครคอนโทรลเลอร์ที่พัฒนามาจาก ATmega328P

ของบริษัท Atmel ซึ่งมีพอร์ตดิจิตอล ส าหรับ Input/Output ได้ 14 พอร์ต ซึ่ง 6 พอร์ตนั้นสามารถ

Page 13: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ใช้เป็น PWM ได้ทันที พอร์ตส าหรับช่องสัญญาณแอนาลอก อีก 6 พอร์ต สัญญาณความถี่นาฬิกา 16 MHz มีการเชื่อมต่อผ่านพอร์ต USB ซึ่งในการพัฒนาโปรแกรมเพ่ือท าให้ อาร์ดูอิโน่-ยูโน ท างานนั้นเราใช้โปรแกรม Arduino Software(IDE) และเลือกบอร์ดเป็น Arduino/Genuino Uno เพ่ือโหลดโปรแกรมเข้าสู่บอร์ดไมโครคอนโทรลเลอร์ ซึ่งในการพัฒนาโปรแกรมนั้น จะใช้ไวยากรณ์โครงสร้างเป็นภาษา C/C++ ซึ่งง่ายต่อการพัฒนาในการน าไปประยุกต์ใช้งานนั้น สามารถน าไปเชื่อมต่อกับ Module ต่างๆของ Arduino เรียกว่า Arduino-Shield เช่น LCD-IO Shield ส าหรับการแสดงผล LCD หรือ จะน าไปเชื่อมต่อกับ Module รูปแบบอื่นๆ โดยการอ่านค่าแบบ แอนาลอกหรือดิจิตอล ข้อมูลทางเทคนิคดังตารางที่ 2.1 และหน้าจอโปรแกรม Arduino ดังรูปที่ 2.2

ตารางท่ี 2.1 ตารางข้อมูลทางเทคนิคของ ไมโครคอนโทรลเลอร์อาร์ดูอิโน่ ยูโน

Microcontroller ATmega328P Operating Voltage 5V

Input Voltage (recommended) 7-12V

Input Voltage (limit) 6-20V Digital I/O Pins 14 (of which 6 provide PWM output)

PWM Digital I/O Pins 6

Analog Input Pins 6 DC Current per I/O Pin 20 mA

DC Current for 3.3V Pin 50 mA

Flash Memory 32 KB (ATmega328P) of which 0.5 KB used by bootloader

SRAM 2 KB (ATmega328P) EEPROM 1 KB (ATmega328P)

Clock Speed 16 MHz

Length 68.6 mm Width 53.4 mm

Weight 25 g

จากตารางที่ 2.1 เป็นการแสดงข้อมูลคุณสมบัติของ ไมโครคอนโทรลเลอร์อาร์ดูอิโน่ ยูโน

Page 14: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

รูปที่ 2.2 หน้าจอโปรแกรมอาร์ดูอิโน่

ที่มา https://www.arduino.cc/en/Main/ArduinoBoardUno 2.1.3 Protocol http [5] The Hypertext Transfer Protocol (HTTP) เป็น Application หนึ่งใน TCP/IP มีรูปแบบการรับส่งข้อมูลแบบ TCP ซึ่งอยู่ในมาตรฐาน rfc2616 ซึ่งรูปแบบในการเชื่อมต่อมี 2 ขั้นตอนคือ 1.ขั้นตอนการเชื่อมต่อโปรโตคอล คือ การเชื่อมต่อแบบ TCP 2.ขั้นตอนการรับส่งข้อมูล ซึ่งจะท าหลังจากการเชื่อมต่อ ดังรูปที่ 2.3 แสดงขั้นตอนการรับส่งข้อมูลของ Protocol http

Page 15: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

รูปที ่2.3 แสดงขั้นตอนการรับส่งข้อมูลของ Protocol http

โดยที่ พอร์ตที่ใช้ในรอการเชื่อมต่อของคอมพิวเตอร์แม่ข่ายคือ พอร์ต 80 ที่มา Fielding,et al.Standards Track,[Page 44-57],RFC 2616 HTTP/1.1 June 1999 2.1.4 ภาษา PHP [4] ภาษา PHP เป็นภาษาท่ีนิยมงานในปัจจุบัน มีลักษณะเป็นภาษาสคิป ใช้ประโยชน์โดยทั่วไปในการพัฒนาเว็บไซต์ ซึ่งข้อดี นอกจากนี้ยังมีข้อดีคือ เป็นภาษาที่ Open-Source เปิดให้ทุกคนสามารถเข้าถึง Sourcecode ได้ฟรี นอกจากนี้เรายังสามารถประยุกต์ใช้กับ ฐานข้อมูล mysql ได้ โดยในปัจจุบันนี้ มีผู้รวบรวมการใช้งาน PHP ร่วมกับ Webserver และฐานข้อมูล ตัวอย่างเช่น XAMPP เพ่ือความสะดวกในการพัฒนาโปรแกรมภาษา PHP ที่มา สืบค้นจาก www.php.net และ https://www.apachefriends.org

Page 16: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

2.1.5 รีเลย์ (Relay)[7] รีเลย์เป็นอุปกรณ์ที่เปลี่ยนพลังงานไฟฟ้าให้เป็นพลังงานแม่เหล็ก เพ่ือใช้ในการดึงดูดหน้าสัมผัสของคอนแทคให้เปลี่ยนสภาวะ โดยการป้อนกระแสไฟฟ้าให้กับขดลวด เพื่อท าการปิดหรือเปิดหน้าสัมผัสคล้ายกับสวิตช์อิเล็กทรอนิกส์ ซึ่งเราสามารถน ารีเลย์ไปประยุกต์ใช้ ในการควบคุมวงจรต่าง ๆ ในงานช่างอิเล็กทรอนิกส์มากมาย

รูปที ่2.4 แสดงรูปร่างและสัญลักษณ์ของรีเลย์ รีเลย์ ประกอบด้วยส่วนส าคัญ 2 ส่วนหลักก็คือ 1. ส่วนของขดลวด (coil) เหนี่ยวน ากระแสต่ า ท าหน้าที่สร้างสนามแม่เหล็กไฟฟ้าให้แกนโลหะไปกระทุ้งให้หน้าสัมผัสต่อกัน ท างานโดยการรับแรงดันจากภายนอกต่อคร่อมที่ขดลวดเหนี่ยวน านี้ เมื่อขดลวดได้รับแรงดัน(ค่าแรงดันที่รีเลย์ต้องการข้ึนกับชนิดและรุ่นตามที่ผู้ผลิตก าหนด) จะเกิดสนามแม่เหล็กไฟฟ้าท าให้แกนโลหะด้านในไปกระทุ้งให้แผ่นหน้าสัมผัสต่อกัน 2. ส่วนของหน้าสัมผัส (contact) ท าหน้าที่เหมือนสวิตช์จ่ายกระแสไฟให้กับอุปกรณ์ที่เราต้องการนั่นเอง จุดต่อใช้งานมาตรฐาน ประกอบด้วย จุดต่อ NC ย่อมาจาก Normal Close หมายความว่าปกติดปิด หรือ หากยังไม่จ่ายไฟให้ขดลวดเหนี่ยวน าหน้าสัมผัสจะติดกัน โดยทั่วไปเรามักต่อจุดนี้เข้ากับอุปกรณ์หรือเครื่องใช้ไฟฟ้าที่ต้องการให้ท างานตลอดเวลาเช่น จุดต่อ NO ย่อมาจาก Normal Open หมายความว่าปกติเปิดหรือหากยังไม่จ่ายไฟให้ขดลวดเหนี่ยวน าหน้าสัมผัสจะไม่ติดกัน โดยทั่วไปเรามักต่อจุดนี้เข้ากับอุปกรณ์หรือเครื่องใช้ไฟฟ้าที่ต้องการควบคุมการเปิดปิด เช่น โคมไฟสนามหนือหน้าบ้าน จุดต่อ C ย่อมากจาก Common คือจุดร่วมที่ต่อมาจากแหล่งจ่ายไฟ

Page 17: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

รูปที ่2.5 แสดงวงจรการใช้งานแบบ NC และแบบ NO

ข้อค าถึงในการใช้งานรีเลย์ทั่วไป 1. แรงดันใช้งาน หรือแรงดันที่ท าให้รีเลย์ท างานได้ หากเราดูที่ตัวรีเลย์จะระบุค่า แรงดันใช้งานไว้ (หากใช้ในงานอิเล็กทรอนิกส์ ส่วนมากจะใช้แรงดันกระแสตรงในการใช้งาน) เช่น 12VDC คือต้องใช้แรงดันที่ 12 VDC เท่านั้นหากใช้มากกว่านี้ ขดลวดภายใน ตัวรีเลย์อาจจะขาดได้ หรือหากใช้แรงดันต่ ากว่ามาก รีเลย์จะไม่ท างาน ส่วนในการต่อวงจรนั้นสามารถต่อขั้วใดก็ได้ เพราะตัวรีเลย์ จะไม่ระบุขั้วต่อไว้ (นอกจากชนิดพิเศษ) 2. การใช้งานกระแสผ่านหน้าสัมผัส ซึ่งที่ตัวรีเลย์จะระบุไว้ เช่น 10A 220AC คือ หน้าสัมผัสของรีเลย์นั้นสามาถทนกระแสได้ 10 แอมแปร์ที่ 220VAC แต่การใช้ก็ควรจะใช้งานที่ระดับกระแสต่ ากว่าที่ก าหนด เพ่ือป้องกันการเสียหายของรีเลย์ 3. จ านวนหน้าสัมผัสการใช้งาน ควรดูว่ารีเลย์นั้นมีหน้าสัมผัสให้ใช้งานกี่อัน และมีขั้วคอมมอนด้วยหรือไม่ ชนิดของรีเลย์ รีเลย์ที่นิยมใช้งานและรู้จักกันแพร่หลาย 4 ชนิด 1.อาร์เมเจอร์รีเลย์ (Armature Relay) 2.รีดรีเลย์ (Reed Relay) 3.รีดสวิตช์ (Reed Switch) 4.โซลิดสเตตรีเลย์ (Solid-State Relay)

Page 18: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ประเภทของรีเลย์ เป็นอุปกรณ์ท าหน้าที่เป็นสวิตช์มีหลักการท างานคล้ายกับ ขดลวดแม่เหล็กไฟฟ้าหรือโซลินอยด์ (solenoid) รีเลย์ใช้ในการควบคุมวงจร ไฟฟ้าได้อย่างหลากหลาย รีเลย์เป็นสวิตช์ควบคุมท่ีท างานด้วยไฟฟ้า แบ่งออกตามลักษณะการใช้งานได้เป็น 2 ประเภทคือ 1.รีเลย์ก าลัง (power relay) หรือมักเรียกกันว่าคอนแทกเตอร์ (Contactor or Magnetic contactor) ใช้ในการควบคุมไฟฟ้าก าลัง มีขนาดใหญ่กว่ารีเลย์ธรรมดา 2.รีเลย์ควบคุม (control Relay) มีขนาดเล็กก าลังไฟฟ้าต่ า ใช้ในวงจรควบคุมท่ัวไปที่มีก าลังไฟฟ้าไม่มากนัก หรือเพ่ือการควบคุมรีเลย์หรือคอนแทกเตอร์ขนาดใหญ่ เรียกกันง่าย ๆ ว่า "รีเลย์" ชนิดของรีเลย์ การแบ่งชนิดของรีเลย์สามารถแบ่งได้ 10 แบบ คือ ชนิดของรีเลย์แบ่งตามลักษณะของคอยล์ หรือ แบ่งตามลักษณะการใช้งาน (Application) ได้แก่รีเลย์ดังต่อไปนี้ 1.รีเลย์กระแส (Current relay) คือ รีเลย์ที่ท างานโดยใช้กระแสมีทั้งชนิดกระแสขาด (Under- current) และกระแสเกิน (Over current) 2.รีเลย์แรงดัน (Voltage relay) คือ รีเลย์ ที่ท างานโดยใช้แรงดันมีทั้งชนิดแรงดันขาด (Under-voltage) และ แรงดันเกิน (Over voltage) 3.รีเลย์ช่วย (Auxiliary relay) คือ รีเลย์ที่เวลาใช้งานจะต้องประกอบเข้ากับรีเลย์ชนิดอื่น ๆ จึงจะท างานได้ 4.รีเลย์ก าลัง (Power relay) คือ รีเลย์ที่รวมเอาคุณสมบัติของรีเลย์กระแส และรีเลย์แรงดันเข้าด้วยกัน 5.รีเลย์เวลา (Time relay) คือ รีเลย์ที่ท างานโดยมีเวลาเข้ามาเก่ียวข้องด้วย ซึ่งมีอยู่ด้วยกัน 4 แบบ คือ 5.4.1 รีเลย์กระแสเกินชนิดเวลาผกผันกับกระแส (Inverse time over current relay) คือ รีเลย์ ที่มีเวลาท างานเป็นส่วนกลับกับกระแส 5.4.2 รีเลย์กระแสเกินชนิดท างานทันที (Instantaneous over current relay) คือรีเลย์ที่ท างานทันทีทันใดเมื่อมีกระแสไหลผ่านเกินกว่าที่ก าหนดที่ตั้งไว้ 5.4.3 รีเลย์แบบดิฟฟินิตไทม์เล็ก (Definite time lag relay) คือ รีเลย์ ที่มีเวลาการท างานไม่ขึ้นอยู่กับความมากน้อยของกระแสหรือค่าไฟฟ้าอ่ืนๆ ที่ท าให้เกิดงานขึ้น 5.4.4 รีเลย์แบบอินเวอสดิฟฟินิตมินิมั่มไทม์เล็ก (Inverse definite time lag relay) คือ รีเลย์ ที่ท างานโดยรวมเอาคุณสมบัติของเวลาผกผันกับกระแส (Inverse time) และ แบบดิฟฟินิตไทม์แล็ก (Definite time lag relay) เข้าด้วยกัน

Page 19: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

5.รีเลย์กระแสต่าง (Differential relay) คือ รีเลย์ที่ท างานโดยอาศัยผลต่างของกระแส 6.รีเลย์มีทิศทาง (Directional relay) คือรีเลย์ที่ท างานเมื่อมีกระแสไหลผิดทิศทาง มีแบบรีเลย์ก าลังมีทิศทาง(Directional power relay) และรีเลย์กระแสมีทิศทาง (Directional current relay) 7.รีเลย์ระยะทาง (Distance relay) คือ รีเลย์ระยะทางมีแบบต่างๆ ดังนี้ - รีแอกแตนซ์รีเลย์ (Reactance relay) - อิมพีแดนซ์รีเลย์ (Impedance relay) - โมห์รีเลย์ (Mho relay) - โอห์มรีเลย์ (Ohm relay) - โพลาไรซ์โมห์รีเลย์ (Polaized mho relay) - ออฟเซทโมห์รีเลย์ (Off set mho relay) 8.รีเลย์อุณหภูมิ (Temperature relay) คือ รีเลย์ที่ท างานตามอุณหภูมิที่ตั้งไว 9.รีเลย์ความถี่ (Frequency relay) คือ รีเลย์ที่ท างานเมื่อความถ่ีของระบบต่ ากว่าหรือมากกว่าที่ตั้งไว้ 10.บูคโฮลซ์รีเลย์ (Buchholz ‘s relay) คือรีเลย์ที่ท างานด้วยก๊าซ ใช้กับหม้อแปลงที่แช่อยู่ในน้ ามันเมื่อเกิด ฟอลต์ ขึ้นภายในหม้อแปลง จะท าให้น้ ามันแตกตัวและเกิดก๊าซขึ้นภายในไปดันหน้าสัมผัส ให้รีเลย์ท างาน ประโยชน์ของรีเลย์ 1. ท าให้ระบบส่งก าลังมีเสถียรภาพ (Stability) สูงโดยรีเลย์จะตัดวงจรเฉพาะส่วนที่เกิดผิดปกติ ออกเท่านั้น ซึ่งจะเป็นการลดความเสียหายให้แก่ระบบน้อยที่สุด 2. ลดค่าใช้จ่ายในการซ่อมแซมส่วนที่เกิดผิดปกติ 3. ลดความเสียหายไม่เกิดลุกลามไปยังอุปกรณ์อ่ืนๆ 4. ท าให้ระบบไฟฟ้าไม่ดับทั้งระบบเมื่อเกิดฟอลต์ขึ้นในระบบ คณุสมบัติท่ีดีของรีเลย์ 1. ต้องมีความไว (Sensitivity) คือมีความสามารถในการตรวจพบสิ่งที่ผิดปกติเพียงเล็กน้อยได้ 2. มีความเร็วในการท างาน (Speed) คือความสามารถท างานได้รวดเร็วทันใจ ไม่ท าให้เกิดความเสียหายแก่อุปกรณ์และไม่กระทบกระเทือนต่อระบบ โดยทั่วไปแล้วเวลา ที่ใช้ในการตัดวงจรจะข้ึนอยู่กับระดับของแรงดันของระบบด้วย ระบบ 6-10 เควี จะต้องตัดวงจรภายในเวลา 1.5-3.0 วินาท ีระบบ 100-220 เควี จะต้องตัดวงจรภายในเวลา 0.15-0.3 วินาที ระบบ 300-500 เควี จะต้องตัดวงจรภายในเวลา 0.1-0.12 วินาที

Page 20: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

2.1.6 การค านวณพลังงานไฟฟ้า[6]

ก าลังไฟฟ้า ( วัตต์ ) = พลังงานไฟฟ้า(จูล) / เวลา (วินาที) ดังนั้น พลังงานไฟฟ้า ( จูล ) = ก าลังไฟฟ้า ( วัตต์ ) X เวลา ( วินาที ) ตัวอย่าง หม้อหุงข้าวไฟฟ้าใช้ก าลังไฟฟ้า 800 วัตต์ ถ้าใช้หม้อหุงข้าวนี้นาน 1 ชั่วโมง จะสิ้นเปลืองพลังงานไฟฟ้าเท่าไร วิธีคิด หม้อหุงข้าวไฟฟ้าใช้ก าลังไฟฟ้า = 800 วัตต์ ใช้หม้อหุงข้าวไฟฟ้า นาน 1 ชั่วโมง = 60 X 60 วินาที จากความสัมพันธ์ พลังงานไฟฟ้า ( จูล ) = ก าลังไฟฟ้า ( วัตต์ ) X เวลา ( วินาที ) ดังนั้น พลังงานไฟฟ้า ( จูล ) = 800 X 60 X 60 = 2,880,000 จูล จะได้ค าตอบ ใช้หม้อหุงข้าวไฟฟ้านี้ นาน 1 ชั่วโมง สิ้นเปลอืงพลังงาน 2,880,000 จูล โดยทั่วไปนิยมวัดพลังงานไฟฟ้าที่ใช้กับเครื่องใช้ไฟฟ้าเป็นหน่วยที่ใหญ่กว่าหน่วยจูล โดยวดัก าลังไฟฟ้าเป็นกิโลวัตต์ และคิดช่วงเวลาเป็นชั่วโมง ดังนั้น พลังงานไฟฟ้าจึงวัดได้เป็น กิโลวัตต์ – ชั่วโมง หรือเรียกว่า หน่วยหรือยูนิต เนื่องจากก าลังไฟฟ้า 1 กิโลวตัต์เท่ากับ 1,000 วัตต์ ดังนั้น ถ้าใช้พลังงานไฟฟ้าไป 1 กิโลวัตต์ – ชั่วโมง จึงหมายถึง มีการใช้พลังงานไฟฟ้าไป 1,000 วัตต์ เป็นเวลานาน 1 ชั่วโมง นั่นคือ ใช้พลังงานไฟฟ้าเป็นกิโลวัตต์ – ชั่วโมง หรือหน่วย หรือยูนิต ค านวณได้จาก พลังงานไฟฟ้า ( หน่วย ) = ก าลังไฟฟ้า ( กิโลวัตต์ ) X เวลา ( ชั่วโมง ) ตัวอย่างเช่น พัดลมตั้งพ้ืน 75 วัตต์ 4 ตัว ถ้าเปิดพร้อมกันจะใช้ก าลังไฟฟ้ารวมกันกี่กิโลวัตต์ และถ้าเปิดอยู่นาน 5 ชั่วโมง จะสิ้นเปลืองพลังงานไฟฟ้ากี่หน่วย วิธีคิด พัดลมตั้งพ้ืน 75 วัตต์ 4 ตัว ใช้ก าลังไฟฟ้ารวม = 75 X 4 วัตต์ = 300 วัตต์ ก าลังไฟฟ้า ( กิโลวัตต์ ) = 300/1,000 กิโลวัตต์ นั่นคือ พัดลมตั้งพ้ืนทั้ง 4 ตัว ใช้ก าลังไฟฟ้า 0.3 กิโลวัตต์ พลังงานไฟฟ้า ( หน่วย ) = ก าลังไฟฟ้า ( กิโลวัตต์ ) X เวลา ( ชั่วโมง ) พลังงานไฟฟ้าที่ใช้ = 0.3 กิโลวัตต์ X 5 ชั่วโมง = 1.5 หน่วย ผลลัพธ์ที่ได้ พัดลมตั้งพ้ืน 4 ตัวนี้เปิดนาน 5 ชั่วโมง สิ้นเปลืองพลังงานไฟฟ้า = 1.5 หน่วย 2.2 สรุปท้ายบท ในบทนี้ได้น าเสนอเกี่ยวกับพ้ืนฐาน และทฤษฎีที่เก่ียวข้องกับโครงงาน รวมถึงเทคโนโลยีต่าง ๆ ที่น ามาใช้ในการพัฒนาโครงงานนี้ขึ้น ในบทต่อไปจะกล่าวถึงการวิเคราะห์ระบบ และออกแบบระบบส าหรับการท าระบบวัดกระแสไฟฟ้า

Page 21: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

บทที่ 3 การออกแบบและพัฒนาระบบ

3.1 ภาพรวมของโครงงานเบื้องต้น จากการออกแบบโครงสร้างของโครงงาน จะสามารถแสดงให้เห็นในรูปที่ 3.1 ซึ่งภายในระบบจะประกอบไปด้วย วงจรควบคุมการเปิด-ปิดกระแสไฟฟ้าท าการเชื่อมต่อกับเซ็นเซอร์วัดกระแสไฟฟ้าเพ่ือใช้ในการตรวจวัดกระแสไฟฟ้า ในกรณีที่มีการเปิดการใช้งานกระแสไฟฟ้า ข้อมูลที่ได้จาเซนเซอร์ในการตรวจวัดกระแสไฟฟ้า จะถูกท าการประมวลผลและควบคุมโดยคอนโทรลเลอร์อาร์ดูอิโน่(Controller Arduino) ซึ่งจะท าหน้าที่เป็นเครื่องลูกข่ายในการ เชื่อมต่อเครือข่ายคอมพิวเตอร์ ส าหรับส่งข้อมูลการใช้กระแสไฟฟ้า ให้กับเครื่องแม่ข่าย (Server) เพ่ือบันทึกข้อมูลการใช้กระแสไฟฟ้า ส าหรับการประมวลผลในการค านวณปริมาณกระแสไฟฟ้าและค่าไฟฟ้า ส่วนเครื่องลูกข่ายนั้นสามารถดูข้อมูลการตรวจวัดจากเครื่องแม่ข่าย (Server) โดยผ่าน เว็บบราวเซอร์เพ่ือดูข้อมูลการใช้กระแสไฟฟ้าและค่าไฟฟ้า รูปแบบการท างานของระบบนั้นแสดงได้ดังรูปที่ 3.1

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

Page 22: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

โดยที่เซ็นเซอร์วัดกระแสไฟฟ้าสามารถอ่านได้เป็นค่าสัญญาณแอนาลอก เพ่ือน ามาใช้พัฒนาโปรแกรมควบคุมในไมโครคอนโทรลเลอร์อาร์ดูอิโน่ ซึ่งไมโครคอนโทรลเลอร์อาร์ดูอิโน่ นั้นจะท าการส่งค่าที่อ่านได้จากเซ็นเซอร์วัดกระแสไฟฟ้า ไปบันทึกลงในฐานข้อมูลของเครื่องแม่ข่าย เพ่ือให้เครื่องแม่ข่ายสามารถรองรับการเรียกดูข้อมูลจากเครื่องลูกข่ายอื่นๆได้ ผ่านเว็บบราวเซอร์ 3.2 การท างานของระบบต้นแบบ การท างานจะเป็นระบบเครือข่าย LAN ซึ่งมี วงจรควบคุมกระแสไฟฟ้าเซ็นเซอร์วัดกระแสไฟฟ้าท าการวัดกระแสไฟฟ้า โดยท างานร่วมกับไมโครคอนโทรลเลอร์อาร์ดูอิโน่และรับส่งข้อมูลผ่านทางเครือข่าย LAN โดยที่มีการเชื่อมต่อแบบ Client-Server โดยที่เครื่องแม่ข่ายจะมีโปรแกรมจดัเก็บข้อมูลและแสดงข้อมูลผ่านทางเว็บบราวเซอร์ ในระบบโครงงานจะมีส่วนหลัก ๆที่ส าคัญอยู่ 4 ส่วน ด้วยกันคือ 1. ส่วนควบคุมการเปิด-ปิดวงจรไฟฟ้า ท าหน้าที่ควบคุมการจ่ายกระแสไฟฟ้า 2 . เ ซ็ น เ ซอ ร์ วั ด ก ร ะแส ไฟ ฟ้ า ท าหน้ าที่ วั ด กร ะแส ไฟ ฟ้ า เ พ่ื อส่ ง ข้ อ มู ล ให้ กั บไมโครคอนโทรลเลอร์อาร์ดูอิโน่

3. ไมโครคอนโทรลเลอร์อาร์ดูอิโน่ จะท าการรับค่าจากเซ็นเซอร์วัดกระแสไฟฟ้า และท าการส่งข้อมูล ที่ได้จากการวัดกระแสไฟฟ้า ให้กับเครื่องแม่ข่ายเพ่ือบันทึกข้อมูลที่ได้จากการวัดกระแสลงในระบบฐานข้อมูล 4. หน่วยประมวลผลกลางที่เป็นเซิร์ฟเวอร์หน้าที่หลักของเซอร์เวอร์จะแบ่งได้เป็น 2 ส่วนได้แก ่

4.1 การจัดเก็บข้อมูลที่ได้รับจากเซนเซอร์ 4.2 การออกรายงาน ให้กับผู้ใช้ผ่านทางเว็บบราวเซอร์ 3.3 บล็อกไดอะแกรมการท างานของระบบ จะเริ่มจาก ระบบเซ็นเซอร์วัดกระแสไฟฟ้า ส่งค่าสัญญาณแอนาลอกให้กับ บอร์ดไมโครคอนโทรลเลอร์อาร์ดูอิโน่ หลังจากนั้นบอร์ดไมโครคอนโทรลเลอร์อาร์ดูอิโน่ จะท าการเชื่อมต่อกันกับคอมพิวเตอร์แม่ข่าย ผ่านทางโปรโตคอล TCP เพ่ือรับส่งข้อมูลกัน เมื่อคอมพิวเตอร์แม่ข่ายได้รับข้อมูลจากไมโครคอนโทรลเลอร์อาร์ดูอิโน่ แล้วจะท าการบันทึกข้อมูลการใช้กระแสไฟฟ้าทุกๆ 2 วินาที ลงในฐานข้อมูล คอมพิวเตอร์แม่ข่ายก็จะรอรับการเรียกดูข้อมูลการใช้กระแสไฟฟ้าผ่านทางเว็บบราวเซอร์ จากเครื่องคอมพิวเตอร์ลูกข่าย บล็อกไดอะแกรมการท างานของระบบแสดงในรูปที่ 3.2

Page 23: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

รูปที ่3.2 แสดงภาพบล็อกไดอะแกรมการท างานของระบบ

3.4 การออกแบบวงจรที่ใช้ในการตรวจวัดกระแสไฟฟ้า เริ่มจาก การน าวงจรควบคุมการเปิด-ปิดไฟฟ้า ไปติดตั้งกับวงจรไฟฟ้า โดยการน าเซ็นเซอร์วัดกระแสไฟฟ้า ไปท าการต่ออนุกรมกับวงจรไฟฟ้าที่ต้องการตรวจวัดกระแส เซ็นเซอร์ตรวจวัดกระแสเชื่อมต่อกับไมโครคอนโทรลเลอร์อาร์ดูอิโน่ ผ่านทางพอร์ตแอนาลอก โดยที่ค่าของตรวจวัดกระแสนั้น จะมีค่าตั้งแต่ 0 – 1023 การส่งข้อมูลของบอร์ดไมโครคอนโทรลเลอร์อาร์ดูอิโน่นั้นจะต้องเพ่ิมโมดูล Ethernet Shield เพ่ือให้บอร์ดไมโครคอนโทรลเลอร์อาร์ดูอิโน่นั้น สามารถท าการเชื่อมต่อกับเครื่อข่ายคอมพิวเตอร์ได้ เมื่อบอร์ดไมโครคอมพิวเตอร์อาร์ดูอิโน่เชื่อมต่อกับคอมพิวเตอร์แม่ข่ายแล้ว ก็จะท าการส่งค่าตรวจวัดกระแส ไปท าการบันทึกการตรวจวัดกระแส โดยบันทึกลงในระบบฐานข้อมูล เมื่อมีการเรียกดูข้อมูลจากเครื่องลูกข่าย ข้อมูลก็จะแสดงผ่านทางเว็บบราวเซอร์ การออกแบบวงจรดังรปูที่ 3.3

รูปที ่3.3 แสดงวงจรที่ใช้ในการตรวจวัดกระแส

เซ็นเซอร์วดักระแสไฟฟ้า

ไมโครคอนโทรลเลอร์ อาร์ดอูิโน ่

คอมพิวเตอร์แมข่า่ย คอมพิวเตอร์ลกูขา่ย

เซ็นเซอร์วดักระแสไฟฟ้า

Page 24: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

Y

Y

3.5 การออกแบบการเขียนโปรแกรมไมโครคอนโทรลเลอร์อาร์ดูอิโน่ การออกแบบ Flowchart ของโปรแกรมไมโครคอนโทรลเลอร์อาร์ดูอิโน่ ดังรูปที่ 3.4

รูปที่ 3.4 แสดง Flowchart ของโปรแกรมไมโครคอนโทรลเลอร์อาร์ดูอิโน่ ซึ่งจากรูปที่ 3.4 เป็นการแสดง Flowchart การท างานของไมโครคอนโทรลเลอร์อาร์ดูอิโน่ การท างานเริ่มจาก การก าหนด port ในการอ่านค่ากระแสไฟฟ้าให้กับเซ็นเซอร์วัดค่ากระแสไฟฟ้าและก าหนดค่าระบบเครือข่ายให้กับไมโครคอนโทรลเลอร์อาร์ดูอิโน่ เพ่ือใช้ในการรับ-ส่งข้อมูลระหว่างไมโครคอนโทรลเลอร์กับคอมพิวเตอร์ลูกข่ายในกรณีที่รอรับค าสั่ง เปิด -ปิดวงจร และใช้รับส่งข้อมูลระหว่างไมโครคอนโทรลเลอร์กับคอมพิวเตอร์แม่ข่ายในกรณีท่ีส่งข้อมูลปริมาณการใช้กระแสไฟฟ้า ถ้าไม่สามารถเชื่อมตอ่กันระหว่างไมโครคอนโทรลเลอร์กับคอมพิวเตอร์ลูกข่าย ก็จะจบการท างาน แต่ถ้ามีการเชื่อมต่อกันส าเร็จผ่านโปรโตคอล TCP/IP Port 80 ไมโครคอนโทรลเลอร์อาร์ดูอิโน่ จะส่ง

N

ก าหนดคา่ การอา่นคา่แอนาลอ็ก การรับสง่ข้อมลูกบัคอมพวิเตอร์ลกูขา่ย

มีการเช่ือมตอ่

เช่ือมตอ่กบัคอมพิวเตอร์แมข่า่ย

สง่ข้อมลูให้กบัคอมพวิเตอร์แมข่า่ย

เริม่การท างาน

จบท างาน

รบัค่าแอนาลอ็ก จากช่องทางอนิพตุ รับสง่ข้อมลูกบัคอมพิวเตอร์แมข่า่ย

รอรับการเช่ือมตอ่จากคอมพวิเตอร์ลกูขา่ย

Switch ON

รอรับค าสัง่ ON ,OFF

N

Page 25: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

Html Accept ไปให้กับคอมพิวเตอร์ลูกข่ายเพ่ือรอรับค าสั่ง เปิด-ปิดวงจร เมื่อมีค าสั่งให้สวิตช์เปิด (Switch On) ไมโครคอนโทรลเลอร์อาร์ดูอิโน่จะท าการอ่านค่าการใช้ปริมาณการใช้กระแสไฟฟ้า แล้วส่งไปให้กับคอมพิวเตอร์แม่ข่าย เพ่ือบันทึกการใช้กระแสไฟฟ้า ลงในฐานข้อมูล การท างานรับ -ส่งข้อมูลระหว่างไมโครคอนโทรลเลอร์กับคอมพิวเตอร์แม่ข่ายนี้ จะท างานจนกระทั่งมีค าสั่งปิดวงจร (Switch OFF) จากคอมพิวเตอร์ลูกข่าย 3.6 การออกแบบการเขียนโปรแกรมบนคอมพิวเตอร์แม่ข่าย

รูปที ่3.5 แสดง Flowchart การออกแบบการเขียนโปรแกรมบนเครื่องแม่ข่าย จากรูปที่ 3.5 การออกแบบการเขียนโปรแกรมบนเครื่องแม่ข่าย จะเห็นได้ว่า เมื่อเริ่มการท างานแล้วนั้น เว็บเซิฟเวอร์จะรอการเชื่อมต่อกับไมโครคอนโทรลเลอร์ผ่านไอพีแอดเดรสของเครื่องแม่ข่ายและโปโตคอล Http ถ้าไม่มีการเชื่อมต่อ ก็จะรอรับการเชื่อมต่อไปจนกระทั่งมีการเชื่อมต่อ เมื่อมีการ

ไมม่ี

ไมม่ี

มี

มี

เริม่การท างาน

รอรบัการเชื่อมต่อจากไมโครคอนโทรเลอร ์

การเชื่อมต่อ

ข้อมลู

รับข้อมลูการใช้กระแสไฟฟ้าจาก

ไมโครคอนโทรลเลอร์

เพิม่ขอ้มลูการใชก้ระแสไฟฟ้า ลงในฐานขอ้มลู

จบการท างาน

Page 26: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

เชื่อมต่อระหว่างคอมพิวเตอร์แม่ข่ายกับบอร์ดไมโครคอนโทรลเลอร์แล้ว คอมพิวเตอร์แม่ข่ายจะรอรับข้อมูลปริมาณกระแสไฟฟ้าถ้ามีข้อมูลการใช้กระแสไฟฟ้า จากไมโครคอนโทรลเลอร์ คอมพิวเตอร์แม่ข่ายจะท าการเพิ่มข้อมูลลงในฐานข้อมูล เมื่อท างานกระบวนการนี้ส าเร็จแล้ว จะไปรอรับการเชื่อมต่อจากไมโครคอนโทรลเลอร์ใหม่ ส่วนการจบการท างานนั้นก็ต่อเมื่อมีการปิดการเชื่อมต่อระหว่างไมโครคอนโทรลเลอร์อาร์ดูอิโน่กับคอมพิวเตอร์แม่ข่าย 3.7 การออกแบบการรับ-ส่งข้อมูลที่ใช้ในโครงงาน 3.7.1 การออกแบบการรับ-ส่งข้อมูล ที่ใช้การติดต่อกันผ่าน Protocol TCP/IP Http ดังรูปที่ 3.6

รูปที่ 3.6 แสดงการออกแบบการรับ-ส่งข้อมูลเพื่อวัดค่ากระแสไฟฟ้า

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

Page 27: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ตามมาตรฐานโปรโตคอล Http การสิ้นสุดการเชื่อมต่อจะมาจากไมโครคอนโทรลเลอร์อาร์ดูอิโน่ ด้านคอมพิวเตอร์แม่ข่ายกับคอมพิวเตอร์ลูกข่าย จะเริ่มจากคอมพิวเตอร์ลูกข่ายส่งค าร้องขอเชื่อมต่อไปยังคอมพิวเตอร์แม่ข่าย ผ่านโปรโตคอล TCP/IP Http คอมพิวเตอร์แม่ข่ายส่งสัญญาณรับทราบการร้องขอไปยังคอมพิวเตอร์ลูกข่าย คอมพิวเตอร์ลูกข่ายรับทราบและส่งข้อมูล ร้องขอข้อมูล Http ไปยังคอมพิวเตอร์แม่ข่าย คอมพิวเตอร์แม่ข่ายส่งข้อมูลมายังคอมพิวเตอร์ลูกข่าย และปิดการเชื่อมต่อ 3.7.2 การออกแบบการรับ-ส่งข้อมูลเพื่อควบคุมไมโครคอนโทรลเลอร์

รูปที่ 3.7 แสดงการรับ-ส่งข้อมูลเพื่อการควบคุมไมโครคอนโทรลเลอร์ จากรูปที่ 3.7 ในขั้นตอนแรกนั้น ทั้งไมโครคอนโทรลเลอร์และเครื่องลูกข่ายต้องมีการเชื่อมต่อกัน ก่อนเพ่ือรับส่งข้อมูลค าสั่งและสถานะของไมโครคอนโทรลเลอร์ ถ้าต้องการส่งข้อมูลการควบคุมไมโครคอนโทรลเลอร์ ฝั่ง Client จะส่งข้อมูล Http Request ไปยัง ไมโครคอนโทรลเลอร์ เมื่อ ไมโครคอนโทรลเลอร์ ได้รับข้อมูลจากเครื่องลูกข่ายแล้วก็จะส่งข้อมูล Data Html มาให้กับเครื่องลูกข่ายเพ่ือใช้ในควบคุมไมโครคอนโทรลเลอร์ เมื่อต้องการควบคุมไมโครคอนโทรลเลอร์อาร์ดูอิโน่ต้องท าการส่งข้อมูลไปยังไมโครคอนโทรลเลอร์เพื่อท างานตามต้องการต่อไป เมื่อไมโครคอนโทรลเลอร์ท างานตามค าสั่งแล้วก็จะส่งสถานะกลับมายัง เครื่องลูกข่ายเพื่อรอรับค าสั่งต่อไป

Page 28: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

3.7.3 การออกแบบการรับ-ส่งข้อมูลเพ่ือบันทึกข้อมูลการใช้กระแสไฟฟ้าลงในฐานข้อมูลดังแสดงในรูปที่ 3.8

รูปที ่3.8 แสดงการรับ-ส่งข้อมูลบันทึกข้อมูลการใช้กระแสไฟฟ้าลงในฐานข้อมูล จากรูปที่ 3.8 ในขั้นตอนแรกนั้น ไมโครคอนโทรลเลอร์อาร์ดูอิโน่และเครื่องแม่ข่ายจะยังไม่เชื่อมต่อกันจนกระทั่ งไมโครคอนโทรลเลอร์อาร์ดู อิ โน่มีการสั่ ง เปิดการท างาน เมื่ อมีค าสั่ ง เปิดแล้ วไมโครคอนโทรลเลอร์อาร์ดูอิโน่ จะท าการอ่านค่ากระแสไฟฟ้า และท าการเชื่อมต่อกับคอมพิวเตอร์แม่ข่าย (Webserver) แบบ Http ก่อนเพ่ือส่งข้อมูลกระแสไฟฟ้า ไปยัง คอมพิวเตอร์แม่ข่าย (Webserver) เมื่อ Webserver ได้รับข้อมูลจากไมโครคอนโทรลเลอร์อาร์ดูอิโน่ ก็จะส่งข้อมูลไปยังไมโครคอนโทรลเลอร์เพ่ือท างานตามต้องการต่อไป เมื่อไมโครคอนโทรลเลอร์ท างานตามค าสั่งแล้วก็จะส่งสถานะกลับมายัง คอมพิวเตอร์แม่ข่าย (Webserver) เพ่ือรอการเรียกดูข้อมูลต่อไป 3.8 การออกแบบฐานข้อมูลเพื่อใช้จัดเก็บข้อมูลการใช้กระแสไฟฟ้า การจัดเก็บข้อมูลของระบบไฟล์ลงฐานข้อมูลซึ่งจะมีพจนานุกรมฐานข้อมูล (Data Dictionary) ดังนี้

1) ฐานข้อมูล ประกอบด้วยตารางเก็บข้อมูล จ านวน 2 ตาราง คือ ตารางที่ 3.1 และ ตารางที่ 3.2 ตารางท่ี 3.1 ตาราง Log ชื่อฟิลด์ ประเภท/ขนาด Key ความหมาย หมายเหตุ

ID Varchar(3) Pk หมายเลขประจ าตัว

Date date Pk วันที่ Time time Pk เวลา

value double กระแสไฟฟ้า

Page 29: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ตารางท่ี 3.2 User

ชื่อฟิลด์ ประเภท/ขนาด Key ความหมาย หมายเหตุ ID Varchar(3) Pk หมายเลขประจ าตัว

room varchar(50) ชื่อสถานที่

ip varchar(15) Ip ของไมโครคอนโทรลเลอร์อาร์ดูอิโน่

3.9 การออกแบบโครงสร้างว็บเพจเพื่อแสดงผล การออกแบบ Flowchart ของหน้าเว็บไซต์ ออกแบบได้ดังรูปที่ 3.9

รูปที ่3.9 การออกแบบ Flowchart การท างานของหน้าเว็บไซต์

จากรูปที่ 3.9 เป็นการออกแบบ Flowchart การท างานของหน้าเว็บไซต์ เริ่มการท างานจากการ เปิดหน้าโฮมเพจ ประกอบไปด้วยข้อความการควบคุมไมโครคอนโทรลเลอร์เพ่ือเข้าไปควบคุมการเปิด-ปิดวงจรไฟฟ้า ข้อความแสดงข้อมูลปริมาณการใช้กระแสไฟฟ้า เป็นการแสดงปริมาณข้อมูล

Page 30: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

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

รูปที ่3.10 การออกแบบแผนผังเว็บไซต์ เพ่ือแสดงข้อมูล

Page 31: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

3.11 ขั้นตอนการพัฒนาโครงการ 1.ท าการเชื่อมต่อวงจรตรวจวัดกระแสไฟฟ้า

รูปที ่3.11 แสดงการต่อวงจรตรวจวัดกระแส

2. ท าการพัฒนาโปรแกรมรับค่าการเปิดปิดวงจรไฟฟ้า ผ่านระบบเครือข่ายโดยการใช้บอร์ดไมโครคอนโทรลเลอร์อาร์ดูอิโน่ และท าการ อ่านค่าจากเซ็นเซอร์ตรวจวัดกระแส เพ่ือส่งค่าไปยังคอมพิวเตอร์แม่ข่าย โดยใช้โปรแกรม Arduino 3. ท าการพัฒนาระบบที่คอมพิวเตอร์แม่ข่ายเพ่ือรับข้อมูลจากไมโครคอนโทรลเลอร์อาร์ดูอิโน่ มาบันทึกข้อมูลและแสดงผลข้อมูลผ่านทางเว็บบราวเซอร์ โดยใช้ ภาษา PHP ในการพัฒนาเว็บเซิฟเวอร์

Page 32: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

4. ท าการออกแบบฐานข้อมูลเพื่อใช้ในการ เก็บข้อมูลการใช้กระแสไฟฟ้า

รูปที่ 3.12 แสดงการใช้ Mysql ในการบันทึกข้อมูลการใช้กระแสไฟฟ้า

รูปที ่3.13 แสดงการใช้ Mysql ในการบันทึกข้อมูลผู้ใช้งาน

Page 33: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

บทที่ 4 ผลการทดลอง

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

ซึ่งในกล่องทดลองจะประกอบไปด้วย อุปกรณ์ต่าง ๆดังนี้ 1) ตัวเซนเซอร์ส าหรับตรวจวัดกระแสไฟฟ้าใช้ IC รุ่น ACS712-30 A ซึ่งสามารถตรวจวัดกระแสได้สูงสุด

30 แอมแปร์ แสดงในรูป 4.1

รูปที ่4.1 เซนเซอร์ตรวจวัดกระแสไฟฟ้า

2) บอร์ดอาร์ดูอิโน่ซึ่งเป็นไมโครคอนโทรลเลอร์ที่ท าหน้าที่ควบคุมการท างาน เป็นรุ่น iDuino Uno ของบริษัท Inex บอร์ดรุ่นนี้ใช้ชิพตระกูล AVR เป็นตัวประมวลผลดังแสดงในรูป 4.2

รูปที่ 4.2 บอร์ดอาร์ดูอิโน่ i-Duino UNO

Page 34: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

3) Ethernet Shield ใช้ต่อเพ่ิมในบอร์ดไมโครคอนโทรลเลอร์อาร์ดูดิโน่ เพ่ือเพ่ิมใช้ในการเชื่อมต่อกับ

เครือข่าย ดังแสดงในรูป 4.3

รูปที่ 4.3 Ethernet Shield

4) กระติกต้มน้ าร้อนไฟฟ้า เพื่อสังเกตปริมาณกระแสไฟฟ้า

รูปที่ 4.4 กระติกต้มน้ าร้อนไฟฟ้า

Page 35: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

5) บอร์ดควบคุมการเปิด-ปิดวงจรไฟฟ้า

รูปที่ 4.5 บอร์ดควบคุมการเปิด-ปิดวงจรไฟฟ้า

4.2.2 เครื่องฝั่งแม่ข่าย ประกอบไปด้วยอุปกรณ์ต่าง ๆดังนี้ 1) ซอร์แวร์เครื่องแม่ข่ายที่พัฒนาขึ้นด้วยภาษา PHP โดยใช้โปรแกรม XAMPP บน

ระบบปฏิบัติการ Microsoft Windows 7 2) สาย UTP เพ่ือรับส่งข้อมูลระหว่างบอร์ดไมโครคอนโทรลเลอร์กับคอมพิวเตอร์แม่ข่าย

4.3 ขั้นตอนการทดลอง 4.3.1 ต่อวงจรไฟฟ้าและเครือข่าย

รูปที ่4.6 แสดงการต่อระบบเพ่ือท าการทดสอบระบบ

Page 36: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

จากรูปที่ 4.6 จะเห็นได้ว่า สายไฟฟ้ากระแสสลับ 220 V/AC ได้ท าการเชื่อมต่อกับบอร์ดควบคุมการเปิด-ปิด วงจรไฟฟ้าเพ่ือรอรับค าสั่งจากไมโครคอนโทรลเลอร์อาร์ดูอิโน่ หลังจากกระแสไฟฟ้าผ่านจากบอร์ดควบคุม จะน าเซ็นเซอร์วัดกระแสไฟฟ้ามาต่ออนุกรมกับโหลดเพื่อท าการวัดกระแสไฟฟ้า ส าหรับส่งข้อมูลให้แก่ไมโครคอนโทรลเลอร์อาร์ดูอิโน่ ก่อนที่จะส่งข้อมูลไปยังคอมพิวเตอร์แม่ข่ายผ่านเครือข่ายอินเตอร์เน็ต ในรูปเป็นการเชื่อมต่อแบบ Peer-to-Peer เพ่ือท าการบันทึกค่าการใช้ปริมาณกระแสไฟฟ้า โดยวัดการใช้กระแสไฟฟ้าจากกระติกน้ าร้อนไฟฟ้า 4.3.2 การก าหนดค่าในระบบเครือข่าย 1) IP Address ของ ไมโครคอนโทรลเลอร์ คือ 192.168.1.177/24

รูปที ่4.7 การก าหนดค่าให้กับไมโครคอนโทรลเลอร์อาร์ดูอิโน่

2) IP Address ของ คอมพิวเตอร์แม่ข่าย คือ 192.168.1.10/24

รูปที ่4.8 การก าหนดค่า IP Address ของคอมพิวเตอร์แม่ข่าย

Page 37: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

4.3.3 ท าการเปิดโปรแกรมรันเว็บบราวเซอร์

รูปที ่4.9 แสดงการเปิดโปรแกรมรันเว็บบราวเซอร์

จากรูปที่ 4.9 เป็นการเปิดโปรแกรม XAMPP Control Panel เพ่ือท าการเริ่มการท างานของ Service Apache เพ่ือท าให้ไมโครคอนโทรลเลอร์สามารถเชื่อมต่อกับเครื่องแม่ข่าย 4.3.4 ท าการเปิดโปรแกรมเว็บบราวเซอร์เพื่อท าการสร้างฐานข้อมูล ชื่อ project โดยการสร้าง 2 ตาราง คือ ตาราง user ประกอบไปด้วย id คือ รหัสผู้ใช้,room คือชื่อของผู้ใช้, ip คือ ที่อยู่ของผู้ใช้

รูปที ่4.10 แสดงการสร้างตารางในฐานข้อมูล

Page 38: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

4.4 ผลการทดสอบและใช้งานระบบ 4.4.1 เปิดระบบขึ้นมาเพ่ือท าการ Login โดยเข้าไปที่ http://localhost/project

รูปที ่4.11 หน้าจอแรกเม่ือเปิดระบบ

4.4.2 เมื่อท าการ Room เพ่ือดูข้อมูลการใช้กระแสไฟฟ้า

รูปที ่4.12 หน้าจอการเข้าสู่ระบบ

Page 39: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

4.4.3 เมื่อท าการเลือกเมนู Control แล้ว ระบบจะให้ท าการเลือกกด ON หรือ OFF เพ่ือเริ่มหรือหยุดการจ่ายกระแสไฟฟ้า ในตอนนี้ ไมโครคอนโทรลเลอร์อาร์ดูอิโน่ รอรับค าสั่ง ON หรือ OFF จากเครื่องลูกข่าย ดังรูปที่ 4.13

รูปที ่4.13 หน้าจอเมนู Control

4.4.4 เมื่อท าการกดปุ่ม ON แล้วถ้ามีการต่ออุปกรณ์ไฟฟ้าเข้ากับ จุด Output ของวงจร จะเห็นได้ว่า มีการบันทึกค่าการใช้ปริมาณกระแสไฟฟ้า ในช่วงเวลาต่างๆ โดยแสดงออกมาในรูปกราฟเส้น ดังรูปที่ 4.14

รูปที ่4.14 หน้าจอเมนู Realtime แสดงค่าการใช้กระแสไฟฟ้าในปัจจุบัน

Page 40: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

4.4.5 เมนู Calculate แสดงหน้าจอการรับค่าแบบตัวเลือก เพ่ือคิดค่าใช้จ่ายกระแสไฟฟ้า โดยคิดเป็นหน่วย (1 หน่วย = 1,000 วัตต์ต่อชั่วโมง) ซึ่งราคาต่อหน่วยเราสามารถก าหนดได้เอง ดังรูปที่ 4.15 และ รูปที่ 4.16

รูปที่ 4.15 หน้าจอ Calculate รับค่าแบบตัวเลือกเพ่ือค านวณค่ากระแสไฟฟ้า

รูปที ่4.16 หน้าจอ Calculate แสดงการค านวณค่ากระแสไฟฟ้า

Page 41: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

4.4.6 เมนู Year แสดงหน้าจอปริมาณกระแสไฟฟ้าที่ใช้ไปในแต่ละปี หน่วยเป็น Unit แสดงในรูปที่ 4.17

รูปที่ 4.17 หน้าจอเมนู Year แสดงจ านวนของกระแสไฟฟ้าที่ใช้ในปีปัจจุบัน

4.4.7 เมนู Monthly แสดงค่ากระแสไฟฟ้าที่ใช้ไปในแต่ละเดือน หน่วยเป็น Unit แสดงในรูปที่ 4.18

รูปที ่4.18 หน้าจอเมนู Monthly แสดงจ านวนของกระแสไฟฟ้าเป็นรายเดือนในปีปัจจุบัน

Page 42: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

4.4.8 หน้าจอ Daily แสดงปริมาณกระแสไฟฟ้าที่ใช้ในแต่ละวัน หน่วยเป็น Unit แสดงในรูปที่ 4.19

รูปที ่4.19 หนา้จอ Daily แสดงปริมาณกระแสไฟฟ้าที่ใช้ในแต่ละวัน หน่วยเป็น Unit

4.4.9 ข้อมูลที่เก็บลง ในฐานข้อมูล รูปแบบของข้อมูลที่จัดเก็บ ปริมาณกระแสไฟฟ้า ประกอบไปด้วย ชื่อของสวิตช์

วันที่บันทึก เวลาที่บันทึก ปริมาณกระแสไฟฟ้า ตัวอย่างดังแสดงในรูปที่ 4.20

รูปที ่4.20 ตัวอย่างข้อมูลที่เก็บลงฐานข้อมูล

Page 43: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

จากรูปที่ 4.20 จะเห็นได้ว่า มีการแบ่งการเก็บข้อมูลออกเป็น 4 คอลัมน์ คือ คอลัมน์แรกคือ ID ของไมโครคอนโทรลเลอร์อาร์ดูอิโน่ คอลัมน์ที่ 2 คือวันที่ท าการบันทึก คอล้มน์ที่ 3 คือ เวลาที่ท าการบันทึก คอลัมน์สุดท้ายคือปริมาณการใช้กระแสไฟฟ้า มีหน่วยเป็นแอมแปร์

4.4.10 การเปรียบเทียบการทดลองการวัดกระแสไฟฟ้า โดยใช้ กระติกน้ าร้อน ยี่ห้อ Sharp รุ่น KP-A28S ขนาด 672.81 W โดยการเปรียบเทียบกับการใช้มัลติมิเตอร์ แสดงในตารางที่ 4.1

ครั้งที่

ปริมาณกระแสไฟฟ้า มัลติมิเตอร์

ปริมาณกระแสไฟฟ้า จากซอร์ฟแวร์

ค่าความคลาดเคลื่อน

คิดเป็น ร้อยละ

1 3.10 A 3.06 A 40 mA 1.29 2 3.10 A 3.06 A 40 mA 1.29

3 3.10 A 3.06 A 40 mA 1.29 4 3.10 A 3.06 A 40 mA 1.29

5 3.10 A 3.06 A 40 mA 1.29

ตารางท่ี 4.1 ตารางการเปรียบเทียบการทดสอบการวัดกระแสไฟฟ้า ระหว่างดิจิตอลมัลติมิเตอร์กับ

ระบบตรวจวัดกระแสไฟฟ้าผ่านระบบเครือข่าย

จากตารางที่ 4.1 จะเห็นได้ว่า ค่าที่วัดได้จากระบบตรวจวัดกระแสไฟฟ้าผ่านระบบเครือข่าย ทั้ง 5 ครั้งนั้นมีความเที่ยงคือ สามารถวัดกระแสไฟฟ้าได้ค่าเท่าเดิม คือ 3.06 แอมป์แปร์ ซึ่งมีความคลาดเคลื่อนจากดิจิตอลมัลติมิเตอร์เพียง 40 มิลลิแอมป์แปร์ คิดเป็นร้อยละ 1.29 เปอร์เซ็นต์ 4.5 สรุปท้ายบท จากการทดลองระบบดังกล่าว พบว่าเราสามารถท าการควบคุมและบันทึกค่าการใช้ปริมาณการใช้กระแสไฟฟ้า จากการติดตั้งระบบวัดกระแสไฟฟ้า ระบบสามารถท าการเชื่อมต่อกับเครื่องแม่ข่ายเพ่ือบันทึกข้อมูล และสามารถรอรับค าสั่งจากเครื่องลูกข่าย เพ่ือควบคุมการปิดเปิด ระบบการจ่ายกระแสไฟฟ้าได้ นอกจากนี้ยังสามารถเรียกดูข้อมูลปริมาณการใช้กระแสไฟฟ้าโดยการคิดเป็น Unit (1,000 วัตต์ต่อชั่วโมง) และสามารถค านวณค่าใช้จ่ายโดยการป้อนราคาต่อหน่วยเข้าสู่ระบบ

Page 44: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

บทที่ 5 สรุปผลการด าเนินงาน

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

5.2.1 การตรวจวัดกระแสไฟฟ้า ตัวเซ็นเซอร์มีค่าความผิดพลาด อยู่ในช่วงที่กว้าง เกินไป คือ ตั้งแต่ -1.5 % ถึง 1.5 %

5.3 แนวทางในการปรับปรุงและพัฒนา

5.3.1 ระบบแจ้งเตือนอัตโนมัติ เข้าระบบ เอสเอ็มเอส(SMS) 5.3.2 ประยุกต์ให้ใช้ได้กับเซนเซอร์หลากหลายรูปแบบมากยิ่งข้ึน 5.3.3 มีการป้องกันการใช้ปริมาณกระแสไฟฟ้าเกินโดยอัตโนมัติ เพื่อความปลอดภัยใน การใช้กระแสไฟฟ้า 5.3.4 สามารถท าการตั้งเวลา เปิด-ปิดการใช้งานโดยอัตโนมัติ เป็นส่วนหนึ่งของ นโยบายประหยัดพลังงาน

Page 45: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

เอกสารอ้างอิง

[1] Allegro MicroSystems, LLC.ACS712-Datasheet,USA ,[Online]. Available: http://www.allegromicro.com/en/Products/Current-Sensor-ICs/Zero-To-Fifty-Amp-Integrated-Conductor-Sensor-ICs/ACS712.aspx [2] arduino, https://www.arduino.cc/en/Tutorial/HomePage [3 ] graph, http://jpgraph.net/doc/howto.php [4] PHP,https://www.arduino.cc/en/Tutorial/HomePage [5] rfc2616, https://www.ietf.org/rfc/rfc2616.txt [6] ก าลังไฟฟ้า,http://rmutphysics.com/charud/scibook/electric3/pan14.htm [7] รีเลย,์http://www.psptech.co.th/รีเลยr์elayคืออะไร-15696.page

Page 46: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ภาคผนวก ก

โค้ดโปรแกรมบนเครื่องแม่ข่าย

Page 47: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-2

File index.php <style type="text/css"> #video_panel_body { width: 800px !important;} #header_banner{ height:200px; width:800px; background: url('http://localhost/project/banner.jpg') center no-repeat; background-color: Transparent !important; overflow:hidden; } #buttons_frame{ width: 80px; height: 180px; background: url('') no-repeat; background-color: lightgrey; text-align:center; overflow:auto; float:left; line-height: 10px; } #mainframe{ height:600px; width:700px; float:center; overflow:auto; border:none; background-color: lightgrey

Page 48: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-3

.button_class{ max-height:50px; max-width:180px; border:none; } #imvustylez-layout-container{ width:800px; } </style> <center> <div id="imvustylez-layout-container"> <div id="header_banner"> </div> <div id="buttons_frame"> <br>MENU <br><br><a href="http://localhost/project/login.php" target="_blank"><img class="button_class">Control</a> <br><br><a href="http://localhost/project/greal.php" target="mainframe"><img class="button_class">RealTime</a> <br><br><a href="http://localhost/project/form.php" target="mainframe"><img class="button_class">Calculate</a> <br><br><a href="http://localhost/project/gyear.php" target="mainframe"><img class="button_class" src="https://">Year</a> <br><br><a href="http://localhost/project/gmonth.php" target="mainframe"><img class="button_class" src="https://">Monthly</a> <br><br><a href="http://localhost/project/gdate.php" target="mainframe"><img class="button_class" src="https://">Daily</a>

Page 49: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-4

<br><br><a href="http://localhost/project/exit.php" target="mainframe"><img class="button_class" src="https://">Exit</a> <br> </div> <iframe id="mainframe" name="mainframe" src="http://localhost/project/selectshow.php" allowtransparency="true"></iframe> </div> </center>

Page 50: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-5

File greal.php <?php session_start(); date_default_timezone_set('Asia/Bangkok'); $date = date('Y-m-d'); $page=$_SERVER['PHP_SELF']; $sec = "3"; header("Refresh: $sec; url=$page"); mysql_connect('localhost', 'root', ''); mysql_select_db('project'); $id = $_SESSION["id"]; $sql = "SELECT * FROM `log` where id = '$id' and date = '$date' ORDER BY date DESC , time DESC limit 0,10 "; $result = mysql_query($sql); $num_row = mysql_num_rows($result); if ($num_row==0) { $a=array(0); $t=array(0); }else { while ($row = mysql_fetch_array($result)) { $t[]= $row['time'] ; $a[]= $row['value']; } } require_once ('jpgraph/jpgraph/src/jpgraph.php'); require_once ('jpgraph/jpgraph/src/jpgraph_line.php');

Page 51: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-6

require_once( "jpgraph/jpgraph/src/jpgraph_date.php" ); $datay1=array_reverse($a); $datay2 = array(0,0,0,0); $datay3 = array(0,0,0,0); // Setup the graph $graph = new Graph(800,650); $graph->SetScale("textlin"); $theme_class=new UniversalTheme; $graph->SetTheme($theme_class); $graph->img->SetAntiAliasing(false); $graph->title->Set('Current RealTime'); $graph->SetBox(false); $graph->img->SetAntiAliasing(); $graph->yaxis->HideZeroLabel(); $graph->yaxis->HideLine(false); $graph->yaxis->HideTicks(false,false); $graph->xgrid->Show(); $graph->xgrid->SetLineStyle("solid"); $graph->xaxis->SetTickLabels(array_reverse($t)); $graph->xaxis->SetLabelAngle(45); $graph->xgrid->SetColor('#E3E3E3'); //$text=$datay1*220; //$graph->value->SetAngle(45); // Create the first line $p1 = new LinePlot($datay1); $graph->Add($p1); $p1->SetColor("#6495ED"); $p1->value->SetFormat('%01.6f');

Page 52: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-7

$p1->SetLegend('Current:A'); $p1->value->Show(); // Create the second line $p2 = new LinePlot($datay2); $graph->Add($p2); $p2->SetColor("#B22222"); // Create the third line $p3 = new LinePlot($datay3); $graph->Add($p3); $p3->SetColor("#FF1493"); $graph->legend->SetFrameWeight(5); // Output line $graph->Stroke(); ?>

Page 53: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-8

File gyear.php <?php session_start(); date_default_timezone_set('Asia/Bangkok'); $date = date('Y'); mysql_connect('localhost', 'root', ''); mysql_select_db('project'); $id = $_SESSION["id"]; $year = yy($date,$id); function yy($date,$id) { $sql = "SELECT * FROM `log` WHERE id = '$id' AND `date` LIKE '$date%' "; $result = mysql_query($sql); $total = 0; while ($row = mysql_fetch_array($result)) { $wh =((($row['value']*220)*2)/3600)/1000; $total = $wh+$total; } return $total; } require_once ('jpgraph/jpgraph/src/jpgraph.php'); require_once ('jpgraph/jpgraph/src/jpgraph_line.php'); require_once( "jpgraph/jpgraph/src/jpgraph_date.php" ); array($jan1,$feb1,$mar1,$apl1,$may1,$jun1,$jul1,$aug1,$sep1,$oct1,$nov1,$dec1); $datay1=array($year,0,0); // Setup the graph $graph = new Graph(600,650); $graph->SetScale("textlin");

Page 54: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-9

$theme_class=new UniversalTheme; $graph->SetTheme($theme_class); $graph->img->SetAntiAliasing(false); $graph->title->Set('Unit This Year'); $graph->SetBox(false); $graph->img->SetAntiAliasing(); $graph->yaxis->HideLine(false); $graph->yaxis->HideTicks(false,false); $graph->xgrid->Show(); $graph->xgrid->SetLineStyle("solid"); $graph->xaxis->SetTickLabels(array('2016','2017','2018')); $graph->xgrid->SetColor('#E3E3E3'); // Create the first line //$p1 = new LinePlot($datay1); $p1 = new LinePlot($datay1); $graph->Add($p1); $p1->SetColor("#6495ED"); //$p1->SetLegend('Line 1'); $p1->value->Show(); $graph->legend->SetFrameWeight(5); // Output line $graph->Stroke(); ?> File gmonth.php <?php session_start(); mysql_connect('localhost', 'root', '');

Page 55: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-10

mysql_select_db('project'); $id = $_SESSION["id"]; $jan1 = jan($id); $feb1 = feb($id); $mar1 = mar($id); $apl1 = apl($id); $may1 = may($id); $jun1 = jun($id); $jul1 = jul($id); $aug1 = aug($id); $sep1 = sep($id); $oct1 = oct($id); $nov1 = nov($id); $dec1 = dec($id); function jan($id) { $sql = "SELECT `value` FROM `log` WHERE id = '$id' AND `date` LIKE '2016-01%' "; $result = mysql_query($sql); //echo "Day ";//echo $day." ".$hour;//echo " ". '<br>'; $total = 0; while ($row = mysql_fetch_array($result)) { // echo $row['date'] ; // echo " : "; // echo $row['time'] ; // echo " : "; //$a[]= $row['value']; // echo " Watt = "; //echo $row['value']*220;

Page 56: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-11

//echo " Watt/Hour = "; $wh =((($row['value']*220)*2)/3600)/1000; $total = $wh+$total; // echo '<br>'; } return $total; } function feb($id) { $sql = "SELECT `value` FROM `log` WHERE id = '$id' AND `date` LIKE '2016-02%' "; $result = mysql_query($sql); //echo "Day ";//echo $day." ".$hour;//echo " ". '<br>'; $total = 0; while ($row = mysql_fetch_array($result)) { // echo $row['date'] ; // echo " : "; // echo $row['time'] ; // echo " : "; //$a[]= $row['value']; // echo " Watt = "; //echo $row['value']*220; //echo " Watt/Hour = "; $wh =((($row['value']*220)*2)/3600)/1000; $total = $wh+$total; // echo '<br>'; } return $total; }

Page 57: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-12

function mar($id) { $sql = "SELECT `value` FROM `log` WHERE id = '$id' AND `date` LIKE '2016-03%' "; $result = mysql_query($sql); //echo "Day ";//echo $day." ".$hour;//echo " ". '<br>'; $total = 0; while ($row = mysql_fetch_array($result)) { // echo $row['date'] ; // echo " : "; // echo $row['time'] ; // echo " : "; //$a[]= $row['value']; // echo " Watt = "; //echo $row['value']*220; //echo " Watt/Hour = "; $wh =((($row['value']*220)*2)/3600)/1000; $total = $wh+$total; // echo '<br>'; } return $total; } function apl($id) { $sql = "SELECT `value` FROM `log` WHERE id = '$id' AND `date` LIKE '2016-04%' "; $result = mysql_query($sql); //echo "Day ";//echo $day." ".$hour;//echo " ". '<br>'; $total = 0;

Page 58: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-13

while ($row = mysql_fetch_array($result)) { // echo $row['date'] ; // echo " : "; // echo $row['time'] ; // echo " : "; //$a[]= $row['value']; // echo " Watt = "; //echo $row['value']*220; //echo " Watt/Hour = "; $wh =((($row['value']*220)*2)/3600)/1000; $total = $wh+$total; // echo '<br>'; } return $total; } function may($id) { $sql = "SELECT `value` FROM `log` WHERE id = '$id' AND `date` LIKE '2016-05%' "; $result = mysql_query($sql); //echo "Day ";//echo $day." ".$hour;//echo " ". '<br>'; $total = 0; while ($row = mysql_fetch_array($result)) { // echo $row['date'] ; // echo " : "; // echo $row['time'] ; // echo " : "; //$a[]= $row['value'];

Page 59: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-14

// echo " Watt = "; //echo $row['value']*220; //echo " Watt/Hour = "; $wh =((($row['value']*220)*2)/3600)/1000; $total = $wh+$total; // echo '<br>'; } return $total; } function jun($id) { $sql = "SELECT `value` FROM `log` WHERE id = '$id' AND `date` LIKE '2016-06%' "; $result = mysql_query($sql); //echo "Day ";//echo $day." ".$hour;//echo " ". '<br>'; $total = 0; while ($row = mysql_fetch_array($result)) { // echo $row['date'] ; // echo " : "; // echo $row['time'] ; // echo " : "; //$a[]= $row['value']; // echo " Watt = "; //echo $row['value']*220; //echo " Watt/Hour = "; $wh =((($row['value']*220)*2)/3600)/1000; $total = $wh+$total; // echo '<br>'; }

Page 60: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-15

return $total; } function jul($id) { $sql = "SELECT `value` FROM `log` WHERE id = '$id' AND `date` LIKE '2016-07%' "; $result = mysql_query($sql); //echo "Day ";//echo $day." ".$hour;//echo " ". '<br>'; $total = 0; while ($row = mysql_fetch_array($result)) { // echo $row['date'] ; // echo " : "; // echo $row['time'] ; // echo " : "; //$a[]= $row['value']; // echo " Watt = "; //echo $row['value']*220; //echo " Watt/Hour = "; $wh =((($row['value']*220)*2)/3600)/1000; $total = $wh+$total; // echo '<br>'; } return $total; } function aug($id) { $sql = "SELECT `value` FROM `log` WHERE id = '$id' AND `date` LIKE '2016-08%' "; $result = mysql_query($sql); //echo "Day ";//echo $day." ".$hour;//echo " ". '<br>';

Page 61: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-16

$total = 0; while ($row = mysql_fetch_array($result)) { // echo $row['date'] ; // echo " : "; // echo $row['time'] ; // echo " : "; //$a[]= $row['value']; // echo " Watt = "; //echo $row['value']*220; //echo " Watt/Hour = "; $wh =((($row['value']*220)*2)/3600)/1000; $total = $wh+$total; // echo '<br>'; } return $total; } function sep($id) { $sql = "SELECT `value` FROM `log` WHERE id = '$id' AND `date` LIKE '2016-09%' "; $result = mysql_query($sql); //echo "Day ";//echo $day." ".$hour;//echo " ". '<br>'; $total = 0; while ($row = mysql_fetch_array($result)) { // echo $row['date'] ; // echo " : "; // echo $row['time'] ; // echo " : "; //$a[]= $row['value'];

Page 62: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-17

// echo " Watt = "; //echo $row['value']*220; //echo " Watt/Hour = "; $wh =((($row['value']*220)*2)/3600)/1000; $total = $wh+$total; // echo '<br>'; } return $total; } function oct($id) { $sql = "SELECT `value` FROM `log` WHERE id = '$id' AND `date` LIKE '2016-10%' "; $result = mysql_query($sql); //echo "Day ";//echo $day." ".$hour;//echo " ". '<br>'; $total = 0; while ($row = mysql_fetch_array($result)) { // echo $row['date'] ; // echo " : "; // echo $row['time'] ; // echo " : "; //$a[]= $row['value']; // echo " Watt = "; //echo $row['value']*220; //echo " Watt/Hour = "; $wh =((($row['value']*220)*2)/3600)/1000; $total = $wh+$total; // echo '<br>'; }

Page 63: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-18

return $total; } function nov($id) { $sql = "SELECT `value` FROM `log` WHERE id = '$id' AND `date` LIKE '2016-11%' "; $result = mysql_query($sql); //echo "Day ";//echo $day." ".$hour;//echo " ". '<br>'; $total = 0; while ($row = mysql_fetch_array($result)) { // echo $row['date'] ; // echo " : "; // echo $row['time'] ; // echo " : "; //$a[]= $row['value']; // echo " Watt = "; //echo $row['value']*220; //echo " Watt/Hour = "; $wh =((($row['value']*220)*2)/3600)/1000; $total = $wh+$total; // echo '<br>'; } return $total; } function dec($id) { $sql = "SELECT `value` FROM `log` WHERE id = '$id' AND `date` LIKE '2016-12%' "; $result = mysql_query($sql); //echo "Day ";//echo $day." ".$hour;//echo " ". '<br>';

Page 64: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ก-19

$total = 0; while ($row = mysql_fetch_array($result)) { // echo $row['date'] ; // echo " : "; // echo $row['time'] ; // echo " : "; //$a[]= $row['value']; // echo " Watt = "; //echo $row['value']*220; //echo " Watt/Hour = "; $wh =((($row['value']*220)*2)/3600)/1000; $total = $wh+$total; // echo '<br>'; } return $total; } require_once ('jpgraph/jpgraph/src/jpgraph.php'); require_once ('jpgraph/jpgraph/src/jpgraph_line.php'); require_once( "jpgraph/jpgraph/src/jpgraph_date.php" ); //$datay1 = [$jan1,0,0,0,$may1,0,0,0,0,0,0,0]; $datay1 = array($jan1,$feb1,$mar1,$apl1,$may1,$jun1,$jul1,$aug1,$sep1,$oct1,$nov1,$dec1); //$datay1=$a; //$datay2 = array(0,0,0,0); //$datay3 = array(0,0,0,0);

Page 65: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

// Setup the graph $graph = new Graph(600,650); $graph->SetScale("textlin"); $theme_class=new UniversalTheme; $graph->SetTheme($theme_class); $graph->img->SetAntiAliasing(false); $graph->title->Set('Unit This Month'); $graph->SetBox(false); $graph->img->SetAntiAliasing(); $graph->yaxis->HideLine(false); $graph->yaxis->HideTicks(false,false); $graph->xgrid->Show(); $graph->xgrid->SetLineStyle("solid"); $graph->xaxis->SetTickLabels(array('JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC')); $graph->xgrid->SetColor('#E3E3E3'); // Create the first line //$p1 = new LinePlot($datay1); $p1 = new LinePlot($datay1); $graph->Add($p1); $p1->SetColor("#6495ED"); //$p1->SetLegend('Line 1'); $p1->value->Show(); $graph->legend->SetFrameWeight(5); // Output line $graph->Stroke(); ?>

Page 66: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ภาคผนวก ข โค้ดโปรแกรมบนไมโครคอนโทรลเลอร์อาร์ดูอิโน่

Page 67: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ข-2

File LED_button #include "SPI.h" #include "Ethernet.h" double Voltage=0; double VRMS=0; double AmpsRMS=0; double mVperAmp=66.66666666666666666667; byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address byte ip[] = { 192, 168, 1, 177 };// Fixed IP address //byte server[] = {192,168,1,10};//IP server byte gateway[] = { 192, 168, 1, 10 };// Router Gateway Internet access byte subnet[] = { 255, 255, 255, 0 }; EthernetServer server(80); //server port EthernetClient cs; String readString; ////////////////////// int LED1 = 5; int val_LED1; void setup(){ Serial.begin(9600); pinMode(LED1, OUTPUT); //pin selected to control digitalWrite(LED1, LOW);

Page 68: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ข-3

//start Ethernet Ethernet.begin(mac,ip,gateway,subnet); Serial.println("ArduinoAll server LED test"); // so I can keep track of what is loaded } void loop(){ // Create a client connection EthernetClient client = server.available(); if (client) { while (client.connected()) { if (client.available()) { char c = client.read(); //read char by char HTTP request if (readString.length() < 100) { readString += c; }

Page 69: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ข-4

//if HTTP request has ended if (c == '\n') { /////////////// // Serial.println(readString); //print to serial monitor for debuging client.println("HTTP/1.1 200 OK"); //send new page client.println("Content-Type: text/html"); client.println("Connection: close"); client.println("Refresh: 1"); client.println(); client.println("<html>"); client.println("<head>"); client.println("<title>Myarduino Control Switch</title>"); client.println("</head>"); client.println("<body>"); client.println("<h1>Myarduino Control Switch</h1>"); // DIY buttons client.println("State Led is : ");

Page 70: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ข-5

StateLED(client); Changetext(client); client.println("</body>"); client.println("</html>"); delay(1); //stopping client client.stop(); ///////////////////// control arduino pin //Serial.println(readString); readString=""; //Serial.println(readString); } } } } }

Page 71: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ข-6

void StateLED(EthernetClient cl) { if(readString.indexOf("on1") >0)//checks for on { digitalWrite(LED1, HIGH); // set pin 5 high Serial.println("Led On"); Serial.println("Sent DATA"); cl.println("ON<br>"); cl.println("<input type=button value=ON disabled onmousedown=location.href='/on1'>"); cl.println(" "); cl.println("<input type=button value=OFF onmousedown=location.href='/off2'>"); cl.println(" "); //StateLED(client); sta(); //cl.println("ONN<br>"); } if(readString.indexOf("off2") >0)//checks for off { digitalWrite(LED1, LOW); // set pin 5 low

Page 72: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ข-7

Serial.println("Led Off"); Serial.println("Close Data"); } } void Changetext(EthernetClient cl){ val_LED1 = digitalRead(LED1); Serial.println(val_LED1); if(val_LED1 == HIGH){ // cl.println("ON<br>"); } else { cl.println("OFF<br>"); cl.println("<input type=button value=ON onmousedown=location.href='/on1'>"); cl.println(" "); cl.println("<input type=button disabled value=OFF onmousedown=location.href='/off2'>"); cl.println(" "); //StateLED(client); }

Page 73: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

ข-8

} float getVPP() { float result; int readValue; int maxValue=0; int minValue=1024; uint32_t start_time=millis(); while((millis()-start_time)<1000) { readValue=analogRead(A0); // Serial.println(readValue); if(readValue>maxValue) {maxValue=readValue;} if(readValue<minValue) {minValue=readValue;} } result = ((maxValue-minValue)*5.0)/1024.0; return result; } void sta() { String s1 = ""; Voltage=getVPP(); VRMS=(Voltage/2.0)*0.7071067811865; AmpsRMS=(VRMS*1000)/mVperAmp;

Page 74: Electrical current measurement system¸•รวจวัดการใช้... · ระบบตรวจวัดการใช้กระแสไฟฟ้า ผ่านระบบเครือข่าย

s1 = String(AmpsRMS); //String id = String(sen2); String current = "id=1&current="+s1; if(cs.connect("192.168.1.10",80)){ cs.println("POST /project/add.php HTTP/1.1"); cs.println("Host: 192.168.1.10"); cs.println("Content-Type: application/x-www-form-urlencoded"); cs.print("Content-Length: "); //int total= data1.length(); // int total=data1.length()+s1.length(); cs.println(current.length()); cs.println(); // client.print(data); cs.print(current); cs.println(); //cs.print("&hum1="); //cs.println(sen2); // Serial.print(total); // Serial.print(data); //cs.println("<input type=button value=OFF onmousedown=location.href='/off2'>"); Serial.print(current); } // Serial.print("sensor 1:");Serial.print(AmpsRMS);Serial.print(" >> ");Serial.print(AmpsRMS);Serial.print("::");Serial.println(analogRead(A0)); cs.stop(); }