Download

11/30/2012

MEMBUAT AMPLIFIER BTL


Kalau Ampli jaman dulu kata master saya pakai IT dan OT. IT (Input Transformers) sebagai jembatan masukan pada Amplifier tersebut. OT (Output Transformers) sebagai jembatan output Amplifier tersebur ke speker nya. Rata-rata Ampli model ini banyak di gunakan pada jaman tabung, bukan jaman batu, hehehe...  setelah muncul Transistor maka Ampli model tersebut mulai ditinggalkan. Tapi saya perhatikan ada juga Model IT/OT yang diterapkan memakai transistor misalnya pada Amplifier jenis TOA yang sering dipakai  di Mesjid, mungkin itu diterapkan karna untuk mendapatkan output dengan inpedansi yang berpariasi dari 4Ω - 8Ω - 16Ω bahkan sampai ratusan Ω. Nah... klu udah liat inpedansi nya begitu kayaknya tidak bisa lah ya  kalau tanpa OT...
Kata master saya, setelah Transistor ditemukan dan para insinyur elektronika mulai ber-experiment maka mulailah ditemukan berbagai sistem Amplifier. Sistem Amplifier yang saya tau adalah:
OTL (Output Transformer Less) adalah sistem Amplifer dengan output tanpa trafo (IT/OT) namun menggunakan kapasitor
OCL (Output Capacitor Less) adalah sistem Amplifier dengan ouput tanpa trafo  (IT/OT) dan tanpa kapasitor
BTL (Bridge Tie Load) adalah sistem Amplifier dengan pengabungan dua buah Amplifier, bisa gabungan dari OTL atau gabungan dari OCL.  Rangkaian model ini banyak diterapkan juga yang pakai IC, contohnya IC TDA2030 dan lain-lainnya. dan suaranya memang lebih mantap dibanding dengan singel ended. Tapi jika menggunakan IC tentu dayanya sangat terbatas, nah untuk mempunya BTL dengan daya bersar kita bisa merakitnya sendiri. BTL ini terdiri dari Amplifier Stereo yang yang digabung dengan sebuah rangkaian OP AMP pada inputnya. Sinyal yang masuk pada rangkaian OP-AMP BTL  diolah sehingga keluarannya menjadi dua (dua output). Output yang pertama adalah output aslinya (Fasa Positive) dan output yang kedua adalah output yang Fasa nya sudah dirubah (Fasa Negative). Kemudian kedua output ini di hubungkan pada sebuah rangkaian Amplifier Stereo, dan yang cocok untuk ini adalah Amplifier OCL. Dengan digabungkan menggunakan rangkaian Op-Amp ini maka output dari Amplifier OCL tersebut akan ber-Fasa Positive dan ber-Fasa Negative yang langsung dihubungkan ke Speker (terminal positive dan negativenya). Jadi speker tidak ada yang ke GND makanya tendangannya juga semakin kuat dan mantap menghentakkan dada, tenaga bisa 2 sampa 4 kali lipat dari OCL biasa, makanya harus di perhitungkan dalam penggunaan tegangan supply dan speker yang digunakan kira-kira mampu tidak TR Finalnya di BTL... Namun jika kita menghubungakan speker dengan output L dan GND atau output R dengan GND maka fungsinya akan sama denga OCL biasa. Baiklah mungkin Anda kurang memahami kata-kata saya maka akan saya berikan beberapa gambar rangkaian OTL,OCL, dan BTL, gambar ini saya ambil dari data sheet IC TDA 2030 karna IC ini juga bisa diterapkan pada system-system tersebut

OTL TDA2030
Jika kita perhatikan gambar rangkaian dibawah output ke speker menggunakan kapasitor (elco) 2000uf, fungsi dari elco tersebut adalah sebagai penahan/pemblokir arus searah (DC) agar tidak ikut masuk ke speker dan ini adalah sebagai pengganti system OT (ouput transformers). Catu daya yang di gunakan pada Ampli model ini adala Single Power Supply (Positive dan Negative)
OCL TDA2030
Nah kalau kita lihat gambar rangkaian dibawah ini Output ke sepeker nya tidak pakai kapasitor (elco) namun diarah kan ke GND, dan ini adalah sytem OCL, sama seperti OCL yang menggunakan transistor bedanya yang ini sudah dikemas dalam bentuk IC TDA2030 sehingga lebih simpel walaupun daya nya terbatas 14watt saja. Catu daya yang dipakai pada system OCL ini adalah Split Power Supply atau catu daya kembar karna mempunya dua polaritas (Positive - GND - Negative)
BTL TDA2030
Mari deh kita amati gambar rangakaian dibawah ini... itu kan rangkaian dua buah Ampli OCL yang digabung jadi satu namun sumber masukannya berbeda (non inverting dan inverting) yang akan menbuat fasa masing out dari ampli tersebut berbeda pula fasa (negative dan positive) dan langsung di hubungkan keterminal sebuah speker. Inilah yang dimankan syste BTL (Bridge Tie Load). Catu daya yang digunakan sama seperti system OCL
Sebenernya banyak Ampli yang menggunakan sistem BTL, misalnya pada Tape Dack, Ampli Tape Mobil cuma itu kan dalam daya kecil paling tinggi 80watt dan rata-rata pakai IC.

Nah udah maksud kan mana itu OTL, OCL dan BTL??? OTL dan OCL bisa dikata gorikan dalam single ended. Klu sudah maksud kita lanjutkan bagai mana membuat Ampli BTL sendiri, pertama-tama kita siapkan dulu OCL Stereo lengkap dengan catu dayanya, kemudian kita buat rangkaian Op-Amp BTL untuk menggabungkan OCL Stereo itu jadi Mono, lihat dan pelajarilah gambar rangkaian Op-Amp BTL dibawah ini. IC nya bisa pakai TL082, 4558, LF353, DLL

Rangkaian OP-Amp BTL
Ini Diagram Blok Pemasangannya
Mungkin ada diantara kita yang beranggapan bagai mana kalau tidak menggunakan Op-Amp, tapi dengan menggabungkan input dari OCL Stereo itu jadi satu, atau satunya di GND-kan, kemudian outputnya (L&R) langsung ke speker, kan sama aja...namun tidak dimikian sobat.. kalau kita cuma main gabung nanti output yang keluar cuma satu fasa ini akan berdampak buruk bagi rangkaian dan  audio nya tidak enak didengar. Ga percaya...? ya coba aja sendiri, setelah itu coba juga yang pakai OP-Amp. dan bandingkan hasilnya...pokoknya jika rangkaian Op-Amp kamu bekerja dengan OCL 300 Stereo sudah jmlegur deh.... klu menurut aku dari rasa dan pendengaran aja udah bisa tak rasakan sound itu pakai BTL ata OCL biasa. Jika OCL biasa walu watt nya gede tapi suaranya tidak terasa menghentak didada... namun jika OCL yang udah di BTL-kan walau daya standar tapi akan terasa banget didada.
Sekian dulu ya teman-teman semoga postingan ku kali ini bermanfaat, mohon komentarnya yang membangun....

11/29/2012

CARA MERAKIT AMPLIFIER PLUS RADIO FM TUNER


Asyik dech bisa dengerin musik via radio lokal, suaranya jernih, FM Poenya….. Dan yang tidak bikin bosan ada suara penyiar idola yang suaranya aduhai merdunya, dan ada info juga iklan-iklan, ga kayak dengerin lagu di DVD/MP3 cepet bosan karna ga ada penyiar dan selingan selingan lainnya…. Makanya pasang dech FM TUNER ini di Ampli ato di SPK aktive qmu,,, dijamin rumahmu ga akan sepi wlu qmu tinggal pergi…. Hehe, bkan promosi loh….! Jika ga ada SPK aktive ato ampli ya sekalian aja rakit sama Power Amplifier nya. Untuk merakit POWER AMPLIFIER yang ada RADIO FM STEREO nya maka harus di siapkan adalah:
  1. KIT STEREO TUNER FM (pilih yang anti desis/desah)
  2. KIT TONE CONTROL STEREO (pilih yang langsung ada IC Regulatornya)
  3. KIT POWER OCL STEREO (misalnya OCL 200 W produck BELL)
  4. TRAFO CT (sesuai kebutuhan 5A-20A)
  5. BOX
Langkah -Langkah Merakit Radio FM Setereo

  1. Solder kabel listrik ke Trafo 0 - 220V dan juga pasang Power Switch on/off
  2. Hubungkan output trafo (18V-0-18V) ke PCB Power Supply 
  3. Hubungkan ouput Power Supply (+18V, 0, _18V) kebagian PCB Power OCL STEREO. Perhatian: Jangan sampai terbalik polaritasnya jika terbalik KIT POWER OCL STEREO bisa rusak !!! disini 0 = 0V atau GND (grond/tegangan tanah)
  4. Hubungkan output SPK pada PCB KIT POWER OCL STEREO ke Terminal Sepeaker. Kemudian coba colokkan kabel listri ke listrik 220V dan on-kan Switch-nya kemudian sentuh bagian input pada PCB KIT POWER OCL STEREO. Jika terdengar suara yang keras pada SPK maka rakitannya benar dan teruskan langkah selanjutnya.Oh iya... Jangan lupa Power OCL nya di beri sirip pendingin (heatsink) yang cukup besar agar TR-nya tidak panas dan akan lebih baik dikasih kipas juga.
  5. Hubungkan input DC 12V (+,-) pada KIT STEREO TUNER FM ke PCB POWER SUPPLY (+18V) sebaiknya diberi tambahan IC regulator 7812, karna tegangan yang di butuhkan KIT STEREO TUNER FM adalah 12V. Nah... Output tegagan 12V dari IC 7812 ini bisa juga dimanfaatkan untuk tone control, dan juga rangkaian GALAXI, jika Anda menggunakan tone control dan GALAXI yang menggunakan tegangan 12v. Jika IC 7812 kelewat panas maka berilah pendingin secukupnya dan boleh di tempelkan pada box karna body IC 7812 adalah GND
  6. Hubungkan Output (L & R) pada KIT STEREO TUNER FM ke input pada PCB KIT TONE CONTROL STEREO. Jika ingin bass dan treble nya lebih tajam maka kamu bisa tambahin Kit GALAXI, atau yang sejenisnya. Kit ini sebaiknya di pasang sebelum Tone Control.
  7. Hubungkan ouput (L & R) pada TONE CONTROL ke input (L & R) pada POWER OCL. Hubungkan VCC +12V ke output IC 7812 dan negative-nya ke Ground (CT trafo). Tapi jika Anda menggunakan tone control dengan tegangan ganda biasanya langsung ada IC 7815 dan 7915 sebagai regulatornya. Maka langsung saja sambungkan input VCC nya ke PCB Power Supply (+18V, 0V, -18V)
  8. Solder dan sambungkan input antena pada TUNER ke antena. 
  9. Teliti kembalil apakah sudah benar dan tidak ada yang terbalik terutama bagian VCC-nya. 
  10. ON kan Perangkat dan cari siaran, jika ada sinyal atau siaran maka lampu hijau akan menyala dan jika pemancarnya Stereo maka lampu merah juga akan menyala.
Sekema IC 7812
Diagram blok pamasangannya
Ini adalah gambar-gambar kit yang sering saya pakai untuk merakit Power Amplifier

FM Tuner
Tone Control
Power OCL 200W
Power OCL 300W

Power OCL 600W

PCB untuk Power Supply OCL 200W dan PA OCL 300W
GALAXI. Alat ini gunanya untuk menambah bass dan treble jika dirasa kurang. Dipasang sebelum tone control.
SELAMAT MENCOBA SEMOGA SUKSES !!!

SEJARAH SINGKAT RADIO FM
Frequensi Modulation Radio atau kita kenal sebagai Radio FM dipatenkan 26 Desember 1933 di Amerika oleh Edwin Howard Armstrong. Melalui regulasi Federal Communications Commision (FCC) stasiun W1XOJ untuk pertama kalinya membroadcast siarannya pada tanggal 5 Januari 1937 yang didemonstrasikan langsung oleh Armstrong pada spektrum frekuensi 42-49MHz dan FCC memberi ijin frekuensi tersebut untuk pemakaian komersial, yang kemudian dibentuklah Yankee Network untuk penjualan perangkat penyiaran radio FM (sampai tahun 1945 mencapai 55 stasiun radio FM), dengan propaganda kualitas FM jauh lebih bagus (dan bisa stereo) daripada radio AM(Amplitudio Modulation) yang sudah lebih dulu dipakai. Tahun 1945 Radio Corporation of America (RCA) mendesak FCC untuk memindahkan frekuensi FM ke yang lebih tinggi (88-108MHz) karena interferensi dengan sinyal televisi dan untuk melebarkan penggunaan frekuensi televisi sebesar 40MHz dengan menggeser frekuensi FM. Armstrong yang memiliki paten FM gagal menggeser ke frekuensi yang lebih tinggi. RCA kemudian mengambil alih paten Armstrong yang membuat hancur Yankee Network, hingga akhirnya Armstrong bunuh diri loncat dari apartemennya, tragis! Kemudian mantan istrinya bersama sang janda Armstrong mengajukan tuntutan persidangan hingga hak paten dipulihkan kembali pada tahun 1967.

Semoga bermanfaat

11/28/2012

Power Suply dengan CT

Pulse pasokan 2x 350W 5A 2x 35V Sumber masih bekerja :). Sumber bekerja di permeable (kerja tunggal) topologi dengan saklar tunggal. Dalam sebuah artikel pada sumber daya adalah II.A. Frekuensi operasi kemungkinan akan dipilih di kisaran 60 - 90kHz. Tabel menunjukkan MOSFET tegangan berbagai dengan 800 - 1000V digunakan sebagai T1. Untuk 350W kinerja tidak harus resistensi khas di negara konduktif (Rdson jenis.) Melampaui 0,8 R. MOSFET dapat dihubungkan secara paralel untuk mengurangi resistensi. Tentu saja - semakin kecil resistansi, semakin baik (kerugian konduktif yang lebih rendah). UDS tegangan harus 900-1000V, dalam keadaan darurat Anda dapat menggunakan 800V (tetapi ini akan menjadi margin yang lebih kecil). Untuk model diatas 800V adalah pilihan yang cukup jelek. Saya juga bertanya-tanya tentang penggunaan IGBT, jenis 600V atas tetapi terlalu lambat. Percobaan dengan IGBT BUP213 berhasil, memiliki kerugian jauh lebih besar daripada MOSFET. Sangat berharap wajah sebagai MOSFET SPP17N80C3 hanya 0,25 dengan resistensi R.
 Typ Napětí Proud 25°C Sepnutý odpor 25°C Kapacita gejtu Ztráta 25°C časy (ns) Pozn.
UDS ID Rdson typ. (max) CGS PTOT td(on) tr td(off) tf
2SK2648 800V 9A 1,28R (1,5R) 1200pF 150W 30 120 95 60 kuch ATX
STW11NM80 800V 11A 0,35R (0,4R) 1630pF 150W 22 17 46 15 146Kč GME
STW12NK90Z 900V 11A 0,72R (0,88R) 3500pF 230W 31 20 88 55 kuch ATX
2SK1363 900V 8A 1,1R (1,4R) 1300pF 90W 25 40 20 100 92Kč TME
2SK2611 900V 9A 1,1R (1,4R) 2040pF 150W 25 60 20 95 92Kč TME
IRFPE50 800V 7,8A ----- (1,2R) 3100pF 190W 19 38 120 39 55Kč GME
SPP17N80C3 800V 17A 0,25R (0,29R) 2320pF 208W 25 15 72 6 ? TME, GME 40Kč (prodají po 1ks?)
STW11NK100Z 1000V 8,3A 1,1R (1,38R) 3500pF 230W 27 18 98 55 69Kč TME
STW18NK80Z 800V 19A 0,34R (0,38R) 6100pF 350W 46 32 140 32 108Kč TME
STP10NK80Z 800V 9A 0,78R (0,9R) 2180pF 160W 30 20 65 17 ST, gme 52 Kč -plast STP10NK80ZFP
FQA7N80 800V 7,2A 1,2R (1,5R) 1420pF 198W 35 80 95 55 41Kč GME
IRFBE30 800V 4,1A ----- (3R) 1300pF 125W 12 33 82 30 23Kč GME, jedině paralelně
IRFPE40 800V 5,4A ----- (2R) 1900pF 150W 16 36 100 32 65Kč GME, jedině paralelně
2SK2397 800V 5A 1,7R (2,3R) 800pF 50W 25 100 130 70 kuch, jedině paralelně
SPP06N80C3 800V 6A 0,78R (0,9R) 785pF 83W 25 15 72 8
Perhatian! Sumber pulsa tidak akan membangun pemula karena sebagian besar sirkuit yang terhubung ke jaringan. Ketika desain miskin pada tegangan output bisa! Segala sesuatu yang Anda lakukan di risiko Anda sendiri, untuk setiap cedera atau properti tidak bertanggung jawab. diagram 350W pulsa sumber 5A 2x 2x 35V dengan kontrol dan perlindungan.

11/27/2012

CONVERTER (PENGUBAH DC 12V KE AC 220V)


Hai sobat… jumpa lagi…
Postingku kali ini mengenai Rangkaian CONVERTER atau Rangkaian pengubah arus DC 12V menjadi AC 220V.
Bagi Anda yang PLN nya sering padam mungkin Rangkaian ini bisa Anda coba, sebelum Anda mulai merakit CONVERTER ini sebaiknya Anda menghitung - hitung dahulu apa saja yang akan Anda Supply pakai CONVERTER ini nantinya, setelah Anda menetapkan perangkat - perangkat yang akan menggunakan CONVERTER ini baru Anda hitung berapa Watt semuanya.
Nah…, setelah Anda tau berapa Watt alat yang akan menggunakan CONVERTER ini nantinya baru Anda bisa memilih mau merakit CONVERTER yang berapa Watt dan menentukan komponen yang sesuai juga AKI dan TRAFO yang akan digunakan.
Dibawah ini akan saya berikan pilihan dalam Anda merakit CONVERTER
1. CONVERTER 36 W
TRAFO 3A
TR DRIVER 2 X 9013, TR FINAL2 X D313
2. CONVERTER 60 W
TRAFO 5A
TR DRIVER 2X D400, TR FINAL 4 X D313 (PARALEL)
3. CONVERTER 120 W
TRAFO 10A
TR DRIVER 2X BD139, TR FINAL 4 X D1047 (PARALEL)
4. CONVERTER 240 W
TRAFO 20A
TR DRIVER 2X D313, TR FINAL 6 X D1047 (PARALEL)
5. CONVERTER 360 W
TRAFO 30A
TR DRIVER 2X D313, TR FINAL 8 X D1047 (PARALEL)
6. CONVERTER 480 W
TRAFO 40A
TR DRIVER 2X D313, TR FINAL 10 X D1047 (PARALEL)
CATATAN:
Gunakan Trafo yang murni dan Aki yang memadai untuk CONVERTER yang Anda rakit
Sebagai gambaran Aki 12v 50AH adalah kurang lebih 600W Perjamnya, jadi jika Anda gunakan pada CONVERTER yang 60W bisa mencapai kurang lebih 10 jam pemakaian dan jika Anda pake untuk CONVERTER yang 600W ya sejam habis dah, bahkan mungkin tidak sampai satu jam udah habis, karna Aki nya udah soak. . itu menurut pengalaman saya loh... ga tau lo menurut rumus... pusing dech low pake rumus - rumus.... wkwkwkwkwk....

Ini Skema-nya
SEMOGA BERMANFAAT....!

11/26/2012

FUNGSI TIMER



FUNGSI TIMER
Pada keluarga MCS-51 terdapat dua buah timer/ counter 16 bit, yang dapat dikonfigurasikan sebagai timer atau counter, 8 bit, 13 bit atau 16 bit sesuai dengan mode yang dipilih. Gambar berikut merupakan contoh aplikasi Counter 16 bit dengan menggunakan mode 1
Percobaan 9.3. Aplikasi Timer 1, sebagai timer 16 bit dengan output LED
Pada percobaan ini, clock akan dibangkitkan dengan menggunakan fungsi timer 16 bit, dengan periode 1 detik, Ton = 0,5 detik dan Toff = 0,5 detik, dengan tampilan LED
Pada mode ini, dengan kristal 12MHz maka timer akan overflow setiap 65.536 udetik. Pada percobaan ini, untuk membangkitkan interupsi setiap 1000 udetik maka data yang harus diisikan pada register TL1 dan TH1 adalah sebagai berikut:
65536 - 10000 = 55536 d or D8F0h
Maka interupsi TF1 akan segera dibangkitkan setiap 1000 x 1 udetik = 0,01 detik
pada pemrograman ini, RO diimplementasikan sebagai counter software, Register R0 akan increment setiap Timer 1 overflow. Jika register R7 telah mendeteksi nilai 50 maka port P0.0 ( LED D0 ) akan nyala selama = 0,01 x 50 detik = 0,5 detik.
Lakukan beberapa langkah percobaan sebagai berikut:
1. Lepas kabel yang menghubungkan antara P3.5 dengan output clock IC 555
2. Hubungkan jumper konektor LED_EN
3. Hubungkan modul Microcontroller Trainer dengan power supply +5V
4. Hubungkan modul Microcontroller Trainer dengan rangkaian programmer
5. Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program
6. Ketik program berikut ini: (download file prog93a.asm)
            Org 0h
Start: Setb P0.0 ;P0.0 = 1
           call Delay ;call delay time
           Clr P0.0 ;P0.0 = 0 
           call delay ;call delay time
           Sjmp Start ;Looping Forever
           ;
Delay: Mov R0,#0 ;R0 = 0
           Mov TMOD,#00010000b ;Mode 1, Fungsi =Timer 1 16 bit
Load: Mov TH1, #0D8h ;TH1 = D8h 
           Mov TL1, #0F0h ; TL1 = F0h
           Setb TR1 ; TR1 = 1, Start Running 
           OFlow: JNB TF1, OFlow ; jump to OFlow if TF1 =0
           Clr TR1 ; TR1 = 0
           Clr TF1 : TF1 = 0
           Inc R0 ; R0 = R0+1 
           CJNE R0,#50,Load 
           Ret
           ;
           End
7. Simpanlah program yang anda ketik dan beri nama : prog93a.asm
8. Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program dari *.asm ke *.hex.
9. Lakukan pemrograman mikrokontroller dengan menggunakan Program ISP Software ( Lihat Petunjuk Penggunaan)
10. Lakukan pengamatan pada nyala LED
11. Lakukan modifikasi pada program tersebut untuk membangkitkan frekuensi 10 Hz, 100 Hz, dan 500 Hz dan lakukan pengamatan pada layar osciloscope

11/25/2012

Aplikasi Timer

Percobaan 9.2. Aplikasi Timer 0, Mode 3 sebagai counter 8 bit dengan output 7 Segmen
Pada percobaan ini, pulsa diambil melalui clock generator yang dibangkitkan oleh IC 555 yang mempunyai frekuensi 1 Hz, hasil cacahan biner pada register counter akan ditampilkan pada 7 Segmen.
Lakukan beberapa langkah percobaan sebagai berikut:
1. Hubungkan 1 buah kabel antara P3.5 dengan output clock IC 555
2. Hubungkan jumper konektor 7Segmen_EN
3. Hubungkan modul Microcontroller Trainer dengan power supply +5V
4. Hubungkan modul Microcontroller Trainer dengan rangkaian programmer
5. Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program
6. Ketik program berikut ini: (download file prog92a.asm)
ratusan   equ 30h
puluhan equ 31h
satuan    equ 32h  
         Org 0h
       Mov TMOD,#00000111b  ; mode 3 counter 8 bit timer 0
       Setb TR0                  ; TR1 = 0, start counting
Get:  Mov A, TL0               ; A = TL0
       Call Bin2Dec          ; panggil subroutine biner ke desimal
       Call Display7Segmen; panggil subroutine display 7 segmen
       Sjmp Get                  ;Looping Forever
;
Bin2Dec:
        mov b,#100d
        div ab
        mov ratusan,a
        mov a,b
        mov b,#10d
        div ab
        mov puluhan,a
        mov satuan,b
        ret       
;
Display7Segmen:
         clr P3.5         
        clr P3.6
        clr P3.7
      mov A, ratusan
        mov DPTR,#Data7segmen
        movc A,@A+DPTR
        mov P0,A
         call delay         
;
        setb P3.5         
        clr P3.6
        clr P3.7
      mov A, puluhan
        mov DPTR,#Data7segmen
        movc A,@A+DPTR
        mov P0,A
        call delay        
;     
        clr P3.5         ;
        setb P3.6
        clr P3.7
        mov A, satuan
        mov DPTR,#Data7segmen
        movc A,@A+DPTR
        mov P0,A
        call delay       
      ret
;
delay:  mov R0,#0
delay1:mov R2,#0fh
        djnz R2,$
        djnz R0,delay1
        ret
;
Data7segmen:
       db  11000000b,11111001b,10100100b,10110000b,10011001b
       db  10010010b,10000010b,11111000b,10000000b,10010000b
;
end
7. Simpanlah program yang anda ketik dan beri nama : prog92a.asm
8. Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program dari *.asm ke *.hex.
9. Lakukan pemrograman mikrokontroller dengan menggunakan Program ISP Software ( Lihat Petunjuk Penggunaan)
10. Lakukan pengamatan pada display 7 segmen ? dan lengkapi tabel berikut.
Clock ke
Display 7 Segmen
1
?
2
?
3
?
4
?
5
?
:
:
20
?

11/24/2012

FUNGSI COUNTER
Pada keluarga MCS-51 terdapat dua buah timer/ counter 16 bit, yang dapat dikonfigurasikan sebagai timer atau counter, 8 bit, 13 bit atau 16 bit sesuai dengan mode yang dipilih. Gambar berikut merupakan contoh aplikasi Counter 8 bit dengan menggunakan mode 3
 

Percobaan 9.1. Aplikasi Mode 3 sebagai counter 8 bit dengan output LED
Pada percobaan ini, pulsa diambil melalui clock generator yang dibangkitkan oleh IC 555 yang mempunyai frekuensi 1 Hz, hasil cacahan biner pada register counter akan ditampilkan pada LED.
Lakukan beberapa langkah percobaan sebagai berikut:
1. Hubungkan 1 buah kabel antara P3.5 dengan output clock IC 555
2. Hubungkan jumper konektor LED_EN
3. Hubungkan modul Microcontroller Trainer dengan power supply +5V
4. Hubungkan modul Microcontroller Trainer dengan rangkaian programmer
5. Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program
6. Ketik program berikut ini: (download file prog91a.asm)
            org 0h
Start: Mov TMOD,#00000111b        ; mode 3 counter 8 bit timer 0
           Setb TR0    ; TR1 = 0, start counting
Get:   Mov A, TL0   ; A = TL0
           CPL A        ; A = NOT A
           Mov P0, A    ; P0 = A
           Sjmp Get    ; Looping Forever
           End
7. Simpanlah program yang anda ketik dan beri nama : prog91a.asm
8. Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program dari *.asm ke *.hex.
9. Lakukan pemrograman mikrokontroller dengan menggunakan Program ISP Software ( Lihat Petunjuk Penggunaan)
10. Lakukan pengamatan pada LED ? dan lengkapi tabel berikut.
INPUT
Clock
DISPLAY LED
D1
D2
D3
D4
D5
D6
D7
D8
1
2
3
4
:
20

11/23/2012

Mode 0 port serial


UART merupakan standard yang dipakai untuk komunikasi data seri dengan komputer, komunikasi data seri dengan modem dan lain sebagainya.
Komunikasi data seri secara sinkron seperti mode 0, merupakan komunikasi data seri yang banyak dipakai untuk menghubungkan IC-IC digital dalam sebuah sistem, misalnya pada IC Serial EEPROM, cara ini belakangan menjadi makin populer karena rangkaiannya sederhana dan tidak makan tempat.
Dalam dunia digital, dikenal 3 macam teknik transmisi data seri secara sinkron untuk keperluan di atas, yang paling terkenal adalah teknik ciptaan Philips yang dinamakan sebagai I2C (Inter IC Communication), Motorola mengenalkan teknik yang dinamakan sebagai SPI (Serial Peripheral Interface) dan National Semiconductor menciptakan MicroWire.
Transmisi data seri yang dipakai pada mode 0, tidak sepadan dengan 3 teknik yang disebut di atas, tapi dengan perancangan yang cermat mode 0 ini bisa dihubungkan ke SPI, sehingga bisa dipakai untuk menghubungkan MCS51 dengan mikrokontroler Motorola MC68HC11.
Sinyal data seri sinkron yang ada pada kaki P3.0 dan P3.1, sesungguhnya murni merupakan sinyal yang biasa dipakai untuk mengendalikan shift-register, dengan demikian dengan menghubungkan shift register ke port seri, bisa menambah port input maupun port output dengan mudah.
 
Baud Rate
Baud rate pada mode 0 adalah tertentu: pada mode 0, Baud Rate = 1/12 x Frekuensi Osilator. Baud rate pada mode 2 bergantung pada nilai bit SMOD pada SFR PCON. Jika SMOD = 0, baud rate adalah 1/64 frekuensi osilator. Jika SMOD=1, baud rate adalah 1/32 frekuensi osilator. Penentuan baud rate mode 2 adalah sebagai berikut:
Sedangkan baud rate pada mode 1 dan 3 ditentukan oleh nilai laju overflow dari Timer 1.
Menggunakan Timer 1 untuk membangkitkan Baud Rate
Ketika timer 1 digunakan untuk membangkitkan clock baud rate, baud rate pada mode 1 dan 3 adalah ditentukan oleh laju overflow timer 1 dan nilai dari SMOD. Penentuan baud rate untuk mode 1 dan 3 adalah sebagai berikut:
Interupsi timer 1 harus disable pada aplikasi ini. Pada kebanyakan aplikasi, timer ini dioperasikan sebagai timer, dengan mode auto reload mode 2. Pada kasus ini baud rate diberikan dengan rumus sebagai berikut:

11/22/2012

Port Serial


Umumnya orang selalu menganggap port seri pada MCS51 adalah UART yang bekerja secara asinkron, jarang yang menyadari port seri tersebut bisa pula bekerja secara sinkron, pada hal sebagai port seri yang bekerja secara sinkron merupakan sarana yang baik sekali untuk menambah input/output bagi mikrokontroler.
Gambar 1.17. Komunikasi serial dengan komputer
 
Dikenal 2 macam cara transmisi data secara seri. Kedua cara tersebut dibedakan oleh sinyal denyut (clock) yang dipakai untuk men-‘dorong’ data seri, kalau clock dikirim bersama dengan data seri, cara tersebut dikatakan sebagai transmisi data seri secara sinkron. Sedangkan dalam transmisi data seri secara asinkron, clock tidak dikirim bersama data seri, rangkaian penerima data harus membangkitkan sendiri clock pendorong data seri.
Port seri MCS51 bisa dipakai dalam 4 mode kerja yang berbeda. Dari 4 mode tersebut, 1 mode diantaranya bekerja secara sinkron dan 3 lainnya bekerja secara asinkron. Secara ringkas ke-empat mode kerja tersebut bisa dibedakan sebagai berikut:
Mode 0
Mode ini bekerja secara sinkron, data seri dikirim dan diterima melalui kaki P3.0 (RxD), dan kaki P3.1 (TxD) dipakai untuk menyalurkan clock pendorong data seri yang dibangkitkan MCS51.
Data dikirim/diterima 8 bit sekali gus, dimulai dari bit yang bobotnya paling kecil (bit 0) dan diakhiri dengan bit yang bobotnya paling besar (bit 7). Kecepatan pengiriman data (baud rate) adalah 1/12 frekuensi osilator kristal.
Mode 1
Mode ini dan mode-mode berikutnya bekerja secara asinkron, data dikirim melalui kaki P3.1 (TxD) dan diterima melalui kaki P3.0 (RxD).
Pada Mode 1 data dikirim/diterima 10 bit sekali gus, diawali dengan 1 bit start, disusul dengan 8 bit data yang dimulai dari bit yang bobotnya paling kecil (bit 0), diakhiri dengan 1 bit stop. Pada MCS51 yang berfungsi sebagai penerima bit stop ditampung pada RB8 dalam register SCON. Kecepatan pengiriman data (baud rate) bisa diatur sesuai dengan keperluan.
Mode inilah yang umum dikenal sebagai UART (Universal Asynchronous Receiver/Transmitter).

Mode 2
Data dikirim/diterima 11 bit sekali gus, diawali dengan 1 bit start, disusul 8 bit data yang dimulai dari bit yang bobotnya paling kecil (bit 0), kemudian bit ke 9 yang bisa diatur lebih lanjut, diakhiri dengan 1 bit stop.
Pada MCS51 yang berfungsi sebagai pengirim, bit 9 tersebut berasal dari bit TB8 dalam register SCON. Pada MCS52 yang berfungsi sebagai penerima, bit 9 ditampung pada bit RB8 dalam register SCON, sedangkan bit stop diabaikan tidak ditampung. Kecepatan pengiriman data (baud rate) bisa dipilih antara 1/32 atau 1/64 frekuensi osilator kristal.
Mode 3 Mode ini sama dengan Mode 2, hanya saja kecepatan pengiriman data (baud rate) bisa diatur sesuai dengan keperluan, seperti halnya Mode 1.
Pada mode asinkron (Mode 1, Mode 2 dan Mode 3), port seri MCS51 bekerja secara full duplex, artinya pada saat yang sama port seri ini bisa mengirim data sekali gus menerima data.
Register SBUF merupakan register penghubung port seri. Dalam ke-empat mode di atas, semua instruksi yang mengakibatkan perubahan isi SBUF akan mengakibatkan port seri mengirimkan data keluar dari MCS51. Agar port seri bisa menerima data, bit REN dalam register SCON harus bernilai ‘1’. Pada mode 0, proses penerimaan data dimulai dengan instruksi CLR RI, sedangkan dalam mode lainnya proses penerimaan data diawali oleh bit start yang bernilai ‘0’. Data yang diterima port seri dari luar MCS51, diambil dengan instruksi MOV A,SBUF.
Mengambil data dari SBUF dan menyimpan data ke SBUF sesungguhnya bekerja pada dua register yang berlainan, meskipun nama registernya sama-sama SBUF.
1.6.1 Register-register Port Seri MCS51
MCS51 dilengkapi dengan 2 register dan beberapa bit tambahan untuk keperluan pemakai port seri.
SBUF merupakan SFR (Special Function Register) yang terletak pada memori-data internal dengan nomor $99. SBUF mempunyai kegunaan ganda, data yang disimpan pada SBUF akan dikirim keluar MCS51 lewat port seri, sedangkan data dari luar MCS51 yang diterima port seri diambil dari SBUF pula. Jadi meskipun hanya menempati satu nomor memori-data internal (nomor $99), sesungguhnya SBUF terdiri dari 2 register yang berbeda.

SCON merupakan SFR (Special Function Register) yang terletak pada memori-data internal dengan nomor $98, merupakan register utama untuk mengatur kerja port seri MCS51. Setelah reset semua bit dalam SCON bernilai ‘0’.
1. Bit SM0 dan bit SM1 (bit 7 dan bit 6 pada register SMOD) dipakai untuk menentukan mode kerja port seri. Setelah reset kedua bit ini bernilai ‘0’
2. Bit REN (bit 4) dipakai untuk mengaktipkan kemampuan port seri menerima data. Pada mode 0 kaki RxD (kaki P3.0) dipakai untuk mengirim data seri (REN=’0’) dan juga untuk menerima data seri (REN=’1’). Sifat ini terbawa pula pada saat port seri bekerja pada mode 1, 2 dan 3, meskipun pada mode-mode tersebut kaki RxD hanya dipakai untuk mengirim data, agar kaki RxD bisa dipakai untuk menerima data terlebih dulu harus dibuat REN=’1’. Setelah reset bit REN bernilai ‘0’.
3. Pada mode kerja 2 dan mode kerja 3, port seri bekerja dengan 9 bit data, SBUF yang kapasitasnya 8 bit tidak cukup untuk keperluan ini. Bit ke-sembilan yang akan dikirim terlebih dulu diletakkan di TB8 (bit 3), sedangkan bit RB8 (bit 2) merupakan bit yang dipakai untuk menampung bit ke-sembilan yang diterima port seri.
4. Pada mode kerja 1, RB8 dipakai untuk menampung bit stop yang diterima, dengan demikian apa bila RB8 bernilai ‘1’ maka data diterima dengan benar, sebaliknya apa bila RB8=’0’ berarti terjadi kesalahan kerangka (framing error).
Kalau bit SM2 (bit 5) bernilai ‘1’, jika terjadi kesalahan kerangka, RI tidak akan menjadi ‘1’ meskipun SBUF sudah berisi data dari port seri.
Bit ke 9 ini bisa dipakai sebagai bit pariti, hanya saja bit pariti yang dikirim harus ditentukan sendiri dengan program dan diletakkan pada TB8, dan bit pariti yang diterima pada RB8 dipakai untuk menentukan integritas data secara program pula. Tidak seperti dalam UART standard, semuanya itu dikerjakan oleh perangkat keras dalam IC UART.
5. Bit TI (bit 1) merupakan petanda yang setara dengan petanda TDRE (Transmitter Data Register Empty) yang umum dijumpai pada UART standard. Setelah port seri selesai mengirim data yang disimpan ke-dalam SBUF, bit TI akan bernilai ‘1’ dengan sendirinya, bit ini harus di-nol-kan dengan program agar bisa dipakai untuk memantau keadaan SBUF dalam pengiriman data berikutnya.
Sub-rutin SerialOut berikut dipakai untuk mengirim data seri, bisa dipakai untuk semua mode port seri. Baris 02 menunggu TI menjadi ‘1’, dimaksud untuk memastikan pengiriman data sebelumnya sudah selesai. Data yang akan dikirim sebelumnya sudah disimpan di A, pada baris 03 data tersebut dikirim melalui port seri dengan cara meletakannya di SBUF. Agar TI bisa dipakai untuk memantau keadaan SBUF pada pengiriman data berikutnya, pada baris 04 TI di-nol-kan.
01: SerialOut:
02: JNB TI,$ ; tunggu data sebelumnya selesai dikirim
03: MOV SBUF,A ; kirim data baru
04: CLR TI ; petanda ada pengiriman baru
05: RET
6. Bit RI (bit 0) merupakan petanda yang setara dengan petanda RDRF (Receiver Data Register Full) yang umum dijumpai pada UART standard. Setelah SBUF menerima data dari port seri, bit RI akan bernilai ‘1’ dengan sendirinya, bit ini harus di-nol-kan dengan program agar bisa dipakai untuk memantau keadaan SBUF dalam penerimaan data berikutnya.
Sub-rutin SerialIn berikut dipakai untuk menerima data seri, bisa dipakai untuk semua mode port seri. Baris 02 menunggu RI menjadi ‘1’, dimaksud untuk memastikan sudah ada data baru yang diterima pada SBUF. Pada baris 03 data pada SBUF diambil ke A. Agar RI bisa dipakai untuk memantau keadaan SBUF pada pengiriman data berikutnya, pada baris 04 RI di-nol-kan.
01: SerialIn:
02: JNB RI,$ ; tunggu SBUF berisi data baru
03: MOV A,SBUF ; ambil data
04: CLR RI ; pentanda data sudah diambil
05: RET

11/19/2012

Menampilkan nilai RGB suatu object dengan sensor warna



Kali ini saya akan sharing tentang interfacing module sensor warna tcs230 produksi parallax yang juga telah saya posting pada situs avrfreaks. Dalam pembacaan data, sebenarnya sensor ini cukup rumit karena data outputnya berupa frekuensi pulsa kotak dengan duty cycle 50 %. Maka dari itu diperlukan suatu frekuensi reader. disini saya memfungsikan uC ATMega8535 sebagai pembaca frekuensi. saya tidak menggunakan timer/counter uC untuk menghitung frekuensi yang masuk, melainkan menghitung lama waktu high dan low satu gelombang penuh sebagai periode nya, maka tinggal 1/periode akan menghasilkan nilai frekuensi. pada sourcecode dapat dilihat count++ akan mencacah pada high dan low 1 gelombang penuh. jumlah cacahan tersebut dikalikan dengan lama waktu 1 kali pengulangan count++ sehingga diperoleh periodenya.

modul sensor warna tcs230
sensor ini mempunya 4 buah mode filter warna yaitu mode clear, mode filter merah,mode filter hijau,mode filter biru. disini filter yang dimaksud adalah range panjang gelombang atau lambda  cahaya yang bisa diterima oleh photodioda. grafik range lambda bisa dilihat pada datasheet. output akhir dari sensor ini adalah komposisi warna Red-Green-Blue atau bisa dikenal dengan RGB. unuk bisa mendapakan RGB dari suatu object, maka sensor harus dikalibrasi dulu dengan warna putih sebagai referensinya. jarak pengambilan data harus 2 cm dari sensor. kalibrasi warna putih menggunakan kertas HVS putih.
kalibrasi dilakukan dengan cara mengganti mode filter. yang pertama filter diset mode merah kemudian frekuensinya dicatat dan perlakuan ini berlaku juga untuk filter hijau dan filter biru.  nilai frekuensi yang diperoleh diasumsikan sebagai nilai maksimum atau 255 untuk R ,G dan B. frekuensi maksimum tersebut kemudian dibagi dengan 255 untuk mendapatkan resolusi 8 bit tiap warna. pada project ini, mode filter berganti terus-menerus secara otomatis dengan urutan R-G-B. untuk mengetahui setting dari filter silakan merujuk ke datasheet.
input yang saya gunakan adalah PORTB.1. tetapi anda bisa menggantinya sesuai dengan keinginan anda sendiri. secara berurutan S0,S1,S2,S3 dimasukkan pada PORTA.3 – PORTA.6 dari mikrokontroller. PORTA.7 untuk tegangan LED di sensor.  data RGB tersebut akan ditampilkan pada LCD 16×2. sourcecode ditulis dalam bahasa C dengan kompiler CodeVisionAVR.
Berikut adalah potongan sourcecode yang bisa digunakan :

001/*****************************************************
002This program was produced by the
003CodeWizardAVR V1.25.3 Professional
004Automatic Program Generator
005© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.
007
008Project :
009Version :
010Date    : 5/15/2009
011Author  : GreenBlack
012Company : LakoV
013Comments:
014
015Chip type           : ATmega8535
016Program type        : Application
017Clock frequency     : 11.059200 MHz
018Memory model        : Small
019External SRAM size  : 0
020Data Stack size     : 128
021
022*****************************************************/
023
024#include <mega8535.h>
025#include <stdio.h>
026#include <delay.h>
027#define redref (27795/255)
028#define greenref (33066.7/255)
029#define blueref (34720/255)
030
031// Alphanumeric LCD Module functions
032#asm
033.equ __lcd_port=0x15 ;PORTC
034#endasm
035#include <lcd.h>
036
037// Declare your global variables here
038
039void main(void)
040{
041// Declare your local variables here
042
043// Input/Output Ports initialization
044// Port A initialization
045// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
046// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
047PORTA=0x00;
048DDRA=0xFF;
049
050// Port B initialization
051// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
052// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
053PORTB=0x02;
054DDRB=0x00;
055
056// Port C initialization
057// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
058// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
059PORTC=0x00;
060DDRC=0x00;
061
062// Port D initialization
063// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
064// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
065PORTD=0x00;
066DDRD=0x00;
067
068// Timer/Counter 0 initialization
069// Clock source: System Clock
070// Clock value: Timer 0 Stopped
071// Mode: Normal top=FFh
072// OC0 output: Disconnected
073TCCR0=0x00;
074TCNT0=0x00;
075OCR0=0x00;
076
077// Timer/Counter 1 initialization
078// Clock source: System Clock
079// Clock value: Timer 1 Stopped
080// Mode: Normal top=FFFFh
081// OC1A output: Discon.
082// OC1B output: Discon.
083// Noise Canceler: Off
084// Input Capture on Falling Edge
085// Timer 1 Overflow Interrupt: Off
086// Input Capture Interrupt: Off
087// Compare A Match Interrupt: Off
088// Compare B Match Interrupt: Off
089TCCR1A=0x00;
090TCCR1B=0x00;
091TCNT1H=0x00;
092TCNT1L=0x00;
093ICR1H=0x00;
094ICR1L=0x00;
095OCR1AH=0x00;
096OCR1AL=0x00;
097OCR1BH=0x00;
098OCR1BL=0x00;
099
100// Timer/Counter 2 initialization
101// Clock source: System Clock
102// Clock value: Timer 2 Stopped
103// Mode: Normal top=FFh
104// OC2 output: Disconnected
105ASSR=0x00;
106TCCR2=0x00;
107TCNT2=0x00;
108OCR2=0x00;
109
110// External Interrupt(s) initialization
111// INT0: Off
112// INT1: Off
113// INT2: Off
114MCUCR=0x00;
115MCUCSR=0x00;
116
117// USART initialization
118// Communication Parameters: 8 Data, 1 Stop, No Parity
119// USART Receiver: On
120// USART Transmitter: On
121// USART Mode: Asynchronous
122// USART Baud rate: 9600
123UCSRA=0x00;
124UCSRB=0x18;
125UCSRC=0x86;
126UBRRH=0x00;
127UBRRL=0x23;
128
129// Timer(s)/Counter(s) Interrupt(s) initialization
130TIMSK=0x00;
131
132// Analog Comparator initialization
133// Analog Comparator: Off
134// Analog Comparator Input Capture by Timer/Counter 1: Off
135ACSR=0x80;
136SFIOR=0x00;
137
138// LCD module initialization
139lcd_init(16);
140
141count=0;
142PORTA=0b10011000;
143
144while (1)
145{
146// Place your code here
147red_filter();
148delay_ms(50);
149green_filter();
150delay_ms(50);
151blue_filter();
152delay_ms(50);
153lcd_gotoxy(0,0);
154lcd_clear();
155sprintf(lcd_buffer,"R:%d G:%d B:%d",red,green,blue);
156lcd_puts(lcd_buffer);
157a=0; b=0; c=0;
158};
159}
Newer Posts Older Posts Home
Aulia DirUt. Powered by Blogger.
 

Blog Archive

Followers

 

Templates by Nano Yulianto | CSS3 by David Walsh | Powered by {N}Code & Blogger