Categories
DSP

What is a Filter? And why learn about it?

What is a Filter?

Any medium through which the music signal passes, whatever its form, can be regarded as a filter. However, we do not usually think of something as a filter unless it can modify the sound in some way. For example, speaker wire is not considered a filter, but the speaker is (unfortunately). The different vowel sounds in speech are produced primarily by changing the shape of the mouth cavity, which changes the resonances and hence the filtering characteristics of the vocal tract. The tone control circuit in an ordinary car radio is a filter, as are the bass, midrange, and treble boosts in a stereo preamplifier. Graphic equalizers, reverberators, echo devices, phase shifters, and speaker crossover networks are further examples of useful filters in audio. There are also examples of undesirable filtering, such as the uneven reinforcement of certain frequencies in a room with “bad acoustics.” A well-known signal processing wizard is said to have remarked, “When you think about it, everything is a filter.”

A digital filter is just a filter that operates on digital signals, such as sound represented inside a computer. It is a computation which takes one sequence of numbers (the input signal) and produces a new sequence of numbers (the filtered output signal). The filters mentioned in the previous paragraph are not digital only because they operate on signals that are not digital. It is important to realize that a digital filter can do anything that a real-world filter can do. That is, all the filters alluded to above can be simulated to an arbitrary degree of precision digitally. Thus, a digital filter is only a formula for going from one digital signal to another. It may exist as an equation on paper, as a small loop in a computer subroutine, or as a handful of integrated circuit chips properly interconnected.

Why learn about filters?

Computer musicians nearly always use digital filters in every piece of music they create. Without digital reverberation, for example, it is difficult to get rich, full-bodied sound from the computer. However, reverberation is only a surface scratch on the capabilities of digital filters. A digital filter can arbitrarily shape the spectrum of a sound. Yet very few musicians are prepared to design the filter they need, even when they know exactly what they want in the way of a spectral modification. A goal of this book is to assist sound designers by listing the concepts and tools necessary for doing custom filter designs.

There is plenty of software available for designing digital filters [10,8,22]. In light of this available code, it is plausible to imagine that only basic programming skills are required to use digital filters. This is perhaps true for simple applications, but knowledge of how digital filters work will help at every phase of using such software.

Also, you must understand a program before you can modify it or extract pieces of it. Even in standard applications, effective use of a filter design program requires an understanding of the design parameters, which in turn requires some understanding of filter theory. Perhaps most important for composers who design their own sounds, a vast range of imaginative filtering possibilities is available to those who understand how filters affect sounds. In my practical experience, intimate knowledge of filter theory has proved to be a very valuable tool in the design of musical instruments. Typically, a simple yet unusual filter is needed rather than one of the classical designs obtainable using published software.

Excerpt from “Introduction to Digital Filters: with Audio Applications” by Julius Orion Smith II

Categories
DSP

DSP = The Most Powerful Technologies!

Digital Signal Processing is one of the most powerful technologies that will shape science and engineering in the twenty-first century. Revolutionary changes have already been made in a broad range of fields: communications, medical imaging, radar & sonar, high fidelity music reproduction, and oil prospecting, to name just a few. Each of these areas has developed a deep DSP technology, with its own algorithms, mathematics, and specialized techniques. This combination of breath and depth makes it impossible for any one individual to master all of the DSP technology that has been developed. DSP education involves two tasks: learning general concepts that apply to the field as a whole, and learning specialized techniques for your particular area of interest.

Source: Smith, Steven W., 1999, “The Scientist and Engineer’s Guide to Digital Signal Processing, 2nd Edition“, California Technical Publishing (click here for free full ebook!)

Categories
PLC/SCADA

Sistem Kontrol Proses dan PLC

Sistem kontrol proses terdiri atas sekumpulan piranti-piranti dan peralatan-peralatan elektronik yang mampu menangani kestabilan, akurasi dan mengeliminasi transisi status yang berbahaya dalam proses produksi. Masing-masing komponen dalam sistem kontrol proses tersebut memegang peranan pentingnya masing-masing, tidak peduli ukurannya. Misalnya saja, jika sensor tidak ada atau rusak atau tidak bekerja, maka sistem kontrol proses tidak akan tahu apa yang sedang terjadi dalam proses yang sedang berjalan.

Sebuah PLC (kepanjangan dari Programmable Logic Controller) adalah sebuah alat yang digunakan untuk menggantikan rangkaian sederetan relai yang dijumpai pada sistem kontrol proses konvensional. PLC bekerja dengan cara mengamati masukan (melalui sensor-sensor terkait), kemudian melakukan proses dan melakukan tindakan sesuai yang dibutuhkan, yang berupa menghidupkan atau mematikan keluarannya (logik, 0 atau 1, hidup atau mati). Pengguna membuat program (yang umumnya dinamakan diagram tangga atau ladder diagram) yang kemudian harus dijalankan oleh PLC yang bersangkutan. Dengan kata lain, PLC menentukan aksi apa yang harus dilakukan pada instrumen keluaran berkaitan dengan status suatu ukuran atau besaran yang diamati.

PLC banyak digunakan pada aplikasi-aplikasi industri, misalnya pada proses pengepakan, penanganan bahan, perakitan otomatis dan lain sebagainya. Dengan kata lain, hampir semua aplikasi yang memerlukan kontrol listrik atau elektronik membutuhkan PLC.

Guna memperjelas contoh penggunaan PLC ini, misalnya diinginkan saat suatu saklar ON, akan digunakan untuk menghidupkan sebuah solenoida selama 5 detik, tidak peduli berapa lama saklar tersebut ON. Kita bisa melakukan hal ini menggunakan pewaktu atau timer. Tetapi bagaimana jika yang dibutuhkan 10 saklar dan 10 solenoida, maka kita membutuhkan 10 pewaktu. Kemudian bagaimana jika kemudian dibutuhkan informasi berapa kali masing-masing saklar dalam kondisi ON, tentu saja akan membutuhkan pencacah eksternal. Demikian seterusnya, makin lama makin kompleks.

Dengan demikian, semakin kompleks proses yang harus ditangani, semakin penting penggunaan PLC untuk mempermudah proses-proses tersebut (dan sekaligus menggantikan beberapa alat yang diperlukan). Selain itu sistem kontrol proses konvensional memiliki beberapa kelemahan, antara lain:

  • Perlu kerja keras saat dilakukan pengkabelan;
  • Kesulitan saat dilakukan penggantian dan/atau perubahan;
  • Kesulitan saat dilakukan pelacakan kesalahan;
  • Saat terjadi masalah, waktu tunggu tidak menentu dan biasanya lama.

Sedangkan penggunaan kontroler PLC memiliki beberapa kelebihan dibandingkan dengan sistem kontrol proses konvensional, antara lain:

  • Dibandingkan dengan sistem kontrol proses konvensional, jumlah kabel yang dibutuhkan bisa berkurang hingga 80%;
  • PLC mengkonsumsi daya lebih rendah dibandingkan dengan sistem kontrol proses konvesional (berbasis relai);
  • Fungsi diagnostik pada sebuah kontroler PLC membolehkan pendeteksian kesalahan yang mudah dan cepat;
  • Perubahan pada urutan operasional atau proses atau aplikasi dapat dilakukan dengan mudah, hanya dengan melakukan perubahan atau penggantian program, baik melalui terminal konsol maupun komputer PC;
  • Tidak membutuhkan spare part yang banyak;
  • Lebih murah dibandingkan dengan sistem konvensional, khususnya dalam kasus penggunaan instrumen I/O yang cukup banyak dan fungsi operasional prosesnya cukup kompleks;
  • Ketahanan PLC jauh lebih baik dibandingkan dengan relai auto-mekanik.

(sumber: Putra, A.E., 2004, “PLC: Konsep, Pemrograman dan Aplikasi (Omron CPM1A/CPM2A dan ZEN Programmable Relay“, CV. Gava Media – Yogyakarta

Categories
FPGA

Mengapa (harus) FPGAs?

Ada beberapa pilihan bagi para perancang dalam menentukan suatu platform perangkat keras untuk perancangan elektronik ter-kustom, mulai dari prosesor tertanam atau embedded processors, ASIC atau Application Specific Integrated Circuits, Programmable Micro-processors (atau yang lebih dikenal dengan mikrokontroler), FPGAs hingga PLDs atau Programmable Logic Devices. Keputusan untuk menjatuhkan pilihan pada suatu teknologi, seperti FPGA, hanya bergantung pada kebutuhan rancangan bukan karena pandangan individu atau pendapat pribadi.

Misalnya, jika suatu rancangan membutuhkan sebuah piranti ter-program dengan sering terjadi perubahan rancangan dan algoritma yang melibatkan berbagai macam operasi yang kompleks, seperti perkalian dan pengulangan, maka mungkin perlu menggunakan prosesor pemroses sinyal yang terdedikasi (dedicated signal processor), seperti DSP yang dapat diprogram-ulang secara mudah menggunakan bahasa tingkat tinggi seperti Bahasa C. Jika kebutuhan kecepatan tidak terlalu menuntut dan platform ringkas yang murah dibutuhkan, maka perlu menggunakan mikrokontroler seperti PIC, AVR dan lain sebagainya. Namun, jika perangkat kerasnya membutuhkan unjuk-kerja yang tinggi, katakanlah bisa beroperasi dengan frekuensi kerja 100 MHz, maka FPGA menawarkan solusinya dan sekaligus merupakan logik terprogram yang fleksibel dan dapat dipakai lagi (reusable).

Isu-isu lainnya yang perlu diperhatikan adalah tingkat optimasi kebutuhan rancangan perangkat keras. Misalnya, sebuah program bisa ditulis dalam Bahasa C, kemudian diunduh ke mikrokontroler, tetapi unjuk-kerjanya terbatas karena ketidak-mampuannya melakukan proes secara paralel (untuk fungsi-fungsi tertentu). Permasalahan ini dapat diselesaikan menggunakan FPGA, yaitu dengan memanfaatkan teknik proses paralel dan pipeline untuk meningkatkan unjuk-kerja dari rancangan yang bersangkutan.

Gampangnya begini, untuk menentukan pilihan suatu platform perangkat keras adalah dengan mengidentifikasi syarat-syarat rancangan dan kebutuhan perangkat keras yang diinginkan.

Misalnya, jika rancangan mensyaratkan detak (clock) yang digunakan adalah 100 MHz, maka FPGA merupakan platform yang paling sesuai. Namun, jika detaknya hanya sekitar 3 s/d 4 MHz, maka penggunaan FPGA bisa diibaratkan membunuh kecoa dengan bom (mungkin malah bom nuklir).

Jika rancangan membutuhkan opsi prosesor yang fleksibel, walaupun teknologi FPGAs saat ini mendukung untuk prosesor tertanam, mungkin ada baiknya menggunakan DSP atau Mikrokontroler. Jika rancangan membutuhkan perangkat keras dengan fungsi khusus, maka sebuah FPGA bisa dijadikan sebagai solusi.

Jika rancangan membutuhkan fungsi-fungsi perangkat keras yang khusus, seperti perkalian dan penjumlahan, maka DSP bisa jadi solusi, tetapi jika rancangan perangkat keras diinginkan bisa di-kustom, maka, sekali lagi, FPGA merupakan pilijan yang pas!

Jika rancangan membutuhkan blok-blok perangkat keras yang sederhana, maka PLD atau CPLD (Complex Programmable Logic Device) bisa jadi merupakan pilihan terbaik (compact, simple programmable logic), bagaimanapun juga, jika rancangan memiliki beberapa fungsi sekaligus atau kombinasi dari kontroler yang kompleks dengan fungsi-fungsi perangkat keras yang khusus, maka FPGA bisa jadi solusinya.

Contoh-contoh kasus yang telah diceritakan tersebut dapat bergantung pada kompleksitas perangkat kerasnya. Misalnya, sebuah kontroler VGA atau Video Graphics Array kemungkinan lebih membutuhkan FPGA dibandingkan PLD, hal ini terkait dengan kompleksitas perangkat keras yang terkait. Isu-isu lain yang masih berhubungan adalah fleksibilitas dan programabilitas. Jika sebuah FPGA digunakan dan beberapa sumber daya tidak digunakan untuk piranti tertentu (misalnya masih sisa 60%), maka jika terjadi perubahan atau peremajaan (update), masih ada sisa ruangan untuk mendukung beberapa perubahan-perubahan tersebut, di masa mendatang.

Menggunakan petunjuk yang sederhana ini, pilihan cerdas bisa dilakukan untuk menentukan platform yang sesuai dan terbaik dan juga sekaligus perangkat keras yang dipilih. Untungnya, banyak perangkat lunak sintesis (sintesa rangkaian dalam logik terprogram) pada saat ini mampu melakukan pengujian unjuk-kerja dan utilisasi (misalnya PLD atau FPGA) berbagai macam platform rancangan sebelum keputusan akhir pilihan perangkat kerasnya.

(sumber: Wilson, P.R., 2007, “Design Recipes for FPGAs“, Newness Publications)

Categories
DSP

Perjalanan Mempelajari DSP

Apaan DSP itu?? DSP merupakan kependekan dari Digital Signal Processing atau dalam bahasa kita dikenal dengan PSD atau Pemrosesan Sinyal Digital.

Belajar DSP bukan merupakan tujuan akhir, begitu menurut Lyons (penulis buku “Understanding Digital Signal Processing 2nd Edition“), artinya Belajar DSP merupakan suatu perjalanan. Saat kita memahami suatu topik, muncullah pertanyaan-pertanyaan berikutnya yang akhirnya membawa kita ke topik-topik lain, tetapi dengan ‘senjata’ yang lebih lengkap, sebagaimana beberapa aspek DSP yang digambarkan pada diagram berikut ini…

Mempelajari dasar-dasar, dan bagaimana berbicara dengan bahasa, pemrosesan sinyal digital tidak membutuhkan kemampuan analisis yang kuat maupun latar belakang matematis yang rumit. Yang Anda perlukan adalah pengalaman belajar Matematika Dasar, seperti trigonometri (minimal tahu apa itu gelombang sinusoidal, dll), buku DSP yang tepat dan (penting nich) antusiasme! Ya Betul sekali, antusiasme!

Anda bisa memulai belajar menggunakan dua buku yang saya sarankan, yaitu:

  • Lyons, Richard G., 2004, “Understanding Digital Signal Processing, Second Edition“, Prentice Hall PTR (info);
  • Tan, Li, 2008, “Digital Signal Processing: Fundamentals & Applications“, Elsevier Inc. (info).

Baik, lantas bagaimana dengan keterangan diagram tersebut?

Pada awalnya kita hanya mengenal sinyal atau isyarat analog dan kontinyu (terus menerus tanpa ada jeda sedikitpun, misalnya antara data untuk t=0 detik hinga t=1 detik, kita memiliki semua data secara lengkap, tidak hanya pada t=0 detik dan t=1 detik saja).

Dengan adanya teknologi komputer, pemrosesan sinyal mengalami kemajuan karena data-data sinyal tersebut dapat tersimpan dan diproses menggunakan komputer, caranya? Yaitu dengan melakukan pencuplikan (bisa dibayangkan berapa banyak data yang tersimpan jika masih bersifat kontinu? Karena antara t=0 detik hingga t=1 detik bisa berjumlah tak-hingga) menjadi data-data diskrit, hanya untuk saat t tertentu saja, misalnya dengan periode pencuplikan T=0.5 detik, akan diperoleh frekuensi pencuplikan fs=2 Hz atau 2 data tiap detik, sehingga untuk 1 menit = 60 x 2 daa = 120 data/menit.

Tidak hanya proses pencuplikan, juga dilakukan proses kuantisasi, yaitu merubah angka analog menjadi digital selebar n-bit, artinya jika hanya menggunakan 3-bit maka hanya ada 2^3 = 8 tingkat data, demikian seterusnya, semakin lebar bit-nya semakin akurat dan otomatis semakin membutuhkan banyak ruang penyimpan.

Nah, data digital ini perlu dianalisa lebih lanjut, karena masih dalam ranah waktu (time domain), informasi yang diperoleh hampir tidak ada, sehingga seringkali dibutuhkan informasi, misalnya, spektrum atau kandungan frekuensi dari sinyal yang bersangkutan (ranah frekuensi atau frequency domain). Sehingga perlu mempelajari DFT atau Discrete Fourier Transform.

Lantas bisa muncul pertanyaan “Bagaimana proses dari DFT?”, “Mengapa bisa terjadi leakage (cacat) dalam hasilnya? “.Jawaban-nya ada di pengetahuan tentang konvolusi. Lantas “Bagaimana mengantisipasi leakage tersebut?”, jawabannya di Window Functions (Anda mungkin kemudian bertanya “Apa itu Window functions? Buat apa?” dan setrusnya). “Bagaimana spektrum hasil DFT bisa diubah?”, nah yang ini Anda perlu mempelajari Digital Filters. Demikian seterusnya, silahkan Anda lihat kembali diagram-nya. Jika masih ingin mendalami PSD silahkan ikut kuliah PSD-1 dan 2 dari saya atau membaca beberapa buku yang sarankan sebelumnya.

Semoga bermanfaat dan selamat belajar!

Categories
FPGA

Pengenalan FPGA

Field-Programmable Gate Array (FPGA) merupakan sebuah IC digital yang sering digunakan untuk mengimplementasikan rangkaian digital. FPGA berbentuk komponen elektronika dan semikonduktor yang terdiri dari komponen gerbang terprogram (programmable logic) dan sambungan terprogram (interkoneksi). Komponen gerbang terprogram yang dimiliki meliputi jenis gerbang logika biasa (ANDORNOT) maupun jenis fungsi matematis dan kombinatorik yang lebih kompleks, seperti decoder, adder, subtractor, multiplier, dll. Blok-blok komponen di dalam FPGA bisa juga mengandung elemen memori (register) mulai dari flip-flop sampai pada RAM (Random Access Memory). FPGA sangat sesuai untuk pemrosesan komputasi dari algoritme integrasi numerik. Keuntungan implementasi FPGA digunakan untuk meningkatkan efisiensi rancangan dengan cara mengurangi pemakaian pemrograman perangkat lunak (software). FPGA mempunyai koreksi error yang kecil dan merupakan teknologi yang bebas (technologyindependent) untuk diimplementasikan dalam berbagai algoritme. Kinerja aplikasi FPGA lebih cepat dibandingkan dengan aplikasi mikrokontroler, karena FPGA hanya mensintesis perangkat keras (hardware) saja, sementara mikrokontroler mengeksekusi instruksi perangkat lunak (software) yang digunakan untuk mengendalikan perangkat keras (hardware), sehingga waktu tunda yang diimplementasikan hanya memakan waktu tunda perambatan (propagation delay) saja. Pemodelan FPGA membutuhkan informasi terkait dengan tingkat perbedaan abstraksi dan jenis model yang digunakan. Seorang perancang FPGA harus mampu mengambil beberapa tahapan pemodelan untuk memastikan hasil model rancangannya melalui model simulasi yang telah disediakan oleh vendor FPGA masing-masing. [Wikipedia]

Pengertian terprogram (programmable) dalam FPGA adalah mirip dengan interkoneksi saklar dalam breadboard yang bisa diubah oleh pembuat desain sesuai kebutuhan pengguna. Dalam FPGA, interkoneksi ini bisa diprogram kembali oleh pengguna maupun pendesain di dalam lab atau lapangan (field). Oleh karena itu jajaran gerbang logika (Gate Array) ini disebut field-programmable. Jenis gerbang logika yang bisa diprogram meliputi semua gerbang dasar untuk memenuhi kebutuhan yang manapun. [Wikipedia]

Secara umum alur-kerja saat menggunakan FPGA sebagai berikut:

  • Anda menggunakan komputer untuk menentukan atau mendeskripsikan suatu fungsi logik yang diinginkan.
    Anda bisa melakukannya dengan menggambar rangkaian atau diagram blok atau membuat berkas teks yang mendeskripsikan fungsi suatu rangkaian menggunakan bahasa deskripsi perangkat keras atau hardware description language (HDL);
  • Anda mengkompilasi fungsi logik tersebut melalui komputer, menggunakan perangkat lunak dari vendor FPGA-nya (yang biasanya tersedia gratis di Internet).
    Hasilnya berupa berkas biner yang dapat di-uanggah ke-dalam FPGA yang bersangkutan;
  • Anda sambungkan komputer dengan papan FPGA Anda kemudian anda unggah berkas biner ke FPGA…

Gampang khan! Seketika FPGA Anda memiliki fungsi logik sebagaimana yang Anda inginkan!

Ingat selalu bahwa…

  • Anda bisa mengisi-ulang (mengkonfigurasi-ulang) FPGA sebanyak yang Anda inginkan – tidak terbatas – dengan berbagai macam fungsi logik yang Anda inginkan…
  • Jika Anda melakukan kesalahan pada rancangan Anda, cukup betulkan kesalahan tersebut, lakukan kompilasi ulang kemudian uanggah (upload) lagi… jadi dech…!
  • Rancangan Anda bisa bekerja lebih cepat dibandingkan dengan rancangan yang Anda buat dengan komponen-komponen biasa, karena, dengan FPGA, hampir semua rangkaian terimplementasi di dalam chip…
  • FPGA (secara umum, kecuali yang dilengkapi Flash PEROM) akan kosong saat tidak dikenai catu-daya (seperti RAM).

Siapa vendorFPGAs?

Minimal ada 5 perusahaan besar yang memproduksi FPGA. Dua yang pertama merupakan pemain utama di pasar FPGA:

  • Xilinx yang punya nama besar dalam dunia FPGA, masih memimpin dalam densitas dan teknologi.
  • Altera (sudah diakuisisi oleh Intel) merupakan pemain kedua di dunia FPGA.
  • Lattice, Actel, Quicklogic adalah perusahaan-perusahaan yang lebih kecil dan punya “pasar khusus”.

Informasi selengkapnya bisa Anda unduh dalam bahasa indonesia atau bahasa inggris. Atau melihat video penjelasan berikut ini…

Categories
Mikrokontroler

Pengetahuan Dasar Mikrokontroler AVR

Pendahuluan

Keluarga Mikrokontroler AVR merupakan mikrokontroler dengan arsitektur modern (emang selama ini ada yang kuno kali??). Terdapat 3 macam atau jenis mikrokontroler AVR, yaitu:

  • TinyAVR (tidak ada kaitannya ama mbak Tini yang jualan gudeg…)
  • AVR atau Classic AVR, dan
  • megaAVR (nah yang ini sudah mulai banyak yang nulis bukunya…)

Perbedaan jenis-jenis tersebut terletak dari fasilitas, atau lebih dikenal dengan fitur-fiturnya. Jenis TinyAVR merupakan mikrokontroler dengan jumlah pin yang terbatas (sedikit maksudnya) dan sekaligus fitur-fiturnya juga terbatas dibandingkan yang megaAVR. Semua mikrokontroler AVR memiliki set instruksi (assembly) dan organisasi memori yang sama, dengan demikian berpindah-pindah (walaupun tidak disarankan) antar mikrokontroler AVR gak masalah dan mudah!

Beberapa mikrokontroler AVR memiliki SRAM, EEPROM, antarmuka SRAM eksternal, ADC, pengali perangkat keras, UART, USART dan lain sebagainya. Bayangkan saja Anda punya TinyAVR dan MegaAVR, kemudian telanjangi (maksudnya copotin) semua periferal-nya, nah Anda akan memiliki AVR Core yang sama! Kayak membuang semua isi hamburger, maka Anda akan mendapatkan rotinya doang yang sama…

Memilih AVR “yang benar”

Moralnya…  tidak peduli tinyAVR, AVR (Classic AVR) atau megaAVR semuanya memiliki unjuk-kerja yang sama saja, tetapi dengan “kompleksitas” atau fasilitas yang berbeda-beda, ibaratnya begini: banyak fasilitas dan fitur = megaAVR, fitur atau fasilitas terbatas = TinyAVR. Gitu aja kok repot…

Nah AVR (Classic AVR) ada di antara kedua jenis tersebut dan perbedaan antara kelompok-kelompok ini semakin menjadi tidakjelas. Nah untuk aplikasi yang ingin Anda buat, sebaiknya Anda memilih mikrokontroler AVR dengan fitur-fitur yang Anda butuhkan, apalagi sekarang mikrokontroler AVR dijual dengan harga yang relatif terjangkau (nb: harga di Yogyakarta).

Belajar pemrograman mikrokontroler AVR??

Jawabannya ada di Ebook gratis Tutorial/workshop AVR bisa diunduh disini

Categories
PLC/SCADA

Belajar PLC itu Mudah!

Belajar pemrograman PLC itu pada dasarnya mudah, sebagai permulaan, hal-hal yang dibutuhkan antara lain:

  • Buku PLC, rekomendasi: Putra, Agfianto Eko, 2004, PLC – Konsep, Pemrograman dan Aplikasi, Gava Media – Yogyakarta
  • Software editor dan simulasi PLC baik untuk Sysmac maupun ZEN – ada di dalam CDROM buku di atas.
  • Maupun software simulator lainnya yang biasa saya ajarkan di PELATIHAN PRIVATE DASAR PLC (silahkan hubungi 08886931260 atau agfi@ugm.ac.id)

Saya akan menjelaskan contoh-contoh aplikasi sederhana di ebook gratis yang bisa diunduh disini… monggo…!

Categories
Mikrokontroler

Belajar Mikrokontroler itu Mudah!

Sebenarnya, siapa saja yang perlu belajar mikrokontroler? Apakah hanya monopoli rekan-rekan di ELINS atau Teknik Elektro saja? Tidak, sama sekali tidak. Beberapa pembaca buku saya “Belajar Mikrokontroler AT89C51/52/55: Teori dan Praktek” berasal dari (berdasar email yang masuk dari seluruh Indonesia):

  • Para peminat atau hobyis dengan berbagai latar belakang pendidikan;
  • Pelajar SMA dan STM, bahkan tidak menutup kemungkinan pelajar SMP-pun berhak mendapatkan ilmu mikrokontroler, jika mereka berminat;
  • Mahasiswa teknik (khususnya Elektro, Industri dan Fisika), MIPA (khususnya ELINS dan Ilmu Komputer) maupun dari beberapa disiplin ilmu lainnya.

Kenapa mudah? Karena modalnya (1) Tekad dan (2) Menguasai atau minimal memahami logika dan algoritma. Hal ini disebabkan pemrograman mikrokontroler banyak membutuhkan cara berpikir yang logis dan terstruktur.

Untuk pemula saya sarankan menggunakan BASIC Stamp atau mikrokontroler dengan pendekatan bahasa BASIC atau yang sudah dipahami sebelumnya seperti Bahasa C, karena banyak kemudahan yang ditawarkan, mulai dari pembuatan rangkaian aplikasi hingga pemrogramannya. Lantas sarana belajar apa saja yang perlu disiapkan?

  • Buku-buku bacaan Mikrokontroler yang mudah dipahami, tidak hanya menggunakan bahasa yang Anda pahami (Indonesia) tetapi dituliskan atau disampaikan dengan cara yang relatif mudah dipahami.
  • Perangkat lunak kompiler atau cross assembler yang berkaitan dengan mikrokontroler yang dipelajari, ini digunakan untuk mengubah program kita menjadi siap untuk dieksekusi atau dijalankan oleh mikrokontroler yang bersangkutan. Bagaimana cara mendapatkan kompiler tersebut? Download saja dari website mikrokontroler yang bersangkutan (biasanya mereka menyediakan secara gratis).
  • Penting juga untuk menyediakan sebuah perangkat lunak lengkap yang bisa melakukan penggambaran rangkaian dan simulasi program mikrokontroler secara internal maupun visual secara real-time.
  • Perlu juga membuat rangkaian pemrogram (donwloader) atau papan pengembang atau langsung rangkaian aplikasi untuk melihat langsung hasil pemrograman mikrokontroler yang dilakukan.

Adakah perangkat lunak yang bisa untuk melakukan simulasi secara internal maupun visual? Tentu saja ada, hanya saja komersil dan harganya mahal sekali. Akan saya jelaskan ebook gratis saya yang bisa diunduh disini… monggo…

Categories
PLC/SCADA

Apakah PLC itu?

Sebuah PLC (kepanjangan dari Programmable Logic Controller) adalah sebuah alat yang digunakan untuk menggantikan rangkaian sederetan relai yang dijumpai pada sistem kontrol proses konvensional. PLC bekerja dengan cara mengamati masukan (melalui sensor-sensor terkait), kemudian melakukan proses dan melakukan tindakan sesuai yang dibutuhkan, yang berupa menghidupkan atau mematikan keluarannya (logik, 0 atau 1, hidup atau mati). Pengguna membuat program (yang umumnya dinamakan diagram tangga atau ladder diagram) yang kemudian harus dijalankan oleh PLC yang bersangkutan. Dengan kata lain, PLC menentukan aksi apa yang harus dilakukan pada instrumen keluaran berkaitan dengan status suatu ukuran atau besaran yang diamati.

PLC banyak digunakan pada aplikasi-aplikasi industri, misalnya pada proses pengepakan, penanganan bahan, perakitan otomatis dan lain sebagainya. Dengan kata lain, hampir semua aplikasi yang memerlukan kontrol listrik atau elektronik membutuhkan PLC.

Dengan demikian, semakin kompleks proses yang harus ditangani, semakin penting penggunaan PLC untuk mempermudah proses-proses tersebut (dan sekaligus menggantikan beberapa alat yang diperlukan). Selain itu sistem kontrol proses konvensional memiliki beberapa kelemahan, antara lain:

  • Perlu kerja keras saat dilakukan pengkabelan;
  • Kesulitan saat dilakukan penggantian dan/atau perubahan;
  • Kesulitan saat dilakukan pelacakan kesalahan;
  • Saat terjadi masalah, waktu tunggu tidak menentu dan biasanya lama.

Sedangkan penggunaan kontroler PLC memiliki beberapa kelebihan dibandingkan dengan sistem kontrol proses konvensional, antara lain:

  • Dibandingkan dengan sistem kontrol proses konvensional, jumlah kabel yang dibutuhkan bisa berkurang hingga 80%;
  • PLC mengkonsumsi daya lebih rendah dibandingkan dengan sistem kontrol proses konvesional (berbasis relai);
  • Fungsi diagnostik pada sebuah kontroler PLC membolehkan pendeteksian kesalahan yang mudah dan cepat;
  • Perubahan pada urutan operasional atau proses atau aplikasi dapat dilakukan dengan mudah, hanya dengan melakukan perubahan atau penggantian program, baik melalui terminal konsol maupun komputer PC;
  • Tidak membutuhkan spare part yang banyak;
  • Lebih murah dibandingkan dengan sistem konvensional, khususnya dalam kasus penggunaan instrumen I/O yang cukup banyak dan fungsi operasional prosesnya cukup kompleks;
  • Ketahanan PLC jauh lebih baik dibandingkan dengan relai auto-mekanik.

Dapatkan informasi lengkapnya dengan mengunduh ebook gratisnya disini