Last updated by at .

Monthly Archives: June 2012

Tutorial PLC: pengertian PLC (2)

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihindari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Topik

Menjelaskan pengertian PLC standar. Serta diberikan contoh kasus sebuah fungsi logika direalisasikan menggunakan rangkaian digital, logika kontak dan PLC

Apa yang dimaksud dengan PLC ?

PLC merupakan singkatan dari Programmable Logic Controller. PLC merupakan aplikasi sebuah sistem mikroprosesor (mikrokomputer) digunakan sebagai kontroler standar dalam industri yang bersifat dapat diprogram berdasarkan fungsi-fungsi logika. PLC secara standar, memproses program berdasarkan fungsi-fungsi logika yang ditanamkan (diprogram) dalam PLC. Fungsi-fungsi logika didasarkan pada logika-logika yang ada pada saluran masukan dan saluran keluaran PLC. Jadi PLC memiliki sejumlah saluran masukan dan saluran keluaran. Secara standar PLC memiliki saluran masukan dan keluaran berupa logika 0 atau logika 1.

Pada prinsipnya pengertian PLC adalah:

  1. Perangkat kontroler merupakan aplikasi sebuah sistem mikroprosesor dirancang khusus untuk keperluan kontroler di Industri.
  2. Dapat diprogram berdasarkan fungsi-fungsi logika didasarkan pada intruksi-intruksi yang dimengerti PLC.
  3. Memiliki sejumlah saluran masukan dan keluaran.
  4. Agar lebih mudah dimengerti berikut ini diberikan contoh kasus sebuah fungsi logika yang akan direalisasikan menggunakan gerbang logika, logika kontak dan PLC.

Sebuah fungsi logika: F = (A’. B) + C

Pernyataan fungsi logika di atas dapat diimplementasikan dengan menggunakan beberapa cara yaitu:

Gerbang Logika 

Jika diimplementasikan dengan gerbang-gerbang logika dapat digambarkan dalam Gambar 1 berikut: 

Gambar 1
Fungsi F = (A’.B)+C diwujudkan dengan gerbang logika 

 Keluaran F akan berlogika 0 atau 1 sesuai dengan kombinasi logika pada saluran masukan A, B dan C berdasarkan fungsi logika (A’ . B) + C. Terdapat 8 kombinasi logika masukan pada rangkaian ini, karena terdapat 3bit masukan. Secara tabel kebenaran keluaran F diperlihatkan dalam tabel berikut ini:</p

No. Masukan Keluaran
  A B C F
1. 0 0 0  0
2. 0 0 1 1
3. 0 1 0 1
4. 0 1 1 1
5. 1 0 0 0
6. 1 0 1 1
7. 1 1 0 0
8. 1 1 1 1

 

 

Bila diamati dari tabelkebenaran di atas keluaran F akan berlogika 1 hanya jika C = 1 atau A = 0 dan B = 1. Dengan menggunakan komponen gerbang-gerbang logika, jika dibutuhkan perubahan-perubahan fungsi logikanya maka diperlukan perubahan-perubahan pada rangkaian logikanya. Gerbang NOT menggunakan komponen IC jenis 7406, AND IC jenis 7408 dan OR IC jenis 7432. Rangkaian di atas merupakan rangkaian kombinasi, karena keluaran hanya tergantung pada kombinasi logika saluran masukannya.

Logika Kontak

 Sebuah kontak dapat digunakan untuk mengimplementasikan sebuah rangkaian logika. Jika menggunakan gerbang logika, idealnya logika 0 berupa tegangan 0 Volt dan logika 1 berupa tegangan 5 Volt pada saluran masukan dan keluarannya.

Jika menggunakan sebuah kontaktor (tombol tekan), penekanan tombol berupa masukan dan kontaktornya berupa keluaran. Sebuah tombol jika ditekan memiliki arti masukan sebagai logika 1 dan sebaliknya jika tidak ditekan memiliki arti masukan sebagai logika 0. Kondisi kontaktor sebuah tombol dalam keadaan terhubung memiliki arti keluaran sebagai logika 1 dan jika kontaktornya terbuka memiliki arti keluaran berlogika 0.

Berikut ini diperlihatkan hubungan kontaktor untuk mewujudkan gerbang-gerbang logika AND, OR, NOR, NAND, dan NOT.

Dengan logika kontak dapat direalisasikan sebuah gerbang-gerbang logika seperti halnya gerbang-gerbang logika AND, OR, NOR, NAND dan NOT, dengan cara menghubungkan secara seri atau paralel.

Sebuah gerbang AND dapat diwujudkan dengan dua buah kontak masing-masing jenis NO (Normally Open) yang dihubungkan secara seri. Dengan demikian keluaran merupakan kondisi antara kedua ujung kontak, jika terhubung menunjukkan keluaran berlogika 1, jika terbuka keluaran berlogika 0. Pada gerbang AND ini keluaran akan berlogika 1 (terhubung) jika kedua kontak A dan B masing-masing ditekan atau berlogika 1.

Sebuah gerbang OR diwujudkan dengan dua buah kontak masing-masing jenis NO yang dihubungkan secara paralel. Dengan demikian keluaran akan berlogika 0 jika kedua kontaknya berlogika 0.

Sebuah gerbang NOR (NOT OR), dapat diwujudkan dengan mengubah menjadi AND dengan menggunakan kontak jenis NC (Normally Closed) pada masing-masing masukannya. Sehingga keluarannya akan berlogika 1 jika kedua kontaknya berlogika 0. Karena masing-masing kontak A dan B menggunakan jenis NC, jika kedua kontak berlogika 0 membuat keluarannya berlogika 1.

Sebuah gerbang NAND (NOT AND), dapat diwujudkan dengan mengubah menjadi OR dengan menggunakan kontak jenis NC pada masing-masing masukannya. Sehingga keluarannya akan berlogika 0, jika kedua masukannya berlogika 1. Karena kedua kontak menggunakan jenis NC, jika kedua kontak tersebut berlogika 1 akan menyebabkan keluaran tidak terhubung atau berlogika 0.

Sebuah gerbang NOT dapat diwujudkan denan sebuah kontak jenis NC, sehingga logika keluarannya akan selalu kebalikan dari logika masukannya.

Rangkaian gerbang logika seperti yang ditunjukkan dalam Gambar 1 di atas dari sebuah fungsi F=(A’.B)+C, dapat diwujudkan dengan menggunakan rangkaian logika kontak dengan menggunakan gerbang logika AND, OR dan NOT, seperti yang diperlihatkan dalam Gambar 2 berikut ini.

 

Gambar 2
Fungsi F = (A’ . B) + C dengan menggunakan rangkaian logika kontak

Jika digambarkan dalam bentuk diagram relay diperlihatkan dalam Gambar 3 berikut ini.

 

Gambar 3
Diagram relay

PLC (Programmable Logic Controller)

 Sebelum dijelaskan bagaimana contoh di atas jika direalisasikan dengan menggunakan PLC, perlu dijelaskan terlebih dahulu tentang saluran masukan dan keluaran secara standar yang dimiliki oleh sebuah PLC. PLC secara standar (dasar) memiliki sejumlah saluran masukan dan keluaran dalam bentuk logika 0 atau 1.

Saluran masukannya berupa tegangan sebesar 24VDC, jika diberi tegangan 24VDC berarti saluran masukan tersebut berlogika 1, jika tidak diberi tegangan (terbuka) atau 0 VDC saluran masukan tersebut berlogika 0. Sedangkan saluran keluarannya secara standar berupa kontaktor rele yang ada didalam PLC (IR- Internal Relay), jika kontaknya tertutup berarti logika saluran keluarannya adalah logika 1, jika terbuka logika saluran keluarannya adalah 0. Setiap PLC memiliki sejumlah saluran masukan dan keluaran tertentu tergantung tipe dari PLC yang digunakan. Setiap kelompok saluran masukan dan keluaran dibagi menjadi kelompok alamat yang terdiri dari 8 bit, 16 bit atau 32 bit tergantung jenis PLC yang digunakan. Setiap kelompok memiliki alamat-alamat tertentu pada PLC agar dapat diakses melalui instruksi PLC.

Berikut ini contoh pengawatan PLC untuk mewujudkan sebuah fungsi F = (A’.B) + C, diperlihatkan dalam Gambar 4.

 

Gambar 4
Contoh Aplikasi PLC

Dari Gambar 4 di atas, variabel masukan A, B dan C dimasukkan melalui saluran masukan PLC masing-masing pada bit 0, 1 dan 2. Untuk memberikan logika 0 atau 1 masing-masing dihubungkan seri dengan sebuah saklar (kontak) dan sumber tegangan 24VDC. COM merupakan saluran bersama, sehingga masing-masing saluran diberi logika 1 berupa tegangan 24VDC terhadap COM (COMmon). Jika saluran ini dibiarkan terbuka berarti saluran masukan diberi logika 0.

Demikian pula dengan saluran keluarannya, dalam contoh ini digunakan bit 0, jika berlogika 1 maka antara keluaran bit 0 dan COM akan terhubung singkat melalui kontaktor Internal Relay. Seperti halnya saluran masukan, saluran keluaran menggunakan saluran bersama (COMmon). Untuk mengetahui keluaran bit 0 berlogika 1 atau 0, dihubungkan dengan sebuah beban lampu pijar dan di seri dengan sumber tegangan AC 220V.

Selanjutnya PLC diprogram berupa fungsi (A’.B)+C dengan menggunakan diagram ladder. Program dalam bentuk diagram ladder diperlihatkan dalam Gambar 5 berikut ini.

 

Gambar 5
Program ladder contoh aplikasi

Dalam program ladder Gambar 5 di atas, digunakan PLC OMRON jenis CQM1 CPU41-V1. Saluran masukan memiliki alamat 000, saluran keluaran memiliki alamat 100. Variabel masukan A, B dan C masing-masing menggunakan bit 0, 1 dan 2, sehingga alamatnya dapat dituliskan masing-masing dengan 000.00 (A), 000.01 (B) dan 000.02 (C). Sedangkan keluarannya menggunakan bit 0 dan ditulis dengan alamat 100.00. Penulisan program secara ladder mudah dipahami karena secara langsung dapat menunjukkan fungsi logika-logikanya. Selanjutnya ladder tersebut harus diubah menjadi instruksi-instruksi PLC OMRON CQM1, dengan menggunakan program SYSWIN secara otomatis akan diubah menjadi instruksi PLC. Instruksi tersebut adalah:

LD NOT 000.01
AND 000.01
OR 000.02
OUT 100.00
END

Instruksi PLC OMRON CQM1 dari contoh aplikasi

Mengenai pemrogram dengan menggunakan ladder akan dijelaskan dalam topik yang terpisah.

Posted in PLC | Tagged , , | 2 Comments

Tutorial PLC: pengantar (1)

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihindari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Topik 

Menjelaskan tentang dasar-dasar PLC, Elemen dasar PLC 

Pendahuluan

 Industri dibangun karena adanya kebutuhan pengembangan kualitas dan menaikkan produktifitas. Fleksibilitas juga merupakan kebutuhan utama dan perlu dipikirkan, sehingga perubahan sistem proses produksi dalam industri menjadi sangat penting, agar dapat menyesuiakan dengan kebutuhan konsumen yang semakin bervariasi dari waktu ke waktu.

Bayangkan, untuk merealisasikan itu semua sebuah otomatisasi produksi dalam industri semakin diperlukan. Biasanya berupa panel-panel yang dipenuhi dengan rangkaian-rangkaian elektrik untuk keperluan sistem kontrol. Dalam panel-panel tersebut terdapat sejumlah interkoneksi antara elektrik dan mekanik (electromechanical) berupa relay untuk membuat sebuah sistem kontrol proses yang dapat dapat bekerja secara otomatis. Interkoneksi berupa hubungan pengawatan antara beberapa relay dengan menggunakan kawat penghantar. Seorang engineer medisain rangkaian logika untuk keperluan sistem, dan bagian elektrik akan menerima outline rangkaian logika yang akan diimplementasikan dengan menggunakan relay. Untuk membangun sebuah rangkaian logika bisa dalam jumlah ratusan relay. Rancangan akan berupa sebuah rangkaian ladder (ladder schematic). Ladder akan dapat menggambarkan seluruh saklar, sensor, motor, klep, relay dan lain sebagainya, yang nantinya akan ditemukan dalam sistem sebenarnya. Pekerjaan elektrik adalah menghubungkan seluruh sistem dengan menggunakan kawat penghantar.

Salah satu masalah yang timbul dengan menggunakan cara ini yaitu penggunaan sistem kontrol yang didasarkan pada relay mekanik. Instrumen mekanik biasanya akan menjadi aus sehingga hubungan kontak-kontaknya tidak akan tersambung secara sempurna, karena adanya gerakan-gerakan mekanis. Jika salah satu relay berhenti bekerja, bagian teknisi elektrik akan sulit mencari satu persatu relay yang mengalami gangguan agar sistem secara keseluruhan bekerja normal kembali.

Masalah lainnya adalah cara ini akan menyebabkan sistem akan dihentikan dalam periode waktu tertentu selama perbaikan, sehingga industri berhenti melakukan proses produksi, karena adanya perbaikan pada panel-panel elektrik. Jika ada sebuah keputusan untuk mengadakan perubahan-perubahan kecil dalam sistem kontrolnya, diperlukan biaya yang cukup besar dan proses produksi akan berhenti pada periode waktu tertentu sampai sistem bekerja normal kembali.

Kontroler pertama yang dapat diprogram 

 ”General Motors” adalah perusahaan pertama kali yang mengetahui adanya kebutuhan untuk menggantikan panel kontrol yang menggunakan sistem pengawatan. Fleksibilitas dan kecepatan serta kemudahan untuk mengadakan perubahan otomasi sistem produksi menjadi krusial. Ide General Motors adalah menggunakan sistem logika berbasis mikrokomputer (mikrokomputer saat itu kira-kira sebanding dengan mikrokontroler 8bit saat ini) untuk menggatikan sejumlah pengawatan menggunakan relay.Jika diperlukan perubahan dalam sistem logikanya atau dalam hal operasi, program dalam mikrokomputer dapat diubah.

Cara ini akan lebih baik dibanding menggunakan relay, tetapi terdapat masalah baru yaitu bagaimana teknisi dapat menerima sebuah perangkat yang baru. Sistem yang komplek akan diperlukan pemrograman yang komplek pula. Belum lagi teknisi harus belajar dan memahami bahasa pemrograman komputer sebagai tambahan pekerjaannya. Divisi Generl Motors Hidromatic dari sebuah perusahaan besar menjawab kebutuhan ini dan menentukan kriteria dari sebuah programmable logic controler pertama. Saat itu terdapat beberapa perusahaan yang akan menjual instrument yang digunakan dalam kontrol industri sebagai kontroler sekuensial sederhana, tidak seperti PLC yang kita kenal sekarang.
Kebutuhan spesifikasi peralatan baru saat itu adalah didasarkan pada komponen elektronik menggantikan komponen mekanik, komputer yang memiliki fleksibilitas, kondisi yang dibutuhkan dalam industri seperti getaran, panas, debu dll dan mmiliki kapabilitas dapat diprogram ulang dan digunakan untuk pekerjaan lainnya. Kriteria terakhir sangat penting, yaitu perangkat baru dapat diprogram dan dipelihara dengan mudah.

“Gould Modicon” mengembangkan sebuah perangkat pertama yang dapat memenuhi kriteria ini. Kunci kesuksesannya adalah perangkat baru ini dapat diprogram tanpa harus belajar bahasa pemrograman. Yaitu dapat diprogram sama seperti bahasa pemrograman yaitu diagram ladder (ladder diagram), mudah dipelajari penggunaannya. Teknisi dapat memahami dengan mudah sebab akan terlihat seperti logika. Selanjutnya, tidak memerlukan kemampuan pemrograman bahasa komputer. PLC awalnya disebut sebagai PC Controller (Programmable Controller). Hal ini akan menyebabkan sedikit menjemukan ketika terlihat sebuah Personal Komputer. Untuk menghindari itu semua, didisain sebuah komputer khusus, dan programmable controller menjadi Programmable Logic Controller. PLC pertama merupakan perangkat yang sederhana. Dihubungkan dengan beberapamasukan seperti saklar, sensor digital, dll, dan didasarkan pada logika internal berupa keluaran on atau off. Seiring dengan adanya kebutuhan kontrol yang semakin komplek seperti kontrol temperatur, posisi, tekanan dll. Selanjutnya dari tahun ke tahun, pembuat PLC menambahkan sejumlah kemampuan dan improvisasi. Sekarang PLC dapan melakukan pekerjaan yang sangat komplek seperti kontrol posisi, variasi regulasi, dan sejumlah aplikasi komplek. Kecepatan melaksanakan pekerjaan dan kemudahan program juga dikembangkan. Selai itu modul-modul untuk keperluan khusus juga dikembangkan, seperti modul komunikasi untk hubungan dengan beberapa PLN melalui jaringan komunikasi. Sampai saat ini sulit dibayangkan pekerjaan apa yang tidak dapat dikerjakan oleh PLC.

Bagian-bagian PLC

 PLC pada kenyatannya adalah sistem mikrokontroler untuk industri (pada akhir-akhir ini kita menyebutnya mikroprosesor daripada mikrokontroler) dimana merupakan perangkat keras dan lunak yang khusus diadaptasikan untuk kebutuhan industri. Skema secara blok secara dengan komponen yang tipikal membentuk PLC diperlihatkan dalam Gambar 1.

Kebutuhan khusus adalah adanya saluran masukan dan keluaran, sebab dalam blok ini akan ditemukan kebutuhan proteksi untuk mengisolasi blok CPU dari kondisi yang tidak menentu di lingkungan industri yang dapat membahayakan CPU melalui saluran masukan. Unit pemrogram biasanya sebuah komputerdiperlukan untuk menulis program pada umumnya berupa diagram ladder (ladder diagram).

Gambar 1
Elemen Dasar dari PLC 

Central Processing Unit (CPU, Unit Pengolah Utama) 

Central Processing Unit (CPU) merupakan komponen utama atau otak dari sebuah PLC. CPU itu sendiri biasanya menggunakan salah satu dari mikrokontroler. Seperti halnya mikrokontroler 8bit, sebagai contoh mikrokontroler 8051, dan sekarang mikrokontroler 16 bahkan 32 bit. Tanpa disebutkan kebanyakan ditemukan mikrokontroler Hitachi dan Fujitsu dalam PLC buatan Jepang, Mikrokontroler Siemens di Eropa, dan Mikrokontroler Motorola di Amerika. CPU juga dapat berkomunikasi, saling berinterkoneksi dengan perangkat PLC lainnya, mengeksekusi program, operasi memori, dapat mengecek saluran masukan dan men-set saluran keluaran. PLC memiliki rutin yang komplek untuk mengecek memori dalam hal memastikan bahwa tidak ada kesalahan-kesalahan dalam operasinya. Secara sederhana akan terlihat sebuah PLC memiliki beberapa indikator berupa LED untuk menunjukkan adanya kesalahan-kesalahan saat beroperasi.

Memori

Memori sistem (saat ini kebanyakan diimplementasikan menggunakan teknologi FLASH) digunakan PLC untuk sistem kontrol proses. Selain itu sistem operasi itu sendiri berisi sebuah user program untuk menterjemahkan dari bentuk diagram ladder menjadi bentuk biner. Isi memori FLASH dapat diubah hanya dalam kondisi dimana user program berubah. PLC yang digunakan saat ini selain memori FLASH daripada menggunakan EEPROM, karena memori FLASH dapat diubah dan dihapus secara elektrik. Dengan menggunakan memori FLASH proses penulisan akan menjadi sangat singkat. Untuk memprogram ulang memori biasanya dilakukan melalui kabel serial yang dihubungkan dengan PC melalui perangkat lunak pengembangan.status dari saluran masukan dan keluaran

Memori user dibagi kedalam beberapa blok yang memiliki fungsi khusus. Beberapa bagian memori digunakan untuk menyimpan status saluran masukan dan keluaran. Pada kenyataannya disimpan sebagai “1″dan “0″ dalam memori bit yang spesifik. Setiap masukan dan keluaran berhubungan dengan bit dalam memori. Bagian lain memori digunakan untuk menyimpan isi dari variabel yang digunakan dalam userprogram. Sebagai contoh, nilai timer, nilai counter yang akan disimpan dalam memori ini.

Pemrograman PLC

PLC dapat diprogram melalui sebuah komputer, tetapi dapat juga melalui konsole secara manual. Secara praktek mengartikan bahwa setiap PLC dapat diprogram melalui sebuah komputer dan diperlukan perangkat lunak untuk pemrogramannya. Sekarang sangat idel melalui saluran serial komputer yang dapat berkomunikasi dengan PLC untuk melalukan pemrograman. Jika program akan dikoreksi untuk pengembangan, program di PLC dapat di ambil kembali kemudian diprogram kembali jika ada perubahan-perubahan dalam programnya.

Pada umumnya program PLC digunakan untuk melakukan switching menjadi on atau of dari sistem masukan dan keluarannya, program dieksekusi secara realtime dan dilengkapi dengan dokumentasi. Dokumentasi ini diperlukan agar program mudah dimengerti untuk melacak gangguan-gangguan atau kesalahan-kesalahan yang terjadi pada saat beroperasi dan pemeliharaan. Komentar tambahan dapat membantu teknisi mengerti diagram ladder dengan benar.

Catu daya

Catu daya listrik digunakan sebagai energi untuk menghidupkan unit CPU dan komponen-komponen lainnya. Kebanyakan PLC bekerja pada tegangan 24VDC atau 220VAC. Kebanyakan PLC menggunakan modul catu daya secara terpisah pada PLC yang besar, PLC kecil dan menengah biasanya sudah dilengkapi catu daya. Pengguna PLC biasanya harus mengetahui berapa kebutuhan arus yang diperlukan, agar catu daya mampu menyediakan arus sesuai dengan kebutuhan. Setiap jenis PLC akan membutuhkan arus yang berbeda.

Catu daya ini biasanya tidak digunakan untuk masukan dan keluaran ekternal. Pengguna harus menyediakan catu daya secara terpisah untuk masukan dan keluarannya, sebab tidak dapat dipastikan kebutuhan catu daya. Beberapa PLC kecil menyediakan tegangan untuk saluran masukan dan keluaran yang telah diintegrasikan kedalam PLC.

Saluran Masukan PLC

Kemampuan dari sebuah sistem otomasi sangat tergantung kemampuan PLC untuk membaca sinyal dari berbagai jenis sensor dan perangkat masukan. Tombol, keyboard dan manusia mengoperasikannya untuk melakukan hubungan pengoperasian mesin. Di lain pihak, dalam hal untuk mendeteksi bekerjanya perangkat, melihat mekanisme gerakan, sensor level dlsb. Sinyal masukan dapat berupa logika (on/off) atau analog. PLC kecil biasanya memiliki saluran masukan digital, pada PLC besar juga dapat menerima masukan analog melalui unit khusus yang disisipkan pada PLC. Sinyal analog yang sering digunakan adalah sinyal arus antara 4 sampai 20 mA dan sinyal orde tegangan milivolt yang dibangkitkan oleh sensor-sensor yang bervariasi. Sensor biasanya digunakan sebagai masukan bagi PLC. Sensor digunakan untuk keperluan mengukur temperatur, tekanan, atau dimensi fisik (sensor induksi yang dapat mendeteksi benda metal).

Antarmuka penyesuai masukan

Antarmuka penyesuai masukan juga disebut sebagai antarmuka yang diletakkan antara saluran masukan dan unit CPU. Fungsinya adalah antarmuka penyesuai untuk memproteksi CPU dari sinyal yang tidak menentu di lingkungan luarnya. Modul penyesuai masukan mengubah logika nyata menjadi level tegangan yang dapat diterima PLC,sebagai contoh masukan dari sensor yang bekerja 24VDC harus diubah menjadi tegangan 5VDC agar dapat diproses oleh CPU. Biasanya melalui isolasi secara optik, fungsi ini akan diperlihatkan dalam Gambar 2 berikut ini.


Gambar 2
Antarmuka penyesuai masukan

Isolasi secara optik artinya tidak ada hubungan elektri antara dunia luar dan unit CPU. Secara optik (Optically) sinya dari dunia luar dikirim secara optik (sinar LED). Cara ini merupakan cara yang sederhana. Perangkat luar memberikan sinya agar LED on, selanjutnya akan menyebabkan photo transistor bekerja (konduksi), dan CPU akan memandangnya sebagai logika 0 (tegangan kolektor jatuh dibawah 1V). Ketika sinyal masukan menyebabkan LED menjadi off, transistor berhenti berkonduksi, tegangan kolektor akan naik, dan CPU menerima informasi logika 1.

Saluran keluaran PLC

Antarmuka penyesuai keluaran sama halnya dengan antarmuka penyesuai masukan. CPU memberikan sinyal ke LED dan menyebabkan hidup. Sinar akan mengeksitasi phototransistor menjadi konduksi, dan selanjutnya tegangan kolektor akan turn dibawah 0,7V, dan perangkat luar akan menerima logika 0. Kebalikannya sinyal akan diiterprestasikan sebagai logika 1. Phototransistor tidak dihubungkan secara langsung ke keluaran PLC. Antara phototransistor dam keluaran biasanya berupa relay atau transistor yang memiliki kemampuan untuk melayani arus yang besar.

Antarmuka penyesuai keluaran diperlihatkan dalam Gambar 3 berikut ini.

Gambar 3
Antarmuka penyesuai keluaran 

Saluran ektensi 

Setiap PLC memiliki batasan dalam hal jumlah saluran masukan dan keluaran yang disediakan. Jika diperlukan penambahan jumlah saluran masukan dan keluaran, biasanya disediakan saluran ektensi tambahan yang dapat disisipkanmodul-modul tambahan yang dapat disesuaikan dengan kebutuhan. Misalnya penambahan modul keluaran relay, transistor, atau modul tegangan analog dan lain sebagainya. Biasanya fasilitas ini dimiliki oleh PLC skala menengah atau besar dan tidak dimiliki oleh LC skala kecil atau Compact PLC. 

 

Posted in PLC | Tagged , , | Leave a comment

Neuro-Fuzzy and Soft Computing: Jyh-Shing Roger Jang

Download

Posted in Ebook teori, Teori, Uncategorized | Tagged , | Leave a comment

Fuzzy Logic with Enginering Applications: Timoty J. Ross

Bagi yang memerlukan buku tentang fuzzy logic silakan didownload disini untuk keperluan belajar secara pribadi, dan jangan dikomersialkan tentunya.

Download

 

Posted in Ebook teori, Teori | Tagged , | Leave a comment

Belajar elektronika: sensor temperatur tipe LM35

Sensor suhu diperlukan untuk menginformasikan sinyal keluaran sebagai umpan-balik pada kontroler. Sensor temperatur jenis LM35 merupakan sensor dalam bentuk rangkaian terpadu yang memiliki kepresisian, dimana tegangan keluarannya linier dan bergantung kepada temperatur dalam satuan derajat celcius. LM35  merupakan sensor temperatur yang linier dikalibrasi dalam derajat celcius, sebagai pengguna tidak memerlukan pengurangan konstanta kelvin untuk memperoleh nilai dalam derajat celcius. Juga tidak memerlukan rangkaian luar untuk kalibrasi atau penyesuaian untuk memperoleh ketelitian secara tipikal kurang lebih 0.25 derajat celcius pada temperatur ruangan, dan secara keseluruhan kurang lebih 0.75 derajat celcius pada temperatur antara -50 sampai 150 derajat celcius.  

Adapun spesifikasi yang dimiliki sensor temperature LM35 ini adalah:

  1. Terkalibrasi secara langsung dalam derajat celcius.
  2. Keluaran linier 10.0mV/derajat celcius.
  3. Ketelitian dijamin 0.5 derajat celcius pada temperatur 25 derajat celcius.
  4. Bekerja pada temperatur antara -50 sampai 150 derajat celcius.
  5. Disiapkan sebagai aplikasi remote.
  6. Tegangan operasi antara 4 sampai 20V
  7. Arus drain lebih kecil dari 60 mikro Ampere.
  8. Pemanasan sendiri sangat rendah yaitu 0.08 derajat celcius dalam udara.
  9. Secara tipikal ketidak linieran sebesar 0.25 derajat celcius.
  10. Impedansi output 0.1 Ohm untuk beban 1 mA.

Secara tipikal rangkaian aplikasi dari sensor temperatur LM35 diperlihatkan dalam gambar berikut ini.

Didalam aplikasinya, jika tegangan keluarannya memerlukan level tegangan yang kurang, perlu ditambahkan sebuah penguat operasi.

Penguat operasi yang umum digunakan untuk menaikkan tegangan keluaran sensor ini adalah jenis penguat operasi tidak membalik. Mengenai teori penguat operasi tidak membalik dapat anda lihat dalam posting disini.

Besarnya tegangan keluaran yang dibutuhkan diantaranya ditentukan oleh besarnya tegangan yang dibutuhkan ADC pada skala penuh. Atau tergantung kepada kebutuhan tegangan yang dibutuhkan pada masukan rangkaian berikutnya.

Untuk lebih jelasnya mengenai sensor temperatur ini dapat anda baca dalam lembar data yang dikeluarkan oleh pembuatnya dan dapat anda download disini.

 Download

 

Posted in Elektronika | Tagged , , | Leave a comment

Fungsi alih plant pemanas air elektrik diperoleh dari pemodelan matematik (heat exchanger)

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihindari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Pemanas air secara sederhana dapat digolongkan sebagai heat exchanger untuk menukar panas dari sumber panas ke material, baik fluida, gas atau padat.

Plant penukar panas atau disebut dengan heat exchanger, berfungsi untuk memindahkan panas dari sumber pemanas menuju ke bahan yang akan diproses. Gambar dibawah mengillustrasikan sebuah sistem pemanas air secara elektrik. Obyek dari sistem ini secara tipikal adalah penyedia air panas di rumah-tangga. Sistem pemanas air di rumah-tangga adalah adanya air panas yang berada dalam tangki dan air dingin yang dimasukkan ke sistem. Sebuah saklar termostat diputar sebagai referensi dari temperature yang diinginkan.

 

Jika diasumsikan dibuat bahwa temperatur dari benda adalah uniform, maka sejumlah sistem panas dapat direpresentasikan dengan persamaan diferensial linier seperti yang diperlihatkan dalam persamaan berikut.   Disini akan dijelaskan sebuah sistem pemanas air sebagai contoh sederhana dari sistem panas. Hukum energi diperoleh bahwa panas ditambahkan ke dalam sistem sama dengan panas yang disimpan ditambah dengan rugi-rugi panas. Hal ini dapat diekpresikan dengan hubungan:

 Qh = Qc + Qo + Qi + Ql 

Dimana:

  1. Qh= aliran panas yang diberikan oleh elemen pemanas.
  2. Qc = aliran panas ke dalam tangki air. 
  3. Qo = aliran panas merupakan kerugian oleh air panas dalam tangki.
  4. Qi = aliran panas yang terbawa oleh air dingin yang masuk ke tangki.
  5. Ql = aliran panas yang melewati isolasi panas.                                

 Persamaan (1) dapat diuraikan menjadi:

Dimana:
C = kapasitas panas dari air dalam tangki.
 = temperature air dalam tangki.

Dimana:
V = aliran air dari tangki
H = Panas spesifik (specific heat) air

                                                                                    Dimana:
 = Temperatur air masuk ke dalam tangki dan

                                                                                    

Dimana:
 = temperature udara yang mengelilingi tangki.
R = resitansi termal dari isolasi panas.

Dengan memasukkan persamaan-persamaan diatas kedalam persamaan pertama, dapat diekpresikan menjadi:

  

Presentasi model panas sejauh ini dapat di   , ,   dan V sebagai variable. Pada kondisi yang spesifik dimana V adalah konstan dan = , persamaan (6) di sederhanakan menjadi:

 

Dimana :

  = temperatur air didalam tangki dengan referensi .

Transformasi laplace dari persamaan diatas diberikan sebagai:

 

Fungsi alih dari sistem, didefiniskan sebagai perbandingan antara keluarandengan masukan dapat diberikan:

 

 

 

 

Posted in Pemodelan, Sistem Kontrol | Tagged , | Leave a comment

Belajar elektronika: rangkaian sensor temperatur

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihindari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Sensor temperatur merupakan sensor yang mengubah besaran temperatur menjadi besaran tegangan atau lainnya. Dalam sistem kontrol temperatur, sensor temperatur sangat diperlukan  keperluan membaca temperatur keluaran plant untuk diumpankan kembali sebagai feedback. 

Sensor temperatur pada jaman sekarang banyak jenisnya dan sudah dalam bentuk monolitik dalam satu komponen. Salah satu sensor yang sudah lazim dipakai dan banyak beredar di toko elektronik adalah LM35. LM35 sudah ditera dalam satuan derajat celcius, sehingga tidak perlu lagi mengkonversi derajat kelvin menjadi celcius. Sesuai dengan lembar data, keluaran LM35 adalah 10mV/derajat celcius. Jadi setiap kenaikan 1 derajat celcius, akan bertambah 10mV. Kalau sensor ini dioperasikan sampai 100 derajat celcius, maka keluarannya adalah 1V. Hal ini masih dirasa kurang jika ADC yang digunakan memerlukan tegangan masukan 5V pada skala penuh. Jadi masih diperlukan penguatan sebesar 5 kalinya atau AV = 5.

Untuk membuat pengkondisi sinya sinyal temperatur LM35 agar pada temperatur 100 derajat celcius keluarannya sebesar 5V, diperlukan penguat operasi seperti yang telah diposting disini

Rangkaian lengkap sensor temperatur diperlihatkan dalam gambar berikut ini.

 Dari rangkaian diatas penguatan AV adalah:

Karena AV yang dibutuhkan sama dengan 5, maka R2/R3 harus sama dengan 4. Kalau R2=400KOhm, maka R3=100KOhm. Selanjutnya R1 = R3 = 100KOhm.

Dari lembar data LM35 memerlukan tegangan antara 4-20V, disini saya menggunakan tegangan 15V, demikian pula LM358. 

Jika anda membutuhkan lembar data LM35 dapat didownload disini.

 Download

 

 

 

Posted in Elektronika | Tagged , , | Leave a comment

Teori elektronika: penguat operasi tak membalik

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihindari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Penguat operasi tak membalik terkadang diperlukan dalam penguat sederhana misalnya untuk pengkondisi sinyal sensor, karena dibutuhkan polaritas masukan sama dengan keluaran. 

Konfigurasi penguat operasi tak membalik seperti berikut ini:

Dalam konfigurasi ini, tegangan sinyal masukan, (Vin) diasup secara langsung ke terminal non-inverting (+). Dengan demikian berarti bahwa perubahan tegangan keluaran Vout dari penguat operasi memiliki polaritas  ”positif”  terhadap tegangan masukannya, artinya tegangan keluaran tidak dibalik polaritasnya. Hasil tegangan keluarannya akan sefasa dengan tegangan masukannya.

Sinyal umpan balik dari penguat non-inverting diperoleh dengan menerapkan sebagian kecil dari sinyal tegangan keluaran kembali ke terminal membalik  (inverting,-) melalui resitor Rf  melalui rangakai dengan resistor  R2.  Ini konfigurasi loop tertutup menghasilkan rangkaian penguat tak membalik (non-inverting) dengan stabilitas yang sangat baik, impedansi masukan yang sangat tinggi, impedansi Rin mendekati tak terhingga  karena tidak ada arus yang mengalir ke terminal masukan positif  (kondisi ideal) dan impedansi output Rout yang rendah. 

Analisa rangkaian

Agar mudah dianalisa rangkaian digambarkan kembali secara terbalik seperti pada rangkaian disamping. Seperti dalam teori penguat operasi secara ideal, arus masuk terminal membalik dan tidak membalik adalah nol, dan tidak ada beda tegangan diantara terminal ini. Sehingga dengan demikian Vin adalah sama tegangannya dengan V1 terhadap virtual ground. Dengan demikian tegangan keluaran Vout akan ditentukan sepenuhnya oleh besarnya resistansi R2 dan Rf. Pada akhirnya rangkaian seri Rf dan R2 membentuk voltage devider (pembagi tegangan). Selanjutnya dengan menggunakan formula rangkaian pembagi tegangan maka diperoleh:

 

Karena Vi sama dengan Vin, maka penguatan tegangan penguat operasi dapat diperoleh: 

 

 Atau dapat dituliskan kembali menjadi:

Dengan demikian dapat disimpulkan bahwa penguat operasi dengan konfigurasi ini penguatan tegangan Av  akan lebih besar dari 1, ini berbeda dengan konfigurasi penguat operasi membalik.

 

Posted in Elektronika | Tagged , , | Leave a comment

Belajar arduino: board tanpa bootloader

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihindari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Kali ini saya akan berbagi pengalaman tentang bagaimana board arduino tanpa menggunakan bootloader.  Sebenarnya bootloader yang ditanamkan dalam board arduino adalah program kecil yang berfungsi untuk mengupload (memprogram flash) secara serial dengan menggunakan protokol serial RS232. Hal ini awalnya untuk membuat mudah para pengguna didalam mengupload hasil kompilasi dalam IDE arduino. Oleh karena itu mengapa pada umumnya board arduino aslinya disisipkan piranti untuk mengubah USB ke serial, sehingga menjadi sangat sederhana tinggal menancapkan board arduino ke saluran USB komputer.

Namun sejak versi IDE arduino 1.0.0,  sudah dilengkapi fasilitas menu “Upload Using Programmer”. Menu bisa anda klik File->Upload Using Programmer,  atau bisa menggunakan shortcut Ctrl+Shift+U. Program hasil kompilasi akan diupload ke board arduino melalui piranti pemrograman sesuai dengan pilihan di menu Tools->Programmer->{pilih sesuai dalam pilihan}. Dengan cara ini bootloader tidak lagi diperlukan karena pasti akan diisi dengan nilai FF alias dihapus. Penulis mencoba dengan menggunakan programmer USBasp yang meggunakan pin MISO, MOSI, SCK dan RESET pada ATmega328. Sebenarnya hanya menambahkan 1 kabel saja, kalau secara serial RS232 menggunakan:  TX, RX, RESET. Kecepatannya akan lebih cepat menggunakan cara ini, sehingga akan menghemat waktu pengembangan aplikasi mikrokontroler.

 

 

 

Posted in Arduino, Elektronika, Mikrokontroler | Tagged , , , | Leave a comment

Belajar arduino: membuat board sendiri ATmega8, 168 dan 328

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihindari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Posting kali ini diperuntukkan bagi yang ingin belajar arduino namun berkantong tipis untuk membeli board arduino yang relatif mahal. Atau bagi mereka yang memang suka utak-atik perangkat keras elektronika. Mikrokontroler ATmega 8, 168 dan 328 memiliki jumlah kaki yang sama yaitu 28 untuk kemasan DIP, mikrokontroler jenis ini banyak yang menjualnya relatif lebih murah dibanding dengan mikrokontroler lainnya. Dengan memiliki salah satu mikrokontroler dan ditambah dengan sedikit komponen sebenarnya sudah bisa berfungsi layaknya board arduino yang asli.

Dalam posting ini berisi tutorial cara membuat arduino.

Membangun rangkaian

Untuk membuat arduino  terdapat banyak pilihan jenis mikrokontroler yang akan digunakan. Namun dalam posting ini bisa menggunakan ATmega 8, 168, 328. Saya menggunakan ATmega 328 dengan kapasitas memori program lebih besar yaitu 32KB. Bangunlah dahulu rangkaian mikrokontroler dalam rangkaian berikut ini.

 

 Komponen yang harus anda sediakan adalah:

  1. IC1: Mikrokontroler ATMega8, 168, atau 328, terserah kepada anda silakan dipilih salah satu.
  2. Q1: Kristal resonator, 8MHz atau 16MHz.
  3. R1: sebagai resistor pullup untuk reset sebesar 1K – 10K
  4. C1 dan C2 sebesar 22pF.

Tegangan suply VCC adalah 5VDC, jangan sampai terbalik polaritasnya, kalau terjadi maka mikrokontroler akan menjadi almarhum alias terbakar. Untuk mengisi program biasanya menggunakan ICSP dengan menggunakan 4 sinyal MISO, MOSI, SCK dan RESET. Saya sarankan menggunakan USBASP bisa dibuat sendiri dengan menggunakan mikrokontroler ATmega8. Tegangan suply 5V dapat disuply dari USBASP programmer dengan mengambil daya dari port USB komputer. Cara membuat USBASP programmer dijelaskan dalam posting lainnya.

Anda dapat membangun rangkaian dengan menggunakan breadboard agar mudah bereksperimen dengan menghubungkan setiap kaki komponen  menggunakan kabel engkel sekitar 0.5-1mm. Pilihan lain bisa mengunakan PCB berlobang dan anda bisa menghubungkan dengan kawat engkel untuk setiap kaki komponen dengan cara disolder.

 

 Rangkaian yang dibangun pada breadboard diatas, belum ada bootloader arduinonya. Jadi perlu diprogram bootloader sesuai dengan jenis mikrokontroler ATmega yang digunakan. Untuk mengisi booloader ini cara yang paling mudah dengan menggunakan IDE arduino. Namun anda memerlukan piranti pemrogram yang sesuai dan dikenal arduino. Anda harus menset jenis pemrogram sesuai dengan yang anda gunakan. Cara settingnya pilih menu Tools->programmer->”pilih jenis programmer”.

Programmer yang termurah adalah jenis Parallel Programmer yang memanfaatkan port paralel pada komputer. Namun sayang pada laptop sudah tidak ada lagi. Kalaupun menggunakan konverter USB-LPT akan menjadi lebih ribet lagi, lebih baik menggunakan USBasp bisa dibeli dipasaran umum atau dibuat sendiri menggunakan ATmega8. Saya menggunakan USBasp sebagai pemrogramnya.

 

Yang tak kalah pentingnya adalah mengenal koneksi pemrograman pada USBasp agar proses pemrograman berhasil. Pada USBasp ada dua jenis konektor yaitu 6pin dan 10pin. Saya menggunakan jenis 10pin pada USBasp buatan sendiri.

Saluran pemrograman adalah MISO, MOSI dan SCK dihubungkan dengan MISO, MOSI dan SCK mikrokontroler target. Sedangkan RES dihubungkan ke RESET mikrokontroler target untuk mereset menjadi mode program. Sedangkan VTG adalah sumber tegangan +5V dari port USB komputer. GND adalah saluran bersama. Jadi total yang harus dihubungkan ke mikrokontroler adalah 5 kabel jika board anda memiliki suply tegangan +5V sendiri. Jika board and tidak memiliki suply +5V dan diperoleh dari USB komputer, VTG dihubungkan ke VCC mikrokontroler. Harus diperhatikan jangan kedua-duanya, untuk menghindari kerusakan komputer karena tegangannya menjadi bentrok. 

Mengisi BootLoader

Bootloader merupakan program pendek yang diisikan kedalam ATmega, yang akan dieksekusi saat mikrokontroler diberi catudaya. Sebenarnya bootloader ini merupakan firmware untuk  pemrograman yang bekerja secara serial RS232. Jadi cukup memanfaatkan saluran serial RS232 pada komputer, untuk selanjutnya bootloader akan menangani pengisian program pada memori program berupa Flash dalam ATmega. Sebenarnya masih ada pilihan lainnya untuk mengisi/upload hasil kompilasi arduino yaitu salah satunya dengan menggunakan USBasp, sehingga tanpa memerlukan bootloader.

Namun jika ini yang menjadi pilihan anda akan dijelaskan bagaimana mengisi (burn) firmware bootloader ini. Untuk mengisi bootloader hubungkan MISO -> MISO, MOSI -> MOSI, SCK -> SCK, /RES -> RESET, GND -> GND, VTG -> VCC (jika target disuply dari tegangan USB komputer).

 Setelah target tersambung dengan benar ke programmer USBasp, colokkan USBasp. Selanjutnya jalankan arduino, kemudian lakukan sebagai berikut:

  1. Set board yang sesuai: Tools -> Board -> Duemilanove w/ATmega 328 (bisa yang lain asal ATmega328 16MHz)
  2. Set Programmer: Tools -> Programmer -> USBasp
  3. Kirim bootloader: Tools -> Burn bootloader

Saya menggunakan arduino versi 1.0.1.

YouTube Preview Image

Meng-upload program

Untuk menguji apakah bootloader bekerja dengan baik, dicoba mengupload program dari contoh yang ada pada arduino bernama “blink”. Hubungkan TX komputer -> RX arduino (pin 2), RX komputer -> TX arduino (pin 3), RTS komputer -> RESET arduino (pin 1). Ingat ketiga saluran dari serial komputer harus memiliki level tegangan logika TTL 0 V atau 5V. Kalau anda menggunakan USB to serial pada umumnya, keluarannya masih dalam taraf level tegangan RS232. Untuk mengubah level tegangan RS232 ke TTL gunakan IC MAX232.

YouTube Preview Image

Mudah-mudahan bermanfaat buat seluruh pengunjung blog. 

Posted in Arduino, Elektronika, Mikrokontroler | Tagged , , , | 28 Comments

Belajar arduino: hello world

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihindari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Posting kali ini akan dijelaskan bagaimana cara berkenalan dengan arduino bagi para pemula. “Hello world” adalah istilah yang sering digunakan dalam dunia pemrograman untuk mengawali dan mengenalkan sebuah pemrograman. Biasanya program adalah sederhana dengan menampilkan kalimat “Hello World” ke piranti keluaran stadar dari sistem mikroprosesor yang digunakan. Kalau di PC biasanya dikeluarkan pada layar, kalau tidak dilengkapi dengan layar biasanya ditampilkan ke konsole secara serial. Dalam arduino untuk mengenalkan sebuah program secara sederhana dengan cara mengkerdipkan led dengan periode hidup dan mati tertentu.

Bagi para pemula untuk belajar arduino yang harus dipersiapkan adalah:

  1. Board arduino (bukan buatan sendiri), saya menggunakan board nano yang berbasis mikrokontroler ATmega328 dengan clock 16MHz.

  2.  Perangkat lunak arduino terbaru dapat anda download disini. Pilih sesuai dengan sistem operasi yang sesuai dengan komputer anda.

Dalam board arduino biasanya sudah dilengkapi dengan led untuk keperluan mengetes perangkat keras atau sebagai indikator serbaguna. Dalam arduino nano biasanya menggunakan penyemat D13 atau digital kanal 13.

Langkah-langkah eksperimen

 Langkah-langkah eksperimen arduino bagi para pemula adalah:

  1. Tancapkan usb serial ke kemputer anda. 
  2. Pastikan drivernya sudah terinstall dan dikenali dengan benar.
  3. Untuk mengecek driver,-> My Computer, klik kanan,Properti. Klik Hardware,Device Manager. Lihat port COM apa sudah terlihat dalam daftar driver, catat kanalnya.
  4. Jalankan arduino.
  5. Load contoh program dengan memilih menu.

Nah, dalam editor akan terlihat programnya sebagai berikut:

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  This example code is in the public domain.
 */

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

Mengenai cara kerja program akan saya jelaskan nanti, teruskan rasa penasaran anda sebagai tanda ketertarikan hobi yang yang baru ini. 

Kompilasi

 Sebelum program diupload ke board arduino ada baiknya bagaiman mengkompilasi untuk melihat apakah ada kesalahan penulisan program. Dalam arduino tidak ada menu kompilasi, sebagai gantinya adalah menu “Verify”. Klik icon tersebut maka dalam jendela pesan akan ditampilkan statu sedang dikompile.

Jika sudah terdapat kesalahan dalam program maka dilanjutkan dengan mengupload program ke board arduino yang anda gunakan. Klik ikon panah kanan disebelah kanan ikon “verify”. Kanal COM akan dicari secara otomatis oleh arduino dan akan memberikan saran kepada anda setelah ditemukan.

Jangan lupa sebelumnya harus anda set dulu board yang anda gunakan sesuai dengan jenis board arduino tersebut. Pilih menu  Tool -> Board. Saya set sesuai dengan board yang saya gunakan yaitu Nanp ATmega328. Mungkin anda menggunakan board yang berbeda dengan saya, oleh karena itu set sesuai dengan yang anda miliki.

Penjelasan program

Dari program di atas cara kerja program dapat dijelaskan sebagai berikut:

  1. Baris pertama  dari program terdapat sintak:  int led = 13; merupakan pendefinisian led sebagai nilai 13, ini digunakan untuk menandai nomer saluran yang digunakan untuk pin arduino terhubung dengan led. 
  2. Baris program berikutnya adalah fungsi void setup(), yang akan dieksekusi pertama kali sesaat setelah arduino diberi catudaya, berfungsi untuk perintah-perintah insialisasi sebelum program utama dieksekusi. Isi dari fungsi ini adalah pendefinisian pin io dengan sintak:  pinMode(led, OUTPUT);  memiliki arti bahwa mode dari pin (penyemat) 13 (bukan pin mikrokontroler) yaitu saluran D13 (digital nomer 13) difungsikan sebagai saluran keluaran atau output. Nomer 13 ini ditahan dalam variabel led sebagai konstanta, dengan maksud agar dapat dikonfigurasi dengan mudah karena berada di atas.
  3. Baris program berikutnya adalah fungsi void loop(), merupakan fungsi dari program utama yang akan dieksekusi secara berurutan dari atas sampai terakhir dan kembali lagi dari atas sampai terakhir, begitu seterusnya karena merupakan loop yang tidak pernah berakhir. Baris pertama dari fungsi ini adalah  digitalWrite(led, HIGH); artinya tulislah logika 1 (high) pada pin keluaran nomer 13, dengan demikian led yang terhubung ke pin ini akan menyala, karena led diseri dengan resistor secara pulldown (terhubung ke ground). Selanjutnya adalah mengeksekusi sintak delay(1000); yaitu waktu tunda selama 1000mS atau 1 detik, dengan demikian led menyala selama 1 detik. Berikutnya adalah  digitalWrite(led, LOW); artinya tulislah logika 0 (low) pada pin keluaran nomer 13, dengan demikian led yang terhubung ke pin ini akan mati. Selanjutnya delay(1000); mengakibatkan led mati selama 1 detik. Keseluruhan program artinya led berkedip hidup selama 1 detik, mati selama satu detik. 

 

Posted in Arduino, Elektronika, Mikrokontroler | Tagged , , , | 2 Comments

Belajar Arduino: pengantar

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihindari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Posting kali ini mengenai arduino, merupakan perkembangan terkini cara mengembangkan aplikasi mikrokontroler relatif lebih mudah jika dibandingkan dengan cara konvensional. Sudah lama saya tidak berkecimpung lagi dalam utak-atik aplikasi mikrokontroler, kira-kira 5 tahun lamanya. Karena sekitar 3 tahun yang lalu saya sudah tidak langi mengajar mikroprosesor pada Jurusan Teknik Elektro, Universitas Brawijaya dengan alasan sudah jenuh. Namun seiring dengan perkembangan teknologi mikrokontroler yang melaju dengan cepat, saya banyak menemukan mikrokontroler serba canggih dengan banyak piranti didalam internal mikrokontrolernya seperti keluaran AVR. Karena mikroprosesor telah mendarah daging dalam kehidupan saya sebagai pengajar mikroprosesor sejak tahun 1986-2009 atau 23 tahun lamanya. 

Didalam mengajar saya utamakan teori kemudian memberikan pemahaman dalam dunia nyatanya. Karena kalau teori saja, bagaikan sebuah cerita fiksi yang tidak tahu wujud kenyataannya. Kalau praktek saja tanpa teori bagaikan orang buta yang tidak tahu jalan sebenarnya, dan pada akhirnya hanya meraba-raba tanpa tahu sebabnya. Yang benar adalah Teori dan praktek selalu beriringan, sehingga didalam belajar ilmu pengetahuan hendaklah berdasar tiga hal yaitu: “Belajar Membaca”, “Belajar Berpikir” dan “Belajar berbuat”. “Belajar membaca” adalah tahap awal belajar ilmu pengetahuan. Belajar membaca artinya menelusuri jejak ilmu pengetahuan yang ada dibumi ini, karya-karya orang lain, atau apa-apa yang sudah dilakukan oleh orang lain. Tujuannya adalah membangun motivasi, menghargai karya orang lain, memulai hal-hal baru yang belum dilakukan orang lain. “Belajar berpikir” adalah suatu langkah awal dari sebuah ketertarikan kepada sebuah ilmu pengetahuan, sekaligus mengetahui kemampuan diri sendiri, mengetahui bahwa kita ada oleh karena itu kita berpikir. Selain itu juga bertujuan untuk mengetahui atau mengukur kemampuan diri sendiri. Selanjutnya adalah “Belajar berbuat” artinya apa yang telah dibaca dan dipikir haruslah diverifikasi dalam bentuk perbuatan, sebagai contoh praktek. Belajar berbuat bertujuan untuk mengoreksi diri sendiri, apakah yang telah dibaca dan dipikir benar adanya, kalau tidak benar mulailah dari awal untuk mencari kebenaran apa yang telah kita pelajari. Semua itu adalah sebuah proses yang harus dijalani agar apa-apa yang kita ajarkan adalah benar dan telah dibuktikan. Dengan demikian apa yang kita sampaikan dalam ruang kelas bukan sebuah isapan jempol belaka.

Arduino

Mengenai arduio yang telah diluncurkan dalam situs arduino, yang sampai saat posting ini ditulis telah memiliki versi 1.0.1. Arduino sebenarnya adalah perangkat lunak IDE (Integrated Development Environment ). Sebuah perangkat lunak yang memudahkan kita mengembangkan aplikasi mikrokontroler mulai dari menuliskan source program, kompilasi, upload hasil kompilasi, dan uji coba secara terminal serial. Namun sampai saat ini arduino belum mampu men-debug secara simulasi maupun secara perangkat keras, kita tunggu selanjutnya.

Arduino ini bisa dijalankan di komputer dengan berbagai macam platform karena didukung atau berbasis Java. Source program yang kita buat untuk aplikasi mikrokontroler adalah bahasa C/C++ dan dapat digabungkan dengan assembly. Penulis menggunakan arduino berbasis mikrokontroler AVR dilingkungan jenis ATMEGA yaitu ATMEGA 8, 168, 328 dan 2650.

Sampai disini silakan dulu download program arduino kemudian installah dalam komputer anda. Setelah anda instal coba dirun maka akan muncul tampilan sebagai berikut.

 

Dari tampilan kedua dapat dibagi menjadi 3 jendela yaitu: Menu dan tombol icon, editor dan pesan. Pada bagian bawah terlihat jenis mikrokontroler atau board arduino saat ini yaitu Board Arduino BT dengan mikrokontroler ATmega328 dengan menggunakan kanal serial COM7 untuk upload hasil kompilasi dan komunikasi konsole serial.

Penggunaan arduino sangat mudah, kemudahan karena kita tidak perlu lagi mengetahui detail perangkat keras dari mikrokontroler  terutama mengenai konfigurasi register-register yang harus dilakukan dengan mengetahui cara kerja dari mikrokontroler. Selain itu arduino sangat kaya dengan library baik dari pengembang arduino maupun sumbangan dari orang lain, karena arduino sifatnya adalah opensoource.

Pada saat source dikompilasi, maka hasilnya berupa file heksa di upload ke mikrokontroler secara serial dengan memanfaatkan pin TX/RX untuk ATmega8 adalah penyemat 2 dan 3. 

Bagaimana cara kerja pengembangan sistemnya ?

Disamping IDE arduino sebagai jantungnya, bootloader adalah jantung dari arduino lainnya yang berupa program kecil yang dieksekusi sesaat setelah mikrokontroler diberi catu daya. Bootloader ini berfungsi sebagai pemonitor aktifitas yang diinginkan oleh arduino. Jika dalam IDE terdapat file hasil kompilasi yang akan diupload, bootloader secara otomatis menyambutnya untuk disimpan dalam memori program. Jika pada saat awal mikrokontroler bekerja, bootloader akan mengeksekusi program aplikasi yang telah diupload sebelumnya. Jika IDE hendak mengupload program baru, bootloader seketika menghentikan eksekusi program berganti menerima data program untuk selanjutnya diprogramkan dalam memori program mikrokontroler. Pendek kata sangat mudah mekanisme pengembangan aplikasinya. Tentang IDE arduino kita bahas sampai disini saja, selanjutnya saya akan menjelaskan perangkat keras pendukung lainnya.

Piranti komunikasi serial RS232

Hubungan komunikasi data antara IDE arduino dengan board arduino digunakan komunikasi secara serial dengan protokol RS232. Tentunya jika anda tertarik dengan arduino ini, cek terlebih dahulu apakah komputer anda ada port komunikasi serialnya. Untuk komputer PC dipastikan sudah ada port serialnya dengan konektor DB9, namun untuk Laptop akhir-akhir ini sudah dihilangkan. Jika anda menggunakan laptop modern, diperlukan sebuah antarmuka serial rs232 biasanya ditancapkan ke USB. Sudah barang tentu jika board arduino anda sudah dilengkapi dengan komunikasi serial RS232 (biasanya USB), piranti ini tidak lagi digunakan, cukup langsung ditancapkan ke USB komputer anda. Biasanya catu daya 5V otomatis akan disuply ke board arduino anda.

Piranti serial rs232 ini digunakan jika board arduino atau arduino buatan sendiri tidak dilengkapi dengan piranti serial 232. Jika tidak tersedia, gunakan usb to serial pada umumnya. Tapi harus diingat penyemat TX/RX mikrokontroler merupakan level ttl, jadi harus diubah dari level rs232 ke ttl dengan menggunakan chip max232. Belakangan ini udah ada piranti usb to serial dengan level ttl, jadi tidak perlu menggunakan chip max232 lagi. Saluran yang digunakan adalah RX, TX dan DTR. DTR digunakan untuk mereset mikrokontroler secara otomatis ketika IDE arduino mengirimkan program untuk dituliskan ke memori program mikrokontroler. Jadi DTR dihubungkan dengan penyemat reset mikrokontroler arduino.

Board arduino

Board arduino sebenarnya berisi komponen utama mikrokontroler AVR, mulai dari ATmega8 sampai seri terbaru diantaranya adalah 2650. Selain itu board arduino dilengkapi dengan chip USB to serial, sehingga penggunanya mudah menggunakannya  hanya dengan mencolokkan ke port USB komputer/laptop. Sebenarnya kita bisa membuat board tersebut, karena board yang sudah jadi hanyalah mikrokontroler yang diisi dengan program bootloader  yang juga tersedia pada IDE arduino. Membangun board arduino sendiri akan dibahas dalam posting yang terpisah.

Untuk melihat jenis-jenis board arduino yang sudah jadi bisa anda klik disini.

Bahasa pemrograman

 Bahasa pemrograman yang digunakan oleh IDE arduino didalam mengembangkan aplikasi mikrokontroler adalah C/C++. Tentunya terdapat style khusus yang membedakannya yaitu:

  1. void main(void) sebagai fungsi program utama diganti dengan void loop() . Perbedaannya pada c biasa tidak terjadi loop, jadi harus ada looping yang ditambahkan misalnya while(1){……}. Dalam arduino secara otomatis fungsi loop() akan kembali lagi dari awal jika sudah dieksekusi intruksi paling bawahnya.
  2. Ditambahkan fungsi void setup(void), fungsi ini dugunakan untuk inisialisasi mikrokontroler sebelum fungsi utama loop() dieksekusi.
  3. Tidak direpotkan dengan setting register-register, karena arduino sudah memasukkannya kedalam librarynya dan secara otomatis disesuikan dengan jenis board arduino berkenaan jenis mikrokontrolernya. Jadi setup perangkat kerasnya menjadi mudah.

Dalam posting yang lain akan dijelaskan aplikasi sederhana tentang arduino, agar mudah dipahami apa sebenarnya arduino itu. 

Penyemat 

Pada arduino memberikan penamaan penyemat secara spesifik agar mudah dikenali oleh pengguna awam. Jika kita terbiasa  mengembangkan aplikasi mikrokontroler tidak menggunakan arduino, penyemat menggunakan nama penyemat sesuai dengan lembar data dari pabriknya. Arduino menamakan penyemat secara spesifik yaitu dua jenis saluran yaitu analog dan digital. Setiap saluran analog dan digital diberi urutan angka, misalnya D5 adalah saluran digital kanal 5, A0 adalah saluran analog kanal 0. 

 

 

Dari gambar di atas, yang penamaan penyemat yang berwarna  merah adalah nama saluran arduino. Sedangkan nama penyemat yang berwarna hitam adalah nama penyemat mikrokontroler ATmega8, 168 dan 328. Dengan demikian pengembang aplikasi mikrokontroler dengan menggunakan arduino tidak usah pusing-pusing mengetahui nama dan nomer penyemat mikrokontroler yang sedang dikembangkan aplikasinya.

Posted in Arduino, Elektronika, Mikrokontroler | Tagged , , , | 8 Comments

Handmade mount of helmet handycam

This time I really need to make a video documentation for the activity test fly a model airplane.  I do not want to miss important moments before the plane crashed as I have been posting here.

Since I have a bicycle helmet and a camcorder, I make my own “mount camcorders” which was originally mounted on the helmet. Mount made from sheets of aluminum with a thickness of 1.5mm. Then add slots are made from aluminum is also used to put the head of the camera tripod.

 In order to mount the aluminum can be attached firmly to the helmet, I used a rubber strap. The next head of the camera tripod can be inserted into the slot that has been made.

 As a test, a video that has been posted here, been using this helmet camcorder.

Posted in Camera, Camera Mount, hobby, RC Model | Tagged , , | Leave a comment

New design of version 3 tricopter frame

The first version of tricopter frame that I made as I have been positing here, too heavy to fly. I am not satisfied then create a new one is version 2 as I have been posting here

Version 2 is flying at very stable, but unfortunately I did not record it in video form. The last time before the crash, photos of tricopter looks like the following.

The total weight of about 1.2kg, using Lipo 2200mAh, 3 pieces of DT750, 3 pieces 10×4.7 propeller. Due to my carelessness as the less experienced pilots to fly tricopter, finally fell. The damage was a broken rear propeller, rear arms folded toward the front.

 This accident caused me as a pilot can not estimate the time of flight, at an altitude of about 6m out of power. But of this accident I have weaknesses that exist in the frame.  Weaknesses are:

  1. Rear Arms too flexible towards the horizontal. This will cause oscillation when it will take off, due to the thrust vector.
  2. The whole arm is less robust. Required construction with a lightweight and robust materials.
  3. It should be added to the cage, to protect the rotor of the motor.

The third version of the tricopter frame

 This third version, I use a wooden beam 1cmx0.5cm as his arm. I combine the two beams of wood with a plastic spacer with a distance of about 1.8cm. 


Center Plate

 As the center plate, i continue to use acrylic with a thickness of 4mm. By using acrylic, 3 pieces of the arm can be held with strong enough.  

The front of the bottom plate made extending, place prepared for lipo. Usually the rear arm is heavier than the front left and right arm because there is a servo and mechanical, so it can be used to balance the CG position at its center.

If necessary center plate will be cut into smaller in size, but does not reduce strength to hold the arm. 

Center plate has sufficient space about 3cm wide, enough to insert the ESC. There was also enough to put a silicone cable which in fact requires considerable space, especially when the front arm is folded back.

Version 3 tricopter frame

 The results of the design tricopter shown in the photo album below:

Cincopa WordPress plugin


 

The uniqueness of vector thrust mechanical 

I designed a mechanical servo for motor on the rear that is different from the general mechanical. Here I directly connect the servo with an iron rod. Iron rod being held by the aluminum tube by using two bearing to reduce frictions. ron rod which is connected to the servo using the servo plastic arm to be cut. Then put into an iron rod and reinforced with bolts. The other end of an iron rod attached to the aluminum tube to hold the motor mount. 

YouTube Preview Image 

 

 

Posted in hobby, Multicopter Frames, RC Model, tricopter | Tagged , , , | Leave a comment

An easy way to see the responses of ENC-03 gyro chip

Chip Gyro of ENC-03 is often used as a sensor to stabilize the aircraft or multicopter using RC. To learn seriously need to know the workings and characteristics of this chip. Data sheet for this sensor can be downloaded here. Chip is famous for its resistance to vibration and is easy to use because it has an analog output. 

The sensor works because of the angular velocity, analog output voltage will depend on the angular velocity applied to the sensor.  Sensor output voltage will follow the following equation: 

V0 is the static output voltage at angular velocity = 0 deg/s. 

From datasheet . Thus the magnitude . Sv is scale factor in mV/deg/S = 0.67V. And .

Schematic 

This circuit is the simplest. Voltage source connected to the RC tap, 100 ohms and 47uF to eliminate the ripple in the voltage source.

Gyro output voltage tap connected to the RC, 6.8KOhm and 0.68uF, serves as a simple lowpass filter to eliminate the output voltage caused by vibration. 

Vref is the output that generates a voltage as a reference that may be required by the circuit on the outside. 

At Vref is necessary to add capacitors of 4.7uF.

Microcontroller

 To read the response of the output voltage of the gyro, so easy to do I use nano Arduino board. This board contains a microcontroller type ATMega 328p. Because it already has an internal ADC, it will be easy to record responses.

In my Arduino programming using A0 as the ADC to convert the voltage output come from the gyro into digital numbers. Hereinafter ADC conversion result is sent serially to be recorded by using hyperterminal on windows.  I decided to process the data and plotted using Scilab.

Board of ENC-03 Gyro

I got this gyro board by removing the yaw gyro on kkboard. However, it should be added 100ohm resistor and 47uF capacitor on the power supply VCC. And 0.68uF capacitor also needs to be added to the gyro output.

In accordance with the data sheet, this board is placed upright and moved radially. Can also be placed upright and inverted, but the gyro output voltage changes will be reversed as well.  

To be able to move freely in the radial, required a dish to put this gyro board. To connect with pin of the Arduino board, can be soldered directly  using  cables. 

Additional compenents of resistor and capasitor can be soldered into header pins of this board. 

Dish

 In order gyro board can be moved radially with ease, need a dish to put the gyro board. The dish is made using styrofoam plate. At the center of the dish, bamboo as a holder mounted to rotate the dish. Arduino board and gyro board placed on this dish.  Furthermore, the Arduino board is connected with usb cable to the computer to record the results of Gyro responses of the radial motions.

This method is the most inexpensive and easy to make because it uses materials easily obtained is styrofoam.

Other Dish

Because I can do the job using mechanical equipment such as lathes, milling machines, drilling machines, welding machines and so forth. I prefer this dish using iron material, because it is more robust and stable during use.

Cincopa WordPress plugin


YouTube Preview Image

Basic Recording

The basis of recording the response of the gyro output is done by reading through the adc conversion. I am using the Arduino programming with nano board. Arduino program as follows:

void setup() {
  Serial.begin(115200);
}

void loop() {
 int sensorValue = analogRead(A0);
 Serial.println(sensorValue);
 delay(50);
}

Recording steps:

  1. Turn on Arduino by plugging USB’s arduino board to the computer.
  2. Open hyperterminal, set baud to 115200 baud, 8bit, No parity, 1 stop bit.
  3. Connect communication by clicking “Call” icon. You must ensure that the serial channel selection is correct. You will see the data receive by hyperterminal
  4. Rotate the dish, you’ll see a change of data in hyperterminal.
  5. To record and stored in a file, select the “Transfer -> Capture Text”. Then asked to fill in your name and the file folder.
  6. Turn the dish as the fourth step in accordance with your wishes.
  7. Stop record by select the “Transfer->Capture Text->Stop”.

Processing of data

The file name of the data is capture5.txt. Further data will be read and processed using Scilab program. Use the console to process manually. Scilab commands as follow:

-->// read data file into sh matrix
sh=read_csv("D:\data_scilab\capture5.txt");  

// convert sh matrix string content into d matrix as numeric
-->d=evstr(sh);

// convert adc data (0-1024, 10bit) into analog voltage
-->analog=(d/1024)*5.0;

// how big is the size of data
-->size(analog)
 ans  =

    694.    1.  

// make t matrix as time (axis plot) 0 to 693
-->t=0:693;

// plot data
-->plot2d(t,analog,style=2)

The results of the graph are shown as follows.

 

Posted in aeromodelling research, Electronics, hobby, Multicopter, RC Model, Sensor | Tagged , , | 2 Comments