Ads 468x60px

Piro yo suhu dan kelembaban nya ??? Deteksi aja pake SHT 11

Salam damai....Senajan Kenthir nanging kebak Pikir...

Malam ini, sang murid kembali datang ke WongSableng Lab untuk membuka kembali kisah2 Ki Sableng (Sang Guru)...wkwkwkwk. Sang murid pun menuju dapur untuk membuat secangkir kopi, menemani malamnya... wkwkwkwk. Kemudian didapatlah sebuah cerita....

Sensor suhu dan kelembaban yang digunakan dalam tugas akhir ini adalah SHT11. Sensor SHT11 adalah sebuah singgel chip multisensor untuk sensor kelembaban dan suhu ruang yang telah terkalibrasi sempurna sehingga bentuk keluaran sudah dalam bentuk digital. Industri CMOS memproses dengan micro-machining yang telah dipatenkan. Industri ini memastikan keandalan paling tinggi pada sensor ini dengan stabilitas jangka panjang. Piranti meliputi suatu  polimer kapasitif yang merasakan unsur kelembaban relatif dan suatu bandgap untuk sensor temperatur. Keduanya digabungkan untuk suatu 14bit  analog ke konvertor digital. Data digital yang dihasilkan sensor bisa diakses dengan komunikasi 2 wire biderectional.

Polimer kapasitif digunakan sebagai elemen sensor kelembaban pada SHT11. Terdapat hubungan antara uap air dengan lapisan polimer yang digunakan sensor kelembaban kapasitif. Difusi dari bahan kimia kedalam sebuah polimer menyebabakan pergeseran nilai kapasitif dan akan timbul sensitifitas. Dari perubahan nilai kapasitif terhadap bahan polimer dalam sensor SHT11, akan dirubah dalam besaran lain yaitu besaran tegangan, singgle chip ini sudah mengubahnya kedalam besaran tegangan volt. Setelah merubah dari nilai kapasitif ke bentuk tegangan dia juga mengubahnya kebentuk data digital 12 bit untuk kelembaban.

Sensor Temperatur dalam singgle chip SHT11 menggunakan bandgap. Bandgap didalam ilmu fisika material merupakan batas energi pita valensi dan pita konduksi yang terdapat dalam semikonduktor. Elektron pada pita konduksi yang minimum dapat berkombinasi secara langsung dengan hole pada pita valensi maksimum. Energi dari salingnya kombinasi tadi membuat timbulnya emisi dalam bentuk foton. Emisi tersebut sebenarnya diwujudkan dalam bentuk tegangan, sehingga apabila bandgap tersebut diberikan sebuah suhu yang agak panas maka emisi ini akan terjadi semakin meningkat. Tegangan ini dirubah menjadi 14 bit data digital.

Yaaa,,,itulah sedikit ceritanya,hehehehe...pengen tau lebih lengkap download datasheet SHT 11. Lhaa terus bagaimana cara pakainya ??? Lanjut saja ke Pembacaan suhu dan kelembaban SHT 11 pada LCD karakter...mungkin bisa membantu

Salam damai....matur nuwun...

TGS 4161 ??? Oalah,,, Sensor Konsentrasi Gas Karbondioksida

Salam damai semua pembaca....Senajan KENTHIR, nanging kebak PIKIR.
Sebelum berangkat Jum'atan, ada satu lagi kisah Ki Sableng....wkwkwkwkwk (iso iso ae)

Konsentrasi gas karbondioksida bisa diukur dengan sensor yang memanfaatkan elektrolit padat. Elektrolit terdiri dari dua elektroda yang tersusun pada elemen pemanas. Elektroda menghasilkan tegangan yang dapat berubah-ubah sesuai dengan konsentrasi gas CO2 yang dideteksi. Salah satu sensor konsentrasi gas CO2 adalah TGS 4161.Iki looo gambare

Struktur sensor yang ditampilkan Gambar 2.10 terdiri dari bagian elektrolit padat dan pemanas. Bagian elektrolit terbuat dari kation (Na+) yang berada diantara dua elektroda yang disusun di atas pemanas. Elemen tersebut berfungsi sebagai pengindra CO2. Elektroda tersusun dari anoda dan katoda yang masing-masing berbahan litium karbonat dan emas. Anoda tehubung ke kaki no. 2 dan katoda ke kaki no. 3. Pemanas dari substrat RuO2 terhubung ke kaki no. 1 dan 4. Bagian pemanas berfungsi untuk memanaskan elemen pengindra.
Reaksi elektrokimia terjadi saat sensor terkena gas CO2, dengan reaksi sebagai berikut :
Reaksi katoda : 2Li+ + CO2 + ½ 2°2 + 2e -     → Li2CO3 (2.10)
Reaksi anoda   : 2Na+ + ½ 2O2 + 2e - → Na2O                 (2.11)
Reaksi total     : Li2CO3 + 2Na+          → Na2O + 2Li+ + CO2        

Reaksi elektrokimia yang terjadi menghasilkan EMF (Electromotive Force) diantara dua elektroda. Perubahan nilai EMF menunjukkan perubahan konsentrasi CO2 yang dideteksi sensor.

Uwes disek yo, jum'atan. Ini link datasheet nya. Untuk lanjut kunjungi pengkondisi sinyal sensor KE 50 dan sensor TGS 4161.

Salam damai...matur nuwun.

Sensor Gas Metana TGS 2611,,, Apa an tuh ???

Salam damai semua pembaca....Senajan KENTHIR, nanging kebak PIKIR.
 
Setelah perut terisi makanan,,,sang murid kembali membuka catatan Ki Sableng (wes lethek suwek suwek, wkwkwk). Ternyata didapat lagi sebuah cerita tentang sensor gas karbondioksida. (wkwkwkwk narasine koyok novel, mekso gak jelas). Begini ceritanya :
Bahan detektor gas metana adalah metal oksida, khususnya senyawa paladium. Ketika bahan metal oksida dihangatkan pada temperatur tertentu, maka oksigen akan diserap dari permukaan kristal, sehingga oksigen akan bermuatan negatif. Proses penyerapan oksigen oleh sensor dapat dilihat dari persamaan kimia berikut ini:

PdO2 + ½ O2 + e- ==> (PdO2)O-                     

Reaksi tersebut disebabkan karena permukaan kristal akan mendonorkan elektron pada oksigen yang terdapat pada lapisan luar, sehingga oksigen akan bermuatan negatif dan muatan positif akan terbentuk pada permukaan luar kristal. Tegangan permukaan yang terbentuk akan menghambat laju aliran elektron. Aliran elektron potensial tingggi ke potensial rendah menghasilkan arus listrik. Ini dia ilustrasinya...sik sik kawit mau durung nyruput kopi, yoh disruput disek....sruuuuutttttttt

Dilanjut lagi ceritanya ....
Arus listrik mengalir melewati daerah sambungan (grain boundary) dari bahan metal oxida di dalam sensor. Pada daerah sambungan, penyerapan oksigen mencegah muatan untuk bergerak bebas. Jika konsentrasi gas menurun, proses dioksidasi akan terjadi. Rapat permukaan dari muatan negatif oksigen akan berkurang dan akan mengakibatkan menurunnya ketinggian penghalang dari daerah sambungan. Misalnya, ditemukan adanya gas CH4 yang terdeteksi, maka persamaan reaksi kimianya berikut:

          CH4 + 3PdO2 2- ==> 3PdO- + CO2 + 2H2 O + 3e             
Dengan menurunnya penghalang maka resistansi sensor juga akan ikut menurun. Lha iki gambare
Wahhh Ki Sableng ternyata juga ilmiah bgt, wkwkwkwk. Sensitivitas sensor gas metana TGS 2611 dalam gambar
Wesssss, itulah secuil kisah Ki Sableng... lebih jelas tentang sensor gas metana TGS 2611 bisa liat datasheet di sini. Dalam bukunya, Ki Sableng juga menjanjikan untuk posting selanjutnya tentang alat ukur konsentrasi gas metana. Bagaimana penggunaannya ??? Lanjut aja ke pengkondisi sinyal sensor TGS 2611.
Salam damai,,,matur nuwun

Karakteristik Sensor Gas Oksigen ??? Pakai KE 50 atau KE 25 ???

Salam damai semua pembaca....Senajan KENTHIR, nanging kebak PIKIR.

Episode baru diputar,wkwkwk. Kesejukan pagi, ditemani secangkir kopi (senajan durung sikatan). Ada celoteh dari Ki Sableng tentang sensor Gas Oksigen (gaweane manungsa) yang mempunyai banyak manfaat. Opo yo kuwi ? Mari kita simak, heeeeeeee.
Ki Sableng dulu pernah membuat alat ukur konsentrasi gas oksigen (waktu kurang gawean). Ketika dia hunting sensor neng pasar genteng (suroboyo), ternyata ada 2 jenis yang ditawarkan (weh bingungggg iki, gawe endi, la podo2 larang). Akhirnya Ki Sableng pun mencari info tentang makhluk aneh itu,,,inilah yang didapat :

Sensor oksigen jenis KE mempunyai struktur sama dengan baterai yang terdiri dari elektroda dan elektrolit. Sensor ini memiliki 2 tipe, yaitu KE-25 dan KE-50. Elektroda dibagi menjadi anoda berupa Pb (timbal) dan katoda yang terbuat dari emas serta elektrolit berupa asam lemah atau alkaline. Elektroda emas merupakan sebuah padatan yang berupa selaput yang tidak beronggga (non-porous membrane). Oksigen yang masuk ke dalam sensor, direduksi pada elektroda emas dengan reaksi elektrokimia. Anoda dan katoda dihubungkan dengan sebuah termistor dan resistor. Resistansi dua resistor ini mengubah arus yang terjadi akibat reaksi elektrokimia menjadi tegangan. Besar arus yang mengalir pada dua resistor dipengaruhi oleh banyak oksigen yang tertangkap oleh membran elektroda. Tegangan resistansi ini digunakan sebagai keluaran sensor oksigen. Skema sensor ditunjukkan Gambar
 Lha dalah kuwi wujud sensore (kok koyok tandon banyu yo xiixixixi), padahal sensonya sebesar jempol tangan. Inilah perbandingan sensitivitasnya
Kalo yang di bawah ini respon time nya,
Wesss, begini saja dulur, bagi yang pengen tau lebih jelas, Ki Sableng kasih link ini ke saya. Ki Sableng juga janji pada saya untuk melanjutkan tentang alat ukurnya pada posting selanjutnya...Lanjut disini untuk pengkondisi sinyal sensor KE 50 dan sensor TGS 4161.

Salam damai,,,matur nuwun

Pembacaan Suhu dan Kelembaban SHT11 pada LCD Karakter

Suhu dan Kelembaban Ruang dapat diukur dengan sensor SHT11. Sensor ini sudah dilengkapi modul dengan keluaran data digital. Komunikasinya adalah dengan TWI, SCK dan DATA. Sensor ini dihubungkan langsung dengan 2 pin mikrokontroler untuk pembangkit pulsa clock dan datanya. Ini gambar komunikasinya



Dan gambar di bawah ini adalah timing diagram komunikasinya untuk ambil data RH.



Kalo pengen ambil data suhu tinggal ganti command seperti di datasheet. Nah ini dia program mikronya. Saya pake ATMEGA16.

/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.3 Standard
Automatic Program Generator
© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date : 3/24/2010
Author : dlogog
Company : ITS
Comments:


Chip type : ATmega16
Program type : Application
Clock frequency : 11.059200 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
*****************************************************/

#include
#include
#include

#define SDAout PORTB.0
#define SDAin PINB.0
#define SCLK PORTB.1

// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include

// Declare your global variables here

unsigned char timeout,ackbit;
unsigned int dataread,suhuSHT,RHSHT;

void start (void)
{ DDRB=0x03;
SDAout=1;
SCLK=0;
SCLK=1;
SDAout=0;
SCLK=0;
SCLK=1;
SDAout=1;
SCLK=0;
DDRB=0x03;
}
void reset (void)
{ unsigned char i;

DDRB=0x03;
SDAout=1;
SCLK=0;

for (i=0;i<=8;i++) { SCLK=1; SCLK=0; } start(); DDRB=0x03; } void tunggu (void) { unsigned char i; DDRB=0x02; SDAout=1; for (i=0;i<255;i++) { timeout=SDAin; if (timeout==0) break; delay_ms(1); } DDRB=0x02; } void perintah (unsigned char data) { unsigned char i; DDRB=0x03; for (i=0;i<8;i++) { if ((data>>7)==1) SDAout=1;
else SDAout=0;
SCLK=1;
SCLK=0;
data<<=1;
}

SDAout=1;
SCLK=1;
DDRB=0x02;
ackbit=SDAin;
SCLK=0;
DDRB=0x03;
}
void baca (void)
{ unsigned char i;

dataread=0x00;
DDRB=0x02;

for (i=0;i<8;i++)
{ dataread<<=1;
SCLK=1;
dataread|=SDAin;
SCLK=0;
}

DDRB=0x03;
if (ackbit==1) SDAout=1;
else SDAout=0;
SCLK=1;
SCLK=0;
SDAout=1;
DDRB=0x03;
}
void bacasuhu (void)
{
start();
perintah(0x03);
if (ackbit==0)
{
tunggu();
if (timeout==0)
{ ackbit=0;
baca();
suhuSHT=dataread;
suhuSHT<<=8;
ackbit=1;

baca();
suhuSHT|=dataread;
}
}
}
void bacaRH (void)
{
start();
perintah(0x05);
if (ackbit==0)
{
tunggu();
if (timeout==0)
{ ackbit=0;
baca();
RHSHT=dataread;
RHSHT<<=8;
ackbit=1;

baca();
RHSHT|=dataread;
}
}
}
void main(void)
{
unsigned char suhu[16];
unsigned char lembab[16];
float RHlin,RHtrue,temp;

// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// LCD module initialization
lcd_init(16);

lcd_gotoxy(0,0);
lcd_putsf("coba");
delay_ms(300);

while (1)
{
reset();
bacasuhu();
temp=(-40)+(0.01*(float)suhuSHT);

sprintf(suhu,"suhu = %0.02f",temp);
lcd_gotoxy(0,0);
lcd_puts(suhu);
delay_ms(100);
reset();

bacaRH();
RHlin=((float)RHSHT*(float)RHSHT*(-0.0000028))+(0.0405*(float)RHSHT)-4;
RHtrue=(temp-25)*(0.01+(0.00008*(float)RHSHT))+RHlin;

sprintf(lembab,"RH = %0.02f",RHtrue);
lcd_gotoxy(0,1);
lcd_puts(lembab);
delay_ms(100);
reset();
// Place your code here

};
}

Yaa..ini cuma secarik cerita yang pernah tak jalani..smoga bermanfaat..