Mencoba outseal studio pada Arduino NANO/UNO
1. Perbandingan
Chip mikrokontroler yang digunakan oleh outseal PLC nano adalah ATmega328P. Chip ini adalah chip yang sama digunakan oleh arduino NANO atau arduino UNO. Pada kondisi baru, chip ATmega328P ini hanya dapat diprogram melalui jalur ISP/ICSP dan tidak dapat diprogram melalui jalur serial/USB.
Pemrograman melalui ISP membutuhkan hardware extra (ISP programmer) yang dirasa kurang dapat diterima oleh orang yang baru belajar atau yang ingin instant karena selain harus mengeluarkan biaya tambahan untuk membeli (ISP programmer), pengguna juga harus menginstal driver dari alat tambahan tersebut, menginstal aplikasi yang dibutuhkan, dan juga menghubungkan kabel-kabel yang dinilai tidak ringkas.
Terdapat sebuah cara agar chip tersebut dapat diprogram secara serial/usb oleh pengguna tanpa membutuhkan ISP programmer. Cara tersebut adalah dengan terlebih dahulu menanam sebuah program ringan yang berfungsi mengelola data yang masuk melalui serial/USB untuk bisa diartikan menjadi perintah pemrograman firmware. Program ringan ini disebut bootloader. Bootloader cukup ditanam satu kali saja melalui jalur ISP dan selanjutnya chip tersebut akan bisa diprogram melalui serial selama bootloader tersebut tidak dihapus.
Saat anda membeli board arduino baru, bootloader ini sebelumnya sudah ditanam oleh penjualnya menggunakan ISP oleh sebab itulah arduino yang anda beli ini dapat langsung diprogram menggunakan serial/USB. Bootloader yang dipakai oleh arduino adalah optiboot yang merupakan open source dan free. Begitu pula dengan Outseal PLC nano, outseal menggunakan chip yang sama dan juga bootloader yang sama persis dengan arduino Nano/Uno. Oleh sebab itulah sebuah board arduino juga dapat diprogram melalui outseal studio layaknya outseal PLC nano.
Pada versi sebelumnya outseal PLC nano menggunakan chip yang tertanam pada board PLC, namun semenjak V.5.2, disediakan juga versi yang menggunakan board arduino utuh sebagai board CPU nya. Berikut adalah gambar dari PLC nano V.5.2 yang menggunakan board arduino utuh sebagai CPU board.
Board arduino NANO/UNO didesain bukan untuk industri, bila ingin digunakan untuk keperluan industri, arduino board tersebut memerlukan tambahan perangkat yang mendukung lingkungan industri sesuai dengan standar internasional. Outseal PLC board sudah dilengkapi dengan tambahan perangkat isolated digital input yang memenuhi standard IEC 61131-2 sehingga dapat digunakan untuk membaca input 24V, tahan terhadap noise dan juga terisolasi secara optik. Untuk digital output, Outseal PLC board juga sudah dalam bentuk transistor NPN yang sudah dilengkapi dengan pembatas arus agar tidak terjadi short saat beban berlebih yang mungkin disebabkan oleh kesalahan pengguna, atau akibat dari kerusakan relay.
Voltase standard untuk power supply industri adalah 5V, 12V dan 24V. Nilai yang paling sering digunakan adalah 24V karena pada umumnya hampir semua current transmitter sensor membutuhkan voltase tinggi untuk mencapai atau menghasilkan arus 0-20mA. Voltase kerja yang dibutuhkan oleh arduino adalah 5V sehingga dibutuhkan sebuah regulator voltase untuk mengubah 24V menjadi 5V.
Di dalam board arduino sebenarnya sudah terdapat internal regulator voltase berjenis linear, namun regulator tersebut berdaya kecil dan berjenis linear dimana panas yang ditimbulkan akan sangat besar bila selisih antara voltase input terhadap outputnya besar dan akan semakin panas bila beban kerjanya juga semakin besar. Untuk pemakaian jangka panjang yang terus menerus(non-stop), pengguna arduino tidak disarankan menggunakan beda potensial jauh melebihi 5V (misal 24V atau 12V) secara langsung ke board arduino karena akan menyebabkan akumulasi panas yang tinggi dan menyebabkan arduino tersebut tidak berumur panjang apalagi pada lingkungan yang bertemperatur tinggi. Oleh sebab itulah board arduino disarankan menggunakan voltase input 6-9V saja.
Karena outseal PLC board menggunakan arduino board di dalamnya, maka outseal PLC melengkapi board PLC nya dengan tambahan perangkat switching regulator (buck converter) untuk menurunkan tegangan 24V menjadi 6V (mendekati 5V) untuk diteruskan ke arduino board. Dengan selisih yang relatif kecil ini (selisih = 6V-5V = 1V), maka panas yang ditimbulkan oleh board arduino tidak besar dan relatif aman untuk pemakaian jangka panjang. Dan melalui metode switching ini pengubahan 24V menjadi 6V juga tidak menimbulkan panas yang terlalau besar karena mode switching ini yang jauh lebih efektif dibanding mode linear. Sebenarnya masih banyak lagi tambahan perangkat pada outseal PLC agar arduino tersebut dapat digunakan pada lingkungan industri seperti adanya decoupling capacitor yang sesuai untuk menangkis noise industri, penambahan perangkat komunikasi RS485 dan lain-lain, namun tidak dibahas dalam tulisan ini.
Tulisan ini hanya membahas penggunaan arduino sebagai pengganti outseal PLC sebatas untuk keperluan pendidikan atau belajar saja karena menggunakan arduino saja tanpa tambahan perangkat pendukung industri dinilai tidak layak digunakan di lingkungan industri.
Bagi anda yang sudah mempunyai pengalaman/pengetahuan tentang membuat perangkat pendukung industri tersebut, maka artikel ini bisa sangat bermanfaat karena menjadi solusi murah bagi project anda. Bagi anda yang belum punya pengetahuan tersebut, maka anda pun dapat belajar dan membuat sendiri karena rangkaian (skematik) elektronik dari outseal PLC ini dibuka untuk umum dan dapat dilihat pada website outseal dengan gratis. Anda dapat melihat, mempelajari dan bahkan mengembangkan sendiri sesuai dengan keperluan. Dan bagi anda yang ingin instant atau punya keterbatasan waktu, bahan dan atau fasilitas, anda pun bisa membelinya langsung pada pihak outseal dengan harga yang terjangkau.
2. Pinout
Outseal PLC nano terdiri dari 8 jalur digital input dan 8 jalur digital output.
Jalur | Pin |
digital input (8 jalur) | S.1 hingga S.8 |
digital output (8 jalur) | R.1 hingga R.8 |
Analog input (2 jalur) | A.1 dan A.2 |
Berikut ini adalah peta penggunaan pin arduino NANO atau UNO untuk dijadikan sebagai outseal PLC nano versi 5.2.
Perbedaan antara UNO dan NANO hanya pada keberadaan jalur analog. Arduino uno tidak memiliki jalur analog untuk menggantikan A.1 dan A.2 pada outseal PLC karena tidak mempunyai pin A6 dan A7 seperti pada arduino NANO.
3. Perbedaan status I/O
Perbedaan mendasar dari penggunaan arduino board secara langsung terhadap outseal PLC adalah aktivasi status I/O nya. Outseal PLC nano V.5.2 pada dasarnya adalah sebuah arduino nano dengan tambahan perangkat pada input dan output yang berjenis transistor sehingga logikanya menjadi terbalik (logic inverter). Logika true akan diubah menjadi false dan juga sebaliknya seperti pada gambar berikut.
Dengan adanya logic inverter ini maka pengoperasian antara arduino board dan outseal PLC menjadi berbeda. Outseal PLC mempunyai input active high dan outputnya active low sedangkan pada arduino adalah kebalikannya yakni inputnya bersifat active low dan outputnya active high. Active low pada input arduino ini berarti logika true/ON dipicu oleh tersambungnya pin input oleh low voltage (ground) dan berlogika false bila tersambung tegangan 3V hingga 5V. Pada keadaan mengambang atau pin tidak tersambung apapun logikanya adalah false karena terdapat pull-up resistor didalamnya. Active high pada output arduino berarti saat nilai output adalah true/ON akan memicu pin output untuk mengeluarkan high voltage (+5V). Gambar dibawah menjelaskan perbedaannya dengan outseal PLC board.
Tambahan perangkat output pada outseal PLC board adalah berupa transistor yang tersambung dengan pin output arduino. Transistor ini bekerja seperti sebuah saklar yang dipicu oleh logika output. Satu kaki saklar terhubung ke ground dan satu kaki lain nya dibiarkan terbuka dan menjadi pin output dari outseal PLC. Dengan adanya transistor ini maka outseal PLC dapat digunakan langsung untuk mengaktifkan coil relay atau modul relay board. Sedangkan jika menggunakan arduino board saja maka anda harus menggunakan relay driver terlebih dahulu. Atau jika anda ingin menggunakan relay board/module, maka harus dipilih relay board/module yang active high. Untuk percobaan sederhana memprogram arduino nano menggunakan outseal studio dapat dilihat pada gambar berikut
Pada gambar ini hanya input S.1 dan S.2 saja yang digunakan sedangkan outputnya hanya R.1 dan R.2 saja. Jika ingin lebih banyak I/O anda dapat menambahkan sendiri.
4. Percobaan
Pada program outseal studio anda bisa menggunakan pilihan hardware Nano V.5 untuk memprogram arduino NANO/UNO seperti terlihat pada gambar berikut.
Tanpa tambahan perangkat apapun sebenarnya arduino board dapat digunakan untuk mencoba program outseal studio karena pin 13 pada arduino NANO/UNO terdapat led indicator. Pin 13 ini sama dengan pin R.1 pada ouseal PLC nano. Sehingga program blink R.1 berikut dapat langsung dijalankan pada arduino NANO/UNO tanpa tambahan apapun dan dapat diamati kedip lednya pada board arduino.
untuk mencoba digital input pada arduino maka program berikut dapat dijalankan.
Apabila S.1 bernilai true maka R.1 akan ikut bernilai true. Sesuai dengan penjelasan sebelumnya bahwa input pada arduino NANO/UNO adalah active low sehingga untuk mendapatkan nilai true maka pin S.1 (A0 pada arduino board) harus disambungkan ke ground.
Contoh selanjutnya blink pada R.1 yang frekuensi kedipnya dapat diatur oleh input S.1. Ladder diagramnya dapat dilihat pada gambar dibawah.
Kecepatan kedip dari R.1 akan berubah menjadi lebih lambat saat S.1 bernilai true.