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 :
[email protected] 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 pesat. Sehingga dalam dunia pendidikan dibidang elektronika dan komputer perlu dikembangkan metode metode perancangan chip digital agar lulusan mahasiswa dapat mendukung 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 coding. 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 gambar 1. 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, 2009). Diagram blok FSM ditunjukkan pada gambar 2. Pada mealy machine, output merupakan fungsi dari current state dan nilai dari inputnya. Sedangkan moore machine, output merupakan fungsi dari current state saja. Input
Combinational Circuit
Output
Register clock
Gambar 1. Diagram Blok Rangkaian sekuensial (Mano & Ciletti, 2013)
Finite State Machine
Inputs Next State Logic (Combinational)
Sistem digital dapat diklasifikasikan sebagai rangkaian kombinasional dan Sekuensial (berurutan). 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 (register) untuk
Current State Register (Sequential)
Output Logic (Combinational)
Mealy outputs
Output Logic (Combinational)
Moore outputs
clock
Synchromous reset
Asynchromous reset
Mealy Inputs Current State Register (Sequential)
Next State Logic (Combinational) clock Synchromous reset
Asynchromous reset
Moore
Gambar 2. Diagram blok FSM Mealy & Moore (smit,1997) 139
e-Jurnal NARODROID, Vol. 2 No.2 Juli 2016
Tabel 2. Pulsa digital untuk mode full step dengan 2 Phase ON
Reset
Reset
0
0/0
A 0
A
E-ISSN : 2407-7712
T 1 2 3 4
1 0/0
1/0
0 0
B
C 1
1
B 0 1
1/1
Y0 1 0 0 1
Y1 1 1 0 0
Y2 Y3 0 0 1 0 1 1 0 1
a. Mealy Machine b. Moore Machine Gambar 3. State Diagram (Short, 2009). N ON
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 ‘1’ dan ‘0’ yang ditunjukkan pada tabel 1. dan tabel 2.
OFF
S ON
OFF N
S
OFF
ON S
N
S
S S
OFF
ON N
Step 1
Step 2 OFF
OFF
ON
ON
S N
S
S
N
S
N
N
OFF
OFF
S
Tabel 1. Pulsa digital untuk mode full step dengan 1 Phase ON T 1 2 3 4
Y0 1 0 0 0
Y1 0 1 0 0
ON
N
N
Step 3
Step 4
Gambar 5 Putaran Motor Stepper Mode Full
Step 2 Phase ON
Tabel 3. Pulsa digital untuk mode full step
N
OFF
T 1 2 3 4 5 6 7 8
S
OFF
OFF
ON
N
S
S
N
N
S
OFF
OFF
Step 1
Step 2
OFF
OFF
S
ON
Y2 Y3 0 0 0 0 1 0 0 1
ON
OFF
N
N
OFF
OFF
S
ON N
OFF S
N
S
N S ON
OFF
N
Step 3
Step 4
Gambar 4. Putaran Motor Stepper Mode Full
Step 1 Phase ON
140
Y0 1 1 0 0 0 0 0 1
Y1 0 1 1 1 0 0 0 0
Y2 Y3 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1
e-Jurnal NARODROID, Vol. 2 No.2 Juli 2016
N ON
S
S
OFF
OFF
: Masukan pin reset
RST
N
ON
E-ISSN : 2407-7712
ON
OFF
N
N
S
DIR
N
S
S
MD0 OFF
OFF
Step 1
MD1
Y0 Stepper Motor Controller
CLK
Step 2 OFF
OFF OFF
OFF
ON
Gambar . 7 Diagram blok pengendali motor
ON S
S
N
S
N
stepper
N
N S
OFF
Sedangkan fungsi pin nya ditunjukkan pada tabel 4.
ON N
Step 3
Step 4
Tabel 4. Fungsi chip
OFF
OFF
OFF
OFF
S
ON S N
DIR
S N
N
OFF
S
S
ON
ON
N
N
Step 5
Step 6 N ON
OFF
S ON
OFF
OFF
INPUT MD MD 1 0
RST
0
0
0
0
0
0
1
0
0 x
1 1
0 1
0 0
1
0
0
0
1
0
1
0
1
1
0
0
x
x
x
1
N N
S
N
S
N
S ON
OFF
Step 7
S
OFF
Step 8
Gambar 6 Putaran Motor Stepper Mode Half
Step
METODOLOGI Metodologi perancangan pengendali motor stepper dengan VHDL meliputi : 1. 2. 3. 4.
Y2 Y3
RST
S
Y1
OUTPUT MODE Full Step Clockwise 1 Phase On Full Step Clockwise 2 Phase ON Half Step Clockwise Unused Full Step Anti Clockwise 1 Pgase ON Full Step Anti Clockwise 2 Phase ON Half Step Anti Clockwise Reset Condition
Setelah membuat diagram blok dan tabel fungsi chip, kemdudian dilanjutkan dengan membuat diagram FSM pengenddali motor stepper. Diagram tersebut ditunjukkan pada gambar 8.
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 141
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 = “00” dan dir = ‘0’. Motor stepper dikendalikan dengan cara 1 phase ON. Pada kondisi awal pin reset berlogika ‘1’, sehingga dalam konsisi reset yang mengakibatkan output Y = “0000”. Setelah pin reset diberikan logika ‘0’ 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
a. Full Step 1 Phase ON ON
b. 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 = “00” dan dir = ‘1’, 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
c. Full Step 2 Phase ON Gambar 8. FSM Pengendali Motor Stepper Implementasi VHDL coding dilakukan dengan cara mentransfer FSM dari pengendali motor stepper. 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 = “01” dan dir = ‘0’, 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(1 downto 0); Y : OUT STD_LOGIC_vector(3 downto 0) ); END M_Stepper1;
Gambar 9. Deklarasi Entity VHDL
142
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 = “01” dan dir = ‘1’ , 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 = “10” dan dir = ‘1’ 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 = “10” dan dir = ‘0’, 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 = “11”. Pada kondisi ini output Y berlogika “0000” karena kondisi ini memang dirancang tidak digunakan untuk mengendalikan motor stepper.
Gambar 14. Deklarasi Entity VHDL Gambr 15. Merupakan hasil simulasi kendali motor stepper dengan metode half step dan memberikan logika pada pin mode = “10” dan dir = ‘0’ 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 (time propagation delay) dari input menuju output
143
e-Jurnal NARODROID, Vol. 2 No.2 Juli 2016
E-ISSN : 2407-7712
DAFTAR PUSTAKA
membutuhkn waktu 3 ns. Matriks waktu tunda ditunjukkan pada gambar 19.
Rushton, Andrew, (2011), Vhdl For Logic Synthesis, John Wiley & Sons, Ltd, United Kingdom. Platt,
Charles, (2013), Encyclopedia of Electronic Components Volume 1, O’Reilly Media, Inc. 1005 Gravenstein Highway North, Sebastopol, CA 95472.
Iuliana C, Alin D. P, Adrian G, (2010), Finite State Machine Design And Vhdl Coding Techniques, 10th International Conference On Development And Application Systems, Suceava, Romania, May 27-29.pp.273-278. Kavita S, Abhilasha S, FPGA Based System Login Security Lock Design Using Finite State Machine, IOSR Journal of Electronics and Communication Engineering, Volume 5, Issue 3 (Mar. Apr. 2013), PP 70-75.
Gambar 18. Konstruksi pin chip Pengendali Motor Stepper
Mano, M. Morris, Ciletti, Michael D, (2013), Digital Design With an Introduction to the Verilog HDL, Prentice Hall. Short, Keneth L., (2009), VHDL for engineers, Pearson Education, Inc., Upper Saddle River, New Jersey.
Gambar
Smith, Douglas J., (1997), HDL Chip Design, Doone Publications, Madison, AL,USA.
19. Matriks Waktu Tunda Perambatan Sinyal Digital
KESIMPULAN Kesimpulan yang dapat diambil dari simulasi pengendali motor stepper adalah sebagai berikut: 1. Chip pengendali dapat mengendalikan motor stepper dengan metode full step dan half step. 2. Pada metode full step ada 2 cara pengendalian berdasarkan fasenya, yaitu 1 phase ON dan 2 phase ON. 3. Chip diimplementasikan pada komponen CPLD seri EPM3032ALC44-4. 4. Chip membutuhkan waktu tunda perambatan dari input menuju output chip sekitar 3 ns.
144