| 22 komentar ]

Kita akan mempelajari CDI programmable..

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
;dimodifikasi oleh: si sunar www.azwraith.tk mail to:portalforfuture@yahoo.c
o.id

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,12
4,123,123,122,122,121,121,120,119,119,118,118,117,116
DB 116,115,115,114,114,113,11
2,112,111,111,110,110,109,108,108,107,107,106,105,105
DB 104,104,103,103,102,101,10
1,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

Post ini Hanya untuk Pembelajaran semata, saya berharap tidak ada budaya membajak dan apalagi menganggap ini suatu CopyRight... dan tolong dikembangkan, Dibenarkan jika ada yang salah, mungkin dari sisi otomotif saya yang kurang memadai karena saya ini anak Elektro. terimakasih!
pertama2 mohon maaf kepada Produsen2 CDI programable yang ada sekarang, bukan maksudQ untuk melukai hatimu(weleh) , karena rasanya sayang jika suatu hal kecil yang sangat berguna ini tidak ada yang mau mempublikasikan, Maaf

22 komentar

Chalief mengatakan... @ 20 Juli 2009 18.27

Nice Post...Detail banget Bro....kerrenn..
Thankz yah dah maen2 ke BLog Butut Gw Bro..
Chalief

AzWraith mengatakan... @ 21 Juli 2009 17.43

mkasih :) NEh juga masih dalam tahap pengembangan. kalo ada usul atau berpendapat bisa jadi bahan refisi..

Arief Masqulin mengatakan... @ 12 Maret 2010 10.32

mantap kawan... lg nyari bahan yg kaya gini nih... :-bd

bayu mengatakan... @ 18 Maret 2010 11.46

blh gk mnta program yang asline

rozyad mengatakan... @ 2 Juni 2010 00.36

you are smart...
mohon izin copying...
bisa pake c language ga...?

c13bike mengatakan... @ 5 Juni 2010 06.04

Bisa dibikin kan satu ngga mas?biar nanti bisa langsung di uji coba ke motor buat balap .kalo bisa hubungi lewat email saya...Ok thanks

DERA CAHYONO, SST mengatakan... @ 13 Juni 2010 02.59

ane bisa boss.... bisa juga share ilmu2 yg ane tau ttng cdi programmable. ada pake PIC dan juga ATMEL IC, bisa lihat di
http://deracahyono.wordpress.com/
http://elektronik-dera.blogspot.com/ atau bisa fb
http://www.facebook.com/profile.php?id=1170489839

fb: dera_mk53@yahoo.co.id
ym: dera_mk

pkoknya bsa tanya2 apa saja ttng cdi dan mikro


trimmss bozzz.


DERA CAHYONO, SST
(Banyuwangi)

Anonim mengatakan... @ 24 Juni 2010 01.32

LIKE THIS,...

bos saya mau tanya soal socket dari microcontroller ke PC tu kaya gmna,..
dsni saya msih amatir n pngin tau soal yang kaya bgituan,.
yang menyangkut electronika mesin,.
mohon bantuannya ya!!!

Anonim mengatakan... @ 25 Juni 2010 10.57

like this!!!!!!!!

Anonim mengatakan... @ 26 Juni 2010 15.47

bisa minta rumus untuk menghitung derajat pengapian terhadap rpm ga..???plzz

pai2041 mengatakan... @ 28 Juni 2010 16.05

mau tanya ni mas..
yang brpengaruh ke besar nya pengapian itu tegangan atau arus yaa mas???

pai2041 mengatakan... @ 1 Juli 2010 22.54

mas ada beberapa dioda dan transistor yg ga kketemu barang'a...
ada komponen pengganti buat 1n4005,ba189,bc237...
n trafo'a pake apa yaa??

Anonim mengatakan... @ 1 September 2010 15.46

mas, boleh minta alamat email, FB, no HP ???
saya mau tamya + sharing2.

Anonim mengatakan... @ 17 September 2010 00.14

fb: dera_mk53@yahoo.co.id

Anonim mengatakan... @ 21 September 2010 18.19

Untuk menghitung derajat pengapian optimal paling mudah menggunakan dynamometer, karena untuk menghitungnya melalu rumus kita harus tahu dimensi serta berat masing-masing komponen yang terlibat dalam satu putaran mesin.

Dengan dynamometer, sambil menaikkan rpm secara bertingkat dalam jumlah tertentu, kita lihat daya yang dihasilkan sambil memajukan/memundurkan sudut pengapian dengan memperhatikan keadaan mesin untuk menghindari 'knocking'.

Anonim mengatakan... @ 28 Oktober 2010 18.25

siiip..., untuk programnya pake software apa bos??

Anonim mengatakan... @ 2 November 2011 04.27

mas,tolong alamat email.ada yg mau di tanya2..

Anonim mengatakan... @ 2 Desember 2011 00.13

mantap man mantu banget nih buat experimen

mbik to mengatakan... @ 10 April 2012 16.41

bsa mnt nope km gak

lekgun mengatakan... @ 28 Agustus 2012 13.41

gan bisa di bagi dech ke ane gan asm atau hex program nya plisss..........

agung primanico mengatakan... @ 5 Oktober 2012 23.25

kalo mau bertanya. lewat mana ya mas?

Anonim mengatakan... @ 31 Juli 2013 15.38

trafonya gimana? lilit sendiri atau beli jadi? salam paijo (elketro)

Posting Komentar