DIY PIC K150 Programmer (Merakit Sendiri)

 UPDATE 09/08/2021 (K150 Sukses Uji 12F629 & Voltage Yang Tepat Untuk VPP/MCLR)

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

Sudah lebih dari 2 minggu setelah isolasi mandiri/isoma istri saya. Alhamdulillah, Allah berikan kesembuhan untuk istri saya. Si kecil, putri kami tampak bahagia karena bisa bermain dan tidur bersama bundanya kembali. Alhamdulillah Allah berikan saya kekuatan dan kesehatan disaat saya harus mengurus anak, istri dan rumah. 

Semoga ini ujian dari Allah. Dalam beberapa hari kami  sering mendengar pengumuman kematian di masjid atau langgar/surau. Belum lagi tulisan rekan/teman di grub WA atau di FB, hampir rata-rata menulis berita kematian rekan, saudara, guru, pasangan hidupnya, orang tua dll 😔😔 akibat COVID ini.

"Ya Allah...Ya Rabb, sungguh kami tidak memiliki daya dan kekuatan selain pertolonganMu". 

Qodarullah selama istri saya isoma, saya belum ada order kerjaan(pemasangan cctv) sama sekali. Jadi bisa lebih fokus mengurusi anak serta istri yang sedang isolasi. Dan disela-sela waktu luang, saya sempatkan melanjutkan hobi solder menyolder.

Baiklah, kalau kemarin saya menulis "Membuat AVRISP MKII"USB Programmer untuk AVR Atmega. Saya rasa akan lebih pas kalau hari ini kita buat lagi tulisan tentang DIY USB Programmer, tapi kali ini USB Programmer nya untuk PIC Microchip

Dan seperti judul tulisan hari ini, PIC Programmer yang saya akan rakit adalah PIC K150.



Saya pilih PIC K150 karena chip pengendalinya menggunakan PIC16F628A yang harganya terjangkau. Beda dengan 4 Programmer diatas. Semua menggunakan PIC18F2550 yang sekarang harganya cukup mahal. 

UPDATE 09/08/2021 (K150 Sukses Uji 12F629)
Disamping itu software microbrn milik K150 masih bisa dijalankan di Windows10 x64 dengan baik. Saya sudah mencobanya dengan 4 5 chip PIC (12C508A-OTP, 12F629, 16F84, 16F84A, 16F628A dan 18F2550).

Semua dapat jalan dengan baik. Kecuali 12C508A, karena jenis OTP (One Time Programmable) saya hanya mengujinya dengan "READ", "OSC Cal", "VERIFY" dan "FUSES".

Dari 3 ic/chip 12C508A yang saya memiliki, hanya 1 ic/chip yg kosong. Sedangkan 2 ic/chip sisanya sudah terisi/terprogram. Karena jenisnya OTP & tinggal 1pcs, sayang kalau mau dibuat uji tulis/program. Jadi untuk 12C508A agak sedikit terbatas pengujiannya.

Mungkin kedepan saya akan membuat tulisan "Membuat Modchip 12C508A PSX" untuk menguji programming 12C508A ini, sekalian juga 12F629. Tapi sebelumnya, Sony Playstation nya harus beres dulu. Baru kita bisa buat Modchip untuk mengujinya.

HATI-HATI!!! programing tipe PIC ini(12F508/A & 12F629).  Kita harus meningat-ingat nilai OSCAL dan Bandgap asli bawaan pabrik. Salah prosedur akan membuat PIC anda gagal dan rusak(12F629)

Dari semua pengujian, Alhamdulillah PIC K150 ini mampu menyelesaikannya dengan baik. 

SKEMA AWAL
Awal saya mendapatkan skema di Kitrus. Tapi setelah saya perhatikan sepertinya ada yang berbeda. Dibanding dengan K150 yang dijual dipasaran, ternyata ada perbedaan di bagian USB to TTL(FT232), Power & Regulatornya



Untuk PIC K150 yang dijual dipasaran hanya menggunakan satu sumber daya, yaitu 5v dari USB port. Serta menggunakan  MC34063A sebagai Boost/Buck Inverting Regulator. Lalu blok USB to TTL, menggunakan chip Prolific PL2303



Anda juga bisa melihat skema lainnya disini:

MEMILIH USB to TTL MODULE

Banyak yang mengatakan Programmer  PIC K150 ini sering muncul ERROR pada softwarenya. Memang betul, awal saya selesai rakit saya kesulitan menjalankan PIC K150 dengan lancar, selalu  gagal. 

Sekitar 2-3 hari saya mengotak-atik K150, saya cek semua jalur, komponen & solderan. Dan akhirnya ketemu beberapa penyebabnya. Salah satunya adalah hasil  solder yang buruk/short dan jalur yang salah.  Setelah saya perbaiki solderan, mengkoreksi jalur yang salah serta mengganti beberapa komponen,  akhirnya k150 berhasil terdeteksi dan berhasil memprogram PIC.

Tapi ternyata K150 saya ini belum bisa dikatakan bebas masalah/ERROR. Karena masih ada BUG yang mengganggu dan sifatnya RANDOM ERROR/ERROR ACAKERROR ACAK ini muncul saat saya uji proses PROGRAM, READ atau VERIFY berulang kali.

ERROR ACAK ini lebih sering muncul disaat saya menggunakan PIC 18F2550. Terkadang ERROR saat PROGRAM/WRITE HEX, terkadang ERROR saat VERIFY. Sedangkan untuk 3 tipe ic/chip lainnya, saya tidak/belum pernah mengalami ERROR ACAK.

Gara-gara masalah BUG ini, saya bolak-balik bongkar pasang komponen dan  berulang-kali melakukan random test.  Saya sempat berfikir untuk membatalkan tulisan K150 ini, gara-gara belum menemukan solusi untuk masalah RANDOM ERROR/ERROR ACAK ini.

Sebagai catatan, saya menggunakan Windows10 x64 dan saya sudah mengujinya di 2 Desktop PC (AMD Ryzen) & Laptop (Intel Celeron). Uniknya untuk Laptop dengan proc Intel Celeron, saya belum pernah mengalami ERROR. Hanya di 2 CPU Desktop Ryzen saja, saya sering menemukan ERROR ACAK. Tapi setelah mencoba berbagai macam cara, Alhamdulillah sepertinya saya sudah menemukan solusi agar PIC150 rakitan ini bisa berjalan dengan lancar. 


"Memilih USB to TTL Module yang tepat" 
Disinilah salah satu kunci yang bisa membuat PIC K150 anda minim ERROR bahkan mungkin bebas dari ERROR, terutama RANDOM ERROR/ERROR ACAK. Dari banyak skema diatas, hampir semua menggunakan FT232 USB to TTL. Sedangkan versi PIC K150 yang beredar dipasaran menggunakan Prolific PL2303 USB TTL. Awal saya menggunakan Prolific PL2303 USB to TTL Module, selain harga yang terjangkau kebetulan juga saya punya module tersebut.

Saat menggunakan PL2303 saya sering menemukan ERROR ACAK. Terutama saat menggunakan PC Desktop Ryzen (MSI B350M) milik saya. Saya juga sempat tes di PC Desktop Ryzen milik adik saya, yang kebetulan menggunakan Motherboard dari Asrock. Ternyata ERROR ACAK ini muncul juga.

Dan seperti tulisan saya diatas sebelumnya. Saat saya coba di laptop Intel Celeron, saya tidak menemui ERROR sama sekali. Semua pengujian berjalan dengan lancar. 4 jenis chip PIC yang saya miliki semua lolos uji, Program, Read, Verify & Reset Programmer. Semua dapat berjalan lancar saat menggunakan laptop Intel Celeron, tanpa ERROR sama sekali. Bener-bener aneh 😕😕

Diawal-awal saya masih berusaha mengotak-atik PL2303 ini. Namun pada akhirnya saya menyerah juga. Dan saya putuskan untuk membeli module FT232R USB to TTL. Saya lepas PL2303 kemudian saya ganti dengan module FT232R. 

Setelah driver FT232R terpasang, sekali lagi saya keluarkan semua chip PIC yang saya miliki. Segera saya mulai jalankan uji ProgramReadVerify & Reset Programmer  untuk tiap tipe PIC

Untuk PIC 18F2550, saya lakukan uji khusus ProgramReadVerify & Reset Programmer berulang kali. Alhamdulillah dengan menggunakan FT232R semua tipe PIC yang saya miliki, lolos uji. Lancar tanpa ERROR.
  

Buat teman-teman yang memiliki PIC K150  dan sering mengalami ERROR, coba ganti blok PL2303 dengan module FT232R.


Caranya mudah, lepas atau putuskan 
koneksi/jalur DTR, TX dan RX dari PL2303 yang menuju 16F628A. Ganti dengan DTR, TX dan RX dari USB TTL FT232R. Tolong perhatikan sambungan TX dan RX ke 16F628A, jangan sampai terbalik!!! Jangan lupa sambungkan juga 5VDC dan GND dari Module FT232R ke PIC K150.


Sebelum saya pakai PL2303, saya sempat juga mencoba menggunakan  CH340 USB TTL, ternyata selalu ERROR. Bukan jenis ERROR ACAK seperti FT2303, tapi hasil PROGRAM nya selalu GAGAL. Jadi CH340 saya coret dari daftar USB to TTL.


Saya juga sempat baca memodefikasi PIC K150 dengan CP2102 disini. Tapi saya belum mencobanya. Kalau saran saya, "gunakan module FT232R saja!!!"


SKEMA & PCB VERSI RAV
Setelah selesai kita pilih USB to TTL, kita lanjutkan ke skema K150. Untuk skema & PCB saya, bisa anda lihat disini.

UPDATE 09/08/2021 
Voltage Yang Tepat Untuk VPP/MCLR.
Tulisan ini saya ambil dari Software: PBrennerTester (sprut.de).

Memilih tegangan pemrograman yang tepat untuk PIC baru-baru ini menjadi masalah yang mengganggu. Agar PIC dibakar, tegangan pemrograman sekitar 12V harus ditempatkan pada pin MCLR / Vpp-nya.

Tergantung pada jenis PIC, tegangan yang diperlukan sedikit berbeda. Untuk sebagian besar jenis, tegangan tepat 13V sangat ideal. Namun, ini agak rumit untuk dihasilkan, karena regulator tegangan tetap 13V tidak umum. Kombinasi 7805 (regulator tegangan tetap 5V) dengan 7808 (regulator tegangan tetap 8V) (burner5 R7), atau 7812 (regulator tegangan tetap 12V) dengan dioda tambahan (pembakar lama5) atau regulator tegangan yang dapat disesuaikan secara bebas (317) dapat digunakan.

Jika Anda hanya ingin bekerja dengan 16F87x modern, 12F6xx dan 16F628, Anda dapat membuatnya mudah untuk diri sendiri. Di sini 7812 sederhana yang menghasilkan 12V sudah cukup. Sirkuit ini puas dengan tegangan apa pun antara 9V dan 13,5V.

Tetapi jika Anda masih menggunakan 16F84, Anda harus menaikkan tegangan pemrograman ke 13V (e.B. dengan dioda pada 7812 di burners5 yang lebih tua), sehingga tegangan yang cukup tinggi masih tiba di PIC.

++PERHATIAN++

Pengguna P18 yang ingin membakar PIC 16-bit tidak boleh menaikkan tegangan pemrograman secara membabi buta ke 13V! Banyak jenis PIC18Fxxxx tidak lagi dapat dihapus dengan benar dengan tegangan di atas 12.5V.


Perangkat lunak pembakar P18 dari versi V1.5 dan perangkat lunak pembakar PBrenbnerNG dari versi V4.0 juga menampilkan tegangan pemrograman yang ditentukan setelah deteksi otomatis jenis PIC. Ini dapat berfungsi sebagai orientasi.

DC to DC Step Up Boost Inverter.
Seperti yang anda lihat ditulisan atas. Saya dapat tulisan tersebut dari situs berbahasa German. Hati-hati dalam menentukan voltage VPP/MCLR. Kebetulan voltage VPP/MCLR K150 milik saya sekitar 13v28 (Res 4k7 & 5k1). Alhamdulillah sejauh ini aman saya gunakan di 5 tipe PIC yang saya miliki (12C508/A, 12F629, 16F84, 16F84A, 16F628 & 18F2550).


Pada bagian blok  DC to DC Step Up Boost Inverter ini, anda bisa pilih besaran nilai resistor R33 & R41Silakan anda tentukan sendiri voltage yang ideal/aman. Anda bisa menggunakan:

- Resistor 9K, dengan 2 resistor seri 5k1 & 3k9 (12v5).
- Resistor 9K4, dengan 2 resistor seri  4k7 & 4k7 (13v)
- Resistor 9K8, dengan 2 resistor seri 4k7 & 5k1 (13v5). 
- Resistor 10K, dengan resistor 10k (13v75).
Dengan toleransi kesalahan nilai voltage <5%. Pastikan gunakan Multimeter/Voltmeter untuk mengukur tegangannya.

Sebelumnya saya juga sudah mencoba semuanya kombinasi resistor diatas.


Atau kalau anda ingin lebih fleksibel & aman silakan gunakan 10k Trimpot Multiturn agar didapat voltage yang ideal/aman. 


Desain PCB. 
Sekali lagi saya menggunakan PCB lubang. Mohon maaf kalau desain PCB dan tata letak komponennya kurang menarik. 



Saat mengotak-atik PL2303 dan CH340.




Dibawah ini PIC K150 rakitan saya yang sudah diuji dengan 4 tipe PIC.




PROGRAMMING FIRMWARE
Jangan lupa, sebelum K150 USB PIC Programmer ini bisa bekerja. Kita harus programing dulu PIC16F628A nya. Semua Firmware dan file bisa anda ambil disini


Kebetulan saya punya 2 Firmware Untuk PIC K150 ini.
1. Firmware DIYpack25EP (Original Kitrus).
2. Firmware DIYpack25EP2 (modefikasi dari Original Kitrus).

Lalu bagaimana cara memasukkan file hex ke PIC16F628A? Kita kan mau buat Programmer PIC...🤔 Jawabannya sederhana, gunakan RCD programmer(PIC Serial Programmer). Silakan baca ditulisan saya "Mikrokontroller Serial Programmer (AVR & PIC)".



Untuk file Firmwarenya, saran saya gunakan "ep2K150.hex" (DIYpack25EP2).
Mengapa??? karena ada keterkaitan dengan file microbrn dan fixhex2 bawaan DIYpack25EP. Untuk lebih jelasnya silakan lihat bab "BAHAYA!!! microbrn & fixhex2" dibawah. 


Jangan lupa seting FUSE "CP/Code Protection" nya di "OFF" kan. Agar saat "Verify" tidak muncul ERROR.


BAHAYA!!! microbrn & fixhex2
Hasil tes file microbrn.exe & fixhex2.exe dari DIYpack25EP dengan VirusTotal

microbrn.exe versi DIYpack25EP

fixhex2.hex versi DIYpack25EP

Hasil tes file microbrn.exe & fixhex3.exe dari DIYpack25EP2 dengan VirusTotal

microbrn.exe versi DIYpack25EP2

fixhex3.hex versi DIYpack25EP2

PC Desktop saya memang hanya mengandalkan Windows Defender untuk perlindungan Virus & Malware. Dan memang saya tidak menginstal Software Antivirus/Malware Remover pihak ke ketiga. 

Oleh Windows Defender  file microbrn dan filehex2 tidak terdeteksi memiliki ancaman Virus/Malware, filenya dianggap bersih dan aman. Tapi Gdrive(google drive) menganggap file microbrn dan filehex2 ini sebagai Virus/Malware. Ini terjadi saat saya unduh file kompresi DIYpack25EP milik saya, beberapa saat setelah saya unggah ke Gdrive.

Setelah saya uji file-file tersebut di VirusTotal, barulah tampak. Seperti yang anda lihat,  DIYpack25EP2(file kompresi atau file dalam folder) relatif lebih aman(sedikit terdeteksi) ancaman virusnya dibanding  DIYpack25EP(file kompresi atau file didalam folder). 

Sebagai catatan, jika anda menggunakan Firmware epk150.hex dari DIYpack25EP maka gunakan software microbrn bawaan dari folder DIYpack25EP

Demikian juga sebaliknya jika anda menggunakan Firmware ep2k150.hex dari DIYpack25EP2, maka gunakan software microbrn bawaan dari folder DIYpack25EP2. Itu sebabnya saya menyarankan menggunakan Firmware dari DIYpack25EP2.

Kalau anda lihat review-review di internet atau youtube, banyak yang masih menggunakan microbrn & fixhex2 dari DIYpack25EP. Dan sepertinya mereka aman-aman saja.

Jujur kalau saya pribadi, saya ingin pilihan yang aman saja. Maka dari itu saya lebih menyarankan menggunakan Firmware, microbrn dan fixhex3 dari DIYpack25EP2.

Sekali lagi, pilihan kembali kepada anda. Sedangkan untuk tampilan dan pengoperasian kedua software sama saja. Kebetulan saya pernah menggunakan 2 Firmware tersebut dan saya sudah mencobanya juga. Untuk pengoperasiannya, sejauh ini kedua-dua berjalan dengan baik.

INSTAL DRIVER FT232R

Setelah rangkaian jadi dan Firmware sudah terpasang, saatnya instal driver FT232R. Silakan unduh driver FT232R di:
klik VCP Drivers.

Unduh driver sesuai Windows anda, x86 atau x64 driver.

Ekstak file hasil unduhan lalu instal driver FT232R ini secara manual. Untuk yang belum paham cara instal driver FT232R secara manual, silakan cari di google atau youtube.

SOFTWARE microbrn & fixhex2/3

Untuk pengoperasian software microbrn ini cukup mudah. Saat pertama kali anda menjalankan microbrn ini pastikan anda set tipe Programmer (K150) dan nomer Serial Port nya

Untuk Programmer Pilih K150.


Isi nomer Port Serial sesuai dengan nomer Port USB to TTL di Device Manager.


Jika sudah muncul tulisan "K150 board connected", maka K150 siap jalankan.


Untuk pengoperasiannya, anda cukup gunakan tombol-tombol yang tampil di layar utama microbrn ini.


 
Chip selector:
Untuk memilih tipe PIC yang akan anda program.
Soket ic/chip:  Setelah anda pilih tipe PIC, letakkan ic/chip pada soketnya. Sesuaikan dengan contoh gambarnya. 

Load: Membuka file hex.
Save: Untuk menyimpan file hex.
Program: Untuk memulai proses menulis file hex ke PIC secara otomatis.
Read: Untuk membaca hex/program didalam PIC.
Verify: Memverifikasi file hex dengan hex didalam chip PIC .
Blank: Test kosong dan menghapus PIC.
Fuses: Untuk seting fuse PIC.
CALIB: Untuk menset OSCal dan  Bandgap PIC (contoh PIC 12Cxx atau 12Fxx).

Bila muncul error saat anda Load file hex, seperti gambar dibawah. Gunakan fixhex3 untuk memperbaikinya. 


Buka fixhex3, "Load file" kemudian "Convert".


Dan fixhex3 akan membuat file hex copy yang sudah diperbaiki. 


Selanjutkan "Load" file hasil perbaikan fixhex3 ke microbrn. Seharusnya tampilan error tidak akan muncul lagi dan anda dapat melanjutkan proses program PIC.

FIXHEX3 "ERROR MISSING COMDLG32.OCX"

Bagi anda yang mengalami "ERROR MISSING COMDLG32.OCX" saat akan membuka file fixhex3, lakukan hal ini:
  1. Download file COMDLG32.OCX terlebih dahulu.
  2. Ekstrak file bila dalam keadaan terkompresi.
  3. Copykan COMDLG32.OCX ke C:\Windows\system32\, bila anda menggunakan Windows x86.
  4. Copykan COMDLG32.OCX ke C:\Windows\SysWOW64\, bila anda menggunakan Windows x64.
  5. Buka CMD/Command prompt, Run as administrator.
  6. Untuk Windows x86 ketik "regsvr32 c:\Windows\system32\comdlg32.ocx" (tanpa tanda petik).
  7. Untuk Windows x64 ketik "regsvr32 c:\Windows\SysWOW64\comdlg32.ocx" (tanpa tanda petik).

Abaikan saja bila anda mengalami ERROR saat menutup FIXHEX3 ini. 



Saya rasa tulisan ini sudah cukup detail menceritakan bagaimana merakit PIC K150 dan memberikan solusi untuk masalah-masalah yang ada. 

Dan inilah akhir dari tulisan "DIY PIC K150 Programmer (Merakit Sendiri)". Semoga bermanfaat, terima kasih.

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ





Komentar

  1. om... K150 kok ga ada list PIC16C56A di tipe 16nya? bisa ga pakai K150 nya ?

    BalasHapus

Posting Komentar

Postingan populer dari blog ini

DIY GORDAK 936A Solder Station (buat sendiri solder station)

T12 Solder Station Analog