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