Pengendali kecepatan kipas  DC dengan sensor suhu LM35 , bascom AVR, at mega 16, PWM dilengkapi penampil LCD

Pengendali kecepatan kipas DC dengan sensor suhu LM35 , bascom AVR, at mega 16, PWM dilengkapi penampil LCD

Size
Price:

Read more


Berikut ini adalah source code Pengendali kecepatan kipas DC dengan sensor suhu LM35 , bascom AVR, at mega 16, PWM dilengkapi penampil LCD.
terdapat juga listing penghitungan rata rata suhu, ini di tulis karena terkadang / sering  jika AVCC di gabung dengan Areff, maka pembacaan data sering error (tidak stabil), sehigga perlu dilakukan sampling dan penghitungan rata - rata minimal 10 kali.


$regfile = "8535def.dat"
$crystal = 1000000
Porta = &B00000000
Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.2 , Db4 = Portc.4
Config Lcdpin = Pin , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7
Config Lcd = 16 * 2
Cursor Off
Cls
Locate 1 , 1
Lcd "input adc"
Dim Pwm_eprom As Eram Integer
Dim Pwm As Integer
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim Insuhuadc As Word , Suhu As Word , Insuhuadcolah As Word , Insuhuadcprescalerx5 As Word
Dim I As Word , Jml As Word , Rata2 As Word
Wait 1
Locate 2 , 1
Lcd "Suhu"
Do
Start Adc
Insuhuadc = Getadc(0)
Insuhuadcolah = Insuhuadc * 5000
Insuhuadcprescalerx5 = Insuhuadcolah / 1023
Suhu = Insuhuadcprescalerx5 * 1
Jml = Jml + Suhu                                            '  data masuk di simpan ke dalam variable jml. kemudian jumlahkan setiap data masuk dengan variable jml
I = I + 1                                                   ' tiap ada data masuk, nilai ini akan di naikkan untuk perhitungan rata-rata
Waitms 100

If I = 20 Then
Rata2 = Jml / I

Cls
Locate 1 , 1
Lcd "input adc" ; Insuhuadc

Locate 2 , 1
Lcd "Suhu" ; Rata2

Locate 2 , 10
Lcd "PWM" ; Pwm
Elseif I > 20 Then
Jml = 0
 I = 0
If Rata2 < 25 Then : Pwm = 80 : Waitms 10
End If
' panas
If Rata2 > 30 Then : Pwm = 150 : Waitms 10
End If
If Rata2 > 40 Then : Pwm = 255 : Waitms 10
End If
Pwm1a = Pwm
Pwm1b = Pwm
End If
Loop

catatan : code Pwm1a dan pwm1b, jika menggunakan at mega 16 harus di ubah menjadi compare1a dan compare1b KUNJUNGI WEBSITE DAGANGAN KAMI KLIK PADA TEKS BERKEDIP INI

2 Reviews

  1. mas ada skematik rangkaian kalau tidak proteusnya? boleh mintakah aryokoo@gmail.com

    ReplyDelete
  2. file proteus ga ada mas

    file PCB ada,

    ReplyDelete

Silakan dikomentari

Contact form

Name

Email *

Message *