Powered By Blogger

Thursday 12 September 2013

Rangkaian CDI

CDI
mari kita lihat dulu dari fungsi CDI itu sendiri, mungkin bagi anak2 otomotif sudah tahu, bagi yang belum, neh Q kasi tau.. CDI(Capasitive Discharge Ignition) adalh rangkain elektronika pada Motor yang berfungsi untuk mengatur perapian(ignition) dengan prinsip Capasitive discharge (pengosongan kapasitor).Keuntungan
Keuntungan dari CDI yang tepat pengapiannya adalah:
  1. meningkatkan tenaga,
  2. Effisiensi BBM sehingga lebih irit,
  3. Tegangan keluaran sama dengan muatan dari kapasitor penyimpanya
Kapasitif Discharge
nah dari namanya sudah kelihatan kan? yang dimaksud disini pengosongan kapasitor(Capasitive discharge) disini adalh bahwa Pengapian terjadi ketika pengosongan kapasitor, bukan pada pengisianya.
lebih jelasnya lihat gambar ini!
Dari gambar terlihat bahwa kapastor di isi oleh muatan listrik dari spull (Atas). nah ketika pulsa dari pulser(Bawah) High”1″ maka akan meng-Short Circuit-kan Kapasitor, sehingga kapasitor akan dikosongkan(Discharge). nah proses pengosongan ini menyebabkan busi (spark) mengeluarkan api, karena memang proses pengosongan ini melewati spark.
Map (Peta) Pengapian
Yang dimaksud map disini buka peta(Globe) tapi Curva (grafik) waktu pengapian terhadap kecepatan putaran mesin(RPM). berdasarkan kenyataan bahwa pengapian pada kecepatan rendah harus lah pada sudut BTDC sekecil mungkin, agar bahan bakar terbakar keseluruhan dan terkompresi(tekan) semaksimal mungkin. tetapi dalam keadaan motor berkecepatan tinggi, maka pengapian sebaiknya dilakukan pada suatu sudut tertentu sebelum TMA, nah ini karena adanya momentum dari gerakan mesin yang semakin besar dan juga periode perambatan Api itu sendiri.. artinya pada sudut kecil, motor akan menghasilkan gaya yang lebih karena kompresi yang lebih pula serta pembakaran yang maksimal, pada keadaan RMP tinggi, sudut dinaikan agar tidak meleset pengapiannya, sehingga bahan bakar tidak terbuang sia2.
Lihat gambar!
Keterangan:
  1. Pengambilan BBM yang sudah berbentuk uap, dari karburator
  2. Kompresi (tekanan) Uap BBM
  3. Pembakaran Uap BBM yang sudah termampatkan (tertekan)
  4. Pembuangan gas hasil pembakaran
Titik hitam adalah titik puncak piston
Lekukan segitiga adalah Titip pickup pulser
Program
Nah program ini sendiri berfungsi untuk mengatur sudut pengapian, yang dimaksud programmable disini adalah bahwa timing pengapian dapat diatursesuai kehendak pembuat, sehingga bisa disesuaikan dengan kendaraan yang dimiliki.
Curva pengapianya saya buat sbg berikut
program ini saya kutip dari Transmic.net tentu dengan beberapa modifikasi. rangkain ini menggunakan microcontroler keluarga 8051 yaitu AT89c2051 karena harga yang murah dan system sudah mencukupi untuk rangkaian ini.. program ini Q sesuaikan dengan data dari file Excel yang saya buat untuk perhitungan tabel. bagi yang menginginkan data selengkapnya silakan Contact saya! aku akan sangat senang jika bisa membantu…..

Schema Rangkaian CDI Programmable AT89c2051
;~~~~~~~ Program CDI Programmable AT89c2051 Oleh SiSUnar~~~~~~~
;Programm at89c2051 sebagai pengendali pengapian Motor
;Penting!!!!! Chrystal 24MHz !!!!!!!!!!!!!
;pemicu by input Comparator pada pulsa negative(P3.6)
;Output SCR pada P3.5 pin 9 active rendah Untuk transistor PNP
;dengan perhitungan Peta pengapian
;pengukuran RPM pada 400µs steps, penghitung delay pada 50µs
timer EQU 9ch ;isian awal timer interrupt(50µs@24MHz) rumus==>>timer=256-(1000*” dasar timer”/(1000000000*(12/kristal))
SCR EQU P3.5 ;Pin 9, output that fires SCR, active LOW
magnet EQU P3.6 ;output comparator. Input pin 12 = +, pin 13 = -
test EQU P1.2 ;test untuk melihat output comparator
; R0 menghitung 10*50µs = 500µs SCR control
; R1 menghasilkan periode 8*50µs = 400µs
; R2 menghitung lebar revolution antara two interupsi pada tahap 400µs
; R3 Menghitung delay yang dibutuhkan (sinyal pickup untuk pengapian) pada tahap 50µs
ORG 0 ;menjalankan program pada alamat awal flash
AJMP start ;ke inisialisasi
org 00Bh ;alamat vektor interupsi timer0 8051
AJMP TIMER ;ke timer interpusi
;~~~~~~~~~~~~~Inisialisai~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
start: ;Program dimulai
MOV SP, #45h ;menginisialisasi tempat stack (posisi pada Flash Memori)
MOV TH0, #timer ;inisialisasi timer0 50µs sesui dengan rumus==>>timer=256-(1000*”dasar timer”/(1000000000*(12/kristal))
MOV TL0, #timer
MOV TMOD, #22h ;mode timer diseting ke “timer internal mode 2″
MOV IE, #82h ;Mengijinkan penggunaan interupsi timer0
SETB TR0 ;Memulai timer0
MOV DPTR, #TabelPetaPengapian ;memilih tabel “TabelPetaPengapian”
;~~~~~~~~~~~Seting Awal Variabel~~~~~~~~~~~~~
MOV R0, #01h ;menghitung 10*50µs = 500µs SCR control. R0 = 1 berarti scr mati
MOV R1, #08h ;menghasilkan periode 8*50µs = 400µs.
MOV R2, #FFh ;menghitung lebar revolution antara two interupsi pada tahap 400µs. mencegah pengapian yang tidak tepat saat memuali program
SETB PT1 ;prioritaskan interupsi timer0
SETB magnet ;seting awal magnet agar tidak dianggap sinyal dari Pickup
;~~~~~~~~~~~~~~~~~~~~~~~~~~Loop Utama~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mainloop:
JB magnet, mainloop ;menunggu pulsa negative pada magnet
CLR test ;comparator 0, ini adalah pulsa negative pickup
MOV R3, #0 ;isian awal R3 = 0, akan berbeda nanti sesuai delay yang dibutuhkan
MOV A, R2 ;Isi R2 terdapat jumlah 400µs antara dua pulsa pickup
ADD A, #01h ;jika RPM > 588(R2 < r2 =” 255)” r2 =” 255″>
;~~~~~~~~~~~~~~~~~jika RPM diterima, perbolehkan pembakaran~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MOV A, #FFh ;Turunkan upside down (R2 = 255 reads first value, 254 second and so on)
CLR C ;Pengurtangan tanpa meminjam
SUBB A, R2 ;isi periode (jumlah 400µS)(R2) dari interrupt terakhir (selisih antara 2 putaran)
MOVC A, @A+DPTR ;Memilih data sesuai tabel
MOV R3, A ;kirim data ke penghitung delay, delays ignition R3*50µs
label6:
MOV R1, #08h ;8*50µs = 400µs, needed in interrupt
MOV R2, #0 ;for next period count, counts up every 400µs in interrupt
MOV TL0, #FEh ;make sure next interrupt comes soon
wait:
JNB magnet, wait ;wait until pickup pulse is over
SETB test ;comp output HIGH
MOV DPTR, #TabelPetaPengapian ;Data pointer to TabelPetaPengapian
AJMP mainloop
;~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ Timer 0 Interrupt every 100µs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TIMER:
PUSH PSW
CPL P3.1 ;kedipkan Pin3 setiap 50µs, untuk mengetes jika µProsesr jalan dengan baik
DJNZ R1, label1 ;disini perulangan 8*50µs
MOV R1, #008h ;go through loop every 8*50µs (400µs)
CJNE R2, #0FFh, tambahR1 ;jika R2 = FF (periode maximum) jangan dinaikan lagi..
AJMP label1
tambahR1:
INC R2 ;dasar > 588/min (R2 < r3 =” 0″ s =” 500µs” r0 =” 0″>
;~~~~~~~~~~~~~~~~~~~~~~~~~~~ Akhir Subrutin Interupsi timer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;~~~~~~Data dibawah sesuai Tabel Peta pengapian, Harus diisi sesuai dengan data~~~~~~~~~~~~~
TabelPetaPengapian:
DB 139,138,138,137,137,136,13 6,135,134,134,133,133,132,131,131,130,130,129,129,128
DB 127,127,126,126,125,125,124,123,123,122,122,121,121,120,119,119,118,118,117,116
DB 116,115,115,114,114,113,112,112,111,111,110,110,109,108,108,107,107,106,105,105
DB 104,104,103,103,102,101,101,100,100,99,99,98,97,97,96,96,95,95,94,93
DB 93,92,92,91,90,90,89,89,88,88,87,86,86,85,85,84,84,83,82,82
DB 81,81,80,79,79,78,78,77,77,76,75,75,74,74,73,73,72,71,71,70
DB 70,69,69,68,67,67,66,66,65,64,64,63,63,62,62,61,60,60,59,59
DB 58,58,57,56,56,55,55,54,53,53,52,52,51,51,50,49,49,48,48,47
DB 47,46,45,45,44,44,43,43,42,41,41,40,40,39,38,38,37,37,36,36
DB 35,34,34,33,33,32,32,31,30,30,29,29,28,27,27,26,26,25,25,24
DB 23,23,22,22,21,21,20,19,19,18,18,17,17,16,15,15,14,14,13,12
DB 12,11,11,10,10,9,8,8,7,7,6,6,5,4,4,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
END

2 comments:

  1. Mantab.. ajar dong

    ReplyDelete
  2. Mas, apakah dg adanya ic programable tidak lagi membutuhkan pulser ?

    ReplyDelete