SlideShare uma empresa Scribd logo
1 de 13
Temperature controller
• เป้ าหมาย
– ควบคุมอุณหภูมิด้วยคาสั่งจากคอมพิวเตอร์
– ขับกระแสให้กับขดลวดความร้อนผ่าน AC relay
DS18b20 (~150oC)
Thermocouple (~750oC)
Relay module
• บอร์ด ETT-OPTO RELAY4 เป็นรีเลย์ AC จานวน 4 ช่อง
http://www.ett.co.th/download2.html
ETT OPTO-RELAY4
• ต่อ relay เพื่อเป็นสวิตช์
ขาแบบ normally open
DS18B20 sensor
• เซ็นเซอร์แบบ 1-wire สาหรับวัดอุณหภูมิ
http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf
• การใช้ Arduino วัดอุณหภูมิด้วย DS18B20
http://playground.arduino.cc/Learning/OneWire
http://www.pjrc.com/teensy/td_libs_OneWire.html
Thermocouple shield
• เทอร์โมคัปเปิลใช้ปรากฏการณ์ Seebeck แปลงความสัมพันธ์
อุณหภูมิเป็นแรงดันไฟฟ้ า (ย่าน mV)
– ต้องทาการชดเชยจุดเยือกแข็ง (offset) และขยายสัญญาณ (amplify)
• ใช้ thermocouple shield เพื่อวัดแรงดัน
https://oceancontrols.com.au/KTA-259.html
Procedure
• ต่อบอร์ด Arduino กับเซ็นเซอร์วัดอุณหภูมิ
– เขียนโค้ดเพื่อวัดอุณหภูมิและแสดงผลทาง serial monitor
– เปิดหม้อหุงข้าว/เตาอบ แล้ววัดอุณหภูมิทุก 1 วินาที
– นาค่าไปพล็อตกราฟ แล้วหาค่าความชันของอุณหภูมิสูงสุด (Smax)
– หาค่าอุณหภูมิสูงสุด (Tmax)
• ต่อบอร์ด Arduino กับบอร์ดรีเลย์และเซ็นเซอร์วัดอุณหภูมิ
– คานวณช่วงความละเอียด T = Tmax / 100
– หาคาบเวลาในการควบคุม = 0.1 * T/Smax
(หากน้อยกว่า 1 วินาที ให้เท่ากับ 1 วินาที)
– ทดสอบการปิด/เปิดแบบ pulse-width modulation
#define STEP (X)
const int onPeriod = Y;
const int offPeriod = Z;
void setup() {
initTempSensor();
initRelayBoard();
Serial.begin(9600);
}
void loop() {
float temp = readTempSensor();
Serial.print("Temp: "); Serial.println(temp);
delay(X*Y);
onRelay();
delay(X*Z);
offRelay();
}
โค้ดตัวอย่างสาหรับทดลองรีเลย์
มาจากผลทดลอง หน่วย msec
เทคนิค burst firing
• การควบคุมแบบ PWM จะไม่เหมาะกับ AC เนื่องจากวงจร triac
มักใช้หลักการ zero-crossing เพื่อลดสัญญาณรบกวน
– ใช้เทคนิค burst firing เปิดให้ AC
power หลายลูกคลื่นผ่านไปยังโหลด
– ค่า cycle time ขึ้นอยู่กับความจุของ
โหลด โดยไม่ควรน้อยกว่าค่าที่ทาให้แกว่ง
const int relayPin = X;
const int onPeriod[] = {0,1,1,2,2,3,6,7,8,9,10};
const int offPeriod[] = {5,9,5,4,5,3,4,3,2,1,0};
void heaterOn(int duty_cycle) {
if (duty_cycle > 0) {
idx = duty_cycle/10; // lookup table step 10%
if (onPeriod[idx] > 0) {
digitalWrite(relayPin, HIGH);
delay(onPeriod[idx]*1000);
}
if (offPeriod[idx] > 0) {
digitalWrite(relayPin, LOW);
delay(offPeriod[idx]*1000);
}
} else {
delay(10000);
}
}
PID controller
• หลักการควบคุม = สร้างสัญญาณควบคุมจากการคานวณ
error = setpoint - feedback
• setpoint อ่านค่าจาก potentiometer
• Feedback อ่านค่าจากเซ็นเซอร์
#define MAX_TEMP (X.Y)
const float Kp = 1.0;
const float Ki = 0.0;
const float Kd = 0.0;
float sumErr = 0.0;
float lastTemp = 0.0;
setpoint = (analogRead(0)/5.0) * 100;
temp = readTempSensor()/MAX_TEMP * 100;
float pidCtrl(float setpoint, float temp) {
float error, ctrl, tempChange;
error = setpoint – temp;
sumErr += error;
tempChange = speed – lastTemp;
ctrl = Kp*error + Ki*sumErr + Kd*tempChange;
lastTemp = temp;
return ctrl;
}
โค้ดตัวอย่างสาหรับตัวควบคุม PID
มาจากผลทดลอง
ต่อ pot กับขา A0
const int PERIOD (X);
int ratioPWM(float ctrl) {
int onPeriod = (PERIOD*STEP) * (ctrl/100);
if (onPeriod > 0) {
onRelay();
delay(onPeriod);
offRelay();
delay(PERIOD*STEP - onPeriod);
} else {
offRelay();
delay(PERIOD*STEP);
}
}
โค้ดตัวอย่างสาหรับตัวควบคุม PID
ค่าทดลอง
Results
• เอกสารสรุปงาน (ประมาณ 3-4 หน้า ส่งพร้อมสาธิต)
– กราฟแสดงการเปลี่ยนแปลงอุณหภูมิเมื่อจ่ายไฟโดยตรงตรง
– กราฟแสดงการเปลี่ยนแปลงอุณหภูมิเมื่อจ่ายไฟแบบ PWM ผ่านรีเลย์ โดย
เป็นผลการทดลองแบบปรับค่า ON/OFF ต่างๆกัน
– ผลการควบคุมอุณหภูมิด้วยหลักการ PID โดยใช้ค่า PERIOD = 10,
15, 20, 25
– โค้ดสมบูรณ์สาหรับการควบคุมอุณหภูมิตั้งค่าด้วย potentiometer
• การให้คะแนนพิจารณาความเรียบร้อยของชิ้นงานด้วย
– เน้นความปลอดภัยลาดับแรก ตรงส่วนที่เป็น 220Vrms ต้องมีการป้ องกัน

Mais conteúdo relacionado

Mais procurados

บทปฏิบัติการที่ 5 ปั๊มน้ำต่อแบบอนุกรมและแบบขนาน (Series and Parallel Pumps Te...
บทปฏิบัติการที่ 5 ปั๊มน้ำต่อแบบอนุกรมและแบบขนาน (Series and Parallel Pumps Te...บทปฏิบัติการที่ 5 ปั๊มน้ำต่อแบบอนุกรมและแบบขนาน (Series and Parallel Pumps Te...
บทปฏิบัติการที่ 5 ปั๊มน้ำต่อแบบอนุกรมและแบบขนาน (Series and Parallel Pumps Te...AJ. Tor วิศวกรรมแหล่งนํา้
 
ข้อสอบ+เฉลย วิชากลศาสตร์ของไหล (Fluid Mechanics) กลางภาค ปีการศึกษา 2563 เทอม 1
ข้อสอบ+เฉลย วิชากลศาสตร์ของไหล (Fluid Mechanics) กลางภาค ปีการศึกษา 2563 เทอม 1ข้อสอบ+เฉลย วิชากลศาสตร์ของไหล (Fluid Mechanics) กลางภาค ปีการศึกษา 2563 เทอม 1
ข้อสอบ+เฉลย วิชากลศาสตร์ของไหล (Fluid Mechanics) กลางภาค ปีการศึกษา 2563 เทอม 1AJ. Tor วิศวกรรมแหล่งนํา้
 
ความน่าจะเป็น
ความน่าจะเป็นความน่าจะเป็น
ความน่าจะเป็นMc'Napat KhunKhoei
 
การทดสอบหาปฏิภาคส่วนผสมของคอนกรีต
การทดสอบหาปฏิภาคส่วนผสมของคอนกรีตการทดสอบหาปฏิภาคส่วนผสมของคอนกรีต
การทดสอบหาปฏิภาคส่วนผสมของคอนกรีตVai2eene K
 
การคำนวณเงินเดือนสุทธิหลังหักภาษีเงินเดือน 5%
การคำนวณเงินเดือนสุทธิหลังหักภาษีเงินเดือน 5%การคำนวณเงินเดือนสุทธิหลังหักภาษีเงินเดือน 5%
การคำนวณเงินเดือนสุทธิหลังหักภาษีเงินเดือน 5%Tipthida Piakard
 
Commonly used Approaches to Real Time Scheduling
Commonly used Approaches to Real Time SchedulingCommonly used Approaches to Real Time Scheduling
Commonly used Approaches to Real Time SchedulingRaaz Karkee
 
Real-Time Scheduling
Real-Time SchedulingReal-Time Scheduling
Real-Time Schedulingsathish sak
 
ใบงานที่ 7 การคำนวณในตารางทำงาน
ใบงานที่ 7  การคำนวณในตารางทำงานใบงานที่ 7  การคำนวณในตารางทำงาน
ใบงานที่ 7 การคำนวณในตารางทำงานMeaw Sukee
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaineAfef Ilahi
 
Aula 12 – Sistema de Numeração (Conversão de Bases)
Aula 12 – Sistema de Numeração (Conversão de Bases)Aula 12 – Sistema de Numeração (Conversão de Bases)
Aula 12 – Sistema de Numeração (Conversão de Bases)Vitor Hugo Melo Araújo
 
Real Time Systems & RTOS
Real Time Systems & RTOSReal Time Systems & RTOS
Real Time Systems & RTOSVishwa Mohan
 
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลีบทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลีNattawut Kathaisong
 
Ashoka Buildcon 1QFY20 results PPT
Ashoka Buildcon 1QFY20 results PPTAshoka Buildcon 1QFY20 results PPT
Ashoka Buildcon 1QFY20 results PPTSriram Kumar
 
حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول
حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول
حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول ehabhelp
 
TP N°1 sketchup.ppt
TP N°1 sketchup.pptTP N°1 sketchup.ppt
TP N°1 sketchup.pptPROFPROF11
 
ใบความรู้ที่ 4 การคำนวณในตารางงาน
ใบความรู้ที่  4 การคำนวณในตารางงานใบความรู้ที่  4 การคำนวณในตารางงาน
ใบความรู้ที่ 4 การคำนวณในตารางงานMeaw Sukee
 
การใช้งานแป้นพิมพ์ Keyboard
การใช้งานแป้นพิมพ์ Keyboardการใช้งานแป้นพิมพ์ Keyboard
การใช้งานแป้นพิมพ์ KeyboardDuangnapa Inyayot
 

Mais procurados (20)

Introduction to MATLAB
Introduction to MATLABIntroduction to MATLAB
Introduction to MATLAB
 
บทปฏิบัติการที่ 5 ปั๊มน้ำต่อแบบอนุกรมและแบบขนาน (Series and Parallel Pumps Te...
บทปฏิบัติการที่ 5 ปั๊มน้ำต่อแบบอนุกรมและแบบขนาน (Series and Parallel Pumps Te...บทปฏิบัติการที่ 5 ปั๊มน้ำต่อแบบอนุกรมและแบบขนาน (Series and Parallel Pumps Te...
บทปฏิบัติการที่ 5 ปั๊มน้ำต่อแบบอนุกรมและแบบขนาน (Series and Parallel Pumps Te...
 
ข้อสอบ+เฉลย วิชากลศาสตร์ของไหล (Fluid Mechanics) กลางภาค ปีการศึกษา 2563 เทอม 1
ข้อสอบ+เฉลย วิชากลศาสตร์ของไหล (Fluid Mechanics) กลางภาค ปีการศึกษา 2563 เทอม 1ข้อสอบ+เฉลย วิชากลศาสตร์ของไหล (Fluid Mechanics) กลางภาค ปีการศึกษา 2563 เทอม 1
ข้อสอบ+เฉลย วิชากลศาสตร์ของไหล (Fluid Mechanics) กลางภาค ปีการศึกษา 2563 เทอม 1
 
ความน่าจะเป็น
ความน่าจะเป็นความน่าจะเป็น
ความน่าจะเป็น
 
การทดสอบหาปฏิภาคส่วนผสมของคอนกรีต
การทดสอบหาปฏิภาคส่วนผสมของคอนกรีตการทดสอบหาปฏิภาคส่วนผสมของคอนกรีต
การทดสอบหาปฏิภาคส่วนผสมของคอนกรีต
 
การคำนวณเงินเดือนสุทธิหลังหักภาษีเงินเดือน 5%
การคำนวณเงินเดือนสุทธิหลังหักภาษีเงินเดือน 5%การคำนวณเงินเดือนสุทธิหลังหักภาษีเงินเดือน 5%
การคำนวณเงินเดือนสุทธิหลังหักภาษีเงินเดือน 5%
 
Commonly used Approaches to Real Time Scheduling
Commonly used Approaches to Real Time SchedulingCommonly used Approaches to Real Time Scheduling
Commonly used Approaches to Real Time Scheduling
 
Real-Time Scheduling
Real-Time SchedulingReal-Time Scheduling
Real-Time Scheduling
 
ใบงานที่ 7 การคำนวณในตารางทำงาน
ใบงานที่ 7  การคำนวณในตารางทำงานใบงานที่ 7  การคำนวณในตารางทำงาน
ใบงานที่ 7 การคำนวณในตารางทำงาน
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaine
 
Aula 12 – Sistema de Numeração (Conversão de Bases)
Aula 12 – Sistema de Numeração (Conversão de Bases)Aula 12 – Sistema de Numeração (Conversão de Bases)
Aula 12 – Sistema de Numeração (Conversão de Bases)
 
Video
VideoVideo
Video
 
Real Time Systems & RTOS
Real Time Systems & RTOSReal Time Systems & RTOS
Real Time Systems & RTOS
 
ใบงาน1ประมวลผลคำ
ใบงาน1ประมวลผลคำใบงาน1ประมวลผลคำ
ใบงาน1ประมวลผลคำ
 
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลีบทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
บทที่ 4 การเขียนโปรแกรมภาษาแอสแซมบลี
 
Ashoka Buildcon 1QFY20 results PPT
Ashoka Buildcon 1QFY20 results PPTAshoka Buildcon 1QFY20 results PPT
Ashoka Buildcon 1QFY20 results PPT
 
حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول
حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول
حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول
 
TP N°1 sketchup.ppt
TP N°1 sketchup.pptTP N°1 sketchup.ppt
TP N°1 sketchup.ppt
 
ใบความรู้ที่ 4 การคำนวณในตารางงาน
ใบความรู้ที่  4 การคำนวณในตารางงานใบความรู้ที่  4 การคำนวณในตารางงาน
ใบความรู้ที่ 4 การคำนวณในตารางงาน
 
การใช้งานแป้นพิมพ์ Keyboard
การใช้งานแป้นพิมพ์ Keyboardการใช้งานแป้นพิมพ์ Keyboard
การใช้งานแป้นพิมพ์ Keyboard
 

Destaque

การออกแบบตัวควบคุมความเร็วสายพาน
การออกแบบตัวควบคุมความเร็วสายพานการออกแบบตัวควบคุมความเร็วสายพาน
การออกแบบตัวควบคุมความเร็วสายพานSupachai Vorapojpisut
 
การสร้าง optokinetic drum ด้วย Arduino
การสร้าง optokinetic drum ด้วย Arduinoการสร้าง optokinetic drum ด้วย Arduino
การสร้าง optokinetic drum ด้วย ArduinoSupachai Vorapojpisut
 
สไลด์ประกอบกิจกรรม One (language) for All (platforms)
สไลด์ประกอบกิจกรรม One (language) for All (platforms)สไลด์ประกอบกิจกรรม One (language) for All (platforms)
สไลด์ประกอบกิจกรรม One (language) for All (platforms)Supachai Vorapojpisut
 
แผนท่องเที่ยวยุโรป 3 ประเทศ
แผนท่องเที่ยวยุโรป 3 ประเทศแผนท่องเที่ยวยุโรป 3 ประเทศ
แผนท่องเที่ยวยุโรป 3 ประเทศSupachai Vorapojpisut
 
ARM 7 LPC 2148 lecture
ARM 7 LPC 2148 lectureARM 7 LPC 2148 lecture
ARM 7 LPC 2148 lectureanishgoel
 
LPC 2148 ARM MICROCONTROLLER
LPC 2148 ARM MICROCONTROLLERLPC 2148 ARM MICROCONTROLLER
LPC 2148 ARM MICROCONTROLLERsravannunna24
 

Destaque (6)

การออกแบบตัวควบคุมความเร็วสายพาน
การออกแบบตัวควบคุมความเร็วสายพานการออกแบบตัวควบคุมความเร็วสายพาน
การออกแบบตัวควบคุมความเร็วสายพาน
 
การสร้าง optokinetic drum ด้วย Arduino
การสร้าง optokinetic drum ด้วย Arduinoการสร้าง optokinetic drum ด้วย Arduino
การสร้าง optokinetic drum ด้วย Arduino
 
สไลด์ประกอบกิจกรรม One (language) for All (platforms)
สไลด์ประกอบกิจกรรม One (language) for All (platforms)สไลด์ประกอบกิจกรรม One (language) for All (platforms)
สไลด์ประกอบกิจกรรม One (language) for All (platforms)
 
แผนท่องเที่ยวยุโรป 3 ประเทศ
แผนท่องเที่ยวยุโรป 3 ประเทศแผนท่องเที่ยวยุโรป 3 ประเทศ
แผนท่องเที่ยวยุโรป 3 ประเทศ
 
ARM 7 LPC 2148 lecture
ARM 7 LPC 2148 lectureARM 7 LPC 2148 lecture
ARM 7 LPC 2148 lecture
 
LPC 2148 ARM MICROCONTROLLER
LPC 2148 ARM MICROCONTROLLERLPC 2148 ARM MICROCONTROLLER
LPC 2148 ARM MICROCONTROLLER
 

ตัวควบคุมอุณหภูมิ

  • 1. Temperature controller • เป้ าหมาย – ควบคุมอุณหภูมิด้วยคาสั่งจากคอมพิวเตอร์ – ขับกระแสให้กับขดลวดความร้อนผ่าน AC relay DS18b20 (~150oC) Thermocouple (~750oC)
  • 2. Relay module • บอร์ด ETT-OPTO RELAY4 เป็นรีเลย์ AC จานวน 4 ช่อง http://www.ett.co.th/download2.html
  • 3. ETT OPTO-RELAY4 • ต่อ relay เพื่อเป็นสวิตช์ ขาแบบ normally open
  • 4. DS18B20 sensor • เซ็นเซอร์แบบ 1-wire สาหรับวัดอุณหภูมิ http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf • การใช้ Arduino วัดอุณหภูมิด้วย DS18B20 http://playground.arduino.cc/Learning/OneWire http://www.pjrc.com/teensy/td_libs_OneWire.html
  • 5. Thermocouple shield • เทอร์โมคัปเปิลใช้ปรากฏการณ์ Seebeck แปลงความสัมพันธ์ อุณหภูมิเป็นแรงดันไฟฟ้ า (ย่าน mV) – ต้องทาการชดเชยจุดเยือกแข็ง (offset) และขยายสัญญาณ (amplify) • ใช้ thermocouple shield เพื่อวัดแรงดัน https://oceancontrols.com.au/KTA-259.html
  • 6. Procedure • ต่อบอร์ด Arduino กับเซ็นเซอร์วัดอุณหภูมิ – เขียนโค้ดเพื่อวัดอุณหภูมิและแสดงผลทาง serial monitor – เปิดหม้อหุงข้าว/เตาอบ แล้ววัดอุณหภูมิทุก 1 วินาที – นาค่าไปพล็อตกราฟ แล้วหาค่าความชันของอุณหภูมิสูงสุด (Smax) – หาค่าอุณหภูมิสูงสุด (Tmax) • ต่อบอร์ด Arduino กับบอร์ดรีเลย์และเซ็นเซอร์วัดอุณหภูมิ – คานวณช่วงความละเอียด T = Tmax / 100 – หาคาบเวลาในการควบคุม = 0.1 * T/Smax (หากน้อยกว่า 1 วินาที ให้เท่ากับ 1 วินาที) – ทดสอบการปิด/เปิดแบบ pulse-width modulation
  • 7. #define STEP (X) const int onPeriod = Y; const int offPeriod = Z; void setup() { initTempSensor(); initRelayBoard(); Serial.begin(9600); } void loop() { float temp = readTempSensor(); Serial.print("Temp: "); Serial.println(temp); delay(X*Y); onRelay(); delay(X*Z); offRelay(); } โค้ดตัวอย่างสาหรับทดลองรีเลย์ มาจากผลทดลอง หน่วย msec
  • 8. เทคนิค burst firing • การควบคุมแบบ PWM จะไม่เหมาะกับ AC เนื่องจากวงจร triac มักใช้หลักการ zero-crossing เพื่อลดสัญญาณรบกวน – ใช้เทคนิค burst firing เปิดให้ AC power หลายลูกคลื่นผ่านไปยังโหลด – ค่า cycle time ขึ้นอยู่กับความจุของ โหลด โดยไม่ควรน้อยกว่าค่าที่ทาให้แกว่ง
  • 9. const int relayPin = X; const int onPeriod[] = {0,1,1,2,2,3,6,7,8,9,10}; const int offPeriod[] = {5,9,5,4,5,3,4,3,2,1,0}; void heaterOn(int duty_cycle) { if (duty_cycle > 0) { idx = duty_cycle/10; // lookup table step 10% if (onPeriod[idx] > 0) { digitalWrite(relayPin, HIGH); delay(onPeriod[idx]*1000); } if (offPeriod[idx] > 0) { digitalWrite(relayPin, LOW); delay(offPeriod[idx]*1000); } } else { delay(10000); } }
  • 10. PID controller • หลักการควบคุม = สร้างสัญญาณควบคุมจากการคานวณ error = setpoint - feedback • setpoint อ่านค่าจาก potentiometer • Feedback อ่านค่าจากเซ็นเซอร์
  • 11. #define MAX_TEMP (X.Y) const float Kp = 1.0; const float Ki = 0.0; const float Kd = 0.0; float sumErr = 0.0; float lastTemp = 0.0; setpoint = (analogRead(0)/5.0) * 100; temp = readTempSensor()/MAX_TEMP * 100; float pidCtrl(float setpoint, float temp) { float error, ctrl, tempChange; error = setpoint – temp; sumErr += error; tempChange = speed – lastTemp; ctrl = Kp*error + Ki*sumErr + Kd*tempChange; lastTemp = temp; return ctrl; } โค้ดตัวอย่างสาหรับตัวควบคุม PID มาจากผลทดลอง ต่อ pot กับขา A0
  • 12. const int PERIOD (X); int ratioPWM(float ctrl) { int onPeriod = (PERIOD*STEP) * (ctrl/100); if (onPeriod > 0) { onRelay(); delay(onPeriod); offRelay(); delay(PERIOD*STEP - onPeriod); } else { offRelay(); delay(PERIOD*STEP); } } โค้ดตัวอย่างสาหรับตัวควบคุม PID ค่าทดลอง
  • 13. Results • เอกสารสรุปงาน (ประมาณ 3-4 หน้า ส่งพร้อมสาธิต) – กราฟแสดงการเปลี่ยนแปลงอุณหภูมิเมื่อจ่ายไฟโดยตรงตรง – กราฟแสดงการเปลี่ยนแปลงอุณหภูมิเมื่อจ่ายไฟแบบ PWM ผ่านรีเลย์ โดย เป็นผลการทดลองแบบปรับค่า ON/OFF ต่างๆกัน – ผลการควบคุมอุณหภูมิด้วยหลักการ PID โดยใช้ค่า PERIOD = 10, 15, 20, 25 – โค้ดสมบูรณ์สาหรับการควบคุมอุณหภูมิตั้งค่าด้วย potentiometer • การให้คะแนนพิจารณาความเรียบร้อยของชิ้นงานด้วย – เน้นความปลอดภัยลาดับแรก ตรงส่วนที่เป็น 220Vrms ต้องมีการป้ องกัน