บทที่ 1 บทนํา - Khon Kaen...

Post on 12-Jul-2020

7 views 0 download

Transcript of บทที่ 1 บทนํา - Khon Kaen...

1บทท 1 บทนา

1.1 ความสาคญและทมา

ในปจจบน ทกคนจาเปนตองใชเครองใชไฟฟาเพออานวยความสะดวกในการดารงชวตในแตละวน จงไดมการผลตเครองมอสาหรบวดกาลงมาใช เพอเปนการทดสอบวาเครองใชไฟฟาทใชอยน ใชกาลงไฟฟา แรงดนไฟฟา และกระแสไฟฟาเทาไร และจะสามารถเปรยบเทยบเครองใชไฟฟาแตละชนดไดวา เครองใชไฟฟาแตละชนดทใชในชวตประจาวนนน ชนดใดหรอประเภทใดประหยดไฟหรอไมประหยดไฟไฟฟา การสรางเครองมอวดกาลงไฟฟาเพอเปนอปกรณทใชทดสอบกาลงไฟฟานนเอง

เครองวดกาลงไฟฟามอยมากมายหลายชนด ซงแบงเปนประเภท ลกษณะการทางานของสญญาณไฟฟาจะสามารถแบงไดเปน 2 ประเภทใหญๆ คอ

1. แบบอนาลอก (Analog) 2. แบบดจตอล (Digital )

โดยทวไปเครองวดปรมาณไฟฟาแบบอนาลอกทพบเหนกนเปนสวนใหญคอ เครองมอวดแบบเขมช สวนเครองมอวดทเปนดจตอลจะแสดงผลออกมาเปนตวเลข ซงเปนการงายในการอานคาปรมาณทางไฟฟา ซงจะเหนวาเครองมอวดชนดนสรางไดหลายแบบ มวธการสรางอกแบบหนงทนาสนใจและจะนามาเสนอคอ การใชไมโครคอนโทรลเลอรมาเปนอปกรณหลกในการสราง Wattmeter ซงมขอดกคอ ประหยดคาใชจายนองลง เพราะอปกรณสวนมากทจะใชอยในตวไมโครคอนโทรลเลอรนนจะมราคาคอนขางแพง ดงนนจากการสรางไมโครคอนโทรลเลอรโดยหลกการนจงทาใหเราไดไมโครคอนโทรลเลอรทมราคาทถกลงมาก 1.2 วตถประสงค

1.2.1 ศกษาการทางานของ Microcontroller (AVR Atmega 32) 1.2.2 สรางเครองวดกาลงไฟฟาสาหรบโหลดทเปน Resistive load โดยใช

ไมโครคอนโทรลเลอร 1.2.3 ศกษาการทางานของจอแสดงผล LCD Module 1.2.4 ศกษาการทางานของ Current Transformer (CT) และ ตวตรวจจบแรงดน (PT) 1.2.5 ศกษาการทางานและออกแบบวงจร Rectifier เพอสรางวงจร Power Supply 1.2.6 ศกษาการใชโปรแกรม CodeVision AVR ในการควบคมการทางานของ

Microcontroller

21.3 ขอบขายของงาน

1.3.1 เขยนโปรแกรมประมวลผลคากาลงไฟฟาสาหรบโหลดทเปน Resistive load และแสดงผลโดยจอ LCD

1.3.2 ศกษาและออกแบบวงจรตรวจจบกระแสและแรงดน 1.3.3 ศกษาและออกแบบวงจร Rectifier 1.3.4 สรางและทดสอบ เครองวดกาลงไฟฟาสาหรบโหลดทเปน Resistive load

1.4 แนวทางการดาเนนงาน ในการศกษาโครงการนจะแบงการทางานออกเปนสวนตางๆ ไดดงน คอในสวน

แรกจะเปนเรองของไมโครคอนโทรเลอร ซงในสวนนจะมทงฮารดแวรและซอฟแวรโดยในสวนของฮารดแวรนนจะเปนการสรางบอรดการทางานเพอใหตวไมโครคอนโทรเลอรสามารถทางานไดคอสามารถคอมไพลโปรแกรมได และในสวนของซอฟแวรจะเปนการศกษาการเขยนโปรแกรมเพอควบคมใหไมโครคอนโทรเลอรทางานโดยจะเปนในสวนของการควบคม LCD และ ADC ซงโปรแกรมทใชกคอ CodeVisionAVR ในสวนถดมาคอจะเปนการศกษาตวตรวจจบแรงดนและตวตรวจจบกระแส ซงในสวนของตวตรวจจบกระแสนจะตองทาการคานวนเพอหาจานวนรอบของขอลวดในการพนรอบตว CT เพอใหไดคากระแส และแรงดนทตองการ และในอกสวนหนงคอจะเปนการศกษาและสรางวงจร Rectifier เพอใชในการจายไฟเลยงใหแกตวไมโครคอนโทรเลอร

3บทท 2

ทฤษฎพนฐาน ในการสรางวตตมเตอรสามารถแบงการดาเนนการและออกแบบทสาคญไดดงน

1. การตรวจจบสญญาณแรงดนและสญญาณกระแส 2. การแปลงสญญาณอนาลอกเปนสญญาณดจตอล ( Analog to Digital converter ) 3. ชดควบคมแสดงผลโดยใชไมโครคอนโทรเลอร ( AVR) 4. ชดแสดงผลโดยใชจอแสดงผล ( LCD)

ซงภายใน 4 สวนนสามารถนามาเขยนเปนบลอกไดอะแกรม ( Block Diagram )ไดดงรป 2.1

รปท 2.1 Block diagram

จากรปท 2.1 สามารถทจะอธบายหลกการทางานของเครองวตตมเตอรอยางงายๆ ได

ดงน เมอเรานาโหลดมาตอในวงจรแลวจะทาใหเกดมกระแสผานโหลด ซงจะทาใหตวตรวจจบแรงดนและตวตรวจจบกระแสทางานพรอมๆ กน โดยมนจะทาการตรวจจบคาแรงดนและคากระแส ขณะนนสญญาณทตรวจจบไดนนจะเปนสญญาณอนาลอกอย แลวมนกจะถกแปลงเปนสญญาณดจตอล เมอผาน A to D Converter จากนนไมโครคอนโทรเลอรกจะทาการประมวลผลตามโปรแกรมทเราไดปอนเขาไปแลวจะแสดงผลทไดออกทางจอแสดงผล(LCD)

V

A

Load

M C U

Display

Irms ,Vrms , W, PF

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

ในโครงการนจะใชไมโครคอนโทรลเลอรของ Atmega 32 ซงเปนไมโครคอนโทรลเลอร (MCU) ทไดรวบรวมอปกรณสนบสนนการทางานของ CPU ไวมากมาย อาท เชน Analog to Digital , SPI , UART ,Timer ,Counter , PWM ซงอปกรณสนบสนนการทางานเหลานทาให MCU สามารถทางานไดกวางและใชอปกรณตอรวมจากภายนอกนอยมาก และสามารถประมวลคาสงไดภายใน 1 clock ในบทนจะนาเสนอขอมลบางสวนทเปนการทางานภายในของ AVR-MCU แนะนาคณสมบตและขาตอใชงานของไมโครคอนโทรลเลอร สถาปตยกรรมภายในและรจสเตอรใชงานทวไป ตาแหนง I/O รจสเตอรสถานะและการใชงาน EEPROM การรเซตและการอนเตอรรพท การสอสารอนกรม การเปรยบเทยบสญญาณอนาลอกและการแปลงสญญาณอนาลอกเปนสญญาณดจตอล การทางานของพอรต อนพต / เอาทพต การทางานของ Timer / Counter และการใชกลมคาสงตาง ๆ

2.1.1 คณสมบตและขาตอใชงานของไมโครคอนโทรลเลอร 2.1.1.1 สถาปตยกรรมภายในถกออกแบบใหใชสถาปตยกรรมแบบ RISE

(Reduce Instruction Set Computer ) RISE คอ ทาใหการประมวลผลมความเรว 1 คาสง / 1 Clock หรอ CPU สามารถประมวลผลคาสงได 1 MIPS / MHz

2.1.1.2 มคาสงในการควบคมการทางานของไมโครคอนโทรลเลอรจานวน 118 คาสง

2.1.1.3 หนวยความจาแบบ FLASH สาหรบบนทก Program memory ขนาด 32 Kbytes ( ATMEGA 32)

2.1.1.4 หนวยความจาแบบ EEPROM สาหรบบนทก Data memory ขนาด 1024 Byte ( ATMEGA 32)

2.1.1.5 หนวยความจาแบบ RAM ขนาด 2 K Byte ( ATMEGA 32) 2.1.1.6 ระบบการเปลยนสญญาณ Analog to Digital ขนาด 10 บท จานวน 8

channel 2.1.1.7 ความถสญญาณนาฬกา 0- 16 MHz ( ATMEGA 32) 2.1.1.8 ระบบการตรวจจบระดบสญญาณอนาลอก ( Analog Comparator) 2.1.1.9 TIMER / COUNTER ขนาด 16 บท 1 CHANNEL 2.1.1.10 TIMER / COUNTER ขนาด 8 บท 2 CHANNEL 2.1.1.11 Vcc : 4.5 – 5.5 for ATMEGA 32

5และสามารถแสดง Pinouts ของ Microcontroller (ATMEGA 32) ไดดงรปท 2.2

รปท 2.2 Pinouts Atmega 32

2.1.2 การแปลงสญญาณอนาลอกเปนสญญาณดจตอล

2.1.2.1 10 bit Resolution 2.1.2.2 0.5 LSB Integral Non-linearity 2.1.2.3 65 – 260 us Conversion Time 2.1.2.4 UP to 15 KBPS at Maximum Resolution 2.1.2.5 8 Multiplexed Single Ended input Channels 2.1.2.6 0 – Vcc ADC input voltage range 2.1.2.7 Free running or Single Conversion Mode 2.1.2.8 Interrupt on ADC Conversion complete

ใน AVR Atmega 32 มวงจรแปลงสญญาณอนาลอกเปนดจตอลขนาด 10 บต 8 Channel ซงแตละ Channel จะรบสญญาณเขามาทางแตละขาของพอรต A โดยในระบบจะมวงจร Sample hold เพอชวยใหสญญาณอนาลอกทรบเขามาแปลงเปนสญญาณดจตอลทมระดบสญญาณคงท

6 โดยวงจรแปลงสญญาณอนาลอกเปนดจตอลจะมแหลงจายไฟและกราวนแยกกนตางหากจากแหลงจายไฟระบบ ซงในการใชงานจรงไมควรใหความแตกตางของแรงดนไฟของวงจรอนาลอกและแรงดนไฟของระบบแตกตางกนเกน 0.3 V ซงในการใชงานจะตองจายแรงดนไฟอางองและกราวนทขา AREF ในชวงของระดบแรงดน Avcc – GND

2.1.3 การทางาน ในสวนของการแปลงสญญาณอนาลอกเปนดจตอล สามารถแบงการทางานได 2 Mode คอ

2.1.3.1 Single Conversion Mode 2.1.3.2 Free Running Mode

ในการทางาน Single Conversion Mode ผใชตองเปนผกาหนดการใชงานขนเอง แตในสวนของ Free Running Mode วงจร Analog to Digital จะเปนตวจดการและอานขอมลและเกบใน ADC Data Register ซงบท ADFR ใน Register ADCSR จะเปนทใชเลอกโหมดการใชงานของวงจร Analog to Digital 2.2 จอแสดงผล LCD ทใชเปนแบบ 16 ตวอกษร 2 บรรทด ซงมลกษณะดงรปท 2.3

รปท 2.3จอแสดงผล

7

การตดตอกบ LCD Module มอย 2 รปแบบ คอ 1. แบบ 8 บต 2. แบบ 4 บต LCD ทใชในการทดลองไดใช LCD ขนาด 2 x 16 (2 บรรทด บรรทดละ 16 ตวอกษร) โดยท LCD มขาตางๆ ดงน ขา 1 คอ GND ขา 2 คอ VCC 5 volt ขา 3 คอ Brightess ปรบแสงสวาง ขา 4 คอ RS ขา 5 คอ R/W (read/write) ขา 6 คอ E (enable pulse จาย enable pulse ให LCD ทางาน) ขา 7-14 คอ ขอมล 8 bit ขา 15-16 คอ ไมไดใช

2.2.1 หลกการทางาน 2.2.1.1 เมอจายไฟใหกบ LCD แลวตอง Delay time ไปอยางนอย 15 mS เพอให

LCD เรมทางาน 2.2.1.2 กาหนด status ของขา R/W วาตองอานหรอเขยนขอมล ซงปกตแลวจะ

เปนการเขยนขอมลมากกวา จงกาหนดใหม Logic = “0” 2.2.1.3 กาหนด status ของขา RS วาตองการตดตอกบ Register command or

data ถาตองการจะใช Command กให Logic = “0” แตถาตองการใหเปน data กให Logic = “1”

2.2.1.4 ปอน Pulse Enable

82.3 การทางานของชด Supply การทางานของวงจร Supply คอใชหมอแปลงแปลงไป AC จาก 220 V นา Output ไปผาน Diode bridge โดยใชตว Capacitor เปนตวกรอง voltage ใหเรยบ แลวใชตว Regulator เปนตว Regulate voltage ใหไดคาตามตองการ โดยมวงจรดงรปท 2.4และ 2.5

รปท 2.4 วงจร Supply

รปท 2.5 วงจร Supply

9บทท 3

การออกแบบ

3.1 การตรวจจบสญญาณแรงดน 3.1.1 ตวตรวจจบสญญาณแรงดน ( Voltage sensor )

ใชหลกการงายๆ ในการทาโดยใชหลกการของ Divider แรงดนใหมคาทไมโครคอนโทรลเลอรสามารถทางานได โดยใชหมอแปลง 6 Vac เปนแหลงจายและใชความตานทานปรบคาได 20 KΩ ในการ Divider แรงดนใหไดประมาณ 2.5 Vac เมอไดแรงดน 2.5 Vac ตอ center tapให รปคลนทออกมาอยในซกบวกเพราะไมโครคอนโทรลเลอรจะรบ ADC ไดใน Cycle บวกเทานน การตอ Center tab ใหไฟเอซ โดยตอไฟ 2.5 Vdc โดยตอความตานทาน Divider 2 คา คอ 10 KΩ จะไดแรงดน 2.5 Vdc รปคลนทไดจะเปนรปคลน sine ทม DC ปนวงจร Voltage Sensor ซงสามารถแสดงไดดงรปท 3.1

รปท 3.1วงจรการทางานของ Voltage Sensor

103.2 การตรวจจบสญญาณกระแส

3.2.1 ตวตรวจจบกระแส ( Current Sensor ) ในการตรวจจบสญญาณของกระแสไฟฟาซงในโครงงานนคอเราจะใช Current Sensorสาเรจรป ซงรปของ Current Sensor สามารถทจะแสดงไดในรปท 3.2

รปท 3.2 ลกษณะของ Current Sensor

และนอกจากนการทเราจะนา ตว current sensor มาใชงานนน เราตองทดสอบทาการพนขดลวดรอบ ตว current sensor เพอใหไดคาแรงดนทเราตองการ คอ 5V ซงจากการทดสอบครงนพบวา เราตองทาการพนขดลวดถง 96 รอบจงจะไดแรงดน 5 V ตามตองการและรปแบบของการตอ current sensor เพอใชงานนน สามารถแสดงไดดงรปท3.3

รปท 3.3 การตอ Current Sensor ใชงาน

113.3 วงจรทระหวาง Microcontroller ( ATmega32) และ LCD

รปท 3.4 Microcontroller ( ATmega32) และ LCD

3.4 วงจรทใชในการควบคม ในวงจรควบคมมการรบคาจาก sensor ท port A ท pin 0 และ pin 1 ของ ตว microcontroller และมการแสดงผลทางจอ LCD จาก output ของ microcontroller port B pin 0-7 โดยมรปวงจรดงรปท 3.5 และรป Broad ชดควบคมดงรปท 3.6

12

รปท 3.5 วงจรทใชในการควบคม

รปท 3.6 วงจรควบคม

13บทท 4

การออกแบบโปรแกรม 4.1 โฟชารทของโปรแกรม

รปท 0.1 แสดงโฟชารทของโปรแกรม

14

บทท 5 การทดลองและสรปผลการทดลอง

เพอเปนการทดสอบวาเครองมอวดทเราทาขนนนสามารถวดคาตางๆซงกคอ คาแรงดน

คากระแสและคา power ทเราวดไดนนมความแมนตรงหรอไมนน ทางเราจงไดทาการทดลองโดยการทดสอบจากคาแรงดน คากระแส และคา power ทสามารถอานคาไดจากเครองมอวดทเราทาขนเองแลวนาไปเปรยบเทยบกบคาทวดไดจากวตตมเตอรจรง

5.1 การทดลองตวตรวจจบแรงดน เนองจากตวไมโครคอนโทรเลอรจะสามารถทางานไดถกตองเฉพาะในชวงแรงดน 4.5-5 V เทานน ดงนนเราจงจาเปนตองมตวตรวจจบแรงดนเพอปรบคาแรงดนใหเหมาะสมกบความตองการ แตคาแรงดนทไดจากตวตรวจจบแรงดนนนยงมคาเปนทงแรงดนบวกและลบอยดงนนเราจงตองผานสญญาณทไดนผานวงจรเซนเตอรแทปเพอเปนการยกสญญาณใหเปนสญญาณดานบวก ซงสามารถแสดงรปสญญาณเมอผานตวตรวจจบแรงดนและเมอผานเซนเตอรแทปไดดงรปท 5.1และ รปท 5.2 ดงตอไปน

รปท 5.1 สญญาณเมอผานตวตรวจจบแรงดน

15

รปท 5.2 สญญาณเมอผานเซนเตอรแทป

5.2 การทดลองตวตรวจจบกระแส

Current Sensor เปนตวตรวจจบสญญาณใหกบไมโครคอนโทรลเลอรซง Current Sensor ทใชเปนแบบสาเรจรปเมอตอ Current Sensor รปคลนทไดออกมาจะเปนรปคลนไซนซงมทงซกบวกและซกลบ แตไมโครคอนโทรลเลอรตองการแรงดนทขา ADC เฉพาะดานทเปนบวกเทานนจงตอ Output ของ Current Sensor เขากบ Center tap เพอยกระดบแรงดนใหรปคลนทางดาน Output ของ Current Sensor ยกระดบขนไปอยดานบวกอยางเดยว นอกจากนเราจะพบวาคากระแสทไดนนจะมตาประมาณ 0.4 mA และเราตองการคาแรงดนเปน +5 Vpp ดงนนเพอใหไดคาแรงดนดงกลาวนเราจงตองทาการพนขดลวดรอยตว CT นถง 96 รอบจงจะไดแรงดนตามทตองการ ซงเราสามารถแสดงรปสญญาณเมอผานตวตรวจจบแรงดนและเมอผานซนเตอรแทปไดดงรปท 5.3 และ 5.4

16

รปท 5.3สญญาณเมอผานตวตรวจจบกระแส

รปท 5.4สญญาณเมอผานเซนเตอรแทป

175.3 ผลการทดลองโวลตมเตอร

เปนการนาเครองวดทสรางขนมาวดเปรยบเทยบกบโวลตมเตอร ทใชในหอง LAB โดยใชแหลงจายทสามารถปรบคาได แลววดคาท output terminal โดยใช volt meter เทยบกบ voltage sensor ทสรางขน

Varrieac Volt meter Voltage Sensor

รปท 5.5 แสดงการวดคาของแรงดนมเตอรทสรางเปรยบเทยบกบมลตมเตอร

ดงนนจากการทดลองดงกลาวเราจงสามารถบนทกคาทวดจากเครองวดทสรางขนกบตาทวดไดจากโวลตมเตอรทใชหอง LAB ซงคาของการเปรยบเทยบระหวางเครองวดทงสองสามารถแสดงไดดงตารางท 5.1 ดงตอไปน

18

คาจากมลตมเตอร คาวดมเตอรทสรางขน error % 0 0 0 11 11.9 7.5 26 26.6 2.2 35 35.3 0.8 51 52.4 2.7 76 75.6 0.5 102 100.7 1.27 129 127.4 1.24 156 157.3 0.83 183 181.6 0.76 208 206.1 0.91 219 215.2 1.27 234 230.6 1.45

ตารางท 5.1 การเปรยบเทยบการวดคาของโวลตมเตอร

จากตารางท 5.1 คาทไดนนเราจงทาการคานวนเพอหาคา Error ทเกดขนวาอยในชวงท

เราสามารถยอมรบไดหรอไมโดยใชความสมพนธดงตอไปน

สตรทใชในการคานวณ

คา Error ( % ) = คาจรง - คาทวดได คาจรง จากตารางจะเหนวาคาทวดไดกบคาทคานวณม Error นอยกวา + 10% ซงเปนคาทยอมรบได

* 100

19 ดงนนจากคาทไดในตารางท 5.1 เรานามาทาการ พลอตกราฟความสมพนธซงสามารถแสดงไดดงกราฟรปท 5.6

050

100150200250

0 50 100 150 200 250

Volte meter ทสรางขน(V)

Vol

te m

eter

ทวด

(V)

รปท 5.6 กราฟทไดจากการวดของโวลตมเตอร

จากรปกราฟจะเหนวาเปนกราฟท Linear ซงมคา Error อยบางและคาทวดไดจะมคาตงแตประมาณ 20V – 220V คาทนอยกวา 20 V เครองวดทสรางขนกจะวดคาไมถกตองอาจจะม Error เยอะกวา + 10 % สรป การวดคาแรงดนทไดจากการวดของโวลตมเตอรทใชในหอง LAB เมอนามาเปรยบเทยบกบคาแรงดนทไดจากการวดของเครองมอวดทสรางขนนนสามารถสรปไดวาเครองมอทสรางขนนนสามารถวดคาไดถกตองโดยดจากความสมพนธของเสนกราฟ คอกราฟทไดนนคอนขางทจะเปนLinear

205.4 ผลการทดลองแอมปมเตอร การวดกระแสของมเตอรทสรางขนโดยการตอ Load แลวใชแอมมเตอรทใชในหอง LAB วดเปรยบเทยบกบแอมมเตอรทสรางขนโดยเปลยน Load ในการวดคาตาง ๆ ไปเรอยๆ ดงรปท 5.7

รปท 5.7 แสดงการตอในการวดกระแสของมเตอรทสรางขน

ดงนนจากการทดลองดงกลาวเราจงสามารถบนทกคาทวดจากเครองวดทสรางขนกบตาทวดไดจากแอมมเตอรทใชหอง LAB ซงคาของการเปรยบเทยบระหวางเครองวดทงสองสามารถแสดงไดดงตารางท 5.2 ดงตอไปน

โหลด (W) คากระแสทคานวนได (A)

กระแสจากมลตมเตอร ( A )

กระแสจากมเตอรสราง ( A )

Error %

5 0.022 0.02 0.021 5 18 0.081 0.08 0.078 2.5 25 0.113 0.10 0.108 8 40 0.181 0.17 0.175 2.9 60 0.272 0.26 0.266 2.3 100 0.454 0.43 0.44 2.3

ตารางท 5.2 การเปรยบเทยบการวดคาของแอมมเตอร

21

จากตารางท 5.2 คาทไดนนเราจงทาการคานวนเพอหาคา Error ทเกดขนวาอยในชวงทเราสามารถยอมรบไดหรอไมโดยใชความสมพนธดงตอไปน

สตรในการคานวณ %Error คอ % Error = คาจรง - คาทวดได คาจรง

จากตารางท 5.2 จะเหนวา Error ทไดจะมคาไมเกน + 10 %ถอวายอมรบไดคา % Error มคามากในชวงกระแสตา ๆ จะมคา %Error มากและชวงทมกระแสสงจะวดไดถกตองเพราะคา %Error มคานอย ดงนนจากคาทไดในตารางท 5.2 เรานามาทาการ พลอตกราฟความสมพนธซงสามารถแสดงไดดงกราฟรปท 5.8

00.10.20.30.40.5

0 0.1 0.2 0.3 0.4 0.5

Ammter ทสรางขนเอง(A)

Amm

eter

ทใชวด

(A)

รปท 5.8กราฟทไดจากการวดของแอมมเตอร

* 100

225.5 ผลการทดลองวตตมเตอร

คาทไดจากการคานวณโดยการวดคาโวลตและแเอมปทวดไดจากโหลดแลวนามาทาการคานวนหาคา power จากสตร

watt = V ทวดได * I ทวดได

กจะไดวตตจรงเทยบกบวตตมเตอรทสรางขน โดยสามารถแสดงการตอวงจรเพอใชในการใชงานจรง ดงสามารถแสดงไดดงรปท 5.9

รปท 5.9 แสดงการตอในการวดกาลงงานไฟฟา

ดงนนจากการทดลองดงกลาวเราจงสามารถบนทกคาทวดจากเครองวดทสรางขนกบตาทวดไดจากวตตมเตอรจรงทใชหอง LAB ซงคาของการเปรยบเทยบระหวางเครองวดทงสองสามารถแสดงไดดงตารางท 5.3 ดงตอไปน

โหลด

คาวตตมเตอรทสราง (W )

Error (%)

หลอดไส 5 W 5.3 6 หลอดไส 18 W 17.6 2.22 หลอดไส 25 W 24.2 3.2 หลอดไส 40 W 40.4 3.74 หลอดไส 60 W 61.3 1 หลอดไส 100 W 101.3 1.3

ตารางท 5.3 การเปรยบเทยบคาวตตมเตอร

23 จากตารางท 5.3 สตรในการคานวณกาลงไฟฟาคอ watt = V ทวดได * I ทวดได คาทวดไดจากตารางจะเหนวาม Error นอยกวา + 10 % ถอวาคาทวดยอมรบได คาทวดไดจะเพยนในชวงกาลงไฟฟาตาและชวงกาลงไฟฟาสงจะวดไดอยางถกตองยงขน โดยสามารถแสดงการเปรยบเทยบไดดงกราฟรปท 5.10 ดงน

020406080

100120

0 50 100 150

Watt meter ทสรางเอง(W)

โหลด

(W)

รปท 5.10 กราฟทไดจากการวดวตตมเตอร

5.6 ผลการทดลองจากการจบสญญาณของ Voltage และ Current เปนการทดลองททดสอบเพอดลกษณะคลนของสญญาณแรงดนและสญญาณกระแสโดยการนาโหลดทคา power ตางๆ มาทาการตอเขากบเครองมอวดทสรางขน แลวทาการจบรปคลนสญญาณทได พรอมทงอานคา V,I,W และ PF. ทแสดงทจอ LCD ของเครองมอวดทเราสรางขน และ อานคา V และ I ทแสดงทเครอง Oscilloscope โดยคาตางๆทอานไดนนสามารถแสดงไดดงตารางท 5.4 ดงตอไปน

24

Load(W) Voltage(V) เครองวดทสรางขน

Current(A) เครองวดทสรางขน

Power(W) เครองวดทสรางขน

Power factor(PF.) เครองวดทสรางขน

Voltage(V) (Oscilloscope)

Current(A) (Oscilloscope)

5 226.1 0.037 8.2 1 217.6 61.12 25 218.4 0.109 25.5 1 217.6 182.64 40 220.7 0.185 40.7 1 217.6 290.56 60 221.6 0.265 58.81 1 217.6 430 100 223.5 0.447 99.9 1 217.6 721.2

Ballast electronic 226.3 0.075 17.6 0.56 218 119.04

ตารางท 5.4 ตารางแสดงคา V,I,W และ PF. ทไดจากเครองมอวดทสรางขนและ คา V ,I ทไดจาก Oscilloscope

25

และนอกจากนเรายงสามารถแสดงรปคลนของสญญาณทจบไดโดย Oscillscope เมอทาการเปลยนแปลงคาของโหลด ซงสามารถแสดงภาพของคลนสญญาณทคาโหลดตางๆ ไดดงน 1. เมอโหลดคอ หลอดใสขนาด 5 W

รปท 5.11 คลนสญญาณทโหลด 5 W

26 2. เมอโหลดคอ หลอดใสขนาด 25 W

รปท 5.12 คลนสญญาณทโหลด 25 W

27 3.เมอโหลดคอ หลอดใสขนาด 40 W

รปท 5.13 คลนสญญาณทโหลด 40 W

28 4. เมอโหลดคอ หลอดใสขนาด 60 W

รปท 5.14 คลนสญญาณทโหลด 60 W

295. เมอโหลดคอ หลอดใสขนาด 100 W

รปท 5.15 คลนสญญาณทโหลด 100 W

306. เมอโหลดคอ หลอดแบบ Ballast Electronic

รปท 5.16 คลนสญญาณทโหลดแบบ Ballast Electronic

31

5.7 สรปผลการทดลอง เครองวดกาลงไฟฟาทสรางขนมานเปนการนาเอา Current Sensor และ Voltage

Sensor มาเปนตวตรวจจบสญญาณใหกบไมโครคอนโทรลเลอรในโครงการนใชไมโครคอนโทรลเลอรเปนตวคานวนคาของ กาลงไฟฟา , แรงดนไฟฟา , กระแสไฟฟา ซงสามารถวดกาลงโหลด ทเปนโหลด Resister ไดตงแต 10 W – 100 W โดยโหลดทเปน Resister เชนหลอดไฟซงแรงดนทวดไดตงแต 20 – 220 Vac ( rms ) และกระแสอยในชวงประมาณ 0.15 - 0.5 A ซงคาทวดไดเมอนาไปเปรยบเทยบกบคาทวดจากมเตอร และคาการคานวณ ( การคานวณใชมเตอรวดคา 2 คาในการคานวณ ) จากการทดลองวดคาตาง ๆ ของมเตอรทสรางขนกพบวามคาความคลาดเคลอนนอยกวา + 10 % ซงกถอวายอมรบได Current Sensor เปนตวตรวจจบสญญาณใหกบไมโครคอนโทรลเลอรซง Current Sensor ทใชเปนแบบสาเรจรปเมอตอ Current Sensor รปคลนทไดออกมาจะเปนรปคลนไซนซงมทงซกบวกและซกลบ แตไมโครคอนโทรลเลอรตองการแรงดนทขา ADC เฉพาะดานทเปนบวกเทานนจงตอ Output ของ Current Sensor เขากบ Center tap เพอยกระดบแรงดนใหรปคลนทางดาน Output ของ Current Sensor ยกระดบขนไปอยดานบวกอยางเดยวม Center อยท + 2.5 V. Voltage Sensor เปนตวตรวจจบสญญาณใหกบไมโครคอนโทรลเลอร ซงวงจรของ Voltage Sensor ใชหลกการของ Voltage Divider โดยใชหมอแปลง 200 / 6 V. แลวใชความตานทานปรบคาได 20 KΩ เอาทพตทตองการคอ 2.5 Vac แตสามารถปรบแอมปลจดได Output ทออกมาทาใหเรยบโดยตอ Capacitor เขาไปกอนจะยกระดบแรงดนโดยการตอผาน Center tap ( ทาไดโดยการตอไฟ + 5 V. ตอความตานทาน 2 ตว คาเทากนตอ Divider กจะได Center tap ) เพอยกระดบกอนเขา ADC เพอคานวณตอไป Microcontroller เปนหวใจหลกในการสรางวตตมเตอรซงในโครงงานนจะใชไมโครคอนโทรลเลอรของ Atmega 32 ( AVR ) ซงมนจะมหนาทรบคากระแสและแรงดนจากภายนอกมาทาการประมวลผลหรอคานวน แลวเอาคาทคานวณนนออกแสดงผลโดยทางจอ LCD คาสญญาณ ADC ทมนรบเขามานนมนจะเขามาทางพอรต A คอ PA0 และPA1

325.8 สรปปญหาและขอเสนอแนะ โครงงานถกสรางขนมาทละสวนเรมตงแตบอรดการทดลองของไมโครคอนโทรลเลอร( AVR Mega32 ) การศกษาโปรแกรมการใชงานจอแสดงผล LCD วงจรตรวจจบแรงดน วงจรตรวจจบกระแส ทงหมดนไดมการทดสอบและแกไขปรบปรงเมอเจอปญหาใหมคานอยทสดจงสรปดงน 1. วงจรตรวจจบกระแส ปญหาทพบจากตว Current Sensor คอขนาดของ Sensor คามาก CT 100 : 4 100 A จะออก 4 V ปญหาคอมเตอรทสรางวดคากระแสตาทาให Sensor ตรวจจบสญญาณไมได แกปญหาโดยการพนขดลวดรอบ Current Sensor ถง 96รอบ และชวงทวดกระแสตา ๆ จะจบสญญาณไมไดเพราะไมสามารถพนรอบแกน Sensor ไดจงวดไดแคชวง 0.15A – 0.5A

2. วงจรตรวจจบแรงดน Output ของวงจรตรวจจบแรงดนไมเรยบแกปญหาโดยการตอ Capacitor กอนเขา Center tap

3. ปญหาในตวไมโครคอนโทรลเลอรกคอตองจดระดบแรงดนใหกบตวไมโครคอนโทรลเลอรใหอยางถกตองถาไมทาเชนนนอาจจะทาใหตวคอนโทรลเลอรทางานผดพลาดไดสาเหตทตองจดระดบแรงดนใหตวไมโครคอนโทรลเลอรกเพราะวามการใช ADC ภายในตองจดระดบใหมนเสมอ

4. ปญหาเรองสญญาณรบกวนทมารบกวนตวไมโครคอนโทรลเลอรปญหาทพบบอยๆ กคอมาจากสญญาณ ADC อาจจะเปนเพราะการรบกวนของอปกรณภายนอกเชน หมอแปลง คอมพวเตอรเปนตนวธแกคอโดยใชสายซลเปนตวนาสญญาณของกระแสและแรงดน

33

บรรณานกรม 1. คมอ LCD : http://lcd-monitors.globalspec.com 2. คมอ Microcontrolle ATMEGA32: http:\\www.atmel.com 3. รหส ASCII : http:\\www.neurophy.wisc.du/www//comp/docs/ascii.html 4. วงจรขบออปโตคปเปอรเพอตอโหลดแรงดนสง : http:\\www.thaiio.com 5. วงจร Regulator : http:\\www.thaiio.com

34

ภาคผนวก ก. สวนของโปรแกรม

351. โปรแกรมควบคมการทางานของไมโครคอนโทรเลอร

สาหรบการเขยนโปรแกรมเพอควบคมการทางานของไมโครคอรโทรเลอร ATmega 32 ทางเราไดเลอกใช โปรแกรม CodeVisionAVR โดยในสวนของการเขยนโปรแกรมนนเราจะใชภาษา C ในการเขยน ซงโปรแกรม CodeVisionAVR นมขอดคอ เปนโปรแกรมทสามารถ compiler ไดทง ภาษาแอสเซมบล และภาษา C อกทงยงม wizard เพอชวยในการเขยนโปรแกรมไดงายและรวดเรวขน ดงนนเราจงสามารถแสดงหนาตางของโปรแกรมไดดงรปท 4.3 ดงตอไปน

รปท 0.1 หนาตางโปรแกรม CodevisionAVR

36

2. โปรแกรมทใชในการอดโปรแกรม

เมอเราทาการเขยนโปรแกรมเสรจแลว โปรแกรมทเราเขยนจะอยในรปของ ไฟลโปรแกรม (*.c) ซงเปนรปโปรแกรมทเราเขยนขน โดยยงไมสามารถทจะนาไปควบคมใหตวไมโครคอนโทรเลอรทางานได ดงนนเราตองทาการแปลงใหเปนไฟลโปรแกรม (*.hex) กอน ซงโปรแกรมทเราใชในการแปลงไฟลนกคอ โปรแกรม ponyprog2000 และสามารถแสดงหนาตางโปรแกรมไดดงรปท 4.4 ดงน

รปท 0.2 หนาตางโปรแกรม Ponyprog 2000

37 3. โคดโปรแกรมทใชในการควบคมไมโครคอนโทรเลอร

***************************************************** Chip type : ATmega32 Program type : Application Clock frequency : 16.000000 MHz Memory model : Small External SRAM size : 0 Data Stack size : 512 *****************************************************/ #include <mega32.h> #include <lcd.h> #include <delay.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #include <math.h> #define ADC_INPUT_CHANNEL0 0 #define ADC_INPUT_CHANNEL1 1 #define ADC_VREF_TYPE 0x40 #define SAMPLING 255 // Alphanumeric LCD Module functions #asm .equ __lcd_port=0x18 ;PORTB #endasm float Sum_V0,Sum_I0, SumVI, Vref=0, Iref=0; unsigned int sampling_data1[SAMPLING]; unsigned int sampling_data2[SAMPLING]; unsigned int Vmax, Vmin, Imax, Imin; register static unsigned char input_index=0; register static unsigned int loop;

38 // Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) if (loop >= 4) if (input_index < SAMPLING) ADMUX=(ADC_INPUT_CHANNEL1|ADC_VREF_TYPE); // Start the AD conversion ADCSRA|=0x40; //Wait for the AD conversion to complete while((ADCSRA & 0x10)==0); ADCSRA|=0x10; sampling_data1[input_index] = ADCW; if (input_index == 0) // Initial Vmax = ADCW; Vmin = ADCW; if (ADCW > Vmax) Vmax = ADCW; if (ADCW < Vmin) Vmin = ADCW; ADMUX=(ADC_INPUT_CHANNEL0|ADC_VREF_TYPE); //ADMUX=0x61; // Start the AD conversion ADCSRA|=0x40; //Wait for the AD conversion to complete while((ADCSRA & 0x10)==0) ; ADCSRA|=0x10; sampling_data2[input_index] = ADCW; if (input_index == 0) // Initial Imax = ADCW; Imin = ADCW;

39 if (ADCW > Imax) Imax = ADCW; if (ADCW < Imin) Imin = ADCW; input_index++; loop = 0; else loop++; TCNT0=0xF0; // Declare your global variables here void main(void) unsigned int i; char string_temp[16]; float V0, I0,watt, Pavg, PF; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x01; TCNT0=0xF0; OCR0=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x01;

40// ADC initialization // ADC Clock frequency: 125.000 kHz // ADC Voltage Reference: AREF pin ADMUX=ADC_VREF_TYPE; ADCSRA=0x87; // LCD module initialization lcd_init(16); // Global enable interrupts #asm("sei") while (1) // Place your code here while (input_index >= SAMPLING) #asm("cli") //when received 255 samples--clear interrupt Sum_V0=0; Sum_I0=0; SumVI=0; Vref = (Vmax + Vmin)/2; Vref = (Vref * 5)/1024; Iref = (Imax + Imin)/2; Iref = (Iref * 5)/1024; for (i=0; i<SAMPLING; i++) // Voltage Calculation V0 = (float)sampling_data1[i]; V0 = (V0 * 5)/1024; V0 = V0 - Vref; V0 = ((V0 * 220)/1.2); Sum_V0 = Sum_V0 + (V0*V0);

41 // Current Calculation I0 = (float)sampling_data2[i]; I0 = (I0 * 5)/1024; I0 = I0 - Iref; I0 = ((I0 * 0.44)/1.25); Sum_I0 = Sum_I0 + (I0*I0); // Sum Voltage and Current SumVI = SumVI + (V0 * I0); V0 = sqrt(Sum_V0/SAMPLING); I0 = sqrt(Sum_I0/SAMPLING); watt = V0*I0; Pavg = fabs(SumVI/SAMPLING); PF = Pavg/watt; lcd_clear(); lcd_gotoxy(0,0); ftoa(V0, 1, string_temp); strcatf(string_temp, " V"); lcd_puts(string_temp); lcd_gotoxy(8,0); ftoa(I0, 3, string_temp); strcatf(string_temp, " A"); lcd_puts(string_temp); lcd_gotoxy(0,1); ftoa(watt, 1, string_temp); strcatf(string_temp, " W"); lcd_puts(string_temp); lcd_gotoxy(8,1); strcpyf(string_temp, "PF: "); lcd_puts(string_temp);

42 lcd_gotoxy(12,1); ftoa(PF, 2, string_temp); lcd_puts(string_temp); delay_ms(5000); input_index=0; #asm("sei") // when do all things--enable interrupt ; ;

บทคดยอ โครงงานนไดทาการศกษาและสรางเครองมอวดพลงงานไฟฟา ซงควบคมดวยไมโครคอนโทรลเลอร ซงตวไมโครคอนโทรลเลอรทใชคอ AVR – ATMEGA 32 โดยทไมโครคอนโทรลเลอรจะรบคาอนาลอกมาแปลงเปนสญญาณดจตอลโดยฟงกชน ADC Converter ซงมอยภายในตวไมโครคอนโทรลเลอรเอง ซงเมอไมโครคอนโทรลเลอรรบคาแลวจะทาการประมวลผลแลวแสดงผลผานวงจร DAC Converter ออกมาทางจอแสดงผล ในรายงานฉบบนไดมงเนนศกษาเกยวกบการใชงาน Microcontroller AVR-Atmega 32 และฟงกชนตางๆทมในตวไมโครคอนโทรเลอร แลวนาไปใชทาเครองมอวดกาลงไฟฟาใหโหลด

ABSTRACT The purposes of the project are to study, design and build a watt meter is controled by microcontroller AVR – Atmega 32 The microcontroller AVR – Atmega 32 will received analog’s data and convert analog’s data to digital data by function ADC,which function in microcontroller AVR – Atmega 32 and after microcontroller recive the data it will generate and pass function DAC after then show the result at LCD This report define about eduacte concern using microcontroller’s AVR – Atmega 32 and method to measure the power of resistive load

กตตกรรมประกาศ โครงงานนเปนโครงงานเกยวกบการนาความรทางดานไฟฟาแขนงตางๆ มาประยกตในการออกแบบและสรางเครองมอวดกาลงไฟฟา ซงโครงการนสาเรจลลวงไปดวยดโดยไดรบความอนเคราะหจากทาน อาจารย ดร. กฤษ เฉยไสย ทใหคาปรกษา คาแนะนาเกยวกบโครงงานทงหมด ททาใหเกดแนวความคดในการทาโครงงานขนมากมาย ทงในสวนของเอกสารประกอบการทดลอง วชาการ และการปฏบต จนทาใหโครงงานไดถงจดน พรอมกนนไดขอขอบพระคณตอเจาหนาทควบคมการเบกจายอปกรณและเครองมอของภาควชาวศวกรรมไฟฟาทกทาน ทไดใหความสะดวกในการเบกจายอปกรณ รวมทงขอขอบคณ นาย ธวตชย สนภย นศ.ป.โท และขอขอบใจ นายนวตรอน นายแมรสรวง นางสาวมกธดา,เพอนๆ และผมสวนรวมเกยวของทกทาน ทชวยใหคาแนะนา ชวยเหลอและใหกาลงใจมาตลอดกบการทาโครงงานครงนเปนอยางด นาย อภชาต ศรชาต นางสาว อรรจนา ศรระวงศ

สารบญ เรอง หนา บทท 1 บทนา 1

1.1 ความสาคญและทมา 1 1.2 วตถประสงค 1 1.3 ขอบขายของงาน 2 1.4 แนวทางการดาเนนงาน 2

บทท 2 ทฤษฎพนฐาน 3 2.1 ไมโครคอนโทรลเลอร 4 2.2 จอแสดงผล 6 2.3 การทางานของชด Supply 8

บทท 3 การออกแบบ 9 3.1 การตรวจจบสญญาณแรงดน 9 3.2 การตรวจจบสญญาณกระแส 10 3.3 วงจรทระหวาง Microcontroller ( ATmega32) และ LCD 11 3.4 วงจรทใชในการควบคม 11

บทท 4 การออกแบบโปรแกรม 13 4.1 โฟชารทของโปรแกรม 13

บทท 5 การทดลองและสรปผลการทดลอง 14 5.1 การทดลองตวตรวจจบแรงดน 14 5.2 การทดลองตวตรวจจบกระแส 15 5.3 ผลการทดลองโวลตมเตอร 17 5.4 ผลการทดลองแอมปมเตอร 20 5.5 ผลการทดลองวตตมเตอร 22 5.6 ผลการทดลองจากการจบสญญาณของ Voltage และ Current 23

5.7 สรปผลการทดลอง 31 5.8 สรปปญหาและขอเสนอแนะ 32 บรรณานกรม 33

สารบญ (ตอ) ภาคผนวก ก. สวนของโปรแกรม 34

1. โปรแกรมควบคมการทางานของไมโครคอนโทรเลอร 35 2. โปรแกรมทใชในการอดโปรแกรม 36

3. โคดโปรแกรมทใชในการควบคมไมโครคอนโทรเลอร 37 บทคดยอ ก ABSTRACT ข กตตกรรมประกาศ ค สารบญ ง สารบญ(ตอ) จ สารบญรปภาพ ฉ สารบญตาราง ช

สารบญรปภาพ หนา รปท 3.1วงจรการทางานของ Voltage Sensor 9 รปท 3.2 ลกษณะของ Current Sensor 10 รปท 3.3 การตอ Current Sensor ใชงาน 10 รปท 3.4 Microcontroller ( ATmega32) และ LCD 11 รปท 3.5 วงจรทใชในการควบคม 12 รปท 3.6 วงจรควบคม 12 รปท 0.1 แสดงโฟชารทของโปรแกรม 13 รปท 5.1 สญญาณเมอผานตวตรวจจบแรงดน 14 รปท 5.2 สญญาณเมอผานเซนเตอรแทป 15 รปท 5.3สญญาณเมอผานตวตรวจจบกระแส 16 รปท 5.4สญญาณเมอผานเซนเตอรแทป 16 รปท 5.5 แสดงการวดคาของแรงดนมเตอรทสรางเปรยบเทยบกบมลตมเตอร 17 รปท 5.6 กราฟทไดจากการวดของโวลตมเตอร 19 รปท 5.7 แสดงการตอในการวดกระแสของมเตอรทสรางขน 20 รปท 5.8กราฟทไดจากการวดของแอมมเตอร 21 รปท 5.9 แสดงการตอในการวดกาลงงานไฟฟา 22 รปท 5.10 กราฟทไดจากการวดวตตมเตอร 23 รปท 5.11 คลนสญญาณทโหลด 5 W 25 รปท 5.12 คลนสญญาณทโหลด 25 W 26 รปท 5.13 คลนสญญาณทโหลด 40 W 27 รปท 5.14 คลนสญญาณทโหลด 60 W 28 รปท 5.15 คลนสญญาณทโหลด 100 W 29 รปท 5.16 คลนสญญาณทโหลดแบบ Ballast Electronic 30 รปท 0.1 หนาตางโปรแกรม CodevisionAVR 35 รปท 0.2 หนาตางโปรแกรม Ponyprog 2000 36

สารบญตาราง หนา ตารางท 5.1 การเปรยบเทยบการวดคาของโวลตมเตอร 18 ตารางท 5.2 การเปรยบเทยบการวดคาของแอมมเตอร 20 ตารางท 5.3 การเปรยบเทยบคาวตตมเตอร 22 ตารางท 5.4 ตารางแสดงคา V,I,W และ PF. 24

รายงานโครงการหมายเลข EE 2004-21

วตตมเตอร

นาย อภชาต ศรชาต เลขประจาตว 443041043-3 นางสาว อรรจนา ศรระวงศ เลขประจาตว 443041050-6

รายงานนเปนรายงาน งานโครงการของนกศกษาชนปท 4 ซงเสนอเปนสวนหนง ในหลกสตรวศวกรรมศาสตรบณฑต

ภาควชาวศวกรรมไฟฟา

คณะวศวกรรมศาสตร มหาวทยาลยขอนแกน พ.ศ. 2547

Project Report No. EE2004-21

WATT METER

Mr. Apichat Srichart ID 443041043-3 Mrs. Autchana Srirawong ID 443041050-6

This is the report of fourth year project assignment submitted in partial Fulfillment of the requirement for the Degree of Bachelor of engineering.

Department of Electrical Engineering

Faculty of Engineering , Khon Kaen University 2004

ใบประเมนผลงานโครงการ ชอเรองภาษาไทย วตตมเตอร ชอเรองภาษาองกฤษ WATT METER

ผเสนอโครงการ นายอภชาต ศรชาต เลขประจาตว 443041043-3 นางสาวอรรจนา ศรระวงศ เลขประจาตว 443041050-6

อาจารยทปรกษา

(อ.ดร.กฤษ เฉยไสย)

อาจารยผรวมประเมนผลโครงการ

(อ.สถรพร พรนมตร)

(อ.นยม พนจการ)

ประเมนผล ณ วนท 9 กมภาพนธ พ.ศ.2548