e-Jurnal NARODROID. Vol. 2 No. 2 Juli 2016 E-ISSN : 2407-7712 Penerapan Finite State Machine Untuk Merancang Pengendali Motor Stepper Menggunakan Vhdl Arief Budijanto Universitas Widya Kartika Email : arief232@yahoo. ABSTRAK Makalah ini menjelaskan tentang proses pembelajaran mata kuliah perancangan chip digital berbasis proyek yang menerapkan Finite State machine (FSM) sebagai metode untuk merancang pengendali motor stepper menggunakan VHDL. Motor stepper yang digunakan dalam studi kasus ini adalah motor stepper unipolar. Dimana motor stepper tersebut dikendalikan dengan 2 mode, yaitu half-step dan fullstep. Pengendalian pada mode full step terdiri dari 2 cara yaitu dengan kendali 1 phase ON dan 2 phase ON. Pengendali motor stepper diimplementasikan pada chip Complex Programmable Logic Device (CPLD) dengan seri EPM3032ALC44-4. Dari hasil simulasi waktu yang dibutuhkan dari input sampai ke output membutuhkan waktu 3 ns. Kata kunci : Pengendali. Motor Stepper. FSM. VHDL PENDAHULUAN Perancangan Chip Digital merupakan teknologi yang perkembangannya sangat Sehingga dalam dunia pendidikan dibidang elektronika dan komputer perlu perancangan chip digital agar lulusan perkembangan teknologi perancangan chip. Dalam makalah ini akan dijelaskan tentang perancangan chip digital dengan studi kasus perancangan pengendali motor stepper jenis unipolar yang menerapkan finit state machine sebagai metodenya. Finite State Machine ini merupakan cara untuk memudahkan perancang dalam membuat VHDL coding dengan cara menkonversikan state diagram dalam VHDL Kendali motor stepper yang dirancang menggunakan mode half step dan full step yang disimulasik menggunakan perangkat lunak Max Plus yang merupaka produk dari Altera. Inc. menyimpan informasi biner. Diagram blok sistem digital sekuensial diperlihat pada Finite state machine (FSM) dalam perancangan sistem digital merupakan metode yang digunakan untuk merancang rangkaian digital sekuensial. FSM dapat diklasifikasikan sebagai Mealy Machine dan Moore Machine (Short, 2. Diagram blok FSM ditunjukkan pada gambar 2. Pada mealy machine, output merupakan fungsi dari current state dan nilai dari inputnya. Sedangkan merupakan fungsi dari current state saja. Input Combinational Circuit Output Register Gambar 1. Diagram Blok Rangkaian sekuensial (Mano & Ciletti, 2. Finite State Machine Inputs Next State Logic (Combinationa. Sistem digital dapat diklasifikasikan sebagai rangkaian kombinasional dan Sekuensial . Pada sistem digital kombinasional ini nilai output ditentukan oleh nilai input pada kondisi saat ini. Sedangkan sistem digital sekuensial output tidak hanya tergantung pada kondisi input saat ini, tetapi juga tergantung pada kondisi input sebelumnya, sehingga pada sistem ini dibutuhkan suatu memory . untuk Current State Register (Sequentia. Output Logic (Combinationa. Mealy Output Logic (Combinationa. Moore Synchromous reset Asynchromous reset Mealy Inputs Current State Register (Sequentia. Next State Logic (Combinationa. Synchromous reset Asynchromous reset Moore Gambar 2. Diagram blok FSM Mealy & Moore . mit,1. e-Jurnal NARODROID. Vol. 2 No. 2 Juli 2016 Tabel 2. Pulsa digital untuk mode full step dengan 2 Phase ON Reset Reset E-ISSN : 2407-7712 Y2 Y3 Mealy Machine Moore Machine Gambar 3. State Diagram (Short, 2. Motor Stepper Motor stepper adalah salah satu jenis motor dc yang dikendalikan dengan pulsa-pulsa digital. Prinsip kerja motor stepper adalah bekerja dengan mengubah pulsa elektronis menjadi gerakan mekanis diskrit dimana motor stepper bergerak berdasarkan urutan pulsa yang diberikan kepada tiap-tiap koil motor stepper tersebut. Pulsa digital yang diberikan pada koil motor stepper berupa level logika Ao1Ao dan Ao0Ao yang ditunjukkan pada tabel 1. dan tabel 2. OFF OFF OFF OFF Step 1 Step 2 OFF OFF OFF OFF Tabel 1. Pulsa digital untuk mode full step dengan 1 Phase ON Step 3 Step 4 Gambar 5 Putaran Motor Stepper Mode Full Step 2 Phase ON Tabel 3. Pulsa digital untuk mode full step OFF OFF OFF OFF OFF Step 1 Step 2 OFF OFF Y2 Y3 OFF OFF OFF OFF OFF Step 3 Step 4 Gambar 4. Putaran Motor Stepper Mode Full Step 1 Phase ON Y2 Y3 e-Jurnal NARODROID. Vol. 2 No. 2 Juli 2016 OFF OFF : Masukan pin reset RST E-ISSN : 2407-7712 OFF DIR MD0 OFF OFF Step 1 MD1 Stepper Motor Controller CLK Step 2 OFF OFF OFF OFF Gambar . 7 Diagram blok pengendali motor OFF Sedangkan fungsi pin nya ditunjukkan pada Step 3 Step 4 Tabel 4. Fungsi chip OFF OFF OFF OFF DIR INPUT MD MD RST OFF Step 5 Step 6 OFF OFF OFF OFF Step 7 RST OFF Step 8 Gambar 6 Putaran Motor Stepper Mode Half Step METODOLOGI Metodologi perancangan pengendali motor stepper dengan VHDL meliputi : OUTPUT MODE Full Step Clockwise 1 Phase On Full Step Clockwise 2 Phase ON Half Step Clockwise Unused Full Step Anti Clockwise 1 Pgase Full Step Anti Clockwise 2 Phase Half Step Anti Clockwise Reset Condition Setelah membuat diagram blok dan tabel fungsi chip, kemdudian dilanjutkan dengan membuat diagram FSM pengenddali motor Diagram tersebut ditunjukkan pada Desain diagram blok chip Tabel fungsi chip Desain FSM dari tabel fungsi chip Implementasi FSM dalam VHDL coding Konfigurasi pin output chip pengendali motor stepper ditunjukkan pada gambar 7. Dimana fungsi pin adalah sebagai berikut: DIR : untuk mengatur arah putaran MD0,MD1 : untuk mengatur mode putaran yaitu half step atau full step CLK : masukan pulsa clock e-Jurnal NARODROID. Vol. 2 No. 2 Juli 2016 HASIL DAN PEMBAHASAN Hasil simulasi VHDL coding dengan mode kendali motor stepper yang berbeda-beda akan dijelaskan melalui gambar diagram waktu dibawah ini. Gambar 10. Merupakan hasil simulasi kendali motor stepper dengan mode = Au00Ay dan dir = Ao0Ao. Motor stepper dikendalikan dengan cara 1 phase ON. Pada kondisi awal pin reset berlogika Ao1Ao, sehingga dalam konsisi reset yang mengakibatkan output Y = Au0000Ay. Setelah pin reset diberikan logika Ao0Ao maka output Y dalam kondisi normal, yaitu sesuai tabel 1, dan putaran motor stepper searah jarum jam. Reset SF0 0/1000 1/0100 0/0001 SF1 1/1000 1/0010 0/0100 SF2 1/0001 0/0010 SF3 Reset SG0 1/0011 0/1100 SG1 0/1001 1/1001 0/0110 1/0110 E-ISSN : 2407-7712 SG2 1/1100 0/0011 SF3 Full Step 1 Phase ON Full Step 2 Phase Reset SH0 1/1100 0/1000 SH1 1/0100 Gambar 10. Deklarasi Entity VHDL 0/1100 SH2 Gambr 11. Merupakan hasil simulasi kendali motor stepper dengan cara 1 phase ON dengan kondisi mode = Au00Ay dan dir = Ao1Ao, sehingga arah putaran motor stepper berlawanan dengan arah putaran jarum jam. 0/0100 1/0110 SH3 0/1001 0/0110 1/0010 1/1000 SH4 1/0010 1/0011 SH5 0/0011 1/0001 SH6 1/1001 0/0001 SH7 Full Step 2 Phase ON Gambar 8. FSM Pengendali Motor Stepper Implementasi VHDL coding dilakukan dengan cara mentransfer FSM dari pengendali motor Berikut deklarasi entity VHDL ditunjukkan pada gambar 9. Gambar 11. Deklarasi Entity VHDL Gambar 12. Merupakan hasil simulasi kendali motor stepper dengan cara 2 phase ON, yaitu dengan meberikan logika pada pin mode = Au01Ay dan dir = Ao0Ao, sehingga arah putaran motor stepper searah dengan arah putaran jarum jam. ENTITY M_Stepper1 IS PORT ( reset,dir,clk : IN STD_LOGIC. mode : IN STD_LOGIC_vector. Y : OUT STD_LOGIC_vector. END M_Stepper1. Gambar 9. Deklarasi Entity VHDL e-Jurnal NARODROID. Vol. 2 No. 2 Juli 2016 E-ISSN : 2407-7712 Gambar 12. Deklarasi Entity VHDL Gambar 15. Deklarasi Entity VHDL Gambr 13. Merupakan hasil simulasi kendali motor stepper dengan cara 2 phase ON , yaitu dengan memberikan logika pada pin mode = Au01Ay dan dir = Ao1Ao , sehingga arah putaran motor stepper berlawanan dengan arah putaran jarum jam. Gambar 16. merupakan hasil simulasi kendali motor stepper dengan metode half step dan memberikan logika pada pin mode = Au10Ay dan dir = Ao1Ao sehingga arah putaran motor stepper berlawanan dengan arah putaran jarum jam. Tetapi derajat simpangannya lebih kecil setengahnya dari simpangan full step. Gambar 13. Deklarasi Entity VHDL Gambr 14. Merupakan hasil simulasi kendali motor stepper dengan mode = Au10Ay dan dir = Ao0Ao, sehingga arah putaran motor stepper berlawanan dengan arah putaran jarum jam. Gambar 16. Deklarasi Entity VHDL Gambar 17. Merupakan hasil simulasi kendali motor stepper dengan mode = Au11Ay. Pada kondisi ini output Y berlogika Au0000Ay karena kondisi ini memang dirancang tidak digunakan untuk mengendalikan motor Gambar 14. Deklarasi Entity VHDL Gambr 15. Merupakan hasil simulasi kendali motor stepper dengan metode half step dan memberikan logika pada pin mode = Au10Ay dan dir = Ao0Ao sehingga arah putaran motor stepper searah dengan arah putaran jarum jam. Tetapi derajat simpangannya lebih kecil setengahnya dari simpangan full step. Gambar 17. Deklarasi Entity VHDL Konstruksi pin chip pengendali motor stepper menggunakan CPLD seri EPM3032ALC44-4 ditunjuukan pada gambar 18. Dan matriks waktu tunda perambatan sinyal digital . ime propagation dela. dari input menuju output e-Jurnal NARODROID. Vol. 2 No. 2 Juli 2016 E-ISSN : 2407-7712 DAFTAR PUSTAKA