Syntax Program :
“data = read_adc(0);
lcd_gotoxy(0,0);
lcd_putsf("FADHIL fARHISYI");
lcd_gotoxy(0,1);
lcd_putsf("LDR");
lcd_gotoxy(6,1);
lcd_putsf("=");
result = (float)data;
lcd_gotoxy(8,1);
ftoa(result,1,temp);
lcd_puts(temp);
lcd_gotoxy(13,1);
lcd_putsf("L");
delay_ms(1000);
if(data<400){
PORTA.7=1;}
else if(data>400){PORTA.7=0;}
lcd_clear(); “
Hasil Running :
Analisa :
Karakterisitik pengontrol dengan metode on-off (two-position control)
mempunyai dua keadaan operasi yaitu full open atau full close terdapat delay saat
berpindahnya posisi on ke off atau sebaliknya. Delay terjadi karena actuator
memerlukan proses untuk mengubah posisi tersebut.
Pada percobaan ini digunakan Sistem Kendali ON/OFF pada sensor LDR dan
relay serta bebrapa komponen lainnya seperti mikrokontroller ATMega8535, LCD,
transistor, dioda, LED dan resistor. Sensor LDR disini berfungsi untuk menjadi sistem
kendali ON/OFF pada LED-Red yang terpasang pada relay. Besar kecilnya nilai
resistansi yang tertangkap pada sensor LDR akan mempengaruhi nyala atau tidaknya
LED-Red.
Pada program yang dibuat dapat diketahui PORTA.0 sebagai input dan
outputnya pada PORTA.7, sedangkan PORTC digunakan sebagai penampilan pada
LCD. Kondisi yang digunakan untuk menyalakan LED-Red ketika nilai resistansi
sensor LDR kurang dari 400 L (x<400L) dan mati saat nilai resistansi sensor LDR
lebih dari 400 L (x>400L) seperti pada gambar 1, 2. Hal tersebut dapat
mengindikasikan sistem bekerja/berfungsi dan tidak berfungsi sepenuhnya.
2. Kendali PID Temperatur
Syntax Program :
“ ntc = read_adc(0);
settingpoin = read_adc(1)*0.097;
hasil = log(10000.0 *(ntc/(1023.0-ntc)));
hasil1 =1/(((0.000017+(0.00037*hasil))-
(0.00000031*hasil*hasil*hasil)));
nilai_sensor = ((float)hasil1-273.15);
error = settingpoin-nilai_sensor;
if(error<0){
outPID=0;
set_pwm(outPID);}
if(error>4){
outPID=255;
set_pwm(outPID);}
else if (error<= 4&&error>=0){
outP=KP*error;
//kendali integral
errorI=error+error_sblmI;
outI=KI*errorI*Tc;
//kendali Diferensial
errorD=error-error_sblmD;
outD=(KD*errorD)/Tc;
error_sblmD=errorD;
// kontrol PID
outPID=outP+outI+outD;
set_pwm(outPID);}
lcd_gotoxy(0,0);
lcd_putsf("NTC");
lcd_gotoxy(6,0);
lcd_putsf("=");
lcd_gotoxy(8,0);
sprintf(temp,"%0.0f", nilai_sensor);
lcd_puts(temp);
lcd_gotoxy(13,0);
lcd_putchar(0xdf);
lcd_putsf("C");
lcd_gotoxy(0,1);
lcd_putsf("SP");
lcd_gotoxy(6,1);
lcd_putsf("=");
lcd_gotoxy(8,1);
sprintf(kirim,"%0.0f", settingpoin);
lcd_puts(kirim);
lcd_gotoxy(13,1);
lcd_putchar(0xdf);
lcd_putsf("C");
printf("%0.1f,%0.0f\r\n",nilai_sensor,settingpoin);
delay_ms(2000);
lcd_clear(); “
Hasil Running :
Analisa:
Kita tahu bahwa PID merupakan kontroler untuk menentukan presisi suatu
sistem instrumentasi dengan karakteristik adanya umpan balik pada sistem tersebut.
Pada percobaan ini menggunakan sistem kendali temperatur dengan menggunakan
setting point sebagai acuan dan sistem keluaran berupa non-inverting.