Sensor dan Pengkonversi Data
Pendahuluan
Pengkonversi data pada elektronika
ialah suatu devais yang mengubah besaran sinyal dari analog ke digital atau
sebaliknya. Umumnya sinyal analog
berasal dari suatu sensor, sinyal dc/ac lemah yang biasanya diperkuat oleh
OP-AMP dan dirubah menjadi sinyal digital oleh perangkat pengkonversi data
(ADC), atau sinyal digital yang umumnya sekitar 8-32 bit yang dirubah menjadi
sinyal analog (DAC) untuk tujuan tertentu. Misalnya pemutar musik MP4
kualitas istimewa yang mengeluarkan sinyal analog ke speaker dengan kualitas
stereo surround.
Sedangkan sensor ialah devais yang
berfungsi sebagai pengukur suatu keadaan, misal pengukur temperatur, kelembaban,
jarak, kualitas udara dan sebagainya.
80% aplikasi berbasis mikrokontroler menggunakan sensor
sebagai sumber data untuk melakukan aksi. Misal, suatu robot akan berhenti atau berbelok arah jika pada sensor jarak
mendeteksi adanya penghalang, atau robot yang berusaha mencari sumber api untuk
dipadamkan.
Sensor temperatur
LM 35/34
LM 35 ialah sensor temperatur paling banyak digunakan
untuk praktek, karena selain harganya cukup murah, linearitasnya lumayan bagus. LM35 tidak membutuhkan kalibrasi eksternal yang
menyediakan akurasi ±¼°C pada temperatur
ruangan dan ±¾°C pada kisaran -55 to +150°C. LM35
dimaksudkan untuk beroperasi pada -55° hingga +150°C, sedangkan
LM35C pada -40°C hingga +110°C, dan LM35D pada kisran 0-100°C.
LM35D juga tersedia pada paket 8 kaki dan
paket TO-220. Sensor LM35 umunya akan naik
sebesar 10mV setiap kenaikan 1°C (300mV pada 30 °C).


Gambar 10.1 Bentuk Fisik LM 35
Untuk menggunakan LM35, Anda cukup menyadap keluaran dari pin Vout untuk dapat dihubungkan langsung ke ADC(misal ADC 0804 8 bit) seperti gambar berikut.

Gambar 10.2 Rangkaian umum pengukur suhu
Jika anda ingin standar pengukuran
dalam Fahrenheit, maka dapat menggunakan sensor bertipe LM34A yang mempunyai
kisaran pengukuran dari -50F hingga 300F dengan akurasi +2.0F. Skala outputnya juga sama
yaitu 10mV/F.
Berikut contoh sensor suhu menggunakan PPI 8255,ADC
0804 dengan mode free running dan output Vout dihubungkan ke pin 6
ADC0804. Jika komputer Anda tidak memiliki port ISA, anda dapat memesan ke
penulis Card PPI 8255 PCI produksi Lava Link (harga sekitar Rp.940.000).
Pada ADC dikenal dengan istilah Free Running dan Mode
control. Mode Free Running adalah, dimana ADC0804 akan mengeluarkan data hasil
pembacaan input secara otomatis dan berkelanjutan (Continue) setelah selesai
mengkonversi tegangan analog ke digital. Pin INTR akan
berlogika rendah setelah ADC selesai mengkonversi, logika ini dihubungkan
kepada masukkan WR untuk memerintahkan ADC memulai konversi kembali.
Mode Kontrol adalah
mode ADC yang baru memulai konversi setelah diberi instruksi dari
mikrokontroler. Instruksi ini dilakukan dengan memberikan pulsa rendah kepada
masukan WR sesaat +1ms, kemudian membaca keluaran data ADC setelah
keluaran INTR berlogika rendah.

Gambar 10.3 Rangkaian Pengukur suhu ekonomis
DS1626/ 1726 3-Wire Digital Thermometer dan Thermostat
DS1626 dan DS1726 ialah
digital thermometer/thermostat mampu membaca temperatur dan
thermostat pada kisaran -55°C hingga +125°C . DS1626
mempunyai akurasi ±0.5°C dari 0°C hingga +70°C dan DS1726
mempunyai akurasi ±1°C dari -10°C hingga +85°C. Resolusi dapat dipilih
oleh user dari 9 hingga 12 bit. Chip ini
berkomunikasi menggunakan 3-wire serial bus. Berbagai
perangkat elektronika canggih saat ini umumnya menggunakan sensor jenis ini
yang merupakan produksi MAXIM.

Gambar 10.4 Susunan kaki DS1626
DS1722 Digital Thermometer with SPI/3-Wire Interface
DS1722 Digital Thermometer dan Thermostat dengan SPI/3-Wire Interface menyediakan pembacaan temperatur pada Motorola SPI interface atau 3-wire serial interface standar .
User dapat memilih resolusi dari 8 hingga 12 bit. DS1722 tersedia pada 8-pin SO (150mil), 8-pin µMAX, dan paket flip-chip. Contoh aplikasi pada PC, server, seluler, perlengkapan mobile dll.
DS1631/DS1731 Digital Termometer & Termostat
DS1631/DS1631A/DS1731 ialah digital thermometer yang
menyediakan resolusi 9, 10, 11, atau
12-bit pada kisaran -55°C hingga +125°C . DS1631 dan DS1631A
mempunyai akurasi ±0.5°C dari 0°C hingga +70°C dengan
3.0V <VDD <5.5V, dan akurasi DS1731
±1°C dari -10°C hingga +85°C dengan 3.0V <VDD <5.5V.
Sensor ini umum digunakan sebagai digital thermometer dan thermostat
berbasis mikrokontroler pada network router/switch, seluler dan lain lain
dengan kisaran tegangan kerja +2.7V
hingga +5.5V. Sensor-sensor tipe ini ialah pengganti sensor DS1621 yang
sudah expired, namun anda masih dapat memesan sensor DS1621

Gambar 10.5 Susunan pin DS1631
DS 1821 Programmable Digital Termostat and Termometer
DS1821 berfungsi sebagai sensor thermostat trip point yang dapat diprogram atau sebagai sensor temperatur dengan 1-wire digital interface. thermostat trip-point disimpan pada nonvolatile memory, jadi DS1821 dapat diprogram untuk berjalan secara standalone. DS1821 mempunyai kisaran temperatur–55°C hingga +125°C dan akurasi 1°C pada kisaran 0°C hingga +85°C.

Gambar 10.6 Susunan kaki DS1821
DS812 bekerja dengan 1 wire bus, Gambar 10.7 merupakan contoh umum berbagai sensor 1-wire bus pada pin DQ yang terhubung ke mikroprosesor/mikrokontroler.

Gambar 10.7 Rangkaian umum sensor DS1821
DS 1904 RTC iButton
Meskipun modul ini bukan sensor, tapi layak disajikan karena berperan penting pada suatu sistem mikrokokontroler terkini dan umumnya rangkaian mikrokontroler terkini menggunakan DS1904 sebagai RTC. DS1904 RTC iButton® ialah modul real-time clock yang dapat diakses dengan hardware yang minim. Data ditransfer secara serial menggunakan protocol 1-Wire®, yang hanya membutuhkan 1 jalur data dan sebuah ground. DS1904 berisi ROM 64-bit dan sebuah real-time clock/calendar yang diimplementasikan sebagai binary counter. DS1904 dapat berfungsi sebagai kalendar, penunjuk waktu, stopwatch, hour meter, interval timer, dan logbook untuk aplikasi embedded yang digunakan pada mikrokontroler.

Gambar 10. 8 Sensor DS 1904 RTC iButton
DS1825 Programmable Resolution 1-Wire Digital
Thermometer With 4-Bit ID
Digital thermometer DS1825 menyediakan pembacaan temperatur dari 9-12bit dan mempunyai fungsi alarm dengan NV user-programmable upper dan lower trigger points. DS1825 mirip dengan DS1821, yaitu berkomunikasi dengan 1-Wire, yang hanya membutuhkan 1 jalur data dan ground untuk berkomunikasi dengan mikroprosesor/mikrokontroler . Beroperasi pada kisaran -55°C hingga +125°C dan akurasi ±0.5°C pada suhu -10°C hingga +85°C.
DS1920 Digital Thermometer
Sensor DS1920 menyediakan pembacaan temperatur digital 9 bit pada kisaran -55°C hingga+100°C dengan kenaikan 0.5° . iButton® berkomunikasi dengan sebuah prosesor menggunakan protokol 1-Wire® melalui sebuah antarmuka port. Sensor jenis ini biasanya dipasang pada suatu klip sebagai socket sensor tersebut, yang harus anda pesan tersendiri. EEPROM 2 byte dapat digunakan untuk menset alarm atau menyimpan data user

Gambar 10.9 Sensor DS1920
Sensor Kelembaban
HS 12P/15P
HS12P/HS15P ialah sensor Kelembaban relatif (Relative Humidity) dengan suhu operasi dari 0-50°C. HS12P dipilih sebagai sensor untuk tipe respon yang cepat, sedangkan HS15P untuk tipe sensor tahan air. HS12P beroperasi pada kelembaban 20 – 90% RH (tanpa condensing) sedangkan HS15P 20 -100% RH. Tegangan yang diberikan idealnya AC 1V rms dan konsumsi daya 0.3 mW. Jangan memberikan tegangan DC atau bias DC langsung pada sensor tersebut.

Gambar 10.10 Sensor HS12P/15P
Sesuai dengan hukum
Jika tekanan uap air sama dengan tekanan uap air saturasi, akan terjadi kondensasi. Secara matematik, kelembaban relatif dapat dilambangkan dengan rasio tekanan uap air parsial dibagi dengan tekanan uap air saturasi sebagai persentase

Konsep penting lainnya tentang relative humidity ialah dew point atau titik embun, yaitu temperatur dimana kelembaban yang ada di udara akan berkondensasi. Contoh jika udara mempunyai temperatur 40 °C, dan relative humidity 50%, kondensasi akan terjadi ketika udara turun ke 27.6 derajat celcius. Pada dew point, nilai RH ialah 100%. Gambar 10.11 memperlihatkan kondisi dew point.

Gambar 10.11 Kondisi Dew point
Sensor Temperatur dan Kelembaban
SHT11/75 Sensor Relative Humidity dan Temperatur
SHT11 ialah sensor digital untuk temperatur sekaligus kelembaban pertama di dunia yang diklaim oleh pabrik pembuatnya, Sensirion Corp. Mempunyai kisaran pengukuran dari 0-100% RH, dan akurasi RH absolute +/- 3% RH. Sedangkan akurasi pengukuran temperatur +/- 0.4°C @ 25 °C. Sensor ini bekerja dengan interface 2-wire. Aplikasi sensor ini pada data logging, pemancar, automotive, perangkat instrumentasi dll. Sedangkan SHT75 ialah sensor temperatur dan kelembaban khusus untuk memperoleh kualitas pengukuran yang lebih bagus(presisi tinggi) dibanding SHT11, jadi lebih mahal.

(a) (b)
Gambar 10.12 SHT 11(a), dan SHT 75(b)
Untuk memnghubungkan sensor 2 wire dengan mikrokontroler, umumnya bentuk rangkaian seperti Gambar 10.13, Anda dapat melihat contoh aplikasi menggunakan sensor STH1x pada CD.

Gambar 10.13 Blok diagram umum Sensor
Pengkonversi Data (ADC/DAC)
Untuk mempelajari teori mengenai ADC/DAC saya sarankan Anda membaca buku saya sebelumnya yaitu Elektronika Digital Dan Mikroprosesor. Pada bagian ini saya langsung jelaskan ic-ic yang sering digunakan saat ini untuk pengkonversi data.
PCF8591
PCF8591 ialah AD/DA Converter 8 bit dengan 4 input analog menggunakan interface I2C. Chip ini sudah ramai digunakan saat ini menggantikan ADC/DAC standar seperti 0808,0809, MC1408 dan 0804.
DT51 I2C ADDA merupakan Analog Input Output Add-on board untuk DT51 menggunakan teknologi I2C-bus dimana IC utama yang digunakan ialah PCF8591. I2C ADDA digunakan untuk mengubah sinyal analog seperti tegangan atau arus ke data biner dan sebaliknya. Aplikasinya antara lain kontrol kecepatan motor, pengaturan suhu ruang, akuisisi data jarak jauh dan lainnya. Pin AIN0-AIN3 ialah pin input analog, sedangkan AOUt ialah sinyal output analog.

Gambar 10.14 Susunan pin PCF8591
Gambar 10.15 merupakan rangkaian lengkap I2CADDA, dimana sebagai sumber tegangan referensi digunakan LM336 sebagai dioda zener variabel menggunakan bantuan potensiometer.

Gambar 10.15 Rangkaian I2CADDA
Untuk mencoba I2CADDA, dibutuhkan DT-51 MinSys ver.3 dan multitester, Langkah –langkah :
· Hubungkan DT-51 dengan I2C ADDA
· Hubungkan output analog dengan motor DC/multitester
· Masukkan program contoh adda.asm, yang akan menerima input dari AIn0-Ain3 dan mengeluarkan data digital pada PA-PC, atau
· Masukkan program contoh pembangkit sinyal gigigergaji (adda2.asm) untuk mengeluarkan sinyal gigigergaji. Kode program ini akan anda peroleh jika memiliki kit I2CADDA.
Program Input I2CADDA (adda.asm)
;---------------------------------------------------------
$mod51
$title (DT51 I2C ADDA)
;input : Analog input @ Ain0-Ain3
;output: Analog output from Ain0 @AOut
; Digital output from AIn1 @PA
; from AIn2 @PB
; from AIn2 @PC
;---------------------------------------------------------
CSEG
ORG 4000H
LJMP Start
ORG 4100H
$NOLIST
$INCLUDE (ADDA.ASM)
$LIST
DELAY: PUSH 02H
PUSH 03H
MOV R2, #0FFH
DEL: MOV R3,#0FFH
DJNZ R3, $
DJNZ R2,DEL
POP 03H
POP 02H
RET
Start: MOV P1,#0FFH
MOV SP,#40H
MOV Flag,#00H
MOV Ch0,00H
MOV Ch1,#00h
MOV Ch2,00H
MOV Ch3,00H
ACALL DELAY
MOV DPTR,#2003H
MOV A,#00H
MOV Mode,#0
MOV Channel,#2
SETB AutoInc
LCALL InitADDA
JB InitDone, NxtStep
CLR P1.0 ;indikasi init gagal
AJMP $
NxtStep: MOV A,#00H
LCALL ReadADC ;Baca Ain0-Ain3
;Data ADC siap digunakan
;in Ch0-Ch3
MOV A,#100H ;Slave Addr=0
MOV B,Ch0
LCALL WriteDAC ;output@ AOut
MOV A,Ch1 ;output Ain1 @PA
MOV DPTR,#2000H
MOVX @PDTR,A
MOV A,Ch2 ;output Ain2 @PB
MOV DPTR,#2001H
MOVX @DPTR,A
MOV A,Ch3 ;output Ain3 @PC
MOV DPTR,#2002H
MOVX @DPTR,A
AJMP $
END
Program sinyal gigigergaji(adda2.asm)
$MOD51
$TITLE(GENERATE SAWTOOTH SIGNAL AT Aout)
CSEG
ORG 4000H
LJMP Start
ORG 4100H
$NOLIST
$INCLUDE(ADDA.ASM)
$LIST
Delay: PUSH 02H
PUSH 03H
MOV R3,#0FH
DJNZ R2,$
DJNZ R3,Del
POP 03H
POP 02H
RET
Start: MOV P1,#0FFH
MOV SP,#40H
MOV Flag,#00H
MOV Ch0,#00H
MOV Ch1,#00H
MOV Ch2,#00H
MOV Ch3,#00H
MOV A,#00H ;Slave Addr=0
MOV Mode,#0 ;Mode=0
MOV Channel,#0 ;Ch=0
LCALL InitADDA ;Init ADDA
JB InitDone,Sawtooth
CLR P1.0 ;Indicate init fail
AJMP $
Sawtooth: MOV B,#00H ;Data=0
NxtData: MOV A,#00H ;Slave Addr=0
LCALL WriteDAC
INC B
AJMP NxtData
AJMP $
END
ADC MAX 154/158
MAXIM mengeluarkan ADC generasi baru, yaitu ADC MAX154 yang mempunyai 4 channel input dengan resolusi 8 bit, sedangkan MAX 158 mempunyai 8 channel dengan resolusi 8 bit. Chip ini sangat ringkas karena sudah tersedia sumber detak internal, bandingkan dengan ADC0808 yang membutuhkan sumber detak eksternal menggunakan TTL/kristal.


Gambar 10.16 Susunan pin MAX154/158
Pada Gambar 10.17, terlihat bahwa MAX154/158 berkomunikasi menggunakan bus alamat, data bus dan sinyal control RDY dan RD’, sedangkan CS’ diaktifkan melalui address decoder. Untuk memilih salah satu nput dari 8 input digunakan sinyal input ke A0 hingga A2.

Gambar 10.17 Contoh rangkaian berbasis MAX154/158
ADC berbasis 0808

ADC 0804
ADC 0804 merupakan adc yang paling murah, karena hanya mempunyai 1 buah input analog. Rangkaian ADC melalui port paralel ini tampak pada Gambar 10.19. Hubungan ke data komputer melalui pin data yaitu D0-D7. Sinyal status yang digunakan ialah ERROR yang digunakan dengan pin 5 ADC yaitu INTR’. Dua sinyal control yaitu STROBE’ dan INIT’ digunakan untuk mengaktifkan ADC. Pin 9 sebagai Vref tidak dihubungkan. Kombinasi resistor dan kapasitor sebagai sumber detak dengan frekwensi tertentu.

Gambar 10.19 rangkaian ADC ke port parallel
Berikut program pengontrol untuk ADC tersebut menggunakan bahasa PASCAL yang dapat dengan mudah dirubah menggunakan bahasa C:
Program ADC melalui port parallel (Adcparalel.pas)
const c0=1;c1=2;c2=4;c3=8;s0=1,s1=2;s2=4;s3=8;
base=$378; (menggunakan LPT1)
var data,stat,ctr1,eppdata :integer;
sample, lc :integer;
begin
data:=base;stat:=base+1;ctr1=base+2;
for sample:=0 to 3000 do begin
port[ctr1]:=32; (inisialisasi…)
lc:=0;
while (((port[stat] abd s3)=0) or lc<256)) do
inc (lc);
if lc>256 then write (‘time out, error pada hardware’)
else begin
port(ctrl):=37; (enable adc output)
eppdata:=port[data];
port[ctrl]:=36; (disable adc output)
write (‘Hasil konversi ialah :’,eppdata);
end;
end;
end.
Pada program diatas, digunakan alamat standar port paralel atau yang lebih dikenal sebagai port printer yaitu 378H (dalam pascal ditulis sebagai $378). Program lalu menginisialisasi variabel untuk data, stat dan ctrl dengan nilai alamat masing masing. Program kemudian looping untuk mengambil data lalu ditampilkkan hasilnya.
PPI 8255 untuk DAC
Gambar berikut merupakan format DAC yang umum, dimana input berupa 8 bit atau lebih, dan outputnya berupa sinyal analog, yang biasanya diperoleh dari suatu rangkaian op-amp

Gambar 10.20 Blok diagram DAC standar
Jika reset input mendapat input high, semua port akan diset ke mode input dimana semua 24 jalur ditahan pada logika 1 oleh bus internal. PPI 8255 dapat dibuat sebagai antarmuka DAC atau ADC. Untuk mencoba DAC yang terprogram paling mudah menggunakan PPI 8255 dalam mode 0. Langkah-langkah:
//Program Pembangkit sinyal Sinus berbasis 8255
#include <conio.h>
#include <stdio.h>
#include <math.h>
main()
{
printf (“======================”);
printf (“ Pembangkit sinyal sinus\n”);
outp (0x303, 0x80); //konfigurasi 8255
printf (“======================”);
unsigned char v1;
float Vout, magnitude; int a;
printf (“\n Tekan sembarang tombol untuk keluar\n”)
do
{
for (a=0;a<360;a++)
{
Vout =5.0 +5.0* sin ((3.14*a)/180));
magnitude=Vout*25.6;
v1=(char)magnitude;
delay(1);
outp(0x300,v1)
}
}
while (!kbhit());
return (0);
}
Program diats akan
membangkitkan sinyal sinus karena terdapat pembangkitan nilai sinus pada rumus
Vout =5.0 +5.0* sin ((3.14*a)/180)). Alamat yang digunakan ialah
300H, yang merupakan alamat standar port ISA untuk eksperimen.
LATIHAN:
1. Jelaskan cara kerja
IC DS1920 dan DS 1821.
2. Buat rangkaian
pengkondisi sinyal untuk sensor HS15P.
3. Jelaskan cara kerja
IC MAX 154 dan MAX 158.
4. Pelajari cara kerja
Pemancar dan penerima wireless yang bekerja di frekwensi 916.5 MHz menggunakan
TLP916 dan RLP916A. TLP916 mampu mengirim data hingga 200Kbps
untuk aplikasi telemetry dan radio control. Jarak
yang mampu dicapai sekitar 100 meter pada area terbuka menggunakan antenna ¼
panjang gelombang. Untuk frekwensi yang lebih rendah, Anda dapat memilih
TLP434A yang bekerja di frekwensi 433.92 MHz

Gambar 10.21 Pemancar TLP916

Gambar 10.22 Penerima RLP916A