Penulis Topik: Kontroller PLL dengan PIC  (Dibaca 11691 kali)

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

Offline juhar

  • Full Member
  • ****
  • Tulisan: 211
    • Tekad Karya Mandiri
Kontroller PLL dengan PIC
« pada: Desember 20, 2010, 08:53:55 AM »
  • Publish
  • Berawal dari pancingan mas Ri-5-am yang memposting kode kontroller PLL FM RDVV, dan juga keinginan untuk belajar kembali dunia mikro yang lama ditinggalkan, maka ane coba buka trit baru untuk mbahas penggunaan mikrokontroller dalam aplikasi sederhana.

    Biar mudah dan semua bisa cepat mengikuti, ane pilih pake bahasa BASIC aja.

    Nah, yang mesti disiapkan adalah :

       1. IC PIC (boleh 16F628A ato 16F84A)
       2. Hardware programmer PIC-nya, banyak macem bisa bikin sendiri ato beli jadi
       3. Program buat compilernya (ane pakai Proton aja)
       4. Program Simulatornya (PIC Simulator)

    Ane siap2 dulu yah...  :-X

    update :

        Kayaknya musti pake program yg full version nih, barusan pake proton lite, cuman maksimal 50 baris aja, udah gitu PICnya terbatas. Nyari yg full dulu yah :)

    -----------------------------------------------------------------------------------------------------------------------------------
    Ehm... kalo pake GCBasic ama Emerald editor yang gratisan kayaknya lebih mantab nih...
    seperti info dari mas Ri-5-am,

    GC Basic dari http://gcbasic.sourceforge.net/download.html
    Crimson Editor dari http://www.crimsoneditor.com/english/download.html

    Ane cobain dulu yaa...
    -----------------------------------------------------------------------------------------------------------------------------------

    Update lagi : Ternyata GCBasic kurang nyaman,... mendingan pake PicBasic Pro ato Proton aja yah...
    Bukannya menganjurkan membajak program, tapi klo beli emang harganya mahal... klo cuman buat belajar, mungkin bisa nyoba cari sendiri di net ato pm ane, ntar ane bantuiin cari link buat donlod programnya.

    Nah sekarang mo install PBP dulu, yang nggak gedhe2 makan harddisk, klo Proton mah gedhe banget, tapi maknyoss ada simulatornya langsung. jadi bisa ngetest rangkaian sebelum dibikin PCB / disolder.

    ------------------------------------------------------------------------------------------------------------------------------------
    Update maning:...

    Ternyata Proton emang paling oyeeeee..... dah, ane pakai proton aja...
    Teman2 klo mo link buat donlodnya pm aje yaa, atau bisa cari di webnya sonsivri.com
    « Edit Terakhir: Desember 21, 2010, 09:26:24 AM oleh juhar »

    Offline Machmud

    • Moderator
    • Hero Member
    • ********
    • Tulisan: 1253
    Re:Kontroller PLL dengan PIC
    « Jawab #1 pada: Desember 20, 2010, 10:07:53 AM »
  • Publish
  • Dilanjut... 8)

    Offline bondanpepi

    • Sr. Member
    • ******
    • Tulisan: 304
    • berbagi ilmu hal yg tdk salah
    Re:Kontroller PLL dengan PIC
    « Jawab #2 pada: Desember 20, 2010, 11:35:17 AM »
  • Publish
  • mas juhar nti penjelasannya pakai pahasa  mudah di pahami ye,......maklum saya orang ndeso,ngikut belajar... :)

    Offline ndroe

    • Hero Member
    • ********
    • Tulisan: 1136
    • beginer banget
    Re:Kontroller PLL dengan PIC
    « Jawab #3 pada: Desember 20, 2010, 12:30:44 PM »
  • Publish
  • idem sama mas bondan...wehehehe.. :-X
    88,1 ..FM Ra' Ajeg

    Offline juhar

    • Full Member
    • ****
    • Tulisan: 211
      • Tekad Karya Mandiri
    Tahap 1: Inisialisasi dan Menuliskan di layar LCD
    « Jawab #4 pada: Desember 21, 2010, 10:33:36 AM »
  • Publish
  • Setelah berhasil install Proton Basic dan IDE-nya (IDE = Integrated Development Environment, ato bahasa gampangnya Editor buat nulis & compile program), sekarang kita mulai merakit kontroler kita pake PIC 16F84.

    Dari kode2 berikut akan nampak betapa mudahnya memprogram PIC dengan menggunakan BASIC.

    Oh ya, baris yang dikasih tanda ' (apostrophe) adalah komentar, jadi nggak bakal dihiraukan oleh Proton

    Kode: [Pilih]
    ' Jenis PIC yang digunakan
    Device = 16F84A 
    ' Konfigurasi PIC
    ' pake kristal 4 Mhz  -->    XT_OSC
    ' WatchDog Timer off  -->    WDT_OFF
    ' PowerOn Timer off   -->    PWRTE_OFF
    ' Code Protection off -->    CP_OFF
    Config XS_OSC, WDT_OFF, PWRTE_OFF, CP_OFF     
    'susunan pinout LCD

    LCD_DTPin = PORTB.4  ' Data mulai portB.4 s/d portB.7
    LCD_RSPin = PORTB.2  ' Register Select di portB.2
    LCD_ENPin = PORTB.3  ' Enable di portB.3
    LCD_Interface = 4 ' Transmisi data 4-bit
    LCD_Lines = 2        ' LCDnya 2 baris
           
    ProgramKu:
       Print At 1,1, "KHE Indonesia"   ' tulis di layar, baris pertama

    End  ' Selesai

    Bandingkan dengan cuplikan kode yang biasa ane pakai dengan ASM langsung...


    Kode: [Pilih]
    ;========================================================================
    ; Rutin untuk kontrol maupun tulis data ke LCD
    ;========================================================================

    EnableLCD
    bsf LCD_CTRLPORT, EN_LCD
    nop
    bcf LCD_CTRLPORT, EN_LCD
    Return

    ClearDisplayLCD
    movlw 0x01
    Call TulisPerintah
    Return

    LCDBaris1F
    movlw 0x82
    Call TulisPerintah
    Return

    LCDBaris1
    movlw 0x80
    Call TulisPerintah
    Return

    LCDBaris2
    movlw 0xC0
    Call TulisPerintah
    Return

    LCDCursorOn
    movlw 0x0D
    Call TulisPerintah
    Return

    LCDCursorOff
    movlw 0x0C
    Call TulisPerintah
    Return

    ;=========================================================================
    ; menuliskan data 8 bit dalam 2x jalan (interface 4 bit)
    ; tulis dulu data di MSB, baru diikuti LSB
    ;=========================================================================


    TulisData
    movwf DataTemp
    swapf DataTemp, w
    andlw 0x0f
    movwf LCD_DATAPORT
    bsf   LCD_CTRLPORT, RS_LCD
    Call EnableLCD
    Call Tunda5ms
    movf DataTemp, w
    andlw   0x0f
    movwf LCD_DATAPORT
    bsf   LCD_CTRLPORT, RS_LCD
    Call EnableLCD
    Call Tunda5ms
    Return

    ;========================================================================
    ; menuliskan perintah 8 bit dalam 2x jalan (interface 4 bit)
    ; tulis dulu perintah di MSB, baru diikuti LSB
    ;========================================================================

    TulisPerintah
    movwf DataTemp
    swapf DataTemp, w
    andlw 0x0f
    movwf LCD_DATAPORT
    bcf     LCD_CTRLPORT, RS_LCD
    Call    EnableLCD
    nop
    movf    DataTemp, w
    andlw   0x0f
    movwf   LCD_DATAPORT
    bcf    LCD_CTRLPORT, RS_LCD
    Call   EnableLCD
    Call   Tunda5ms
    Return

    ;=========================================================================
    ; urutan penginisialisasian LCD
    ;=========================================================================

    InisialisasiLCD

    Call Tunda100ms
    movlw 0x20           
    Call   TulisPerintah
    movlw      0x28
    Call  TulisPerintah   
    movlw 0x0C
    Call   TulisPerintah
    movlw 0x06
    Call TulisPerintah   
    Call  ClearDisplayLCD
    Call LCDBaris1
    Return

     ::) ::) :P :P
    « Edit Terakhir: Desember 21, 2010, 10:58:18 AM oleh juhar »

    Offline yd7lby

    • Sr. Member
    • ******
    • Tulisan: 466
    • elektronika is yahud
    Re:Kontroller PLL dengan PIC
    « Jawab #5 pada: Desember 21, 2010, 12:08:02 PM »
  • Publish
  • lanjut mas...+1 ilmu nih
    "Siapa yang cinta pada nabi-Nya, pasti bahagia dalam hidupnya"
    -Vita dan Hadad Alwi-

    Offline Ri-5-am

    • Full Member
    • ****
    • Tulisan: 117
    Re:Kontroller PLL dengan PIC
    « Jawab #6 pada: Desember 21, 2010, 12:27:21 PM »
  • Publish
  • Berawal dari pancingan mas Ri-5-am yang memposting kode kontroller PLL FM RDVV, dan juga keinginan untuk belajar kembali dunia mikro yang lama ditinggalkan, maka ane coba buka trit baru untuk mbahas penggunaan mikrokontroller dalam aplikasi sederhana.

    Biar mudah dan semua bisa cepat mengikuti, ane pilih pake bahasa BASIC aja.

    Nah, yang mesti disiapkan adalah :

       1. IC PIC (boleh 16F628A ato 16F84A)
       2. Hardware programmer PIC-nya, banyak macem bisa bikin sendiri ato beli jadi
       3. Program buat compilernya (ane pakai Proton aja)
       4. Program Simulatornya (PIC Simulator)

    Ane siap2 dulu yah...  :-X

    update :

        Kayaknya musti pake program yg full version nih, barusan pake proton lite, cuman maksimal 50 baris aja, udah gitu PICnya terbatas. Nyari yg full dulu yah :)

    -----------------------------------------------------------------------------------------------------------------------------------
    Ehm... kalo pake GCBasic ama Emerald editor yang gratisan kayaknya lebih mantab nih...
    seperti info dari mas Ri-5-am,

    GC Basic dari http://gcbasic.sourceforge.net/download.html
    Crimson Editor dari http://www.crimsoneditor.com/english/download.html

    Ane cobain dulu yaa...
    -----------------------------------------------------------------------------------------------------------------------------------

    Update lagi : Ternyata GCBasic kurang nyaman,... mendingan pake PicBasic Pro ato Proton aja yah...
    Bukannya menganjurkan membajak program, tapi klo beli emang harganya mahal... klo cuman buat belajar, mungkin bisa nyoba cari sendiri di net ato pm ane, ntar ane bantuiin cari link buat donlod programnya.

    Nah sekarang mo install PBP dulu, yang nggak gedhe2 makan harddisk, klo Proton mah gedhe banget, tapi maknyoss ada simulatornya langsung. jadi bisa ngetest rangkaian sebelum dibikin PCB / disolder.

    ------------------------------------------------------------------------------------------------------------------------------------
    Update maning:...

    Ternyata Proton emang paling oyeeeee..... dah, ane pakai proton aja...
    Teman2 klo mo link buat donlodnya pm aje yaa, atau bisa cari di webnya sonsivri.com

    Weh.. weh..weh.. ni pakar koding dah mulai beraksi ni... manatbbbbbbb.... 8) 8)

    Se-paham dengan Om juhar ini, setelah pake GCBASCIC, dibandingkan dengan PBP (PICBASIC PRO) ato mungkin dengan laenya, ane merasa agak kurang nyaman. Mungkin ada satu falsafah yang harus diingat dalam hal ini... "GRATISAN KOK PINGIN NYAMAN" he..he..he..he... Dah bisa jalan dah untung...  :P
    Akhirnya ane juga pake PBP, Untuk asm-nya pake MPASM dari microchip. Editornya pake Microstudio... uenakkk tenan... dan simulatornya pake PICSIMULATOR...

    Kemarin udah selesai juga edit edit source-nya RDVV. info terahir dari p. Machmud udah bisa lock sampe 459,00MHz. Kemaren pak Machmud yang dah nyobain.. ane bikin softwarenya tapi ga punya hardwarenya... ckc..ck..ck...  :'(  Hexnnya tar tak uplod... mayan, bisa bikin STL ni...  Juga isi programnya... tar tak opensourcelah... tenang aja...

    DILANJUT.... 8) 8) 8)

    Offline juhar

    • Full Member
    • ****
    • Tulisan: 211
      • Tekad Karya Mandiri
    Re:Kontroller PLL dengan PIC ( Bedah RDVV.BAS )
    « Jawab #7 pada: Desember 21, 2010, 02:38:41 PM »
  • Publish
  • Berikut ini sekilas hasil pembacaan dan menerjemahkan kode RDVV dari ViProje
    Yang jelas dicompile nggak error, cuman belum tau klo di rangkaian aslinya, wong PLL RDVVku masih belum selesai disolderin hehehe
    :P :P

    Mohon review dari rekan2, terutama yang PLL RDVV-nya udah jalan.
    Sekalian biar bisa langsung dibuat memahami cara kerja PIC

    [code]
    '****************************************************************
    '*  Author  : [H
    « Edit Terakhir: Desember 21, 2010, 04:21:15 PM oleh juhar »

    Offline isurganteng

    • Isurganteng
    • Administrator
    • Hero Member
    • ********
    • Tulisan: 2652
    • Keseharianku Melawan Waktu
      • Keseharianku Melawan Waktu
    Re:Kontroller PLL dengan PIC
    « Jawab #8 pada: Desember 21, 2010, 03:11:38 PM »
  • Publish
  • wah ... master programer akhirnya beraksi .... ngga ada simulator ne ... hikz ... wa coba2 instal microbasic bawaan dari k182 ... ada erot di line 25 ... opo yo ??? maklum masi belum tau dengan komen2 compailer .. zizizizi ...


    pic simulatorna dimana yo ?
    gdshost.net
    ym : yadi_arfm
    tukangsapu.net, isurganteng.wordpress.com, Elektronika.web.id, Gdsapp.net

    Offline juhar

    • Full Member
    • ****
    • Tulisan: 211
      • Tekad Karya Mandiri
    Re:Kontroller PLL dengan PIC
    « Jawab #9 pada: Desember 21, 2010, 03:23:47 PM »
  • Publish
  • Program ini ane coba dengan Proton, jadi klo di-compile dengan MikroBasic mungkin perlu penyesuaian.
    Cek PM.

    Offline isurganteng

    • Isurganteng
    • Administrator
    • Hero Member
    • ********
    • Tulisan: 2652
    • Keseharianku Melawan Waktu
      • Keseharianku Melawan Waktu
    Re:Kontroller PLL dengan PIC
    « Jawab #10 pada: Desember 21, 2010, 04:17:19 PM »
  • Publish
  • ya deh gan ntar di download ... trafik tinggi sekarang ... agak lemot internet .... lagi pula besok mo off dulu .... ngurus bini mo lahir .. lanjutkan dulu gan ....

    cuma gan ada kelemahan di rdvv ... maunya si setiap frekwensi sudah lock ... dan jika osc tidak tepat mis pas tun ato apa .. maka dia unluk eh unlock ... mungkin bisa kirim data terus dari lock nya ke pengulangan osc nya ... sehingga lock nya ngga idup terus ... kemarin ada ngobrol cuma itu kelemahan rdvv harus ada prog tambahan untuk melakukan feedback terus menerus untuk mengecek apakah benar2 lock pada frek na ...

    mantap2 ... lanjutkan ....  8) 8) 8)
    gdshost.net
    ym : yadi_arfm
    tukangsapu.net, isurganteng.wordpress.com, Elektronika.web.id, Gdsapp.net

    Offline juhar

    • Full Member
    • ****
    • Tulisan: 211
      • Tekad Karya Mandiri
    Re:Kontroller PLL dengan PIC
    « Jawab #11 pada: Desember 21, 2010, 04:25:58 PM »
  • Publish
  • Waa... selamat ya bang Isur, dah mo punya momongan lagi
     :-*  :-*  :-*

    Sepertinya sih kalo liat logika programnya, dia ada saat baca data dari I2C dan ngecheck klo ada unlock.

    Coba kita modif sama2 yuk, aku soalnya juga belum jadi ni PLL RDVV-nya...
    IC yang kapan hari dari mas Isur masih nganggur hehehe ...

    Ayo mas Ri-5-am mana nih ??? Dikoreksi juga dong hasil bedah programnya...

    Ane masih newbie juga kok. Kebetulan kemaren mas Ri-5-am yang kasih trigger jadi kepingin utak atik lagi.

    Offline Ri-5-am

    • Full Member
    • ****
    • Tulisan: 117
    Re:Kontroller PLL dengan PIC ( Bedah RDVV.BAS )
    « Jawab #12 pada: Desember 21, 2010, 04:38:54 PM »
  • Publish
  • Berikut ini sekilas hasil pembacaan dan menerjemahkan kode RDVV dari ViProje
    Yang jelas dicompile nggak error, cuman belum tau klo di rangkaian aslinya, wong PLL RDVVku masih belum selesai disolderin hehehe
    :P :P

    Mohon review dari rekan2, terutama yang PLL RDVV-nya udah jalan.
    Sekalian biar bisa langsung dibuat memahami cara kerja PIC

    [code]
    '****************************************************************
    '*  Author  : [H

    Offline juhar

    • Full Member
    • ****
    • Tulisan: 211
      • Tekad Karya Mandiri
    Re:Kontroller PLL dengan PIC
    « Jawab #13 pada: Desember 21, 2010, 05:13:15 PM »
  • Publish

  • Ane bikin downloadernya dulu...

    Sekedar ikut me-logika,
    Pada baris ini ni:

    'Frek_Kerja = ERead 02 'Baca data dari internal EEPROM, ini aslinya
    Frek_Kerja = 990 ' Kita set frekuensi awal 99.0 Mhz
    If  Frek_Kerja > 0   Then  Lanjut

    Kalo di compile, kalo sy tidak salah logika, maka setiap kali habis dimatikan, pll akan kembali ke frek. 99,0Mc ya...?
    Saya kemarin modifikasi disini menjadi:

    frek_kerja = eread 02
    if (frek_kerja < 875 ) or (frek_kerja >108) then
    'kalo ternyat frekwensinya diluar band FM, maka
    frek_kerja = 100 'default 100mc
    lanjut
    else
    lanjut
    endif


    Ntu aja si.. laennya OK...
    Eh, pernah juga ada masalah ndak bisa simpan ke eeprom, jadi saat mati kembali ke frek. default.
    Saya buat variable frek menjadi lowbyte dan highbyte. nah, dari low dan high byte ini, baru disimpan ke eep.

    Lengkapnya nanti aku uplod.. dari rumah... i.alloh

    Yup betul mas Ri-5-am... Kelupaan, klo mati kan mbalik lagi hehehe :)
    Klo masalah kelemahan yang diungkap ama mas Isur ni gimana ya ? Ada yang ngalamin juga ?


    cuma gan ada kelemahan di rdvv ... maunya si setiap frekwensi sudah lock ... dan jika osc tidak tepat mis pas tun ato apa .. maka dia unluk eh unlock ... mungkin bisa kirim data terus dari lock nya ke pengulangan osc nya ... sehingga lock nya ngga idup terus ... kemarin ada ngobrol cuma itu kelemahan rdvv harus ada prog tambahan untuk melakukan feedback terus menerus untuk mengecek apakah benar2 lock pada frek na ...


    Kayaknya flowchart programnya diubah aja ya, biar lebih afdol... 
    Bayanganku sih begini :

           1. Inisialisasi
           2. Baca EEPROM
           3. Jika EEPROM diluar Range, maka set Frekuensi ke 99 Mhz
           4. Set Frekuensi
           5. Baca Status Lock PLL
           6. Jika Unlock, NonAktifkan Penguat dan Set Ulang Frekuensi Trus Balik ke No. 5
           7. Tampilkan Frekuensi
           8. Tunggu Masukan Tombol
           9. Jika Ada Tombol ditekan, hitung ulang frekuensi baru
         10. Balik ke no 4.
           
    Brrr... jadi kepengen nyolder RDVV nih....

    Offline Machmud

    • Moderator
    • Hero Member
    • ********
    • Tulisan: 1253
    Re:Kontroller PLL dengan PIC
    « Jawab #14 pada: Desember 21, 2010, 06:20:54 PM »
  • Publish
  • Memang ada kelemahannya yaitu :
    a. Misal pll sudah lock dan kita putuskan tegangan ke oscilator maka pll tetap lock
        padahal tidak ada signyal RF, lho kenapa diputus?
        Eh.... untuk ngebreak kang... saya putus bagian vco-nya saja dan pll lock terus.
        dan tidak menutup kemungkinan hal tsb terjadi juga bukan untuk ngebreak

    b. PLL LOCK, trimer diputar dan out RF panas sedangkan di radio dan dicounter frekuensi
        tidak ada.

    Nah bagusnya bagiamana dari sisi pemograman?

       

     


    Facebook Comments