Tak Perlu Colok Cabut Flashdisk Lagi…

Ceritanya saya perlu sering copy file dari satu PC ke PC di ruangan lain. Biasanya ya pake flashdisk. Tapi lama-lama terasa kurang praktis. Belum lagi, flashdisk nya sering ketinggalan di ruangan satunya pas diperlukan di ruangan lain. Jadi mesti ambil dulu flashdisk nya ke ruangan lain, padahal lagi konsentrasi depan PC.

Solusinya bisa aja file nya di kirim ke email atau cloud drive seperti Google Drive. Tapi saya lebih prefer solusi di local ketimbang cloud. Makanya terpikir untuk pakai file server FTP. Platform file server nya ada beberapa pilihan. Bisa pakai PC desktop. Sangat mumpuni dari segi kapasitas, tapi boros daya listrik. Pilihan lainnya, bisa pakai single board computer seperti Raspberry Pi. RPi ini pilihan yang menarik karena kapasitas penyimpanan yang lumayan, bahkan bisa menyamai PC desktop kalau pakai SSD drive. Konsumsi daya listrik nya juga sangat minim ketimbang PC. Tapi saya lebih memilih modul IoT ESP32 (+SD Card) sebagai platform nya. Alasannya, dari segi harga ESP32 yang paling murah (sekitar RP. 70.000). Dari segi konsumsi daya, modul ESP juga lebih rendah ketimbang RPi. Startup nya juga lebih cepat, karena tanpa OS.

Solusi dengan ESP memang ada kelemahannya, yaitu kapasitas nya terbatas pada SD Card yang digunakan. Tapi untuk kebutuhan saya, misal kapasitas 32GB sudah lebih dari cukup. Selain itu, file server FTP belum umum digunakan pada platform ESP. Berbeda halnya di PC dan RPi yang menjalankan OS Windows atau Linux, file server FTP adalah paket software yang sudah stabil dan umum digunakan. Namun di ESP perlu effort untuk coding dan eksperimen file server FTP. Tapi tantangan ini yang bikin jadi exciting dan ada kepuasan kalau bisa berhasil :). Skema network nya seperti di bawah ini.

Hasil Googling, ada beberapa library untuk implementasi file server FTP berbasis ESP32+SD card. Yang pertama saya coba pakai: https://github.com/fa1ke5/ESP32_FTPServer_SD_MMC. Dengan library ini, ESP32 berhasil koneksi ke router dan menjalankan FTP server. PC sebagai FTP client (pakai WinSCP atau Filezilla) bisa connect ke FTP server, listing isi directory, namun error saat melakukan upload/download data. Saya belum berhasil memecahkan masalah ini.

Library lain yang saya coba: https://github.com/peterus/ESP-FTP-Server-Lib. Dengan library ini, awalnya FTP client WinSCP hanya bisa berhasil sampai login dan koneksi ke FTP server, tapi error dan terhenti pada step listing directory. Saya menduga ada masalah kompatibilitas pada command LIST atau MSLD nya. Kemudian saya coba install WinSCP yang versi lama, secara random saya pilih versi 5.1.4. Ternyata dengan versi tersebut, perintah listing directory berhasil. Dan perintah upload/download data ke FTP server pun berfungsi dengan baik.

SD Card nya dapat diakses dalam mode SPI atau MMC. Mode MMC memiliki kecepatan yang lebih tinggi. Untuk saat ini saya baru mencoba mode SPI. Wiring diagram mode SPI seperti di bawah ini.

Dengan mode SPI, kecepatan transfer data rata-rata sekitar 200 kByte/sec. Dan angka ini sudah cukup untuk memenuhi keperluan saya karena file yang saya transfer relatif kecil, rata-rata 1MB, maximal 4-5 MB. Ahhh, akhirnya tidak perlu colok cabut flashdisk lagi… 🙂

Cerita tentang driver LED dan secuplik EMC nya

Dalam posting kali ini saya akan berbagi tentang pengalaman merancang driver LED. Tulisan ini mengacu pada artikel ilmiah yang kami tulis di sini dan di sini. Tapi dalam posting ini saya akan lebih banyak cerita proses ‘behind the scene‘ nya.

Ada istilah driver LED dan power supply LED. Sama atau beda? Sebetulnya, keduanya sama-sama berfungsi untuk menyalakan lampu LED. Tapi power supply biasanya merujuk ke alat catu daya konvensional yang tegangan output nya konstan (constant voltage atau CV) dan arus output nya mengikuti permintaan load. Contoh power supply misalnya charger HP 5V, charger laptop 19V, dsb. Sedangkan driver LED merupakan alat catu daya yang arus output nya konstan (constant current atau CC) dan tegangan outputnya menyesuaikan permintaan load, yang dalam hal ini forward voltage (Vf) LED.

Penggunaan driver LED merupakan cara yang lebih aman untuk menyalakan LED, terutama untuk lampu LED dengan watt besar (high power LED). Mengapa? Karena:

  1. Sebagian besar energi listrik (70-80%) terbuang menjadi panas, 20-30% yang dikonversi menjadi cahaya. Panas buang ini menaikkan suhu LED.
  2. Kenaikan suhu menurunkan forward voltage (Vf) LED. Setiap kenaikan 1oC, Vf menurun sebesar 1.5mV-5mV.
  3. Penurunan Vf akan menaikkan forward current (If) jika catu daya nya adalah constant voltage.
  4. Kenaikan If kemudian kembali menaikkan suhu LED. Ini merupakan feedback positif yang akan terus menaikkan suhu LED sampai pada titik keseimbangan dengan kecepatan pendinginan. Jika pendinginan kalah cepat, maka LED akhirnya akan mengalami kerusakan. Jadi thermal management merupakan aspek yang krusial dalam high power LED.
Contoh hubungan suhu dan forward voltage

Mekanisme feedback positif di atas dapat diputus jika forward current bisa dijaga konstan (poin 3). Kondisi seperti itu bisa dicapai dengan menggunakan driver LED (yang memiliki output CC).

Perancangan driver LED

Pada intinya sebuah driver LED berfungsi menyediakan output DC dengan fitur constant current. Sumber daya driver bisa berasal dari listrik DC maupun AC. Driver yang bersumber dari AC (110V/220V) biasanya dinamakan offline converter atau AC-DC converter. Driver LED yang saya coba buat adalah jenis AC-DC converter dan yang berbasis switching mode. Dan akan menggunakan IC switching controller.

Pencarian IC switching controller untuk aplikasi AC-DC LED driver yang cocok memerlukan kesabaran dan ketilitian karena ada begitu banyak produsen dan tipe IC. Dan juga karena saya pemula dalam bidang ini. Jadi ini semacam proses mensortir opsi yang begitu banyak menjadi lebih sempit, lebih dikit, sampai akhirnya tinggal beberapa yang paling cocok. Ya kurang lebih kayak cari barang terbaik di Tokopedia: sortir harga terendah, lokasi yang sekota, bintang 4 ke atas, baca ulasan pembeli, baca deskripsi produk 😉. Balik ke pencarian IC driver LED, googling keyword ‘AC-DC IC LED driver’, ‘offline LED driver‘ menjadi andalan. Selain itu juga langsung visit ke website produsen chip: Analog, Maxim, Texas Instrument, Microchip, Richtek, Infineon. Di website produsen, biasanya IC driver LED masuk di kategori ‘power management IC‘, ‘power supply‘, atau semacamnya. Dari situ, biasanya masih akan ada begitu banyak tipe IC. Kita perlu mem-filter level tegangan input, tegangan output, arus output, MOSFET internal atau eksternal, topologi konverter, dsb, supaya pilihan IC nya mengerucut pada tipe yang sesuai kebutuhan kita. Di sini biasanya akan tersisa kurang dari 10 tipe IC. Kemudian dipelajari secara cepat datasheet tiap IC untuk melihat apakah benar-benar cocok.

Hasilnya ada beberapa kandidat: LT3799, MAX16801, LM3444, MXHV9910, HV9961, HV9931, RT7306, dan FL7733A. Sebagian besar IC tersebut mirip-mirip karakteristik nya, dan beberapa memiliki fitur yang saya cari: sedikit komponen eksternal, fungsi proteksi (over-voltage, over-current, short, over-temperature), dan power factor correction. Yang terakhir ini, PFC, menjadi poin penting karena driver LED yang akan dirancang harus memenuhi aspek EMC juga (standar IEC 61000-3-2). IC FL7733A menjadi pilihan yang menarik karena selain memiliki semua fitur tersebut, juga tersedia file simulasi rangkaian di software SIMetrix/SIMPLIS. Software yang baru kali ini saya dengar, ternyata mengklaim bisa lebih cepat 10-50x lipat daripada SPICE! Software ini memiliki specialty dalam simulasi switching mode power supply (SMPS). Sangat menarik untuk dipelajari dan didalami! Dan juga ada panduan desain FL7733A step-by-step. Sangat membantu bagi pemula. Jadi akhirnya saya memutuskan untuk lanjut dengan FL7733A.

FL7733A beroperasi menggunakan topologi flyback, sehingga sisi output DC nya electrically isolated dari sisi input AC. Jadi safety nya lebih baik. Selain itu, FL7733A merupakan kontroler jenis primary side regulation (PSR). Keunggulan PSR adalah monitoring arus dan tegangan output dilakukan dari sisi primer trafo flyback sehingga rangkaian lebih sederhana; tidak perlu menggunakan optocoupler seperti pada secondary side regulation.

Selain IC controller, pencarian komponen utama lainnya seperti MOSFET, dioda, inti ferit, CM choke, dan DM choke juga memerlukan ketilitian dalam membaca parameter-parameter dalam datasheet agar komponen yang dipilih memang memenuhi spesifikasi yang diinginkan.

Perancangan SMPS, termasuk driver LED, cukup kompleks karena melibatkan banyak parameter yang saling mempengaruhi satu terhadap yang lain. Perubahan satu parameter dapat merembet ke banyak parameter lain seperti menjatuhkan susunan domino. Ada parameter independen yang kita tentukan, dan ada parameter dependen yang dihitung berdasarkan nilai parameter independen. Tabel di bawah ini merupakan parameter yang kita tentukan:

Parameter independen

Proses perhitungan parameter dependen dan komponen yang digunakan dapat dilihat dalam artikel ini. Hasil nya adalah sebagai berikut:

Parameter dependen

Dan skematik rangkaian driver LED (termasuk filter EMC di antara input AC dan diode bridge) seperti di bawah ini.

Pembelian komponen

Komponen biasanya dibeli dari Tokopedia dan online marketplace lokal lainnya. Kalau tidak ada di sana, biasanya impor dari digikey.com atau sg.element14.com. Seingat saya, sejak 2014 di marketplace lokal, terutama Tokopedia, sudah mulai tersedia komponen-komponen elektronik yang cukup beragam. Jadi ini sangat memudahkan dalam pencarian dan pembelian. Dulu sebelum era online shop, Glodok menjadi andalan. Walaupun juga kadang susah untuk mencari komponen yang diperlukan. Belum lagi, habis waktu dan biaya untuk perjalanan ke sana. Oya, sebetulnya di era itu ada satu online shop elektronik yang juga jadi andalan: digiwarestore.com yang ada di Surabaya. Meskipun juga tidak bisa menandingi lengkapnya di Tokopedia, dkk.

Layout PCB

Kemudian, skematik rangkaian dibuatkan layout PCB nya. Saya pakai software Eagle. Layout PCB yang baik berpengaruh besar pada kinerja driver. Layout PCB yang buruk dapat menimbulkan noise electromagnetic interference (EMI) yang tinggi, menurunnya efisiensi, ripple output yang besar, atau bahkan tidak berfungsi sama sekali. Beberapa bacaan bagus tentang prinsip-prinsip desain layout PCB, grounding, dan efek EMC nya: a, b, c, d, e. Masih terus belajar, internalisasi dan menerapkan satu per satu prinsip desain yang baik. Beberapa kali melakukan revisi dan cetak PCB.

Cetak PCB di Spectra

Untuk pencetakan PCB, kami biasanya memakai jasa Spectra yang ada di Bandung. Harga nya terjangkau, hasilnya memuaskan. Tidak ada minimum order. Pengerjaan 5-7 hari. Info dari mimin nya, kemampuan Spectra: double layer, lebar trace terkecil 0.3mm, jarak antar trace jg terkecil 0.3mm, diameter via terkecil 0.6mm. Saya pernah bikin layout dengan lebar trace 0.25mm untuk IC MSOP 16 pin, hasilnya bagus juga. Sebagai gambaran harganya untuk 2pcs double layer, solder masking, lettering, ukuran 9.5cm x 8.5cm:

Kalau punya rekomendasi tempat lain untuk cetak PCB, boleh tinggalkan pesan di komentar ya. Thank you!

Pembuatan trafo flyback

Nah, pengalaman baru yang menarik bagi saya menggulung trafo flyback nya. Inti ferit yang digunakan adalah tipe PQ26/20 material N97 dengan spesifikasi sebagai berikut:

Bentuk fisik inti ferit PQ26/20

Material N97 yang digunakan memiliki nilai indutance factor AL=5150 nH dalam kondisi ungapped atau tanpa celah ketika inti dipasangkan. Sedangkan dari hasil perhitungan sebelumnya, diperlukan lilitan primer sebanyak 30 lilitan dan induktansi primer 195 uH. Namun dengan AL=5150 nH dan 30 lilitan akan menghasilkan induktansi 5150 nH x 302= 4.635 mH. Ini jauh lebih tinggi dari target desain 195 uH.

Karena itu, untuk menurunkan induktansi nya, kita perlu membuat gap pada inti ferit. Gap tersebut bisa dibuat dengan memberikan bantalan non-konduktif (plastik, karton, dsb) pada pertemuan kaki inti ferit. Cara ini mudah dilakukan. Namun beberapa sumber menyebutkan bahwa cara ini meningkatkan radiasi elektromagnetik (yang tidak kita inginkan) karena semakin besar medan elektromagnetik yang lolos ke udara melalui gap-gap terluar yang tidak terbungkus oleh lilitan.

Dua metode memberikan gap pada inti ferit

Cara kedua adalah dengan membuat gap hanya pada kaki tengah. Cara ini yang saya coba lakukan, yaitu dengan mengikis kaki tengah sedikit demi sedikit sampai didapatkan nilai induktansi 195 uH. Ternyata tidak mudah untuk mengikisnya karena pakai alat seadanya. Material ferit ini padat dan licin, namun juga getas. Pernah memecahkan beberapa inti 😞. Diamplas manual tidaklah mudah. Lumayan memakan waktu walau hanya mengikis 2-3 mm saja. Akhirnya saya coba kikis pakai bor mini. Maafkan serbuknya ke mana-mana 🤫

Untuk kawat enamel yang akan dipakai perlu dihitung kesesuaian diameter kawat, amperage kawat, tinggi bobbin, dan jumlah layer lilitan. Yang ini saya lupa catat di mana berapa ukuran diameter kawat yang dipakai 😜

Terukur induktansi primer 191.8 uH (inti ferit sudah dikikis). Test frequency diset pada 60 kHz (menyesuaikan frekuensi kerja driver)

Induktansi trafo diukur menggunakan RLC meter. Ketika inti ferit tanpa gap, induktansi primer terukur sebesar 4.57 mH, sedangkan prediksi dari perhitungan 4.63 mH. Cukup mendekati hasilnya 👌. Sedangkan inti ferit yg dikikis sedikit demi sedikit sampai didapatkan induktansi primer 191.8 uH.

Selain itu, diukur juga leakage inductance dengan cara mengukur induktansi primer saat lilitan sekunder di-short-kan. Saat lilitan sekunder di-short-kan, idealnya induktansi primer adalah nol. Jadi induktansi yang terukur ini adalah induktansi yang tidak terkopling antara lilitan primer dan sekunder. Terukur leakage inductance di primer sebesar 3.27 uH.

Leakage inductance di lilitan primer

Leakage inductance memiliki efek negatif berupa spike dan osilasi pada saat MOSFET switch dari on ke off. Saat MOSFET switching dari on ke off, harusnya semua energi magnetik yang ada pada lilitan primer ditransfer ke lilitan sekunder. Tapi karena leakage inductance ini tidak terkopel ke lilitan sekunder, energi magnetik dalam leakage inductance ini kehilangan jalan agar arusnya tetap mengalir (karena kepotong oleh MOSFET yang sudah switch off). Akibatnya energi magnetik tersebut terluapkan menjadi spike tegangan, berdasarkan hubungan V_L = L.\frac{di}{dt} . Nilai \frac{di}{dt} nya besar sekali karena arusnya berubah dari sekian ampere menjadi 0 dalam sesaat. Spike tegangan ini biasanya diredam dengan rangkaian snubber yang menyediakan jalur alternatif agar arus dari leakage inductance bisa tetap mengalir, sehingga \frac{di}{dt} bisa menurun secara perlahan, dan energi nya dibuang menjadi panas dalam resistor snubber. Jadi nilai leakage inductance ini harus sekecil mungkin.

Assembly Komponen

Setelah melalui proses panjang pencarian IC controller, desain rangkaian, cari komponen MOSFET, dioda, dll, mengikis inti ferit, menggulung trafo, layout PCB, cetak PCB, tunggu pembelian komponen, dan akhirnya pemasangan komponen pada PCB. Ada beberapa kali revisi PCB.

Pengukuran kinerja

Ini bagian yang paling ditunggu-tunggu karena excited dan harap-harap cemas semoga prototipe nya bekerja dengan baik (sebenarnya sudah siap juga kalau tidak berfungsi untuk pertama kali, karena ini yang lebih sering terjadi 😜). Tapi ini juga bagian yang bikin deg-deg an kalau bermain dengan switching mode power supply, termasuk driver LED. Kalau ada kesalahan (rangkaian, komponen, pengukuran, dll), kemungkinan terburuknya ada yang meletup. Bisa jadi komponen meledak atau MCB yang jeglek 💥 🔥. Harus hati-hati dalam penggunaan single-ended probe osiloskop (biasanya probe bawaan) untuk mengukur listrik AC, seperti yang saya ceritakan di sini.

Arus dan tegangan output

Menurut perhitungan, diperlukan current sense resistor (Rs) 0.212 Ω untuk menghasilkan constant current 1A. Namun pengukuran menunjukkan bahwa dengan Rs=0.212 Ω, arus keluaran hanya 0.80A. Ini mungkin terjadi karena rasio lilitan primer-sekunder yang realnya berbeda dari perhitungan. Jadi Rs diatur lagi sampai didapatkan arus keluaran 1A, yaitu saat Rs=0.184 Ω. Driver dapat menyalakan LED dengan arus 1A (deviasi 0.012A) dalam range tegangan 15.59V – 42.80V, atau setara dengan 5-14 buah LED disusun seri. Jadi tegangan output maksimum nya masih dibawah target desain yang seharusnya 45V. Perlu adjustment lagi.

Efisiensi daya

Efisiensi daya diukur dalam kondisi beban penuh dengan menggunakan dua untai LED paralel, yang mana setiap untainya terdiri dari 14 buah LED tersusun seri. Tegangan dan arus LED terukur 43V dan 1A. Data diambil setelah 15 menit menyala, menunggu sampai sistem sudah stabil. Pengukuran menggunakan power analyzer Hioki 3193-10. Daya input AC diukur pada channel-1, dan pada saat bersamaan daya keluaran DC diukur pada channel-2. Sehingga efisiensi dihitung sebagai rasio channel-2/channel-1.

Dengan resistor gate Rg sebesar 10 Ω, efisiensi mencapai 90.35%. Namun dengan Rg sebesar 10 Ω ini ternyata cukup kecil sehingga transisi switching MOSFET dari on ke off cukup tajam. Akibatnya, terjadi osilasi yang signifikan pada tegangan drain MOSFET. Dari segi EMC, hal ini termanifestasi menjadi tingkat conducted emission (CE) yang melebihi limit Standar CISPR 15. Transisi MOSFET dari on ke off dapat diperlambat dengan menaikkan Rg. Pada prototipe ini, dengan percobaan didapatkan bahwa Rg = 47 Ω menghasilkan CE di bawah garis limit standar. Namun, kenaikkan Rg ini menyebabkan penurunan efisiensi. Jadinya, maksimal di angka 88.55%.

Angka efisiensi tersebut di atas diukur saat filter EMC belum terpasang. Penggunaan filter EMC menurunkan efisiensi hingga 1%.

Power factor & current harmonics

Pengukuran faktor daya dan harmonik arus masih menggunakan power analyzer Hioki 3193-10. Faktor daya nya sangat memuaskan, yaitu berkisar 0.97-0.99. Total harmonic distortion nya kurang dari 5.5%. Juga harmonik orde 2-39 semuanya dibawah limit Standar IEC 61000-3-2 (salah satu standar acuan dalam aspek EMC). Faktor daya dan harmonik yang sangat baik ini bisa dicapai karena teknik switching yang digunakan IC FL7733A, yaitu dengan durasi ON yang konstan, frekuensi konstan, dan kapasitor input yang kecil. .

Conducted emission

Driver LED yang menggunakan prinsip switching ini sudah pasti menimbulkan efek samping berupa emisi gelombang elektromagnetik. Emisi yang tidak dikendalikan berpotensi mengganggu peralatan elektronik di sekitarnya. Emisi EM dapat berupa conducted emission (CE) yang merambat melalui kabel, dan radiated emission (RE) yang merambat melalui udara. Di sini saya hanya mengukur CE nya saja.

Driver LED ini termasuk kategori produk lighting. Standar EMC yang bisa diterapkan adalah CISPR 15, dengan frekuensi pengukuran 9kHz-30MHz. Pengukuran CE menggunakan alat LISN bisa dibaca di sini. Trace biru di bawah ini menunjukkan CE driver LED saat tanpa filter. Terlihat bahwa emisinya melebihi garis limit. Puncak tertinggi pada frekuensi sekitar 60kHz merupakan frekuensi switching dari driver. Sedangkan puncak-puncak lainnya adalah harmoniknya.

Biru: CE saat tanpa filter. Hitam: CE saat dengan filter

Detail perhitungan filter EMC untuk meredam emisi CE tersebut dapat dilihat di sini. Trace hitam dalam gambar di atas menunjukkan efek peredaman oleh filter yang terpasang. Namun, saya merasa perhitungan dalam artikel tersebut masih bisa di-improve lagi. Akan kembali ke sini bila ada update. Salah satu yang akan ditelisik lebih dalam lagi yaitu impedansi masukan dari driver yang masih belum diketahui. Sedangkan cara kerja filter berdasar pada prinsip impedance mismatch. Untuk mengetahui impedansi suatu rangkaian dalam kondisi menyala, perlu diukur dengan in-circuit vector network analyzer. Semoga nanti ada kesempatan mengakses alat ukur ini 🙏.

Refleksi

Ternyata switching mode power supply (SMPS) memang tidak mudah. Mungkin karena itu, waktu kuliah S1, subject ini tidak tersentuh sama sekali. Power supply yang diajarkan hanya sampai pada linear power supply, yang menggunakan trafo 50Hz yang berat itu dan linear regulator. Menurut kawan debat saya Mr. SWH, seharusnya SMPS diajarkan juga di kuliah S1 karena hari-hari ini hampir semua power supply adalah SMPS 😊.

Overall, petualangan membuat prototipe driver LED ini sangat seru, dan akhirnya melihat lampu LED bisa menyala 💡⚡ benar-benar ada kepuasan tersendiri. Tapi, memang masih banyak ruang untuk penyempurnaan, diantaranya peningkatan efisiensi dan minimalisir noise CE dari sejak sumbernya supaya ukuran filter bisa lebih kecil (misal dengan layout PCB yang lebih baik, teknik menggulung trafo, dsb.).

Mengembalikan Ubuntu yang Hilang Setelah Install Windows 10

Laptop saya sebelumnya sudah terinstal Ubuntu 16.04. Kemudian saya ada kebutuhan untuk memakai Windows juga. Maka saya buat satu partisi lagi untuk Windows. Windows 10 berhasil di-install dengan baik. Tapi saya terkaget-kaget mendapati bahwa partisi di mana Ubuntu ter-install menjadi unallocated. Jadi Ubuntu nya tidak bisa diakses lagi!

Namun saya menemukan solusi nya di sini.

https://askubuntu.com/questions/828838/installed-windows-10-grub-problem-linux-drive-became-unallocated

Di posting itu ada link di bawah ini, dan command di situ yang saya ikuti:

https://askubuntu.com/questions/665445/upgraded-to-windows-10-on-dual-boot-and-cant-boot-to-ubuntu-partition/665462

Partisi Ubuntu yang ‘hilang’ ini terjadi karena sewaktu instalasi Windows, Windows mengubah Master Boot Record (MBR) harddisk dengan cara yang tidak benar. Sebetulnya isi data dalam partisi Ubuntu tersebut tidak tersentuh sama sekali. Yang rusak adalah informasi identitas partisi tersebut dalam tabel MBR. Sehingga partisi tersebut jadi tidak dikenali.

Sebab itu kita perlu memasukkan lagi informasi partisi Ubuntu tersebut ke dalam tabel MBR. Solusinya menggunakan tool bernama parted, dan dijalankan melalui command prompt Linux.

Langkah pertama siapkan flashdisk Ubuntu Live dari Windows . Ikuti langkah-langkahnya di sini:

https://itsfoss.com/create-live-usb-of-ubuntu-in-windows/

Setelah menyiapkan Ubuntu Live, booting lah melalui flashdisk tersebut dan pilih mode Ubuntu Live (tanpa meng-install).

Kemudian buka command prompt dalam masukkan command

> sudo parted
> unit s
> print all
> rescue [start] [end]

Ganti [start] dan [end] dengan angka sector di mana terdapat partisi Ubuntu yang ‘hilang’.

Saya tidak sempat membuat screenshot dari proses di atas. Saya coba ilustrasikan pakai Ubuntu yang sudah berhasil dikembalikan. Kurang lebih akan seperti screenshot di bawah ini:

parted-edit

Setelah menjalan perintah rescue, akan muncul pesan bahwa ditemukan file system ext4 (atau yang lainnya sesuai partisi Anda) dan akan ditambahkan pada tabel MBR.

Anda bisa jalankan perintah print all lagi, dan lihat bahwa partisi yang hilang telah ditemukan kembali!

Setelah ini, saya menggunakan tool EasyBCD pada Windows untuk menambahkan Ubuntu pada list OS pada saat booting Windows. Langkah-langkah bisa dilihat di sini. EasyBCD bisa di-download di sini. Pilih yang Non-Commercial (free).

Selain menggunakan EasyBCD pada Windows, Anda bisa juga menggunakan tool boot-repair dalam Ubuntu Live lagi. Langkah-langkahnya bisa dilihat di sini. Namun saya sendiri tidak mencobanya.

Selamat atas kembalinya Ubuntu!

Bahaya Menggunakan Single-Ended Probe Osiloskop!!

Ngukur rangkaian pakai osiloskop bukanlah hal baru. Rasanya ngga sulit mengoperasikan alat ini, dan ngga pernah tau ada bahaya dalam menggunakan osiloskop. Namun baru-baru ini ada satu pengalaman yang sangat mengangetkan dan trauma nya masih belum hilang 😦 Trauma karena shock, dan takut kalau osiloskop jadi rusak. Tapi untungnya waktu itu osiloskop nya ngga sampai rusak. Kejadiannya begini:

skenario

Ada sebuah prototipe switching power supply untuk mengubah input AC 220V menjadi output DC. Saya mau ngukur tegangan DC pada salah satu pin IC switching controller nya. Ngukurnya pakai single-ended probe yang umum, yang ada jepit buaya nya:

single ended probe

Pertama saya pasang ujung positif probe ke pin IC yang mau diukur tegangan DC nya. Sampai di sini tidak terjadi apa-apa. Kemudian saya pasang ujung negatif probe (jepit buaya) pada DC GND, dan seketika juga:

coom.gif

terjadi letupan dan MCB nge-trip! Waduh itu satu-satunya osiloskop yang paling bisa diandalkan. Tapi ternyata osiloskop nya baik-baik aja.

Kenapa bisa terjadi korsleting? Pengukuran di atas sekilas terlihat sudah benar. Tapi setelah ditelusuri, ternyata ada kesalahan fatal yang tidak disadari dan tidak mudah terlihat:penjelasan boom opaqueKawat Neutral sebetulnya terhubung dengan kawat Earth pada panel utama instalasi listrik. Sementra itu, ujung negatif probe (jepit buaya) terhubung dengan kawat Earth pada kabel daya osiloskop, yang akhirnya terhubung dengan Earth di panel utama.

Itulah sebabnya kenapa korsleting terjadi saat kita menghubungkan jepit buaya ke DC GND. Yang terjadi adalah kita men-short-kan Neutral dengan DC GND. Padahal kedua titik tidak berada pada potensial yang sama. Faktanya, ada beda potensial yang sangat besar antara Neutral dan DC GND.

penjelasan boom 2Di sini kita coba buat simulasi untuk menunjukkan tegangan antara Neutral dan DC-GND. Yang kurva merah adalah tegangan antara Neutral dan DC-GND. Untung saja waktu itu MCB nya lebih cepat nge-trip. Kalau tidak, mungkin probe nya yang akan menguap.

simulasi V NETRAL-DC_GND 2

V NETRAL-DC_GND edit

Contoh kasus lain

Dalam kasus lain, jika ingin mengukur tegangan AC 220V menggunakan osiloskop dan single-ended probe, berhati-hatilah. Jangan hubungkan ujung negatif probe (jepit buaya) ke titik yang mau diukur.

Jika kita berandai-andai negatif probe tetap dihubungkan ke titik pengukuran, maka ada 2 kemungkinan yang terjadi. Jika kebetulan dihubungkan ke titik Neutral maka tidak terjadi apa-apa karena negatif probe dalam potensial yang sama. Tapi jika terhubung ke titik Live, maka….. 😦

Jika diperlukan pengukuran antara dua titik yang dua-duanya bukan Neutral, bisa pakai 2 channel osiloskop dan aktifkan fungsi Substract CH1-CH2.

Earth terisolasi

Contoh skenario lain, kita ingin mengukur tegangan DC pada rangkaian adaptor AC-DC yang menggunakan trafo 50Hz seperti di bawah ini. Dalam kasus ini Earth input AC telah terisolasi sehingga sisi AC dan DC tidak terhubung secara konduktif. Jadi kita bisa mengukur di titik manapun pada sisi DC dengan aman.

Differential probe

Untuk menghindari terjadinya korsleting pada pengukuran yang melibatkan tegangan yang tidak terisolasi dari Earth AC, sangat direkomendasikan menggunakan differential-probe. Dalam differential probe, ujung positif dan negatif probe tidak terhubung langsung dengan ground konektor BNC. Dengan differential probe ini, maka tidak akan terjadi korsleting seperti kasus di atas.

Diagram of conceptual schematic diagram of a differential probe

Image of Cal Test Electronics Model CT3681 70 MHz, high-voltage differential probe

https://www.digikey.hk/en/articles/techzone/2018/mar/safely-test-line-powered-switched-mode-power-supplies

Pelajarannya, berhati-hatilah dalam memasang ujung negatif single-ended probe. Double-check apakah titik yang mau dipasang dengan negatif probe menyebabkan short.

Referensi bagus:

Fungsi dan Cara Kerja LISN

Hampir semua peralatan elektronik dan elektrik (kecuali peralatan yang menggunakan elemen resistif saja, seperti setrika listrik dan bohlam) mengeluarkan emisi gelombang elektromagnetik (EM) dalam operasinya. Tergantung peralatannya, emisi EM ini bisa jadi merupakan fungsi utama peralatan tersebut (misal, handphone yang mengeluarkan emisi EM pada frekuensi GSM), atau bisa juga merupakan efek samping dari cara kerja alat. Mungkin Anda pernah mengalami gambar televisi yang terganggu saat menyalakan bor listrik, blender, atau sejenisnya. Gangguan terjadi karena putaran motor listrik ternyata mengeluarkan emisi EM yang menyebabkan interferensi pada frekuensi televisi.

Efek samping emisi EM ini tidak bisa dihilangkan sepenuhnya, tapi bisa diredam sampai pada level yang tidak mengganggu peralatan lain. Standar internasional, seperti CISPR, FCC, & IEC, memberikan rekomendasi berapa nilai batasan emisi EM yang dapat diterima agar meminimalkan interferensi.

Emisi EM dapat merambat secara konduksi (conducted emission) melalui kabel atau secara radiasi (radiated emission) melalui udara. Untuk mengetahui berapa besar emisi EM yang dikeluarkan oleh peralatan, maka perlu dilakukan pengukuran. Pada pengukuran conducted emission (CE), salah satu instrumen utama yang digunakan adalah Line Impedance Stabilization Network (LISN).

Ada berbagai macam LISN. Dari segi sumber daya, ada LISN yang dipakai untuk pengukuran EUT yang disuplai dari tegangan AC maupun DC. Dari segi impedansi, ada LISN yang 50Ω (pengukuran emisi yang merambat melalui kabel power) dan 150Ω (pengukuran emisi EM pada kabel data, seperti kabel telepon dan LAN). Dari segi struktur, LISN dibagi menjadi tipe V dan Delta. Rentang frekuensi kerja LISN juga bervariasi dari 9kHz hingga 1GHz, tergantung standar yang diacu. Beberapa tipe produk LISN dapat dilihat di sini dan sini.

LISN, yang disebut juga Artificial Mains Network (AMN), memiliki beberapa fungsi penting, yaitu:

  1. Menyediakan impedansi RF yang tertentu bagi EUT
  2. Menyediakan daya bagi EUT (equipment under test), dan saat yang bersamaan memungkinkan alat ukur (spectrum analyzer maupun EMI receiver) dapat mengukur emisi EM dengan aman
  3. Mencegah emisi atau noise EM dari jala-jala (grid, mains) masuk ke dalam pengukuran

LISN-3
NNB41 – LISN tipe V untuk sumber AC

Gambar di atas adalah sebuah contoh V-LISN dengan sumber daya AC dan memiliki rentang frekuensi kerja 9kHz-30MHz. Gambar di bawah menunjukkan skematik port-port utama sebuah LISN serta koneksinya.

path4160
Port utama LISN dan koneksinya

Selanjutnya kita akan membahas satu per satu fungsi dari LISN.

1. Menyediakan impedansi RF yang tertentu bagi EUT

Berdasarkan penelitian dalam paper [1], impedansi jarigan jala-jala pada frekuensi 10kHz-30MHz adalah berkisar 1-300Ω. Impedansi jala-jala di tempat atau negara lain mungkin berbeda pula, mengikuti karakteristik beban dan instalasi yang ada.  Dengan kondisi impedansi jala-jala yang fluktuatif ini, maka akurasi dan repeatability pengukuran CE tidak bisa dijamin. Salah satu fungsi LISN adalah menyediakan impedansi RF (misal, LISN NNB41 pada frekuensi 9kHz-30MHz) yang tertentu, terlepas dari impedansi jala-jala yang fluktuatif.

Jika mengacu pada Standar CISPR 16-1-2:2006 tentang persyaratan alat ukur CE, besar impedansi LISN ditetapkan sebagai berikut, dengan toleransi magnitudo ±20% dan toleransi fase ±11.5°

Gambar di bawah ini adalah rangkaian dan ketentuan impedansi pada frekuensi 9kHz-150kHz. (klik gambar untuk memperbesar)

LISN di atas merupakan tipe V-network. Jadi pengukuran tegangan emisi EM nya adalah antara fase dan earth. Bayangkan dua lengan huruf V adalah tegangan antara L-E dan N-E. Kedua lengan pengukuran adalah identik. Artinya, saat melakukan pengukuran L-E, rangkaian L-E diterminasi 50Ω melalui impedansi masukan dari spectrum analyzer. Sedangkan rangkaian N-E juga diterminasi 50Ω, melalui switch dan R4. Oya, R5 yang ada dalam kotak besar (bukan di dalam measuring receiver) sepertinya typo-error. Itu seharusnya R3.

Agar lebih mudah dibaca, rangkaian di atas dapat disusun ulang menjadi seperti di bawah ini.

LISN skematik LTSPICE

Untuk menghitung impedansi LISN yang terlihat oleh emisi EM dari EUT, kita bisa melakukan simulasi menggunakan program LTSpice IV seperti di bawah ini.

  1. Tambahkan sumber tegangan V1, yang mensimulasikan emisi EM yang dipancarkan oleh EUT.
  2. Klik kanan pada V1 dan set amplitude 1V pada bagian Small signal AC Analysis
  3. Lalu tambahkan SPICE directive untuk menjalankan simulasi pada mode AC analysis. Sebagai contoh: .ac dec 100 9k 30Meg untuk melakukan sweeping dari frekuensi 9kHz-30MHz.
  4. Eksekusi simulasi
  5. Klik pada node V(n019), atau sesuai rangkaian Anda. Maka akan muncul grafik tegangan terhadap frekuensi
  6. Lalu klik kanan pada tulisan V(n019) yang berada di atas grafik. Kemudian edit persamaannya menjadi V(n019)/I(V1), atau sesuai nama dalam rangkaian Anda. Yang dilakukan di sini adalah membuat plot tegangan/arus (V/I) yang adalah impedansi.
    • Catatan: jika fase impedansinya bergeser 180°, persamaannya dibuat negatif V(n019)/-I(V1) untuk kompensasi perbedaan acuan arah arus.
  7. Sumbu Y nya mungkin masih dalam satuan dB. Untuk mengubah satuannya menjadi Ω, klik pada bagian sumbu Y grafik. Lalu pilih Linear.

pengukuran L-E-3

impedansi pengukuran L-E 2

Terlihat bahwa sebetulnya impedansi LISN yang dirasakan oleh emisi dari EUT tidak fix di 50Ω, tapi naik dari 5Ω — 47.6Ω sepanjang rentang frekuensi 9kHz-30MHz. Puncaknya tidak pernah mencapai 50Ω karena ada resistor R4 yang paralel dengan 50Ω tersebut. Untuk alasan safety, R4 ini dipasang sebagai jalur discharge muatan bagi C3 ketika instrumen (50Ω) dicabut.

Simulasi impedansi LISN di atas adalah dengan kondisi impedansi jala-jala (mains) terbuka. Kembali mengacu pada paper [1], kita akan melakukan simulasi LISN dengan impedansi mains bervariasi 1-300Ω. Impedansi mains mungkin perpaduan komponen resistif dan reaktif, namun untuk simplifikasi kita pakai impedansi resistif saja. Dalam LTSPICE kita bisa melakukan step variabel. Dalam hal ini, kita akan menvariasikan nilai impedansi mains 0.1, 1, 10, 300Ω dengan directive: step param R list 0.1 1 10 300

variable mains impedance

Grafik di bawah ini menunjukkan impedansi yang akan terlihat oleh emisi EM dari EUT dengan kondisi impedansi mains yang bervariasi. Jelas terbaca bahwa variasi impedansi mains dari 0.1Ω sampai 300Ω hampir tidak berdampak pada impedansi yang terlihat oleh emisi EM dari EUT. Sedikit saja pengaruhnya pada frekuensi rendah. Karena pada frekuensi rendah, nilai reaktansi kapasitor shunt (C1, C2) dan induktor seri (L1, L2) masih comparable dengan impedansi mains.

effects of varying mains impedance 1

effects of varying mains impedance -zoom
Zoom-in pada frekuensi rendah dari grafik di atas

Info extra:

Gambar di bawah ini adalah rangkaian dan ketentuan impedansi pada frekuensi 150kHz-30MHz. (klik gambar untuk memperbesar). Dalam CISPR 16-1-2 disebutkan bahwa walaupun rangkaian yang kita simulasikan di atas adalah untuk frekuensi 9kHz-150kHz, jikalau impedansinya juga memenuhi syarat impedansi pada frekuensi 150kHz-30MHz, maka ia juga dapat digunakan pada frekuensi 150kHz-30MHz.

2. Menyediakan daya bagi EUT, sekaligus agar instrumen dapat mengukur dengan aman

EUT akan mengeluarkan emisi EM hanya jika ia dalam kondisi beroperasi. Artinya, EUT membutuhkan daya. Sementara itu, pengukuran CE adalah pengukuran emisi EM langsung pada kabel. Alat ukur seperti spectrum analyzer (SpA) adalah instrumen yang sangat sensitif dan dynamic range yang tinggi, dari orde nanovolt sampai beberapa volt. Namun tegangan catu 220 volt jelas melebihi batas ukur SpA. Jika tegangan sebesar ini masuk ke dalam RF input port SpA, maka akibatnya bisa fatal… 😦

Untuk mengetahui berapa besar tegangan catu 220V/50Hz yang lolos sampai ke instrumen, kita coba lakukan simulasi seperti di bawah ini.

LF decoupling-2

Hasilnya, tegangan 50Hz yang masuk ke instrumen, V(n005) sebesar ~580mVp. Ini merupakan angka yang sudah jauh teredam jika dibandingkan dengan 310Vp. Namun 580mV masih tergolong tinggi mengingat sensitifitas SpA yang mencapai orde nanovolt. Idealnya, perlu ada high pass filter lagi sebelum masuk ke SpA untuk meredam frekuensi rendah tersebut. Mungkin internal SpA sudah ada HPF juga (?) Di bagian terakhir kita akan melihat skematik LISN NNB41 yang menggunakan HPF dimaksud.

LF decoupling waveform

Fungsi peredaman pada frekuensi rendah (DC, 50Hz, dan sekitarnya) sebelum masuk ke SpA merupakan tugas kapasitor C3. Impedansi C3 (0.25uF) pada frekuensi 50Hz adalah sebesar 12,74kΩ. Jadi tegangan 220V/50Hz yang masuk ke SpA bisa juga dihitung secara analitik:

V 50Hz di SpA

Di sisi lain, emisi EM dari EUT yang diukur oleh SpA juga melewati C3. Artinya, pada frekuensi 9kHz-30MHz impedansi C3 haruslah jauh lebih kecil daripada impedansi SpA (50Ω). Impedansi C3 pada frekuensi 9kHz adalah sebesar 70,7Ω. Ini bukanlah angka yang ideal, karena akan ada jatuh tegangan yang cukup signifikan pada C3. Sedangkan pada frekuensi 150kHz dan 30 MHz, impedansi C3 turun jadi 4,2Ω dan 21mΩ.  Semakin tinggi frekuensi, keberadaan C3 semakin menyerupai ‘short’. Artinya, semakin mendekati kondisi ideal, dimana drop tegangan pada C3 semakin minimum.

Sementara itu, tegangan catu 220V/50Hz (V(n003)-V(n015)) dapat dilewatkan dengan mudah ke port power EUT, seperti ditunjukkan dalam gambar di bawah ini. Induktor L1 dan L2 akan terlihat sebagai impedansi yang sangat kecil (~95mΩ) bagi frekuensi 50Hz, sehingga tegangan catu 220V/50Hz dapat mencapai port power EUT tanpa mengalami peredaman.

LF decoupling waveform supply

Well, besar kecil peredaman tergantung juga pada impedansi beban yang terpasang. Misal, jika terpasang beban resistif yang impedansinya sama besar dengan total reaktansi induktif  pada L-N, yaitu 95mΩ x 2 = 190mΩ, maka tegangan pada beban mengalami peredaman 30% dari tegangan catu. Tapi beban resistif 190mΩ seri dengan reaktansi 190mΩ  berarti mengalir arus 1162 ampere !!

Dengan demikian, LISN telah menjalankan fungsinya dalam menyediakan daya bagi EUT, sekaligus memungkinkan SpA dapat mengukur dengan aman 🙂

3. Mencegah noise EM dari jala-jala masuk ke dalam pengukuran

Berdasarkan CISPR 16-1-2, LISN harus mampu meredam noise EM dari mains masuk ke dalam port pengukuran. Besarnya atenuasi / isolasi ditetapkan sebagai berikut:

CISPR minimum isolation

Untuk mengetahui besarnya atenuasi noise EM dari jala-jala yang masuk ke port pengukuran, kita lakukan simulasi sebagai berikut. Dalam kenyataannya, sumber noise pasti memiliki impedansi, namun kita tidak tahu berapa besarnya. Untuk simplifikasi, kita asumsi sumber noise V3 memiliki impedansi nol.

isolation measurement

Grafik di bawah ini adalah besarnya atenuasi yang terukur pada port pengukuran. Kurva merah merupakan atenuasi minimum yang dipersyaratkan dalam CISPR 16-1-2.

mains noise isolation

Real LISN…

Rangkaian skematik LISN yang telah kita pelajari di atas merupakan rangkaian inti sebuah LISN. Namun produk LISN yang ada di pasaran memiliki rangkaian yang lebih kompleks, misal NNB 1600 produksi TTi. Artikel ini membedah isi NNB 1600.

Sedangkan gambar di bawah ini adalah skematik rangkaian LISN NNB 41. Terlihat bahwa selain komponen inti, terdapat juga coupling board, attenuator 10dB, artificial earth, remote control, dan amplitude limiter 130dBuV.

  1. Coupling board tersebut merupakan high pass filter dengan frekuensi cut-off 8107Hz. HPF ini akan lebih jauh meredam komponen frekuensi catu 50Hz.
  2. Attenuator 10dB berfungsi untuk meningkatkan impedance matching antara LISN-coupling board dan instrumen pengukur.
  3. Amplitude limiter berfungsi untuk clamp (membatasi) tegangan yang melebihi 130dBuV, sehingga instrumen pengukur dapat terproteksi. Dalam keadaan normal, amplitude limiter ini bersifat transparan. Hanya bekerja saat ada lonjakan tegangan. Biasanya terjadi saat memasang dan mencabut kabel daya LISN.
  4. Artificial earth berfungsi untuk mensimulasikan manusia yang memegang bor listrik. Digunakan pada pengujian bor listrik.
  5. Remote control berfungsi untuk memindahkan pengukuran L-E atau N-E dari jarak jauh, alih-alih menekan tombol yang ada pada LISN.

NNB41-1NNB41-2

 

Bayar Pajak Motor di SAMSAT Keliling ITC BSD

Ceritanya kemarin (Sabtu) saya mau bayar pajak motor. Seperti biasa, saya bayar pajak motor selalu di SAMSAT BSD yang dekat ITC BSD. Namun hari itu saya datang terlalu siang. Sampai di SAMSAT jam 11 lewat. Ternyata loket pendaftaran sudah ditutup 😦

Lalu saya tanya ke salah satu grup WA kantor apakah ada tempat lain untuk bayar pajak motor. Ternyata ada. Yaitu di SAMSAT Keliling yang mangkal di parkiran motor ITC BSD.

Kata petugasnya SAMSAT Keliling ini sudah beroperasi 5 bulan di ITC BSD, dan belum ada rencana untuk pindah.

Jam operasionalnya:

Senin-sabtu 16.00-19.00
Minggu 11.00-14.00

Kemarin saya datang pas ngga ada antrian, 5 menit sudah selesai!

IMG_20190216_174458278

** Di belakangnya SAMSAT Keliling itu mobil SIM Keliling. Cuma saya ngga tanya jam operasional nya..

 

Mengurus SHGB menjadi SHM di Kabupaten Tangerang

img_20190123_083745499[1]

Artikel kali ini ditulis untuk sharing pengalaman sekaligus apresiasi terhadap pelayanan kantor Badan Pertanahan Nasional (BPN) Kabupaten Tangerang yang sangat baik. Saya mengurus Sertifikat Hak Guna Bangunan (SHGB, atau disingkat HGB) menjadi Sertifikat Hak Milik (SHM) secara mandiri tanpa menggunakan jasa notaris. Kalau pakai jasa notaris, harganya mungkin sampai sejuta atau lebih. Kalau bisa meluangkan waktu untuk mengurus sendiri, harganya jauh lebih murah. Prosesnya mudah dan cepat.

Kantor BPN Kabupaten Tangerang berlokasi di Tigaraksa. Kantor BPN ini berada di dalam kawasan kantor pemerintahan Kabupaten Tangerang. Kebetulan selain ke kantor BPN, saya juga mengurus dokumen di Kantor Disdukcapil. Jadi sekalian deh…

Tanggal 22 Januari 2019 saya datang ke kantor BPN. Saya tiba jam 09.00. Begitu buka pintu kaca, mata saya scanning isi sekeliling ruangan. Saat itu masih sepi. Hanya ada satu dua orang pengunjung. Layout ruangan cukup modern dengan sederet counter yang bernomer. Ruangan adem, nyaman, dan harum layaknya bank. Dekat pintu masuk ada bapak petugas yang jaga mesin antrian. Saya kasih tau keperluan saya untuk mengurus HGB menjadi SHM. Lalu si bapak dengan fasihnya menyebutkan syarat-syarat dokumen satu per satu. Sudah di luar kepala, pasti sudah biasa menghadapi orang yang mengurus HGB ke SHM. Saya lupa mencatat apa saja dokumen yang diperlukan, tapi seingat saya ini:

  1. Sertifikat HGB asli
  2. IMB dan fotocopy (IMB biasanya diberikan oleh developer)
  3. KTP asli dan fotocopy
  4. Bukti pembayaran PBB terakhir. Ingat bukan hanya lembar tagihan PBB yang warna ungu itu ya. Tapi juga bukti pembayaran yang dicetak oleh bank atau Alfamart saat kita melakukan pembayaran
  5. Materai 6000 satu lembar
  6. Untuk jaga-jaga jika ditanyakan, mungkin bawa juga Akta Jual Beli dan Kartu Keluarga

Setelah diperiksa kelengkapan dokumen, langsung diarahkan ke salah satu counter. Petugas di counter lakukan verifikasi dokumen-dokumen tersebut. Setelah itu, saya diberikan map dan formulir yang perlu diisi.  Nah agak gampang-gampang susah isi formulirnya karena ada isian nomer yang mengacu ke sertifikat. Untungnya si bapak yang jaga mesin antrian tersebut datang dan menawarkan bantuan mengisi formulir tersebut. 5 menit sudah selesai diisi. Kemudian saya dikasih nomer antrian. Saat itu nomer saya yang terdepan, jadi saya langsung ke counter lagi untuk menyerahkan map dan formulir yang telah diisi. Setelah itu saya diberikan lembar billing membayar sebesar Rp. 50.000. Pembayaran dilakukan di loket pembayaran dalam ruangan yang sama. Saat itu saya membayar menggunakan kartu Debit Mandiri. Di loket sudah tersedia mesin EDC, jadi tinggal gesek dan masukkan kode billing. Ini dibantu oleh petugas loket. Setelahnya, petugas memberikan bukti pembayaran yang saya serahkan ke counter sebelumnya. Kemudian petugas counter memberikan lembar tanda terima, yang akan ditunjukkan pada waktu pengambilan sertifikat. Petugas memberi tahu bahwa sertifikat akan selesai sekitar jam 3 sore. Tapi saya memutuskan untuk mengambil besok paginya saja.

Besok pagi saya tiba di kantor BPN sekitar pukul 08.30, dan memasukkan lembar tanda terima ke loket pengambilan. Setengah jam kemudian, nama saya dipanggil. Petugas minta saya tunjukkan KTP untuk memastikan benar-benar saya adalah pemilik sertifikat yang akan diambil. Jadi jangan lupa bawa KTP ya. 

Petugas kemudian menyodorkan sebuah sertifikat yang adalah SHM sayaaaaa.. 🙂 Petugasnya menjelaskan dengan pelan-pelan bahwa SHGB sudah diubah jadi SHM. Di situ saya baru tahu bahwa Sertifikatnya masih sama. Hanya tulisan HAK GUNA BANGUNAN dicoret dan diganti HAK MILIK. Nomer sertifikat juga dicoret dan ditambahkan nomer yang baru. HGB sudah jadi SHM.. Legaaaaa…!

img_20190123_083823720[1]

img_20190123_084358300[1]
Tersedia juga counter untuk disabilitas

ESP8266 painlessMesh Topology Visualizer in Python

A few months ago I have been experimenting with the ESP8266 painlessMesh network. The library provides a JSON string of the formed mesh topology, for example it looks like this:

[
    {
        "nodeId" : 2147321731,
        "subs" : [
            {
                "nodeId" : 2147319552,
                "subs" : [
                ]
            }
        ]
    },
    {
        "nodeId" : 2142436483,
        "subs" : [
            {
                "nodeId" : 2787708644,
                "subs" : [
                ]
            }
        ]
    },
    {
        "nodeId" : 2142436495,
        "subs" : [
            {
                "nodeId" : 2787708676,
                "subs" : [
                    {
                        "nodeId" : 2142436497,
                        "subs" : [
                        ]
                    },
                    {
                        "nodeId" : 2787708620,
                        "subs" : [
                        ]
                    }
                ]
            }
        ]
    }
]

At some points I think it would be very nice if I can immediately see how the mesh topology looks like. So I decide to write a simple GUI application that can visualize the mesh topology. For a rapid development I go for Python. I have not much prior experience in Python programming, and would like to use a nice and free IDE. I found one and really enjoyed using it. It is called PyCharm (v. 2017.2.3). It has editor, project viewer, debugger, runner, version control, etc. So it is quite a comprehensive IDE.

These videos demonstrate how the visualizer works:

Basically, the visualizer receives MeshTopology strings sent by a ESP8266 on serial port. The visualizer then parse the strings, build NetworkX graph, and draw the graph.  Graph drawing is based on the NetworkX (v.2.0) library. However, to make it work in this application, a little modification is made on the file networkx/drawing/nx_pylab.py. nx_pylab.py has a function called draw(). By default, draw() returns nothing. But to make it work in this application, I modify the draw() function to return cf (figure reference), node_collection.

return cf, node_collection

Higher version of NetworkX most likely will not work because the drawing function is discarded. NetworkX drawing functions depend on Qt5 library. So you need to install PyQt library as well.

Before running the codes, ensure the correct serial port number is provided matching to your setup. The line is in file top.py, function setupUi(self, MainWindow):

# init and open serial port
# SET COMxx to the corresponding serial port number used by the ESP
comPortNum ='COM31'<span data-mce-type="bookmark" id="mce_SELREST_start" data-mce-style="overflow:hidden;line-height:0" style="overflow:hidden;line-height:0;">&#65279;</span>

As you can see from the videos above, some of the application features are:

  • Visualize mesh topology. The figure is updated whenever the topology has changed. The draw() function distributes the node position based on some sort of random statistical formula, which results in most likely different node position every time the graph is updated
  • A click on node ‘Me’ will pop up ‘broadcast’ dialog box. Through this dialog, we can set parameters all of nodes.
  • A click on nodes other than ‘Me’ will pop up ‘single’ dialog box. We can set and read parameters on that particular node

On the ESP8266 side, the library painlessMesh v.1.0.1 is used. The ESP8266 regularly sends the MeshTopology to serial port. It can interpret commands from the visualizer application, such as:

  • Reading the node available heap memory
  • Forwarding messages to a single node
  • Forwarding messages to all nodes
  • Set and read parameters (i.e. ‘timer’ and ‘brightness’)

The Python mesh visualizer source codes are available at:

https://github.com/yoppy-tjhin/meshTopologyVisualizer

The app is started from main_window.py. It then loads a window from top.py. The top.py orchestrates all other functions, such as Serial thread, parsing MeshTopology, drawing graphs, etc.

And the Arduino ESP8266 painlessMesh codes can be found at:

https://github.com/yoppy-tjhin/espMesh

The following video shows a demo  of 10-node ESP8266 painlessMesh network:

Mengurus Visa Taiwan (Kedua Kalinya)

Tahun 2016 pertama kali saya mengurus visa Taiwan, seperti yang  pernah saya tuliskan di sini. Tahun 2018 ini saya akan berkunjung kembali ke Taiwan, dan saya mengurus visa secara mandiri lagi. Tapi kali ini, saya juga sekalian mengurus 3 visa keluarga saya.

Informasi tentang visa Taiwan bisa dilihat di sini.  Apa saja persyaratan yang harus disiapkan untuk membuat visa turis bisa dilihat di sini. Untuk pegawai, perlu menyertakan surat keterangan kerja dari kantor. Namun, dua anggota keluarga saya bukan pegawai kantor, tapi buka usaha sendiri. Jadi saya membawa SIUP (Surat Izin Usaha Perdagangan) mereka, dan ternyata dokumen ini memang diminta untuk disertakan. Sedangkan untuk booking tiket pesawat dan hotel tidak diminta, dan memang tidak tertulis dalam list persyaratan di atas.

Jam buka pendaftaran visa di kantor TETO adalah 08.30. Waktu itu saya datang hari Senin, tiba jam segituan, dan tidak ada antrian. Segera setelah dokumen diserahkan dan biaya dibayarkan, saya langsung pulang. Mungkin cuma 5-10 menit di kantor TETO. Kata petugasnya, hari Rabu (berarti 3 hari kerja ya) visa sudah bisa diambil. Hanya saja saya baru sempat datang hari Kamis. Untuk jadwal pengambilan, mulai buka jam 13.30.

Tak lupa, sebelum meninggalkan TETO, saya keluarkan handphone, buka app kamera, dan jepret…

IMG_20180604_085945544

(Terlihat ramai saudara-saudara kita yang akan bekerja sebagai TKI).

 

 

Scan and remove viruses using Clamav in Ubuntu

Recently my USB drive got infected. The virus duplicates existing files, but with an .exe extension. All of them are of 411,something kB in size. Later, this is scanned and identified as Trojan virus.

A short googling shows that clamav is a popular antivirus in Ubuntu, Linux in general. Without further ado, I then proceed to sudo apt-install clamav. The version 0.99 is installed. Before scanning, first we need to update the virus databases. The sudo freschclam command,  which is used to accomplish the job, doesn’t work. Maybe I haven’t tried hard enough. But some people suggest that it might be due to old version problem. So then I decide to uninstall clamav 0.99, and reinstall to the new version 0.100.0.

This time I install the clamav from the sources. I am fully aware that is not the only way to get clamav working nor a comprehensive and thorough tutorial. But here I am just showing the steps I have taken which leads me to a success. Oh btw, my OS is Ubuntu 16.04.

  1. sudo apt-get remove clamav (uninstall the existing clamav)
  2. sudo apt-get autoremove (uninstall dependencies, just to make sure they don’t mix up with the new version and cause problems)
  3. Download the source from https://www.clamav.net/downloads/production/clamav-0.100.0.tar.gz. This is version 0.100.0.
  4. Then go to the containing directory, and unzip it.
  5. ./configure (for checking dependencies and prepare some other stuff before compilation). Fail at this stage due to missing openssl library
  6. sudo apt-get install libssl-dev
  7. ./configure (again)
  8. sudo make (building the executable from sources. Might take some time to finish)
  9. sudo make install (installing all the files built from previous step to the appropriate directories)
  10. sudo freshclam (to download the virus databases). But fail at this stage because unable to parse the freshclam.conf. Actually it does not exist yet, but the example configuration file is provided.
  11. cd /usr/local/etc/ (go to the directory containing example conf file)
  12. sudo cp freshclam.conf.sample freshclam.conf
  13. sudo nano freshclam.conf (edit the file)
  14. Comment out the word ‘Example’ and save it
    # Comment or remove the line below.
    #Example
  15. sudo freshclam (again. it works now. take some time to download the databases)
  16. sudo clamscan -r -i –move=/home/yoppy/virus /media/yoppy/USB-drive-path
    -r is for recursive scanning. -i for showing detected scan only. Now we are ready to scan dan move the virus to another folder. And, delete it afterward. We can also delete the virus immediately with –remove option

clamscan virus detected