Pemrograman Elektronik dan IoT

Menggunakan Sensor Suhu DS18B20 dengan Arduino

DS18B20 adalah sensor suhu yang dibuat oleh Maxim Integrated (sebelumnya Dallas Semiconductor). Sensor suhu DS1820 sangat populer untuk proyek elektronik dan aplikasi industri karena memiliki keunggulan yaitu dirancang untuk pengukuran suhu yang akurat dengan kemampuan untuk berkomunikasi melalui protokol 1-Wire.

Fitur yang dimiliki oleh sensor suhu DS1820 adalah:

  1. Komunikasi 1-Wire: Ini memungkinkan sensor untuk berkomunikasi dengan mikrokontroler melalui hanya 1 kabel. Fitur ini sangat berguna untuk mengurangi kebutuhan wiring dalam proyek dan memungkinkan beberapa sensor berbagi jalur data yang sama.
  2. Rentang Pengukuran Suhu Luas: DS18B20 mampu mengukur suhu antara -55°C hingga +125°C
  3. Memiliki akurasi ±0.5°C dalam rentang suhu -10°C hingga +85°C.
  4. Resolusi yang Dapat Diprogram: Sensor ini menawarkan resolusi pengukuran yang dapat dipilih dari 9-bit hingga 12-bit, memberikan keseimbangan antara resolusi dan waktu konversi suhu.
  5. Miliki ID Unik 64-bit: Setiap sensor DS18B20 dilengkapi dengan kode unik 64-bit. Karena setiap sensor memiliki ID unk yang berbeda sehingga memungkinkan identifikasi yang spesifik dalam sistem yang terdiri dari banyak sensor.

Sensor suhu DS18B20 di pasaran tersedia dalam beberapa bentuk fisik berbeda untuk memenuhi kebutuhan aplikasi yang beragam.Ada tiga bentuk utama dari sensor ini yaitu:

1. TO-92

Bentuk ini mirip dengan transistor kecil dengan tiga kak. Ini adalah versi DS18B20 yang sering digunakan dalam aplikasi di mana sensor akan dipasang pada papan sirkuit cetak (PCB) atau menggunakan socket. Versi TO-92 mudah untuk disolder dan cocok untuk penggunaan dalam ruangan.

2. Waterproof

Sensor DS18B20 waterproof biasanya ditemukan dalam bentuk probe stainless steel yang panjang, dengan sensor yang tertanam di ujung probe dan kabel yang terhubung di ujung lainnya. lapisan stainless steel membuatnya tahan terhadap kelembaban, korosi, dan bahan kimia, menjadikannya ideal untuk pengukuran suhu dalam cairan atau dalam kondisi lingkungan yang keras seperti di luar ruangan, dalam sistem hidroponik, atau di dalam tangki.

3. SMD (Surface-Mount Device)

Versi SMD dari DS18B20 dirancang untuk pemasangan permukaan langsung pada PCB dan biasanya memiliki 8 pin kaki. DS18B20 tipe SMD biasanya memiliki dua jenis paket yaitu SO (Small Outline) biasanya dengan kode DS18B20Z, dan µSOP (Micro Small Outline Package) dengan kode DS18B20U. Perbedaan utama antara SO dan µSOP terletak pada ukuran fisik dan jarak antar kaki (pitch) dari paket tersebut. Tipe SO memiliki ukuran lebih besar dan jarak kaki lebih renggang.

Gambar 1 : Bentuk sensor DS18B20

Membaca sensor DS18B20 dengan arduino

Kita bisa membaca sensor DS1820 dengan menggunakan arduino. Sebelumnya ada beberapa spesifikasi sensor suhu DS18B20 yang perlu kita perhatikan:

  • Power supply : 3V – 5,5 V
  • Konsumsi arus : 1 mA
  • Range suhu : -55 sampai 1250C
  • Akurasi : ±0,5%
  • Resolusi : 9 – 12 bit
  • Waktu konversi : < 750 ms

Atau untuk lebih lengkapnya bisa kita baca Datasheet sensor DS18B20.

BACA JUGACara Menjalankan Motor Servo Menggunakan Arduino dengan dan tanpa Library

Sensor DS18B20 umumnya memiliki 3 kaki yaitu :

  • Kaki VDD dihubungkan ke power suppy dengan tegangan sebesar 3V samapi 5,5 V
  • kaki GND di hubungkan ke ground atau 0V
  • kaki DQ yaitu output data dari sensor

Gambar 2 : Pinout sensor suhu DS18B20

Jika di hubungkan dengan arduino maka kita membutuhkan 1 buah resistor pullup dengan hambatan sebesar 4k7. Resistor ini di hubungkan antara kaki DQ dengan kaki VDD. Berikut adalah contoh wiring sensor DS18B20 yang di hubungkan dengan arduino nano :

Gambar 3 : Wiring sensor DS18B20 dengan arduino

Untuk mempermudah dalam memprogram dengan arduino, kita membutuhkan 2 library yaitu OneWire dan DallasTemperature. Jika belum terinstall silahkan instal melalui LIBRARY MANAGER atau melaluiSketch -> Include Library -> Manage Libraries.

Ketik program di bawah ini pada aurduino IDE kita :

#include <OneWire.h>
#include <DallasTemperature.h>

// Mendefinisikan pin yang terhubung ke data sensor DS18B20
#define ONE_WIRE_BUS 12

// Membuat instance dari kelas OneWire
OneWire oneWire(ONE_WIRE_BUS);

// Membuat instance dari kelas DallasTemperature
//untuk berkomunikasi dengan sensor suhu melalui objek oneWire
DallasTemperature sensors(&oneWire);

void setup(void) {
  // Menginisialisasi komunikasi serial
  Serial.begin(9600);

  // Menginisialisasi library sensor suhu
  sensors.begin();
}

void loop(void) {
  // Meminta pembacaan suhu dari sensor DS18B20
  sensors.requestTemperatures();

  //Membaca suhu dalam Celsius dari sensor pertama(indek 0)
  float temperatureC = sensors.getTempCByIndex(0);
  //Menampilkan ke serial monitor
  Serial.print("suhu dalam celcius");
  Serial.println(temperatureC);

  //Membaca suhu dalam Farenheit dari sensor pertama(indek 0)
  float temperatureF = sensors.getTempFByIndex(0);
  //Menampilkan ke serial monitor
  Serial.print("suhu dalam Farenheit");
  Serial.println(temperatureF);

  delay(1000);
}

Simpan kemudian upload program diatas ke arduino. Lihat hasilnya di serial monitor komputer, jika berhasil maka akan tampil nilai suhu yang terbaca dalam celcius maupun farenheit.

Berikut adalah link hasil simulasi Membaca Sensor DS18B20 dengan Arduino secara online di wokwi.com

Share:

Cara Menentukan Rating Daya Sebuah Resistor

Selain mempunyai nilai hambatan, resistor biasanya juga memiliki rating daya. Rating daya di resistor adalah batas daya maksimum yang bisa ditangani oleh resistor tersebut tanpa mengalami kerusakan karena overheating (panas berlebih). Penting sekali untuk memilih resistor dengan rating daya yang sesuai untuk menghindari kerusakan komponen tersebut dalam sebuat rangkain elektronik. Rating daya ini biasanya dinyatakan dalam watt (W) dan umumnya tersedia dalam nilai-nilai standar seperti 1/8W, 1/4W, 1/2W, 1W, 2W, dan seterusnya.

Lalu bagaimana caranya menentukan nilai rating daya sebuah resistor?. Beberapa resistor memiliki penandaan kode warna atau angka yang juga mencakup informasi tentang rating daya nya.

Gambar 1 : Rating daya tertulis dibadan resistor kapur

BACA JUGACara Membaca Nilai Resistor Kapur atau Keramik.

Tetapi ini tidak semua jenis resistor memilikinya, Jika tidak ada informasi yang jelas pada fisik resistor, ada beberapa cara yang dapat di coba:

  1. Ukuran Fisik: Sebagai aturan umum, ukuran fisik resistor berkorelasi dengan rating daya. Resistor yang lebih besar biasanya memiliki rating daya lebih besar. Misalnya, resistor 1/4W biasanya lebih kecil daripada resistor 1W.
  2. Referensi Standar: Bandingkan resistor yang tidak diketahui dengan resistor yang memiliki rating daya diketahui. Jika ukurannya serupa, ada kemungkinan rating daya nya juga serupa.
  3. Mencari datasheetnya: Jika Kita mengetahui model atau nomor bagian dari resistor, Kita dapat mencari datasheet-nya online untuk mengetahui rating dayanya.
  4. Pengujian: Jika informasi tidak tersedia dan kita ingin memastikan nilainya, sebuah pendekatan praktis (meskipun berisiko) adalah menguji resistor dengan secara bertahap meningkatkan daya yang diterapkan sambil memantau suhu dan kinerjanya. Ini harus dilakukan dengan sangat hati-hati untuk menghindari kerusakan pada resistor atau peralatan lain.

BACA JUGACara Membaca Nilai Kode Warna Resistor

Ada beberapa resistor yang biasanya mempunyai hubungan antara ukuran dan bentuk dengan rating dayanya yaitu :

1. Resistor Tetap

Hubungan antara rating daya resistor tetap dengan bentuk dan ukurannya bisa dilihat pada gambar dibawah ini :

Gambar 2: Resistor tetap dengan rating daya nya

Dilihat dari gambar diatas dapat di ringkas hubungan antara rating daya dengan ukuran nya adalah:

  • Resistor 1/8 Watt berukuran sekitar 3,2 x 1,5 mm
  • Resistor 1/4 Watt berukuran sekitar 6,3 x 2,2 mm
  • Resistor 1/2 Watt berukuran sekitar 9,2 x 3,2 mm
  • Resistor 1 Watt berukuran sekitar 11 x 4 mm
  • Resistor 2 Watt berukuran sekitar 15 x 5 mm
  • Resistor 3 Watt berukuran sekitar 17 x 6 mm
  • Resistor 5 Watt berukuran sekitar 24 x 8 mm

2. Resistor SMD (Surface Mount Devices)

Resistor SMD juga biasanya mempunyai hubungan antara ukuran dan rating dayanya. Gambar dibawah ini adalah hubungan antara rating daya dan ukurannya 

Gambar 3 : Rating daya resistor SMD

BACA JUGA : Cara Menentukan Nilai Resistor SMD (surface mount devices).

Share:

Cara Membaca Nilai Resistor Kapur atau Keramik.

Resistor kapur atau keramik yaitu resistor secara fisik biasanya berbentuk kotak dan berwarna putih. Resistor ini bagian resistifnya adalah berupa inti dengan lilitan menyerupai induktor berwarna putih, dan di lapisi dengan bahan keramik berwarna putih seperti kapur, oleh karena itu resistor ini biasa di sebut dengan resistor kapur.

Gambar 1 : Resistor kapur

Baca JugaPengertian dan Jenis Resistor

Untuk menentukan nilai hambatan dari resistor ini paling mudah adalah dengan di ukur langsung dengan ohmmeter. Akan tetapi ada cara lain yaitu dengan cara membaca kode yang tertulis di badan resistor ini. Resistor kapur ditandai dengan kode angka dan huruf. Dari kode tersebut biasanya bisa menentukan 3 karakter nilai dari resistor tersebut. Yaitu nilai daya, nilai hambatan, dan toleransi nilai hambatan.

Gambar 2 : Kode nilai resistor kapur

Secara umum kode angka dan huruf pada resistor kapur di bagi menjadi 3 yaitu :

1. Kombinasi angka dan huruf pertama menunjukkan nilai daya resistor tersebut. Seringnya berupa angka dan diikuti dengan huruf W. Contohnya 5W, 10W, atau 20W ( Perhatikan gambar 2 di atas )
5W menunjukan bahwa resistor memiliki rating daya sebesar 5 Watt
10W menunjukan bahwa resistor memiliki rating daya sebesar 10 Watt.
20W menunjukan bahwa resistor memiliki rating daya sebesar 20 Watt.

2. Kombinasi angka dan huruf kedua adalah kode nilai hambatan. Seperti gambar 2 di atas bagian kode kedua memiliki kode 0Ω5, 33Ω, dan 22R. ini berarti :

0Ω5 = 0,5 Ohm
33Ω = 33 Ohm
22R = 22 Ohm

Beberapa aturan yang harus di ikuti adalah :

  • Ω atau R artinya 1 x Ohm
  • K artinya 1000 x Ohm. Misalkan ada nilai 2K = 2000 Ohm
  • M artinya 1000000 x Ohm. Misalkan ada nilai 1M = 1000000 Ohm
  • Jika posisi huruf di tengah berarti selain sebagai kode nilai, huruf ini juga berfungsi sebagai koma. Misalkan 0K5 nilainya adalah 0,5 x 1000 = 500 Ohm
3. Huruf terakhir menunjukan nilai toleransi, dengan ketentuan sebagai berikut :

  • J artinya toleransi ± 5 %
  • K artinya toleransi ± 10 %
  • M artinya toleransi ± 20 %

Baca Juga : 1. Cara Membaca Nilai Kode Warna Resistor

                    2. Cara Menentukan Nilai Resistor SMD (surface mount devices)

Beberapa contoh kode nilai resistor kapur dan cara membacanya:
  • 5W68ΩJ = Bernilai 5 Watt dan 68 Ohm dengan toleransi hambatan 5%
  • 5W0Ω5J = Bernilai 5 Watt dan 0,5 Ohm dengan toleransi hambatan 5%
  • 10W33ΩJ = Bernilai 10 Watt dan 33 Ohm dengan toleransi hambatan 5%
  • 5W22RJ = Bernilai 5 Watt dan 22 Ohm dengan toleransi hambatan 5%
  • 5W5R6J = Bernilai 5 Watt dan 5,6 Ohm dengan toleransi hambatan 5%
  • 5W6.8ΩK = Bernilai 5 Watt dan 6,8 Ohm dengan toleransi hambatan 10%
Share:

Cara Menentukan Nilai Resistor SMD (surface mount devices)

Resistor SMD (Surface Mount Devices) adalah resistor yang di pasang langsung pada permukaan PCB / Papan rangkaian. Resistor SMD terlalu kecil untuk di tandai nilainya dengan kode warna. Oleh karena itu biasanya nilai resistansinya di tentukan dengan 3 cara yaitu: Menggunakan kode 3 digit, Menggunakan kode 4 digit, dan menggunakan sistem Electronic Industries Alliance (EIA) atau disebut EIA-96.

Baca Juga : Cara Membaca Nilai Kode Warna Resistor


1. Cara Membaca Nilai Resistor SMD dengan Kode 3 Digit

Untuk resistor SMD dengan kode 3 digit , Jika semua digit berupa angka maka angka pertama dan kedua menyatakan nilai hambatan atau resistansi. Untuk angka ketiga adalah nilai pengali (10n), atau jumlah nol yang ditambahkan di belakang nilai angka pertama dan kedua. Dan jika dari 3 digit terdapat satu huruf (biasanya huruf R) dan dua angka, maka letak digit huruf sebagai koma. 

Untuk resistor SMD dengan kode 3 digit ini memiliki toleransi nilai hambatan sebesar 5 %.

Gambar 1 : Resistor dengan kode 3 digit

Sebagai contoh perhatikan gambar diatas, Nilai resistor SMD pada gambar di atas adalah :

472 = 47 X 102 = 4700 Ω = 4,7 kΩ dengan toleransi 5 %
4R2 = 4,2 Ω dengan toleransi 5 %
240 = 24 X 100 = 24 Ω dengan toleransi 5 %
273 = 27 X 103 = 27000 Ω = 27 kΩ dengan toleransi 5 %
152 = 15 X 102 = 1500 Ω = 1,5 kΩ dengan toleransi 5 %
R22 = 0,22 Ω dengan toleransi 5 %

2. Cara Membaca Nilai Resistor SMD dengan Kode 4 Digit

Untuk menentukan nilai resistor SMD dengan kode 4 digit , caranya hampir sama dengan 3 digit. Yaitu jika semua digit berupa angka maka angka pertama, kedua, dan ketiga menyatakan nilai hambatan atau resistansi. Untuk angka keempat adalah nilai pengali (10n), atau jumlah nol yang ditambahkan di belakang nilai angka pertama, kedua, dan ketiga. Dan jika dari 4 digit terdapat satu huruf (biasanya huruf R) dan tiga angka, maka letak digit huruf itu adalah sebagai tanda koma.

Untuk resistor SMD dengan kode 4 digit ini memiliki toleransi nilai hambatan sebesar 1 %.

Perhatikan gambar dibawah ini.

Gambar 2 : Resistor SMD 4 digit

Sebagai contoh nilai resistansi resistor SMD pada gambar 2 diatas adalah :

47R2 = 47,2 Ω dengan toleransi 1 %
1051 = 105 X 101 = 1050 Ω = 1,05 kΩ dengan toleransi 1 %
4803 = 480 X 103 = 480000 Ω = 480 kΩ dengan toleransi 1 %
8202 = 820 X 102 = 82000 Ω = 82 kΩ dengan toleransi 1 %
0R22 = 0,22 Ω dengan toleransi 1 %
1002 = 100 X 102 = 10000 Ω = 10 kΩ dengan toleransi 1 %

3. Cara Membaca Nilai Resistor SMD dengan Sistem EIA-96

Resistor SMD dengan kode EIA-96 menggunakan kode 3 digit, dengan aturan sebagai berikut :

Dua digit pertama adalah kode nilai resistansi, yang nilainya harus dicek dan di sesuaikan dengan tabel kode dibawah ini :

Tabel 1 : Kode nilai sistem EIA-96

Kemudian digit ketiga adalah huruf sebagai kode pengali, yang akan dikalikan dengan nilai yang didapatkan dari 2 digit pertama. Adapun nilai kode pengali harus di cek dari tabel di bawah ini :

Tabel 2 : Kode nilai pengali sistem EIA-96

Untuk resistor SMD dengan sistem kode EIA-96 memiliki toleransi nilai hambatan sebesar 1 %.

Contoh :

76X = 604 X 0,1 = 60,4 Ω dengan toleransi 1 %
18C = 150 X 100 = 15 kΩ dengan toleransi 1 %
01Y = 100 X 0,01 = 1 Ω dengan toleransi 1 %
29B = 196 X 10 = 1,96 kΩ dengan toleransi 1 %
01C = 100 X 100 = 10 kΩ dengan toleransi 1 %
34A = 221 X 1 = 221 Ω dengan toleransi 1 %


4. Resistor SMD dengan nilai 0 Ω

Resistor SMD dengan tanda 0, 00, 000 atau 0000 adalah resistor dengan nilai 0 Ω. Resistor ini biasanya digunakan sebagai jumper.

Gambar 3 : Resistor SMD dengan nilai 0 ohm

ARTIKEL TERKAIT :

Pengertian dan Jenis Resistor

Cara Membaca Nilai Kode Warna Resistor

Share:

Arduino PWM dan Cara Mengubah Frekuensi nya

PWM adalah singkatan dari Pulse Width Modulation. Karena kita akan belajar PWM di arduino maka saya akan mengutip pengertian PWM dari situs arduino.cc. Di bagian dokumentasinya tentang Basics of PWM (Pulse Width Modulation) disebutkan bahwa PWM adalah teknik untuk mendapatkan hasil analog dengan cara digital. Disini yang di maksud analog adalah tegangan analog yang nilainya antara 0 volt sampai 5 volt. Sedangkan yang dimaksud digital adalah sinyal digital pada arduino yaitu 0 volt mewaliki sinyal 0 atau LOW, lalu 5 volt mewakili sinyal 1 atau HIGH. Jadi teknik untuk mendapatkan hasil analog dengan cara digital bisa diartikan sebagai teknik untuk mendapatkan tegangan analog (0 sampai 5 volt) dengan cara memainkan sinyal digital yaitu dengan membuat sinyal HIGH dan LOW secara bergantian terus menerus dengan frekuensi tetap. Umumnya pada Arduino kita sering menggunakan PWM untuk mengatur kecerahan sebuah LED, kecepatan sebuah Motor, menjalankan motor servo, dll.

Untuk memahami PWM dengan mudah kita bisa menggunakan program blink (blinking LED) yang biasa kita gunakan ketika pertama kali belajar arduino. Berikut sketch program blink yang biasanya ada di example arduino IDE, bisa kalian buka melalui File -> Examples -> 01. Basic -> Blink :

void setup() {
    // initialize digital pin LED_BUILTIN as an output.
    pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
   digitalWrite(LED_BUILTIN, HIGH);  // turn the LED on (HIGH is the voltage level)
   delay(1000); // wait for a second
    digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
    delay(1000);// wait for a second
}

Perhatikan program blink di atas, LED_BUILTIN (pin 13) diberi sinyal HIGH dan LOW secara bergantian dengan jeda waktu masing-masing 1 detik, sehingga hasilnya nanti LED yang tersambung pada pin 13 akan nyala selama 1 detik kemudian mati selama 1 detik, begitu seterusnya selama arduino masih dinyalakan. Program blinking LED ini sebenarnya bekerja seperti sinyal PWM akan tetapi karena jeda waktunya (periode) yang relatif lama sehingga belum bisa menghasilkan tegangan analog, tetapi hanya menghasilkan tengan HIGH (5 volt) dan tegangan LOW(0 volt) secara bergantian pada output arduino. Dengan memperkecil periode atau jeda waktu akan menyebabkan pergantian output HIGH dan output LOW yang sangat cepat sehingga didapat tegangan ouput analog. 

Gambar 1 : Sinyal PWM

Sinyal PWM diperlihatkan seperti gambar 1 di atas yaitu berupa gelombang kotak (square wave). Karena gelombang maka PWM memiliki periode dan frekuensi. Periode adalah waktu yang dibutuhkan untuk menghasilkan 1 pulsa. Sedangkan frekuensi adalah banyaknya pulsa yang dihasilkan dalam 1 detik. Yang di maksud 1 pulsa adalah jumlah dari 1 pulsa HIGH dan 1 pulsa LOW (perhatikan gambar 1 diatas). Secara matematis hubungan antara periode dan frekuensi bisa di tuliskan :

T = 1 / f    atau  f = 1 / T

T = periode (satuan detik)

f = frekuensi (satuan Hz)

Selain itu sinyal PWM juga memiliki besaran yang di sebut dengan duty cycle. Duty cycle adalah rasio dari 1 pulsa HIGH dengan 1 pulsa. Secara matematis dapat di tulis :

Duty cycle = 1 pulsa HIGH / 1 pulsa      atau   % Duty cycle = (1 pulsa HIGH / 1 pulsa) x 100

dengan 1 pulsa = 1 pulsa HIGH + 1 pulsa LOW

Agar lebih paham tentang duty cycle perhatikan gambar 2 di bawah ini :

Gambar 2 : Gambar ilustrasi Duty cycle signal PWW

Duty cycle inilah yang akan menghasilkan variasi tegangan analog output. Jika duty cycle nya 100 % maka akan di dapat tengangan ouput sama seperti sinyal HIGH (5 volt). Jika duty cycle nya 50 % akan di dapat tegangan output 1/2 x 5 volt = 2.5 volt. Jadi secara matematis tegangan analog output dapat di tulis :

Tegangan analog output = Duty cycle X sinyal HIGH

Bisakah kamu menghitung berapa tegangan output yang di hasilkan jika duty cycle nya 25 % dan tegangan HIGH nya 5 V ? 

Jika program blinking LED diatas diaggap mengeluarkan sinyal PWM maka dapat di ambil hasil periode nya adalah 2 detik. Sedangkan frekuensinya adalah 0.5 Hz. Dan duty cycle nya adalah 50 %. Akan tetapi sayangnya frekuensi 0.5 Hz ini belum cukup untuk menghasilkan tegangan analog ouput. Lalu bagaimana caranya agar bisa menghasilkan analog output dengan sinyal PWM. berikut adalah beberapa cara untuk membuat sinyal PWM di arduino :

1. Membuat Sinyal PWM dengan memodifikasi program Blinking LED

Dengan memodifikasi program Blinking LED diatas kita bisa membuat sinyal PWM di pin manapun di arduino. Berikut contoh modifikasi program nya :

int periode = 1000; //nilai mewakili periode dengan satuan us
int dutyCycle = 5; //persentase (nilainya 0-100)
int delayHigh;
int delayLow;

void setup() {
  pinMode(LED_BUILTIN, OUTPUT); // pin 13
}

void loop() {
  delayHigh = (dutyCycle / 100.00) * periode;
  delayLow = periode - delayHigh;
  digitalWrite(LED_BUILTIN, HIGH);  
  delayMicroseconds(delayHigh);                  
  digitalWrite(LED_BUILTIN, LOW);  
  delayMicroseconds(delayLow);        
}

delay() di ganti dengan delayMicroseconds sehingga bisa menghasilkan frekuensi lebih tinggi. Pada program di atas akan di hasilkan sinyal PWM di pin 13 dengan dengan periode 1000 us atau frekuensi 1 kHz dan Duty Cycle 50 %. Untuk mengatur Periodenya silahkan ubah variabel periode (nilai ini mewakili periode PWM dalam satuan us). Sedangkan untuk mengatur Duty Cycle silahkan atur nilai variabel dutyCycle dengan nilai antar 0 sampai 100. 0 mewakili Duty Cycle 0 % dan 100 mewakili 100 %.

2. Membuat Sinyal PWM dengan analogWrite()

Memakai fungsi analogWrite() adalah cara yang paling umum yang biasa digunakan untuk mendapatkan sinyal PWM dari output arduino. fungsi ini tidak bisa di gunakan di semua pin pada arduino. Hanya pin PWM yang bisa kita gunakan, biasannya ada tanda tilde (~) pada pin tersebut. Selain itu kekurangannya adalah kita tidak bisa mengatur frekuensi sinyal PWM nya. 

Pada arduino Uno, Nano, mini atau Lillypad (yang menggunakan ATmega 8, 168, 328) memiliki 6 pin yang dapat digunakan sebagai pin PWM, pin 5,6,9,10,11,dan 3 menghasilkan PWM dengan frekuensi yang berbeda. pin PWM ini menggunakan fasilitas timer yang ada pada chip ATmega di arduino yaitu : 

pin 5 dan 6 menggunakan Timer 0 dengan frekuensi default 980 Hz

pin 9 dan 10 menggunakan Timer 1 dengan frekuensi default 490 Hz

pin 3 dan 11 menggunakan Timer 2 dengan frekuensi default 490 Hz

Timer merupakan fasilitas yang ada di chip ATmega yang salah satu fungsinya dapat digunakan sebagai pewaktu atau cacahan suatu event. Mikrokontroler ATmega 8, 168, 328 memiliki 3 buah timer yaitu Timer0, Timer1 dan Timer2. Timer0 dan Timer2 memiliki kapasitas 8-bit sedangkan Timer1 memiliki kapasitas 16-bit. Apa yang dimaksud timer 8 bit dan 16 bit?.Timer 8-bit adalah pewaktu yang bisa mencacah atau menghitung hingga maksimal nilai0xFF heksa (dalam biner = 11111111).Sedangkan Timer 16-bit sama seperti timer 8-bit, hanya saja nilai maksimalnya mencapai 0xFFFF.

Fungsi analogWrite() menggunakan sintak:

analogWrite (pin, value)

pin =  pin PWM arduino yang di gunakan. (Menggunakan type data int)

value = nilai duty cyclenya 0 untuk 0 % dan 255 untuk duty cycle 100% (Menggunakan type data int)

Selanjutkan kita akan mencoba fungsi analogWrite() dengan simulasi proteus untuk menguji pada pin 3 mewakili pin dengan frekuensi 490 Hz dan pin 5 mewakili pin dengan output frekuensi 980 Hz. Kemudian kita cek hasilnya dengan virtual osiloskop pada proteus apa benar pin pin tersebut menghasilkan frekuensi yang sesuai.

Pada gambar diatas, pin 3 terhubung dengan channel A virtual osiloskop (sinyal warna kuning). Dan pin 5 terhubung dengan channel  virtual osiloskop (sinyal warna biru). Lalu kita upload program di bawah ini ke arduino nano di proteus.

void setup() {
}

void loop() {
  analogWrite(3, 127); //PWM pada pin 3 f= 490 Hz dan duty cycle 50 %
  analogWrite(5, 127); //PWM pada pin 5 f= 980 Hz dan duty cycle 50 %
}

Hasil simulasi diproteus :


Dari gambar di atas warna kuning adalah sinyal PWM dari pin 3 dan warna biru adalah sinyal PWM dari pin 5. 

Untuk pin 3 : 

Periode (T) = 2.10 ms - 0.05 ms = 2.05 ms = 0.00205 second
Frekuensi (f) = 1/T = 1/0.00205 = 488 Hz

Untuk pin 5 :

Periode (T) = 1.88 ms - 0.86 ms = 1.02 ms = 0.00102 second
Frekuensi (f) = 1/T = 1/0.00102 = 980 Hz

Dari hasil simulasi ternyata benar di hasilkan frekuensi sesuai dengan data di atas.

3. Menggunakan Library TimerOne

Library TimerOne ini menggunakan fasilitas Timer1 pada chip ATmega di arduino untuk kontrol sinyal PWM. Selain itu TimerOne, juga bisa digunakan untuk menjalankan interupsi secara berkala (periodik interrupt). Kita hanya bisa menggunkan 2 pin yang tersambung ke timer 1 yaitu pin 9 dan 10. Kelebihan menggunkan TimerOne untuk kontrol sinyal PWM adalah kita bisa mengatur frekuensi dari sinyal PWM tersebut. Selain itu kita bisa juga mengontrol duty cycle nya dengan resolusi lebih besar yaitu nilai 0 sampai 2023 (16 bit).

Untuk menggunkan library ini, silahkan install melalui Tools -> Manage Libraries  kemudian search dengan kata kunci "TimerOne", lalu install library tersebut. Atau KLIK DISINI untuk mendownload library TimerOne dalam bentuk zip.

Berikut adalah contoh program menggunakan TimerOne untuk menghasilkan sinyal PWM :

#include <TimerOne.h> //Memanggil library TimerOne

unsigned long periode = 1000; // nilai periode 1000 us = frekuensi 1 kHz
int dutyCycle = 511; // Nilai Duty Cycle PWM 0 sampai 1023, nilai 511 = 50 %

void setup(void)
{
  Timer1.initialize(periode); //Mengaktifkan Timer1 dan mengisi peride PWM sesuai nilai varibel periode
}

void loop(void)
{
  Timer1.pwm(9, dutyCycle); //membuat sinyal PWM pada pin 9 dengan nilai Duty Cycle sesuai nilai varibel dutyCycle
}

Jika program di atas di jalankan maka akan menghasilkan sinyal PWM di pin 9 dengan dengan periode 1000 us atau frekuensi 1 kHz dan Duty Cycle 50 %. Untuk mengatur Periodenya silahkan ubah variabel periode (nilai ini mewakili periode PWM dalam satuan us). Sedangkan untuk mengatur Duty Cycle silahkan atur nilai variabel dutyCycle dengan nilai antar 0 sampai 1023. 0 mewakili Duty Cycle 0 % dan 1023 mewakili 100 %.

4. Menggunnakan Library PWM

Library ini jika di cari di arduino IDE melalui Tools -> Manage Libraries dengan menggunakan kata kunci PWM ternyata tidak saya temukan. Oleh karena itu untuk mengistall library ini kalian bisa mendownloadnya melalui link repository github nya yaitu https://github.com/terryjmyers/PWM atau donwload DI SINI. Silahkan download dalam bentuk file ZIP, kemudian install melalui arduino IDE dengan klik Skecth -> Include Libraries -> Add .ZIP Library... kemudian silahkan cari tempat menyimpan file ZIP nya dan Open.

Library PWM ini juga menggunakan fasilitas Timer1 pada chip ATmega di arduino untuk kontrol sinyal PWM. Jadi pada arduino uno, nano, dan mini hanya bisa di gunakan pada pin 9 dan 10. Berikut adalah contoh program sederhana menggunakan library PWM untuk membuat sinyal PWM :

#include <PWM.h> // memanggil library PWM

int pinPWM = 9; //pin PWM yang akan di gunakan
int frekuensi = 100; //frekuensi dalam Hz
int dutyCycle = 127; //duty cycle nilai 0-255

void setup()
{
  InitTimersSafe(); //initialize all timers except for 0, to save time keeping functions

  SetPinFrequencySafe(pinPWM, frekuensi); //sets the frequency for the specified pin
}

void loop()
{
  pwmWrite(pinPWM, dutyCycle); //use this functions instead of analogWrite on 'initialized' pins
}

Jika program di atas di jalankan maka akan menghasilkan sinyal PWM di pin 9 dengan frekuensi 100 Hz dan Duty Cycle 50 %. Silahkan mengubah nilai variabel frekuensi untuk mengubah nilai frekuensi sinyal PWM. Sedangkan untuk mengatur Duty Cycle silahkan atur nilai variabel dutyCycle dengan nilai antar 0 sampai 255. 0 mewakili Duty Cycle 0 % dan 255 mewakili 100 %.

Untuk mempelajari library ini lebih dalam, silahkan cek di beberapa example library nya dan silahkan di coba dan kembangkan pada project arduino anda. 

Share:

Cara Menjalankan Motor Servo Menggunakan Arduino dengan dan tanpa Library

Kali ini kita akan belajar menjalankan motor servo jenis Position rotation. Yaitu Motor servo yang hanya mampu berputar antara 0 derajad sampai 180 derajad. Servo yang saya gunakan adalah micro servo sg90. Kalian bisa menggunakan motor servo lain, misalkan motor servo mg90s, motor servo mg996r, atau motor servo lainnya yang sejenis dengan itu.

Gambar 1: Motor servo

Motor servo adalah sebuah motor listrik dengan sistem umpan balik tertutup (closed loop) di mana posisi dari motor akan dinformasikan kembali kerangkaian kontrol yang ada di dalam motor servo. Dari sistem closed loop itu kita dapat mengontrol kecepatan, akselerasi dan posisi sudut putaran motor. Selain dapat menentukan posisi sudutnya, motor servo juga dapat mempertahankan posisinya (mempunyai torsi) sehingga dapat menahan beban sesuai dengan spesifikasi yang dimiliki.


Cara Kerja Motor Servo

Motor servo pada dasarnya terdiri dari sebuah motor DC, serangkaian gear, potensiometer, dan rangkaian kontrol. Rangkaian gear terhubung ke as motor DC. Akibat dari perbandingan dari beberapa gear sehingga rangkaian gear ini dapat menaikkan torsi motor servo.

Gambar 2 : Bagian motor Servo

Rangkaian kontrol motor servo pada dasarnya terdiri dari motor driver, rangkaian comparator, dan pulse converter. Posisi sudut motor servo diatur berdasarkan sinyal PWM atau pulsa yang dikirim melalui kaki atau terminal sinyal pada motor servo. Sinyal ini masuk kerangkaian control melalui pulse converter. Potensiometer dirangkai sebagai pembagi tegangan. Jika potensiometer berputar mengikuti putaran gear akan menghasilkan nilai tegangan yang mewaliki posisi sudut tertentu. Nilai tegangan ini akan menjadi input dari rangkaian kontrol. 

Tegangan dari pulse converter dan tegangan dari potensiometer masuk ke rangkaian comparator dan akan dibandingkan nilainya. Jika nilai tegangan dari potensiometer dan dari hasil pengolahan pulsa input oleh pulse converter berbeda, maka komparator akan memerintahkan kepada motor driver untuk menggerakkan motor DC pada posisi sudut tertentu hingga nilai tegangannya sama (perhatikan gambar 3 di bawah ini).

Gambar 3 : Ilustrasi cara kerja Motor Servo

Motor servo position rotation dapat diatur posisinya dari 0 sampai dengan 180 derajat. Pengaturan posisi ini diatur dengan mengirim pulsa tegangan dalam waktu tertentu. nilainya tegangan yang dikirim biasanya 5v atau sesuai dengan spesifikasi motor servo tersebut. Agar motor servo bergerak ke posisi 0 derajad maka tegangan 5v harus di kirim selama 0.5 ms, 1.5 ms untuk bergerak keposisi 90 derajat, dan sekitar 2.5 ms untuk posisi sudut 180 derajad. Pulsa ini harus dikirim setiap sekitar 20 ms (frekuensi 50 Hz) agar motor servo dapat mempertahankan torsinya atau berputar ke posisi sudut sesuai dengan lebar pulsa yang dikirimkan. Untuk lebih jelas perhatikan gambar 4 di bawah 

Gambar 4 : Signal pulse input servo

Menghubungkan Motor Servo dengan Arduino

Umumnya motor servo memiliki 3 kabel, yaitu untuk power 5V biasa berwarna merah. Ground atau 0V biasanya warna coklat atau hitam. Lalu kabel sinyal biasanya warna orange atau putih. Kabel sinyal servo bisa dihubungkan ke hampir semua pin I/O arduino, dan kali ini kabel sinyal servo di hubungkan ke pin 9 arduino. Perhatikan gambar wiring servo motor ke arduino di bawah ini

Gambar 5 : Wiring motor servo ke arduino uno

Menjalankan Motor Servo dengan Library

Untuk menjalan motor servo dengan arduino kita bisa menggunakan library servo. Biasanya library ini sudah teristall ketika kita menginstall arduino IDE. Akan tetapi jika di arduino IDE kamu belum terinstall library servo silahkan install melalui Tools -> Manage Libraries kemudian search dengan kata kunci "Servo", lalu install library Servo.

Untuk menggunakan library servo paling mudah adalah menggunakan example yang sudah tersedia dari library tersebut. Terdapat 2 example yaitu Knop dan Sweep. Klik menu File > Examples > Servo untuk masuk ke program example tersebut. Knop adalah program untuk menjalankan servo berputar mengikuti nilai dari analog input yang masuk ke dalam arduino. Sedangkan sweep adalah program menjalankan servo dari 0 derajad ke 180 derajad , kemudian dari 180 derajad kembali ke 0 derajad. Gerakan servo tersebut berulang secara terus menerus. Perhatikan kode program Sweep yang telah terbuka di bawah ini:

#include <Servo.h>

Servo myservo;  // create servo object to control a servo
// twelve servo objects can be created on most boards

int pos = 0;    // variable to store the servo position

void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}

void loop() {
  for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
  for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
}

Penjelasan program :

Servo akan bergerak dari posisi 0 ke 180 derajad dengan jeda 15 ms tiap tahapan 1 derajadnya, kemudian balik lagi dari 180 ke 0 derajad dengan jeda 15 ms tiap tahapan 1 derajadnya. Demikian seterusnya akan berulang tanpa henti.

  1. #include <Servo.h> Merupakan kode untuk memanggil atau menggunakan servo library Arduino.
  2. Servo myservo; Adalah kita membuat objek servo untuk 1 motor servo dengan nama "myservo".
  3. myservo.attach(9); Ketika kita menggunakan kode ini berarti kita akan harus memasang kabel sinyal motor servo pada pin 9  arduino.
  4. myservo.write(pos);  Adalah perintah menjalankan servo menuju posisi sudut sesuai dengan nilai variabel "pos". Nilai pos bernilai antara 0 sampau 180.

selain perintah program diatas library servo memiliki beberapa method lagi yang perlu diketahui yaitu : 

writeMicroseconds()
read()
detach()

Untuk penjelasan lengkap dari library servo, silahkan lihat dokumentasi lengkapnya di bawah ini :

1. https://www.arduino.cc/reference/en/libraries/servo

2. https://docs.arduino.cc/learn/electronics/servo-motors


Menjalankan Motor Servo tanpa Library

Menggunakan library servo yang sudah disediakan oleh Arduino memang sangat memudahkan untuk menggerakkan servo. Tetapi kadang kita perlu mengetahui cara memprogram sesuatu secara mandiri.

Sesuai dengan penjelasan cara kerja Motor Servo diatas, maka kita bisa menggunakan pin arduino yang tersambung dengan kabel sinyal motor servo di atur sebagai Digital Output. Lalu kita bisa memberi sinyal HIGH pada Digital Output tersebut dengan rentang 0,5 ms sampai 2,5 ms (500 µs sampai 2500 µs) agar servo bergerak 0 derajad sampai 180 derajad. sinyal HIGH ini harus dikirim berulang setiap sekitar 20 ms (frekuensi 50 Hz) agar motor servo dapat mempertahankan torsinya atau berputar ke posisi sudut sesuai dengan lama pulsa HIGH yang dikirimkan.

Berikut adalah contoh program untuk menjalankan servo ke posisi 0 derajad :

int pos;
void setup() {
  pinMode(9, OUTPUT);
}

void loop() {
  pos = 500;
  digitalWrite(9, HIGH);
  delayMicroseconds(pos);
  digitalWrite(9, LOW);
  delayMicroseconds(10000);
  delayMicroseconds(10000 - pos);
}

Pada program diatas, jika kita mengisi nilai 500 pada variabel pos maka posisi servo pindah atau berada di 0 derajad. Jika varibel pos di isi dengan 1500 maka posisi akan berpindah ke 90 derajad. Variabel pos bisa di isi dengan  nilai 500 sampai 2500 agar servo bergerak antara 0 sampai 180 derajad.

Kita bisa membuat program sweep seperti example pada library servo. Adapun contoh program sweep tanpa menggunakan library ada sebagai berikut :

int pos;

//Fungsi pengganti write() pada library servo
void servoWrite(int sudut) {
  int sudutMicros;
  sudutMicros = map(sudut, 0, 180, 500, 2500); //mengkonversi 0-180 derajad ke 500-2500 us
  digitalWrite(9, HIGH);
  delayMicroseconds(sudutMicros);
  digitalWrite(9, LOW);
  delayMicroseconds(10000);
  delayMicroseconds(10000 - sudutMicros);
}

void setup() {
  pinMode(9, OUTPUT);
}

void loop() {
  for (pos = 0; pos <= 180; pos += 1) {
    servoWrite(pos);
    delay(15);
  }
  for (pos = 180; pos >= 0; pos -= 1) {
    servoWrite(pos);
    delay(15);
  }
}

Upload dan jalan program diatas maka servo akan bergerak dari posisi 0 ke 180 derajad dengan jeda 15 ms tiap tahapan 1 derajadnya, kemudian balik lagi dari 180 ke 0 derajad dengan jeda 15 ms tiap tahapan 1 derajadnya. Demikian seterusnya akan berulang tanpa henti. Program di atas berfungsi persis sama seperti program sweep pada example library servo.

Share:

Cara Membaca Nilai Kode Warna Resistor

Nilai hambatan sebuah resistor ditentukan dengan kode warna, yang diwakili oleh gelang warna yang dipasang melingkar di badan resistor. Ada tiga sistem yang digunakan dalam pemberian kode warna yaitu sistem 4 gelang warna, sistem 5 gelang warna, dan sistem 6 gelang warna.

Pegertian dan Jenis Resistor di bahan pada artikel sebelumnya. Untuk membacanya klik Disini

1. Cara Membaca Resistor dengan 4 Gelang Warna

Gambar 1 : Resistor dengan 4 Gelang Warna

Perhatikan gambar di atas, untuk resistor dengan 4 gelang warna. 2 gelang warna pertama menyatakan nilai hambatan atau resistansi. Gelang ke-3 adalah nilai pengali (10n), atau jumlah nol yang ditambahkan di belakang nilai gelang pertama dan kedua. Dan gelang warna ke-4 menunjukkan toleransi. Karena ada kemungkinan tertukar untuk menentukan mana gelang ke-1 dan ke-4, caranya adalah perhatikan saja, biasanya gelang warna ke-3 dan ke-4 mempunyai jarak lebih renggang dibanding dengan antar gelang yang lain.

Setiap warna gelang mewakili nilai tertentu. Coba perhatikan tabel untuk resistor empat warna dibawah ini :

Tabel 1 : Tabel nilai warna resistor 4 gelang

Untuk mempermudah menghafalkan urutan warna dari nilai 0 ke 9 bisa di singkat dengan : HIT COK ME JI KU HI BI U A PUT

HIT = hitam, COK = Coklat, ME = Merah, JI = Jingga, KU = Kuning, HI = Hijau, BI = Biru, U = Ungu, A = Abu-abu, PUT = Putih

Contoh menentukan nilai resistor 4 gelang:

Perhatikan lagi Gambar 1, dari gambar nampak dari gelang ke-1 sampai ke-4 yaitu warna Coklat, Hijau, Merah, dan Perak Maka :
Coklat = 1
Hijau = 5
Merah = x 102 atau x 100
Perak = Toleransi 10 %
Jadi hasilnya adalah 1500 Ohm atau 1K5 dengah toleransi 10 %.
Bisa ditulis 1K5 ± 5% atau 1K5 ± 150 Ohm
Atau rentang nilai yang di hasilkan dari resistor dengan kode warna seperti gambar 1 adalah berkisar antara 1350 Ohm sampai 1650 Ohm.

Resistor dengan 4 gelang warna biasanya digunakan untuk standar nilai resistor kelompok E12 dan E24.


2. Cara Membaca Resistor dengan 5 Gelang Warna

Untuk resistor dengan 5 gelang warna, 3 gelang warna pertama menyatakan nilai hambatan atau resistansi. Gelang ke-4 adalah nilai pengali (10n), atau jumlah nol yang ditambahkan di belakang nilai gelang pertama, kedua, dan ketiga. Kemudian gelang warna ke-5 menunjukkan toleransi. (perhatikan gambar di bawah).

Gambar 2 : Resistor 5 gelang warna

Lalu untuk nilai kode warna dari resistor 5 gelang dapat di lihat pada tabel di bawah ini :

Tabel 2 : Tabel nilai warna resistor 5 gelang

Contoh menentukan nilai resistor 5 gelang:

Perhatikan  Gambar 2 diatas , dari gambar 2 nampak dari gelang ke-1 sampai ke-5 yaitu warna Coklat, Hijau, Hitam, Merah, dan Coklat Maka :
Coklat = 1
Hijau = 5
Merah = 0
Merah = x 102 atau x 100
Coklat = Toleransi 1 %
Jadi hasilnya adalah 15000 Ohm atau 15K dengah toleransi 1 %.
Bisa ditulis 15K ± 1% atau 15K ± 150 Ohm.
Atau rentang nilai yang di hasilkan dari resistor dengan kode warna seperti gambar 2 adalah berkisar antara 14850 Ohm sampai 15150 Ohm.

Resistor dengan 5 gelang warna biasanya digunakan untuk standar nilai resistor kelompok E24, E48, dan E96.


3. Cara Membaca Resistor dengan 6 Gelang Warna

Cara membaca resistor 6 gelang warna sama dengan resistor 5 warna, tetapi pada resistor 6 gelang warna ada penambahan koefisien suhu pada gelang warna ke-6. Coba perhatikan gambar dibawah ini :

Gambar 3 : Resistor 6 gelang warna

Cara membacanya adalah 3 gelang warna pertama menyatakan nilai hambatan atau resistansi. Gelang ke-4 adalah nilai pengali (10n), atau jumlah nol yang ditambahkan di belakang nilai gelang pertama, kedua, dan ketiga. Kemudian gelang warna ke-5 menunjukkan nilai toleransi. Dan gelang ke-6 adalah nilai koefisien suhu dengan satuan ppm/°C. Atau part per million per derajad Celsius (Bagian persatu juta per derajad Celsius). Maksud dari ppm/°C adalah perubahan nilai resistor karena perubahan suhu.

Lalu untuk nilai kode warna dari resistor 6 gelang dapat di lihat pada tabel di bawah ini :

Tabel 3 : Tabel nilai warna resistor 6 gelang

Contoh menentukan nilai resistor 6 gelang:

Perhatikan  Gambar 3 diatas , nampak dari gelang ke-1 sampai ke-6 yaitu warna Kuning, Coklat, Merah, Jingga, Coklat, dan Ungu Maka :
Kuning =4
Coklat = 1
Merah = 2
Jingga = x 103 atau x 1000
Coklat = Toleransi 1 %
Ungu = Koefisien suhu 5 ppm/°C
Hasilnya adalah 412000 Ohm atau 412K dengan toleransi 1 % dan Koefisien suhu 5 ppm/°C.
Bisa ditulis 412K ± 1% atau 412K ± 4K12.
Atau rentang nilai yang di hasilkan dari resistor dengan kode warna seperti gambar 3 adalah berkisar antara 407880 Ohm sampai 416120 Ohm.
Untuk koefisien suhu 5 ppm/°C artinya setiap perubahan 1 °C menyebabkan nilai hambatan resistor seperti pada gambar 3 berubah sebesar 412000 x (5/1000000) = 2,06 Ohm.

Baca juga : Pegertian dan Jenis Resistor
Share:

Pengertian dan Jenis Resistor

Resistor adalah komponen elektronik yang befungsi untuk membatasi atau menghambat aliran arus listrik dalam suatu rangkaian. Resistor termasuk komponen pasif, yaitu komponen yang dapat berfungsi dan bekerja tanpa membutuhkan catu daya atau sumber energi listrik.

Resistor memiliki nilai resistansi tertentu. Nilai resistansi atau biasa di sebut nilai hambatan mempunyai satuan ohm dan dilambangkan dengan Ω (omega). Yang dimaksud dengan 1 Ω adalah nilai hambatan dari suatu rangkaian yang memiliki tegangan 1 Volt dengan arus yang mengalir sebesar 1 Ampere.

Gambar : Berbagai jenis resistor

Berdasarkan nilainya resistor dapat dibagi menjadi 2 yaitu :

  1. Resistor tetap / Fixed Resistor
  2. Resistor tidak tetap / Variable resistor

Adapun berdasarkan jenis bahan pembuatnya, resistor dapat dibedakan menjadi beberapa jenis yaitu: Resistor kawat resistif (wirewound), Resistor film logam, Resistor film karbon, Resistor komposisi karbon,dan Resistor keramik.

1. Resistor Tetap / Fixed Resistor

Yaitu resistor yang mempunyai nilai hambatan tetap. Nilai resistor ini sudah di tetapkan oleh pabrik pembuatnya dan tidak bisa di ubah-ubah. Nilai resistansi atau hambatan resistor ini biasanya ditandai dengan gelang kode warna yang terdapat pada badan resistor atau menggunakan kode angka tertentu.

Gambar : Simbol resistor tetap dalam rangkaian listrik


Karakteristik listrik penting dari resistor tetap antara lain :

  • Toleransi resistif sebagai persentase nilai nominal dalam ohm
  • Disipasi daya atau kemampuan resistor di lewati daya, dalam satuan watt (W)
  • Koefisien temperatur dalam parts per million (ppm) per derajat Celsius terhadap perubahan temperatur (ppm/°C)
  • Tegangan kerja maksimum dalam volt (V).

Beberapa kriteria tambahan lainnya adalah:

  • Gangguan (noise) listrik
  • induktansi dan kapasitansi parasitik.

Untuk disipasi daya hampir semua resistor yang digunakan memiliki daya di bawah 5 W dan yang paling umum di bawah 1 W. Ukuran resistor tetap bergantung kepada kemampuan dayanya. Semakin besar batas daya yang dimilikinya makin besar juga ukuran dari resistor. Resistor dengan daya 5 watt memiliki panjang sekitar 25,4 mm dan diameter 6,4 mm. Sementara untuk resistor 1/2, 1/4 dan 1/8 watt memiliki ukuran yang lebih kecil.

Resistor tetap biasanya berbentuk tabung silinder dengan bahan resistifnya berada di tengan dan kedua ujungnya terdapat metal penghubung. Resistor ini di sebut Resistor axial atau yang umum adalah resistor sumbu timah (axial-leaded).

Gambar : Contoh Resistor sumbu timah (axial-leaded).

Selain berbentuk axial resistor juga ada yang berbentuk kotak atau balok seperti resistor array, resistor SMD (Surface Mount Devices), dan resistor keramik atau kapur.

Beberapa jenis bahan resistif untuk resistor tetap adalah resistor kawat resistif (wirewound), resistor film logam, resistor film karbon, dan resistor komposisi karbon .

A. Resistor kawat resistif (wirewound)

Resistor wirewound berupa lilitan kabel resistif pada plastik atau batang keramik. Kawat resistansi yang paling umum digunakan adalah nickel chromium (nichrome). Pada kedua ujung resistor dipasang sumbu timah untuk hubungan dengan rangkaian.

Gambar : Resistor wirewound

Umumnya resistor ini memiliki nilai hambatan dari 10 ohm hingga 1 megaohm dengan toleransi 2 % dan TCR (Temperature Coeffisient of Resistance) sangat rendah yaitu 100 ppm/°C. Untuk resistor wirewound dengan daya lebih dari 5 W memiliki toleransi besar dari 10 %.

Resistor wirewound memiliki keterbatasan untuk aplikasi frekuensi rendah karena memiliki solenoid didalamnya. Selenoid dapat menghasilkan reaktansi induktif dalam rangkaian AC sehingga dapat mengubah nilai resistif DC. Reaktansi induktif pada frekuensi rendah atau menengah ini dapat dikurangi atau dihilangkan dengan membuat lilitan ganda. Cara ini membuat medan indukti berlawanan yang saling melemahkan satu sama lain, sehingga reaktansi induktif dapat dikurangi atau dihilangkan. Contoh aplikasi yang menggunakan resistor ini adalah alat pengukuran DC dan resistor referensi untuk regulator tegangan.

B. Resistor film logam (Metal Film Resistor)

Resistor film logam adalah jenis resistor yang dilapisi dengan film logam yang tipis ke subtrat keramik dan dipotong berbentuk spiral. Nilai resistansinya dipengaruhi oleh panjang, lebar, dan ketebalan spiral logam. Resistor jenis metal film ini merupakan yang terbaik di antara jenis-jenis resistor yang lain. Karena mempunyai tingkat presisi dan stabilitas terbaik.

Resistor film logam dibagi atas dua kelas yaitu: 

  • Teloransi 1 % dengan koefisien temperatur 25 hingga 100 ppm/°C. 
  • Toleransi 5 % dengan koefisien temperatur 200 ppm/°C. 

Di pasaran, permintaan yang paling banyak untuk resistor jenis ini adalah dengan tingkat daya 1/4 dan 1/8 W dengan nilai resistansi kurang dari 10 kilo ohm. Nilai resistansi resistor ini tersedia hingga 100 mega ohm.

C. Resistor film karbon (Carbon Film Resistor)

Jenis resistor film karbon ini terdiri dari film tipis karbon yang diendapkan subtrat isolator kemudian dipotong berbentuk spiral. Keuntungan jenis fixed resistor ini dapat menghasilkan resistor dengan toleransi yang lebih rendah. Nilai hambatan resistor film karbon berkisar di antara 1Ω sampai 10MΩ dengan daya 1/6W hingga 5W. Rendahnya kepekaan terhadap suhu membuat jenis fixed resistor ini dapat bekerja di suhu berkisar dari -55°C hingga 155°C.

Gambar : Resistor film metal dan film karbon

D. Resistor komposisi karbon (Carbon Composition Resistor)

Resistor komposisi karbon terdiri dari sebuah unsur resistif berbentuk tabung dengan kawat atau tutup logam pada kedua ujungnya. Bahan resistifnya dibuat dari campuran serbuk karbon dan bahan isolator dengan bahan pengikat berupa resin. Campuran ini ditempatkan dalam sebuah cetakan yang memiliki logam dikedua ujungnya dan dibakar dalam furnace. Nilai resistansi dari resistor jenis ini ditentukan melalui perbandingan jumlah serbuk karbon dengan bahan isolatornya. Resistor yang sudah jadi kemudian diberi kode warna sesuai dengan nilai resistansinya. 

Gambar : Resistor komposisi karbon

Kelebihan dari resistor ini adalah dapat menahan perubahan temperatur lebih baik karena elemen resistifnya yang besar dan menyerap transien listrik lebih tinggi dibanding resistor jenis lainnya. Sementara itu, kelemahan resistor ini adalah toleransinya cukup besar antara 10 hingga 20 persen dan kecenderungan untuk menyerap uap dalam lingkungan yang lembab sehingga menyebabkan nilainya dapat berubah.

Resistor ini mempunyai koefisien temperatur dengan batas 1.000 ppm/derajat selcius. Karakteristik lain dari resistor ini adalah koefisien tegangan, di mana nilai tahanannya dapat berubah ketika diberi tegangan. 

Resistor jenis ini tersedia dengan nilai tahanan mulai dari 1 ohm hingga 100 megaohm, namun dalam aplikasi yang umum, nilai yang paling banyak tersedia adalah dalam rentang 10 hingga 100 kilo ohm dengan tingkat daya mulai dari 1/8 hingga 2 W.

E. Resistor keramik / Resistor Kapur

Dilihat dari bentuk, resistor keramik atau resistor kapur memiliki bentuk kotak dan lebih besar dari resistor pada umumnya. Fungsi resistor keramik adalah untuk penggunaan pada rangkaian yang memiliki daya tinggi, karena ketahanan pada panas sehingga memungkinkan komponen ini bekerja pada daya tinggi. Jika dibandingkan dengan resistor axial / kode warna kita hanya menemukan bentuk yang lumayan besar sampai 2 watt, maka pada resistor keramik terdapat bentuk yang besar sampai 20 watt. Resistor keramik bagian resistifnya adalah berupa inti dengan lilitan menyerupai induktor berwarna putih.

Gambar : Resistor keramik / kapur

F. Resistor array

Resistor array adalah kumpulan beberapa resistor atau komponen resistif yang disusun secara paralel dalam substrat isolator yang sama dan mempunyai 1 pusat yang disebut dengan common. Hampir semua resistor array komersial terbuat dari bahan film tebal dan dibungkus dalam paket dual-in-line (DIPs) atau paket single-in-line (SIPs). Keramik alumina merupakan bahan yang paling banyak digunakan pada substrat array. Standar DIPs terdiri dari 14 atau 16 pin, dan standar SIPs terdiri atas 6, 8, atau 10 pin. Standar nilai resistansi array mulai dari 10 ohm hingga 10 megaohm dengan toleransi 2 persen. Kebanyakan array dapat dengan aman digunakan untuk disipasi daya kurang dari 1/2 W. Untuk kebutuhan nilai resistansi yang lebih tinggi dapat menggunakan array film tipis. Beberapa aplikasi dari resistor array antara lain untuk transisi tegangan dalam rangkaian logika, untuk sensor batas penguat dan pembatas arus pada LED (light-emitting diode).

Gambar : Resistor array

G. Resistor chip / resistor SMD (Surface Mount Devices)

Resistor SMD mempunyai bentuk kotak dengan dimensi jauh lebih kecil dari resistor pada umumnya, pada kedua ujung resistor ini terdapat bagian dari metal yang berfungsi sebagai tempat penyolderan untuk menyambungkannya dengan PCB.

Resistor SMD merupakan resistor yang dipasang langsung pada permukaan papan rangkaian. Oleh karena itu disebut dengan resistor surface mount devices (SMD). Dengan demikian, komponen SMD tidak membutuhkan lobang pada papan rangkaian karena komponen langsung disolder jalur tembaga pada permukaan.

Resistor SMD dibuat dengan menggunakan tinta resistif berupa tantalum nitride atau nickel-chromium pada substrat alumina. Permukaan bahan resistif kemudian dilapisi dengan kaca untuk perlindungan. Resistors chip awalnya dibuat untuk rangkaian hybrid, namun perkembangan surface-mount technology (SMT) meningkatkan permintaan terhadap resistor jenis ini. Resistor Chip biasanya memiliki tingkat daya 1/8 W atau lebih kecil.

Gambar : Resistor SMD

2. Resistor tidak tetap / Variable resistor

Variable resistor atau resistor tidak tetap merupakan jenis resistor yang nilai resistansi atau hambatannya dapat berubah karena sesuatu atau dapat diatur sesuai dengan keinginan.

Adapun jenis resistor tidak tetap adalah :

A. Potensiometer

Potensiometer merupakan resistor jenis tidak tetap (variable resistor). Potensiometer biasanya memiliki tiga terminal yang nilai tahanannya dapat diubah dengan cara menggeser (untuk potensio jenis geser) atau memutar (untuk potensio jenis putar) tuasnya. Penggunaan potensiometer sangat sering kita jumpai pada sound amplifier sebagai pengatur volume.

Gambar : Beberapa model potensiometer

Resistor jenis potensiometer di buat dengan menggunakan kawat dan karbon dan dalam rangkaian unit elektronika paling sering dipergunakan, Saat ini banyak sekali potensiometer yang dibuat dari karbon yang berbentuk kecil namun memiliki daya resistansi yang cukup tinggi.

Perubahan nilai resistansi pada potensiometer terbagi menjadi dua yaitu linier dan logaritmatik. Yang dimaksud dengan perubahan secara linier adalah perubahan nilai resistansinya berbanding lurus dengan arah putaran pengaturnya. Sedangkan, yang dimaksud dengan perubahan secara logaritmik adalah perubahan nilai resistansinya yang didasarkan pada perhitungan logaritmik. Untuk membedakan potensiometer linier dan logaritmik cukup melihat kode huruf yang mana huruf A menandakan potensiometer linier sedangkan huruf B menandakan potensiometer logaritmik.

Gambar : Simbol potensiometer

B. Preset Resistor atau Trimpot

Preset Resistor atau sering juga disebut dengan Trimpot (Trimmer Potensiometer) adalah jenis Variable Resistor yang berfungsi seperti Potensiometer tetapi memiliki ukuran yang lebih kecil dan tidak memiliki Tuas. Untuk mengatur nilai resistansinya, dibutuhkan semacam obeng kecil untuk memutar porosnya. Sifat dan fisik trimpot sebenarnya sama dengan potensiometer yang membedakan ukuran trimpot jauh lebih kecil. Perubahan nilai resistansi trimpot juga dibagi menjadi 2, yakni linier dan logaritmik, dengan tanda huruf A untuk trimpot linier dan huruf B untuk trimpot logaritmik.

Gambar : Beberapa model trimpot

Gambar : Simbol trimpot


C. Rheostat

Rheostat merupakan jenis jenis Variable Resistor yang dapat beroperasi pada Tegangan dan Arus yang tinggi. Rheostat terbuat dari lilitan kawat resistif dan pengaturan Nilai Resistansi dilakukan dengan penyapu yang bergerak pada bagian atas Toroid

Gambar : Rheostat dan simbolnya


D. VDR (Voltage Dependent Resistor)

Voltage dependent resistor atau di singkat VDR, adalah sebuah resistor tidak tetap yang nilai resistansinya akan berubah tergantung dari tegangan yang diterimanya. Sifat dari VDR adalah semakin besar tegangan yang diterima, maka nilai tahanannya akan semakin mengecil, sehingga arus yang melaluinya akan semakin besar.

Gambar : VDR (Voltage Dependent Resistor)

E. Thermistor (Thermal Resistor)

Thermistor adalah jenis resistor yang nilai resistansinya dapat berubah karena dipengaruhi oleh Suhu atau Temperature. Terdapat 2 jenis thermistor yaitu :

PTC (Positive Temperature Coefficient)

Thermistor jenis PTC yang memiliki nilai resistansi berbanding lurus dengan nilai temperatur di sekelilingnya. sehingga PTC akan mengalami kenaikan nilai resistensinya apabila suhu atau temperatur disekelilingnya naik. PTC sering digunakan sebagai sensor suhu, contoh sensor yang cukup terkenal adalah sensor suhu LM35.

NTC (Negative Temperature Coefficient).

Thermistor jenis NTC adalah kebalikan dari PTC, sehingga NTC akan mengalami penurunan nilai resistensinya apabila suhu atau temperatur disekelilingnya naik. NTC juga sering digunakan sebagai sensor untuk mendeteksi suhu seperti pada sensor DHT11 dan DHT22.

Gambar : Thermistor dan simbolnya

F. LDR (Light Dependent Resistor)

LDR atau light depending resisitor merupakan resistor peka cahaya atau biasa disebut dengan fotoresistor. Karakteristik dari LDR adalah nilai resistansinya dapat berubah karena dipengaruhi oleh intensitas cahaya yang diterimanya. Hal ini disebabkan karena adanya intensitas cahaya mengenai permukaan LDR dan mendorong elektron untuk menembus batas-batas pada LDR. Nilai resistansi pada LDR akan naik apabila intensitas cahaya yang diterima sedikit begitu juga sebaliknya apabila intensitas cahaya yang diterima besar maka nilai resistansi pada LDR akan turun. LDR sering digunakan sebagai sensor cahaya seperti pada lampu taman dan lampu penerangan jalan.

Gambar : LDR dan simbolnya
Share:

HALO

Haloooooo

Pengikut