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 Dalton, total tekanan udara ialah jumlah dari tekanan uap parsial dari komponennya,dan tekanan uap air
ialah tekanan uap air parsialnya seperti rumus dibawah ini :
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 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
Del:
MOV R2,#0FFH
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
Contoh IC ADC 8 bit yang mampu menerima 8 input dan banyak digunakan ialah ADC 0808 meskipun lebih mahal dibandingkan ADC 0804 . ADC ini selain mampu diprogram untuk mulai konversi melalui pin SC (Start Conversion ), mampu juga berjalan dalam mode free running, artinya ia akan konversi terus menerus sinyal input yang masuk dengan cara menghubungkan pin EOC (End of Conversion) ke SC.
Gambar 10.18 ADC 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
Ada 3 modus operasi pada PIO 8255 yang dapat dipilih
melalui software yaitu :
- Mode 0 : basic input/output
- Mode 1 : strobed input/output
- Mode 2: bidirectional bus
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:
- Pasang Card PPI 8255 ISA, anda juga dapat menggunakan Card PPI 8255 berbasiskan PCI
- Hubungkan DAC ke port A
- Hubungkan keluaran DAC ke Osiloskop
- Buat program berikut :
//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
.png)
.png)
.png)
.png)

0 comments:
Posting Komentar