Horas.....horas....horas.......!!.... terima kasih atas kunjungannya salam kenal dan kompak selalu..


Rabu, 06 Mei 2009

Membuat Robot


Sesuai dengan tulisan pertama, disini saya akan membahas tentang Robot Cerdas Pemadam Api terkhusus yang sesuai spesifikasi KRCI.

Apa itu KRCI?

KRCI kepanjangan dari Kontes Robot Cerdas Indonesia. Kontes ini mulai diselenggarakan pada tahun 2004 bersamaan dengan pelaksanaan Kontes Robot Indonesia (KRI).

Kontes ini awalnya diusulkan oleh dosen ITB untuk mengimbangi KRI yang selalu didominasi oleh PENS-ITS dan Politeknik. Ternyata pada prakteknya KRCI tetap didominasi oleh Politeknik.

KRCI mengadopsi peraturan dari kontes robot pemadam api di Connecticut, Amerika. Dalam kontes ini sebuah robot berukuran maksimal 31 x 31 x 31 cm harus bisa memadamkan api lilin yang ditempatkan acak pada sebuah miniatur rumah dan kembali ke base (tempat start). Yang dinilai disini adalah kecepatan robot dalam menyelesaikan tugasnya.

image0022.jpg

Sebuah robot bersiap-siap didalam arena pertandingan

KRCI ini dibagi menjadi 2 divisi utama: senior dan expert. Senior dibagi lagi menjadi 2 beroda dan berkaki, adapun expert juga dibagi menjadi 2 single dan swarm. Divisi expert sendiri baru dimulai sejak tahun 2005 dan swarm baru dimulai pada tahun 2007. Tahun 2004 KRCI diselenggarakan di Balairung UI Depok diikuti oleh 14 peserta, 12 beroda dan 2 berkaki.

  1. S.M.A.R.T.1 - Institut Sains & Teknologi AKRPIND Yogyakarta – Beroda
  2. RADJA - Institut Teknologi Bandung – Beroda
  3. Fathonah - Politeknik Elektronika Negeri Surabaya – Beroda
  4. Kan_@yakan21 - Politeknik Manufaktur Bandung – Beroda
  5. EVO 113 - Politeknik Negeri Bandung – Beroda
  6. FIRE MOUSE - Universitas Bina Nusantara Jakarta – Beroda
  7. F R E E - Universitas Gajah Mada Yogyakarta – Beroda
  8. Zomblow - Universitas Indonesia Jakarta – Beroda
  9. F2R-UMJ - Universitas Muhammadyah Jember – Beroda
  10. EZI Universitas Negeri Jember – Beroda
  11. LOTUS TEAM - Universitas Negeri Malang –Beroda
  12. Smart Visy - Universitas Surabaya - Beroda
  13. Arachid - Universitas Surabaya – Berkaki
  14. IR-HEX - Institut Teknologi Sepuluh Nopember Surabaya – Berkaki

Pada KRCI ini kategori beroda dimenangkan oleh Evo 113 dan berkaki oleh Arachnid.

image006.jpg

Arachnid dari Universitas Surabaya, Juara 1 KRCI 2004 Divisi Senior Berkaki

image0041.jpg

Evo 113 dari Polban, Juara 1 KRCI 2004 Divisi Senior Beroda

Pada KRCI kali ini hanya Evo 113 yang berhasil dengan sempurna menyelesaikan tuugasnya dengan waktu yang relatif cepat dan bisa kembali ke tempat start.

Ada cerita menarik dibalik sukses Evo 113.

Langkah Evo 113 menjadi jawara KRCI tidak mulus, setidaknya ada 2 kendala serius yang dialami oleh Robot ini. Pertama adalah rusaknya sensor api yang dimiliki oleh Evo 113 sehingga harus melibatkan istri dari sang dosen pembimbing untuk mengantar spare part dari Bandung ke Jakarta pada jam 11.00 malam. Kedua adalah rusaknya microcontroller robot sehingga harus mengorbankan robot otomatis tim KRI Polban (dan itu adalah robot punya saya, hiks hiks hiks).

Contoh Program Sederhana Robot Pemadam Api (KRCI) dengan BS2 dan OOPIC

Dibuat oleh Mr. Widodo

HP:08569887384

Helo, jika Anda ingin membuat robot cerdas, bahkan ingin mencoba untuk mengikuti KRCI, maka ada beberapa masukan dari saya, antara lain :

  1. Gunakan mikrokontroler yang memiliki fitur yang memuaskan dengan kemampuan memory yang besar, mikro seperti ATMega8535, BasicMicro, dan OOPIC dapat dicoba.
  2. Gunakan Sensor yang berkualitas dengan jumlah yang memadai, semakin banyak sensor dengan algoritma yang bagus semakin baik.
  3. Gunakan sensor penting lainnya seperti UVTRON, TPA81 Thermal array, sharp GP2D02 dll.
  4. Gunakan motor dc atau servo motor kecepatan tinggi dan daya yang besar seperti Hitech, minimal servo continuous parallax, atau mini servo MX35.
  5. Software yang paling enak untuk belajar dari dasar dan gak ruwet, cobalah basic stamp, kalau ingin bahasa assembly, kuasai dulu pemrograman assembly dasar.

Berikut dasar pseudocode konsep membuat robot cerdas

MULAI

INISIALISASI VARIABLE

PANGGIL FUNGSI BACASENSORSHARP
PANGGIL FUNGSI BACAULTRASONIC

PANGGIL FUNGSI BACASENSORAPI

PANGGIL FUNGI SERVOMAJU

BACA SENSOR LAGI

JIKA ADA PENGHALANG DI KIRI BELOK KANAN

JIKA ADA PENGHALAN DI KANAN BELOK KIRI

JIKA NILAI AMBANG API TERCAPAI, BERHENTI

HIDUPKAN KIPAS PEMADAM

DST

Anda dapat bersilahturahmi ke Mr. Widodo untuk melihat contoh robot GATOT KACA yang akan diikutsertakan di KRCI.

KRCI.BS2

'{$STAMP BS2p}

'{$PBASIC 2.5}

' Robot Pemadam Api

'

ping PIN 7

#SELECT $stamp

#CASE BS2,BS2E

trigger CON 5

scale CON $200

#CASE BS2SX, BS2P, BS2PX

trigger CON 13

scale CON $0cd

#ENDSELECT

rawtoin CON 889

rawtocm CON 2257

isHigh CON 1

isLow CON 0

rawDist VAR Word

inches VAR Word

cm VAR Word

val01 VAR Byte ' sensor sebelah kanan

val02 VAR Byte ' sensor sebelah kiri

i VAR Byte ' count variable for loop

'--------------------------------------------------------

' deklarasi konstanta

cl CON 14 ' pin 14 is output (clock) pada sensor Sharp GP2D02 sebelah kanan

dt CON 15 ' pin 15 is the input (data)

c2 CON 12 ' pin 12 is output (clock) pada sensor Sharp GP2D02 sebelah kiri

dt2 CON 13 'pin 13 is the input

'--------------------------------------------------------

' I/O pin setup for detector

INPUT dt ' make pin 15 the input

INPUT dt2

HIGH cl ' make pin 14 output and high

HIGH c2

wDist VAR Word

wDistkanan VAR Word

wDistkiri VAR Word

'sensor srf04 sebelah kanan

INITSRFKANAN CON 10

ECHOSRFKANAN CON 11

'sensor srf04 sebelah kiri

INITSRFKIRI CON 6

ECHOSRFKIRI CON 8

'sensor srf04 belakang robot

INIT CON 4

ECHO CON 5

' berjalan 1 arah 1 uS

'jarak=(echo time)/ faktor konversi

'gunakan 74 inchi (73.74 uS per inchi)

'gunakan 29 untuk sentimeter ( 29.033 per 1 cm)

convfac CON 74 ' use inches

counter VAR Byte

main:

GOSUB PingDepan

inches=rawDist ** RawToIn

cm=rawDist ** RawToCm

DEBUG CRSRXY, 15, 3,

DEC rawDist, CLREOL,

CRSRXY, 15,4,

DEC inches, CLREOL,

CRSRXY, 15,5,

DEC cm, CLREOL

PAUSE 100

GOSUB sr_sonar ' baca jarak depan

GOSUB sharp ' baca jarak sisi samping

DEBUG "Sensor SRF04 belakang:"

DEBUG DEC wDist, CR

DEBUG "Sensor SRF04 kanan:"

DEBUG DEC wDistKanan, CR

DEBUG "Sensor SRF04 kiri:"

DEBUG DEC wDistKiri, CR

jika di depan gak ada halangan dan cukup jauh >30cm

IF cm >30 AND val01 <145>

'maju terus

FOR counter = 1 TO 30

PULSOUT 0,1000arah putaran servo continuous Parallax

PULSOUT 1,3500

PAUSE 2

NEXT

ENDIF

'jika ada halangan dan sebelah kiri sempit

IF cm<=30 AND val01<140 class="SpellE">wdistKiri < class="SpellE">wdistKanan>8 THEN

'mundur dulu

FOR counter = 1 TO 50

PULSOUT 1,1000

PULSOUT 0,3500

PAUSE 2

NEXT

''belok kanan

FOR counter=1 TO 120

PULSOUT 1,3500

PAUSE 2

NEXT

ELSE

'selain dari itu

'maju dikit

FOR counter = 1 TO 20

PULSOUT 0,1000

PULSOUT 1,3500

PAUSE 2

NEXT

IF cm<=30 AND (wdistKiri < wdistKanan) THEN

'mundur dulu

FOR counter = 1 TO 50

PULSOUT 1,1000

PULSOUT 0,3500

PAUSE 2

NEXT

''belok kanan

FOR counter=1 TO 120

PULSOUT 1,3500

PAUSE 2

NEXT

ELSE

'selain dari itu

'maju dikit

FOR counter = 1 TO 20

PULSOUT 0,1000

PULSOUT 1,3500

PAUSE 2

NEXT

ENDIF

ENDIF

'jika ada halangan dan sebelah kanan sempit

IF cm<=30 AND wDistKiri >8 AND wDistKanan<8>

'mundur dulu

FOR counter = 1 TO 50

PULSOUT 1,1000

PULSOUT 0,3500

PAUSE 10

NEXT

'belok kiri

FOR counter=1 TO 120

PULSOUT 0,1000

PAUSE 10

NEXT

IF cm<=30 AND val02 <140 class="SpellE">wdistKiri > wdistKanan) THEN

'mundur dulu

FOR counter = 1 TO 50

PULSOUT 1,1000

PULSOUT 0,3500

PAUSE 2

NEXT

'belok kiri

FOR counter=1 TO 120

PULSOUT 0,1000

PAUSE 10

NEXT

ELSE

'selain dari itu

'maju dikit

FOR counter = 1 TO 20

PULSOUT 0,1000

PULSOUT 1,3500

PAUSE 2

NEXT

ENDIF

ENDIF

GOTO main

‘sensor ping di pasang di depan robot

PingDepan:

ping =IsLow

PULSOUT ping, trigger

PULSIN ping, isHigh, rawDist

rawDist=rawDist */Scale

rawDist =rawDist/2

RETURN

inches=rawDist ** RawToIn

cm=rawDist ** RawToCm

DEBUG CRSRXY, 15, 3,

DEC rawDist, CLREOL,

CRSRXY, 15,4,

DEC inches, CLREOL,

CRSRXY, 15,5,

DEC cm, CLREOL

PAUSE 100

sensor SRF04

sr_sonar:

PULSOUT INIT,5 ' 10us init pulse

PULSIN ECHO,1,wDist ' measure echo time

wDist=wDist/convfac ' convert to inches

PULSOUT INITSRFKANAN,5

PULSIN ECHOSRFKANAN, 1, WDistkanan

WdistKanan=wDistKanan/convfac

PULSOUT initSRFKIRI,5

PULSIN ECHOSRFKIRI,1 ,wDistKiri

WDistKiri=wDistKiri/convfac

RETURN

sensor SHARP

sharp:

GOSUB read01 ' call measurement routine

GOSUB read02

DEBUG "Sensor 1:"

DEBUG DEC val01, CR ' display the value

DEBUG "Sensor 2:"

DEBUG DEC val02, CR

PAUSE 10

RETURN

read01:

LOW cl ' turn on detector for reading

rl:

IF IN15 = 0 THEN rl ' wait for input high

SHIFTIN dt, cl, MSBPOST, [val01]

HIGH cl ' turn detector off

PAUSE 1 ' let detector reset

RETURN

read02:

LOW c2 ' turn on detector for reading

r2:

IF IN13 = 0 THEN r2 ' wait for input high

SHIFTIN dt2, c2, MSBPOST, [val02]

HIGH c2 ' turn detector off

PAUSE 1 ' let detector reset

RETURN

UVTRON.OSC

'

' UVTron Example for OOPic

'

dim uvOut as new oDio1 ' flame indicator

dim uvIn as new oDio1 ' UVTron input

dim uvPEvent as new oEvent ' UV pulse event

dim uvTEvent as new oEvent ' 1-second timer event

dim uvGate1 as new oGate ' UV event buffer

dim uvGate2 as new oGate ' Timer event buffer

dim uvCt as new oByte ' user pulse ct

dim uvCtx as new oByte ' temporary pulse ct

sub main()

call inituv

uvOut.ioline=17

uvOut.direction=cvOutput

do

if (uvCt >= 4) then

uvOut=1

else

uvOut=0

end if

loop

end sub

'------------------------------------------------------

' Event-Driven UVTron Monitoring routines

' uvCt is number of UVTron pulses per second

' (4 is a good flame threshold for stock UVTron)

'

sub inituv()

uvIn.ioline=8

uvIn.direction=cvInput

uvGate1.input1.link(uvIn)

uvGate1.output.link(uvPEvent.operate)

uvGate1.operate=cvtrue

uvGate2.input1.link(oopic.hz1)

uvGate2.output.link(uvTEvent.operate)

uvGate2.operate=cvtrue

uvCtx=0

uvCt=0

end sub

sub uvPEvent_code()

uvCtx=uvCtx+1

end sub

sub uvTEvent_code()

uvCt=uvCtx

uvCtx=0

end sub

Harga OOPI II+ Starter Package Rp 1.4jt.

Harga Kit Robot diatas 1.25 Jt (kit mikro BS2,2 servo, 1 ping dan body robot) ongkos kirim 30rb.

Membuat Robot Explorer Hexapod

(Artikel lengkap baca pada majalah Elkom ed 4)

widodo1.JPG

Widodo Budiharto

Guest Professor Univ. de Bourgogne, Prancis

Pendahuluan

Pada proyek robot kali ini, penulis memaparkan cara membuat robot berkaki 6 (hexapod) menggunakan 3 buah sensor, yaitu 1 sensor jarak SRF04 (Sonar Range Finder) dan 2 bh Sharp GP2D12. Dijamin dechhh penasaran dan menarik untuk dicoba J.

Blok Rangkaian

Robot ini bergerak berdasarkan informasi dari ketiga sensor jarak. Robot ini diharapkan dapat melakukaneksplorasike daerah yang dilaluinya, untuk memberikan informasi kepemiliknyamenggunakan kamera wireless misalnya, oleh karena itu robot ini dinamakan Explorer Hexapod. Gambar di bawah ini menampilkan blok rangkaian yang akan dibuat:




Gambar 1. Blok rangkaian robot Explorer Hexapod

Bahanbahan

Berikut ini ialah bahanbahan yang diperlukan, yang paling penting tentunya ialah kerangka dari kaki hexapod ini, yang dapat Anda buat sendiri atau membeli kit yang sudah jadi :

1. 2 buah servo motor HS311

2. Body dan kaki hexapod

(Dapat membeli kit kaki hexapod lengkap dengan 2 bh servo HS311)

3. Min. System ATmega 8535, ATmega16 atau Atmega32

4. Driver Motor DC 293D/ deKits SPC DC Motor

5. 1 sensor jarak ultrasonic SRF 04 (jarak 3cm-3m)

6. 2 sensor jarak infrared SharpGP2D12(10cm -80cm)

7. Tempat baterai 9V 2bh

Berikut ini ialah konstruksi dari kaki hexapod standar, yang digerakkan dari putaran motor servo continuous. Servo ini dikendalikan dari port B.0-3 melalui Driver motor yaitu kit DC motor Driver menggunakan IC L293D (dapat menggunakan juga kit dekits SPC DC Motor) atau jika ingin lebih kuat lagi menggunakan IC H bridge L298. Perlu diingat, kaki servo ini ada 3 pin, cukup gunakan 2 kaki yang menggerakan motor DC di dalam servo tersebut saja.




Gambar 2. Susunan sisi kaki hexapod

Servo HS311 merupakan servo dengan torsi yang cukup besar untuk menggerakkan robot dengan beban maksimal 1.5kg.

Cara kerja

Pertama, kita lihat dulu bagian sensor. Sensor SRF04 digunakan untuk mengetahui jarak depan robot, apakah ada penghalang atau tidak, yang mampu mendeteksi jarak dari 3cm hingga 3 meter. Sensor ini bekerja berdasarkan prinsip gelombang ultrasonic. Pencari jarak ini bekerja dengan cara memancarkan pulsa suara dengan kecepatan suara (0.9 ft/milidetik) berfrekwensi 40 KHz. Keluaran sensor ini dihubungkan ke Port C.0 dan Port C.1, dan dengan nilai trigger input sebesar 10 uS pada pulsa TTL. Alasan mengapa digunakan sensor ini, ialah karena sensor jarak ini paling banyak digunakan pada Kontes Robot Cerdas di Indonesia, sehingga pembaca pemula menjadi familiar. Anda dapat menambah sensor ini hingga 4 buah untuk digunakan pada sisi kanan, kiri dan belakang robot biar lebih akurat.

Gambar 3. Susunan kaki SRF04

Sedangkan 2 sensor infrared GP2D12 di sisi samping kanan dan kiri dapat mengukur jarak sejauh 10cm- 80cm dengan output analog, sehingga dapat langsung dihubungkan ke port A.0 dan port A.1 dari mikrokontroler AVR tersebut. Karakteristik dari sensor ini tidak linear, oleh karena itu idealnya perlu digunakan look up table untuk mengolah raw data dari sensor tersebut.

Hasil pembacaan sensor-sensor jarak ini diolah oleh mikrokontroler, untuk memutuskan gerakan yang akan dilakukan apakah maju, mundur atau belok. Dengan memutarnya servo, menyebabkan bagian kaki yang terhubung ke servo bergerak bergantian sehingga robot dapat berjalan.

Explorer.bas:

‘Program Demo Robot Explorer Hexapod

‘By Mr. Widodo Budiharto

‘Univ. de Bourgogne 2007

deklarasi fungsi dan variabel

Declare Sub Initialize_ultrasonic()

Declare Function Ultrasonic_depan() As Integer

Dim Jarakdepan As Integer

Dim Jaraksampingkanan As Word

Dim Jaraksampingkiri As Word

Dim W As Word

Config Portb = Output

Config Portd = Input

Config Portc = Output

Config Adc = Single , Prescaler = Auto , Reference = Avcc 'konfigurasi ADC

Start Adc

Call Initialize_ultrasonicpanggil fungsi

Do

baca SRF04 untuk jarak depan

Print "jarak sampingkiri" ; Jaraksampingkiri

‘Demo jika ada halangan, maka belok kiri

If Jarakdepan > 40 Then

Portb = 8 'maju

Wait 2 ‘delay

Else if jarak depan <40 class="SpellE">jaraksampingkanan >150 then

Portb = 0 'belok kiri

Wait 2

End If

Loop

End

Function Ultrasonic_depan() As Integer

' set initial state pin trigger

' buat pulsa 5us @ 4 MHz

' ukur return pulse

End Function

Sub Initialize_ultrasonic inisialisasi sensor ultrasonik

End Sub

Gambar berikut merupakan hasil yang sudah jadi yang dapat berjalan dengan cukup cepat dan kuat karena menggunakan servo torsi tinggi dari Hitec.

A. B.

Gambar 4. Robot in action a). Tampak samping b). Tampak depan

Pengembangan Selanjutnya

Untuk keperluan riset atau hobi, Anda dapat menambahkan kemampuan Artificial Intelligent menggunakan Fuzzy Logic, Algoritma Genetic atau Neural Network, agar robot ini menjadi robot yang cerdas. Silahkan baca artikel selanjutnya mengenai Neural Network di majalah kesayangan Anda ini.

Daftar Pustaka:

1. www.atmel.com

2. www.acroname.com

3. www.hitec.com

4. Delta Hexapod robot

5. Situs-situs dan buku pendukung lainnya.


skema elektro

Hanya dengan 10 komponen elektronika berharga murah sudah cukup untuk menciptakan sebuah kebisingan berupa suara sirine / alarm anti serangan gelap! Cukup sederhana dan cocok buat praktek belajar elektronika bagi para pemula. Skema rangkaiannya silahkan lihat langsung pada gambar di atas, sedangkan daftar komponen yang diperlukan serta PCB untuk menciptakan 'suara berisik' ini silahkan lihat di bawah (klik gambarnya untuk memperbesar tampilan).

Saya yakin kamu tidak akan kesulitan untuk merakit mini alarm ini. Jangan lupa tegangan catu yang dibutuhkan adalah tegangan DC antara 3 hingga 6 volt saja. Jika lebih dari 6 volt suara yang dikeluarkan memang semakin keras tapi transistor Tr2 akan panas dan cepat rusak. Dioda D berfungsi sebagai pencegah frekuensi osilasi alarm di-short-kan oleh catu daya sekaligus sebagai pengaman jika polaritas catu daya yang kita gunakan terpasang terbalik.
Laju lantingan alarm bisa kita atur dengan memutar VR. Jika ingin merubah frekuensi alarm bisa dengan mengganti nilai kapasitor C1. Makin besar nilai C1 akan makin rendah nada frekuensi alarmnya. Gimana bunyi sebenarnya silahkan aja langsung dirakit dan nikmati nada 'indah' yang dihasilkannya nanti... :-D.

Rangkaian sederhana power supply 12 V



Gambar rangkaian di atas dapat anda aplikasikan untuk membuat adaptor atau power suplly dengan tegangan keluaran (V output 12V DC). Power supply di atas hanya dilindungi oleh capasitor sebagai pengaman apabila power supply ini dihubungkan dengan beban pada rangkaian. Maka dari itu saya sarankan memakai capasitor dengan minimal spesifikasi 35V. Untuk daya pengaman power supply yang lebih kita bisa menggunakkan transistor TIP, tapi saya belum membahasnya. Untuk dioda bridge dapat anda susun dari 4 dioda kemudian anda solder menjadi satu bridge rectifier atau anda dapat membeli jadi bridge rectifier yang berbentuk sisir (menyamping) atau kotak. Paling tidak dioda bridge saya sarankan memakai 1 Ampere, dalam rangkaian adaptor, semakin besar ampere diodanya semakin bagus jalannya arus di dalam rangkaian. Dioda bagaikan jalan tol, dan arus sebagai mobil yang melewatinya. Semakin besar dan lebar jalan tol yang ada, semakin cepat arus berjalan dan melalui rangkaian.

Untuk rangkaian power supply 5 V, anda dapat mengganti volt regulator di atas dengan tipe 7805 dan 7905. Aplikasi ini berlaku sama pada rangkaian ini. Untuk variasi rangkaian seperti fuse ataupun switch on/off dapat anda coba sendiri.

+ Transformator 18 V – CT minimal 1 A

+ Capasitor minimal 35 V


Power Supply (Catu Daya)

Power Supply (Catu Daya)

1. Prinsip Kerja Catu Daya Linear

Perangkat elektronika mestinya dicatu oleh suplai arus searah DC (direct current) yang stabil agar dapat bekerja dengan baik. Baterai atau accu adalah sumber catu daya DC yang paling baik. Namun untuk aplikasi yang membutuhkan catu daya lebih besar, sumber dari baterai tidak cukup. Sumber catu daya yang besar adalah sumber bolak-balik AC (alternating current) dari pembangkit tenaga listrik. Untuk itu diperlukan suatu perangkat catu daya yang dapat mengubah arus AC menjadi DC. Pada tulisan kali ini disajikan prinsip rangkaian catu daya (power supply) linier mulai dari rangkaian penyearah yang paling sederhana sampai pada catu daya yang ter-regulasi.

2. PENYEARAH (RECTIFIER)

Prinsip penyearah (rectifier) yang paling sederhana ditunjukkan pada gambar-1 berikut ini. Transformator (T1) diperlukan untuk menurunkan tegangan AC dari jala-jala listrik pada kumparan primernya menjadi tegangan AC yang lebih kecil pada kumparan sekundernya.

Rangkaian Penyearah

Pada rangkaian ini, dioda (D1) berperan hanya untuk merubah dari arus AC menjadi DC dan meneruskan tegangan positif ke beban R1. Ini yang disebut dengan penyearah setengah gelombang (half wave). Untuk mendapatkan penyearah gelombang penuh (full wave) diperlukan transformator dengan center tap (CT) seperti pada gambar-2.

Gelombang Penuh

Tegangan positif phasa yang pertama diteruskan oleh D1 sedangkan phasa yang berikutnya dilewatkan melalui D2 ke beban R1 dengan CT transformator sebagai common ground.. Dengan demikian beban R1 mendapat suplai tegangan gelombang penuh seperti gambar di atas. Untuk beberapa aplikasi seperti misalnya untuk men-catu motor dc yang kecil atau lampu pijar dc, bentuk tegangan seperti ini sudah cukup memadai. Walaupun terlihat di sini tegangan ripple dari kedua rangkaian di atas masih sangat besar.

Gelombang Setengah dengan Filter C

Gambar 3 adalah rangkaian penyearah setengah gelombang dengan filter kapasitor C yang paralel terhadap beban R. Ternyata dengan filter ini bentuk gelombang tegangan keluarnya bisa menjadi rata. Gambar-4 menunjukkan bentuk keluaran tegangan DC dari rangkaian penyearah setengah gelombang dengan filter kapasitor. Garis b-c kira-kira adalah garis lurus dengan kemiringan tertentu, dimana pada keadaan ini arus untuk beban R1 dicatu oleh tegangan kapasitor. Sebenarnya garis b-c bukanlah garis lurus tetapi eksponensial sesuai dengan sifat pengosongan kapasitor.

Bentuk Gelombang

Kemiringan kurva b-c tergantung dari besar arus (I) yang mengalir ke beban R. Jika arus I = 0 (tidak ada beban) maka kurva b-c akan membentuk garis horizontal. Namun jika beban arus semakin besar, kemiringan kurva b-c akan semakin tajam. Tegangan yang keluar akan berbentuk gigi gergaji dengan tegangan ripple yang besarnya adalah :

Vr = VM -VL

dan tegangan dc ke beban adalah Vdc = VM + Vr/2

Rangkaian penyearah yang baik adalah rangkaian yang memiliki tegangan ripple (Vr) paling kecil. VL adalah tegangan discharge atau pengosongan kapasitor C, sehingga dapat ditulis :

VL = VM e -T/RC

Jika persamaan (3) disubsitusi ke rumus (1), maka diperole

Vr = VM (1 - e -T/RC)

Jika T <<>-T/RC  1 - T/RC

sehingga jika ini disubsitusi ke rumus (4) dapat diperoleh persamaan yang lebih sederhana :

Vr = VM(T/RC)

VM/R tidak lain adalah beban I, sehingga dengan ini terlihat hubungan antara beban arus I dan nilai kapasitor C terhadap tegangan ripple Vr. Perhitungan ini efektif untuk mendapatkan nilai tegangan ripple yang diinginkan.

Vr = I T/C

Rumus ini mengatakan, jika arus beban I semakin besar, maka tegangan ripple akan semakin besar. Sebaliknya jika kapasitansi C semakin besar, tegangan ripple akan semakin kecil. Untuk penyederhanaan biasanya dianggap T=Tp, yaitu periode satu gelombang sinus dari jala-jala listrik yang frekuensinya 50Hz atau 60Hz. Jika frekuensi jala-jala listrik 50Hz, maka T = Tp = 1/f = 1/50 = 0.02 det. Ini berlaku untuk penyearah setengah gelombang. Untuk penyearah gelombang penuh, tentu saja frekuensi gelombangnya dua kali lipat, sehingga T = 1/2 Tp = 0.01 det.

Penyearah gelombang penuh dengan filter C dapat dibuat dengan menambahkan kapasitor pada rangkaian gambar 2. Bisa juga dengan menggunakan transformator yang tanpa CT, tetapi dengan merangkai 4 dioda seperti pada gambar-5 berikut ini.

Gelombang Penuh dengan Filter C

Sebagai contoh, anda mendisain rangkaian penyearah gelombang penuh dari catu jala-jala listrik 220V/50Hz untuk mensuplai beban sebesar 0.5 A. Berapa nilai kapasitor yang diperlukan sehingga rangkaian ini memiliki tegangan ripple yang tidak lebih dari 0.75 Vpp. Jika rumus (7) dibolak-balik maka diperoleh.

C = I.T/Vr = (0.5) (0.01)/0.75 = 6600 uF

Untuk kapasitor yang sebesar ini banyak tersedia tipe elco yang memiliki polaritas dan tegangan kerja maksimum tertentu. Tegangan kerja kapasitor yang digunakan harus lebih besar dari tegangan keluaran catu daya. Anda barangkali sekarang paham mengapa rangkaian audio yang anda buat mendengung, coba periksa kembali rangkaian penyearah catu daya yang anda buat, apakah tegangan ripple ini cukup mengganggu. Jika dipasaran tidak tersedia kapasitor yang demikian besar, tentu bisa dengan memparalel dua atau tiga buah kapasitor.

3. Voltage Regulator

Rangkaian penyearah sudah cukup bagus jika tegangan ripple-nya kecil, namun ada masalah stabilitas. Jika tegangan PLN naik/turun, maka tegangan outputnya juga akan naik/turun. Seperti rangkaian penyearah di atas, jika arus semakin besar ternyata tegangan dc keluarnya juga ikut turun. Untuk beberapa aplikasi perubahan tegangan ini cukup mengganggu, sehingga diperlukan komponen aktif yang dapat meregulasi tegangan keluaran ini menjadi stabil.

Regulator Voltage berfungsi sebagai filter tegangan agar sesuai dengan keinginan. Oleh karena itu biasanya dalam rangkaian power supply maka IC Regulator tegangan ini selalu dipakai untuk stabilnya outputan tegangan.

Berikut susunan kaki IC regulator tersebut.

IC Regulator

Misalnya 7805 adalah regulator untuk mendapat tegangan +5 volt, 7812 regulator tegangan +12 volt dan seterusnya. Sedangkan seri 79XX misalnya adalah 7905 dan 7912 yang berturut-turut adalah regulator tegangan -5 dan -12 volt.

Selain dari regulator tegangan tetap ada juga IC regulator yang tegangannya dapat diatur. Prinsipnya sama dengan regulator OP-amp yang dikemas dalam satu IC misalnya LM317 untuk regulator variable positif dan LM337 untuk regulator variable negatif. Bedanya resistor R1 dan R2 ada di luar IC, sehingga tegangan keluaran dapat diatur melalui resistor eksternal tersebut.

Rangkaian regulator yang paling sederhana ditunjukkan pada gambar 6. Pada rangkaian ini, zener bekerja pada daerah breakdown, sehingga menghasilkan tegangan output yang sama dengan tegangan zener atau Vout = Vz. Namun rangkaian ini hanya bermanfaat jika arus beban tidak lebih dari 50mA.

Regulator Zener

Prinsip rangkaian catu daya yang seperti ini disebut shunt regulator, salah satu ciri khasnya adalah komponen regulator yang paralel dengan beban. Ciri lain dari shunt regulator adalah, rentan terhadap short-circuit. Perhatikan jika Vout terhubung singkat (short-circuit) maka arusnya tetap I = Vin/R1. Disamping regulator shunt, ada juga yang disebut dengan regulator seri. Prinsip utama regulator seri seperti rangkaian pada gambar 7 berikut ini. Pada rangkaian ini tegangan keluarannya adalah:

Vout = VZ + VBE

VBE adalah tegangan base-emitor dari transistor Q1 yang besarnya antara 0.2 - 0.7 volt tergantung dari jenis transistor yang digunakan. Dengan mengabaikan arus IB yang mengalir pada base transistor, dapat dihitung besar tahanan R2 yang diperlukan adalah :

R2 = (Vin - Vz)/Iz

Iz adalah arus minimum yang diperlukan oleh dioda zener untuk mencapai tegangan breakdown zener tersebut. Besar arus ini dapat diketahui dari datasheet yang besarnya lebih kurang 20 mA.

Regulator Zener Follower

Jika diperlukan catu arus yang lebih besar, tentu perhitungan arus base IB pada rangkaian di atas tidak bisa diabaikan lagi. Dimana seperti yang diketahui, besar arus IC akan berbanding lurus terhadap arus IB atau dirumuskan dengan IC = bIB. Untuk keperluan itu, transistor Q1 yang dipakai bisa diganti dengan transistor Darlington yang biasanya memiliki nilai b yang cukup besar. Dengan transistor Darlington, arus base yang kecil bisa menghasilkan arus IC yang lebih besar.

Teknik regulasi yang lebih baik lagi adalah dengan menggunakan Op-Amp untuk men-drive transistor Q, seperti pada rangkaian gambar 8. Dioda zener disini tidak langsung memberi umpan ke transistor Q, melainkan sebagai tegangan referensi bagi Op-Amp IC1. Umpan balik pada pin negatif Op-amp adalah cuplikan dari tegangan keluar regulator, yaitu :

Vin(-) = (R2/(R1+R2)) Vout

Jika tegangan keluar Vout menaik, maka tegangan Vin(-) juga akan menaik sampai tegangan ini sama dengan tegangan referensi Vz. Demikian sebaliknya jika tegangan keluar Vout menurun, misalnya karena suplai arus ke beban meningkat, Op-amp akan menjaga kestabilan di titik referensi Vz dengan memberi arus IB ke transistor Q1. Sehingga pada setiap saat Op-amp menjaga kestabilan :

Vin(-) = Vz

Regulator dengan OPM

Dengan mengabaikan tegangan VBE transistor Q1 dan mensubsitusi rumus (11) ke dalam rumus (10) maka diperoleh hubungan matematis :

Vout = ( (R1+R2)/R2) Vz

Pada rangkaian ini tegangan output dapat diatur dengan mengatur besar R1 dan R2.

Sekarang mestinya tidak perlu susah payah lagi mencari op-amp, transistor dan komponen lainnya untuk merealisasikan rangkaian regulator seperti di atas. Karena rangkaian semacam ini sudah dikemas menjadi satu IC regulator tegangan tetap. Saat ini sudah banyak dikenal komponen seri 78XX sebagai regulator tegangan tetap positif dan seri 79XX yang merupakan regulator untuk tegangan tetap negatif. Bahkan komponen ini biasanya sudah dilengkapi dengan pembatas arus (current limiter) dan juga pembatas suhu (thermal shutdown). Komponen ini hanya tiga pin dan dengan menambah beberapa komponen saja sudah dapat menjadi rangkaian catu daya yang ter-regulasi dengan baik.

Regulator dengan IC

Hanya saja perlu diketahui supaya rangkaian regulator dengan IC tersebut bisa bekerja, tegangan input harus lebih besar dari tegangan output regulatornya. Biasanya perbedaan tegangan Vin terhadap Vout yang direkomendasikan ada di dalam datasheet komponen tersebut. Pemakaian heatshink (aluminium pendingin) dianjurkan jika komponen ini dipakai untuk men-catu arus yang besar. Di dalam datasheet, komponen seperti ini maksimum bisa dilewati arus mencapai 1 A.