• Tidak ada hasil yang ditemukan

Neo Stepper Motor 1.2A

N/A
N/A
Protected

Academic year: 2021

Membagikan "Neo Stepper Motor 1.2A"

Copied!
14
0
0

Teks penuh

(1)

Smart Peripheral Controller

Neo Stepper Motor 1.2A

Trademarks & Copyright

AT, IBM, and PC are trademarks of International Business Machines Corp. Pentium is a registered trademark of Intel Corporation.

Windows is a registered trademark of Microsoft Corporation. CodeVisionAVR is copyright by Pavel Haiduc, HP InfoTech s.r.l.

(2)

Daftar Isi

1 Pendahuluan... 3

1.1 Spesifikasi SPC NEO STEPPER MOTOR 1.2A... 3

1.2 Sistem yang Dianjurkan... 3

2 Perangkat Keras SPC NEO STEPPER MOTOR 1.2A... 3

2.1 Tata Letak Komponen SPC NEO STEPPER MOTOR 1.2A... 3

2.2 Konektor dan Pengaturan Jumper... 4

3 Antarmuka SPC NEO STEPPER MOTOR 1.2A... 6

3.1 Antarmuka UART TTL... 6

3.2 Antarmuka I2C... 6

3.3 Command Set... 7

3.3.1 Continuous Run... 7

3.3.2 Pulse Count Run... 8

3.3.3 Brake... 9

3.3.4 Stop... 10

3.3.5 Set I2C Address... 10

3.3.6 Read I2C Address... 11

4 Prosedur Pengujian... 11

5 Contoh Aplikasi dan Program... 11

Lampiran A. Skematik SPC NEO STEPPER MOTOR 1.2A... 13

(3)

1. PENDAHULUAN

Smart Peripheral Controller / SPC NEO STEPPER MOTOR 1.2A merupakan sebuah modul pengendali motor stepper yang ringkas dan handal serta cocok untuk aplikasi robotik. Modul ini dapat digunakan untuk mengendalikan arah dan kecepatan putaran 1 buah motor stepper menggunakan full-step maupun half-step. Modul ini sudah dilengkapi dengan antarmuka UART level TTL dan I2C sehingga dapat dengan mudah dihubungkan dengan sistem lain.

1.1. SPESIFIKASI SPC NEO STEPPER MOTOR 1.2A

Spesifikasi SPC NEO STEPPER MOTOR 1.2A adalah sebagai berikut: • Sumber catu daya modul menggunakan tegangan 4,8 – 5,4 Volt. • Sumber catu daya motor menggunakan tegangan 2,5 – 13,5 Volt. • Menggunakan IC motor driver TB6612FNG.

• Kemampuan arus kontinu driver 1,2 A.

• Dapat digunakan untuk motor stepper unipolar atau bipolar.

• Pin Input/Output kompatibel dengan level tegangan TTL dan CMOS. • Dilengkapi dengan antarmuka UART TTL dan I2C.

• Jika menggunakan I2C, SPC NEO STEPPER MOTOR 1.2A dapat di-cascade

hingga 8 modul.

• Konektor modul menggunakan konfigurasi 16 pin DIP 600mil sehingga lebih mudah dihubungkan langsung ke project board atau PCB lubang.

1.2. SISTEM YANG DIANJURKAN

Sistem yang dianjurkan untuk penggunaan SPC NEO STEPPER MOTOR 1.2A adalah:

Perangkat keras:

• PC™ AT Pentium® IBM Compatible dengan port USB.

• DT-AVR Low Cost Series.

• DVD-ROM Drive dan Hard disk. Perangkat lunak:

• Sistem operasi Windows® XP.

• CodeVisionAVR©.

File/Folder yang ada pada CD/DVD program:

Folder contoh_i2c, folder contoh_uart, TB6612FNG.pdf, dan Manual SPC Neo Stepper Motor 1.2A.pdf.

2. PERANGKAT KERAS SPC NEO STEPPER MOTOR 1.2A 2.1. TATA LETAK KOMPONEN SPC NEO STEPPER MOTOR 1.2A

(4)

2.2. KONEKTOR DAN PENGATURAN JUMPER

Konektor INTERFACE (J2) berfungsi sebagai konektor untuk catu daya modul, antarmuka UART TTL, dan antarmuka I2C.

Pin Nama Fungsi

1,2 VIN Terhubung ke catu daya (4,8 – 5,4 Volt) 3 SCL I2C-bus clock input

4 SDA I2C-bus data input / output

5 RX TTL Input serial level TTL ke modul SPC 6 TX TTL Output serial level TTL dari modul SPC 7,8 PGND Titik referensi untuk catu daya modul SPC

Konektor MOTOR (J3) berfungsi sebagai konektor untuk catu daya motor dan koneksi modul ke motor.

Pin Nama Fungsi

1,2 VM Terhubung ke catu daya untuk motor (2,5 – 13,5 Volt) 3 M11 Output ke-1 dari pasangan H-Bridge M1

4 M12 Output ke-2 dari pasangan H-Bridge M1

5 M21 Output ke-1 dari pasangan H-Bridge M2

6 M22 Output ke-2 dari pasangan H-Bridge M2

7,8 MGND Titik referensi untuk catu daya motor

Perhatikan tipe motor stepper yang akan dihubungkan ke SPC NEO STEPPER MOTOR 1.2A karena koneksinya berbeda-beda untuk masing-masing tipe. SPC NEO STEPPER MOTOR 1.2A dapat dipergunakan untuk 3 macam tipe motor stepper yaitu: Bipolar, Unipolar 5 kabel, dan Unipolar 6 kabel. Berikut adalah contoh koneksi untuk tiap tipe motor stepper:

M

B A C D 2,5V-13V

Ground Catu Daya Motor VM M11 M12 M21 MGND M22 Konektor J3

Bipolar

(5)

SCL SDA

SCL SDA

Jumper SCL-SDA (J4) berfungsi untuk mengaktifkan resistor pull-up untuk pin SDA dan SCL pada antarmuka I2C.

Jumper SCL-SDA

J4 Fungsi

Pull-up tidak aktif (jumper terlepas) Pull-up aktif (jumper terpasang)

M

B A C D 2,5V-13V

Ground Catu Daya Motor VM M11 M12 M21 MGND M22 Konektor J3 COMMON

Unipolar 5 kabel

M

B A C D 2,5V-13V

Ground Catu Daya Motor VM M11 M12 M21 MGND M22 Konektor J3 COMMON 1 COMMON 2

Unipolar 6 kabel

(6)

Penting !

Apabila lebih dari satu modul dihubungkan pada I2C-bus maka jumper SCL-SDA (J4) salah satu modul saja yang perlu dipasang.

Pengaturan alamat I2C dapat dilakukan melalui antarmuka UART TTL.

LED M1 IND (D3) dan M2 IND (D4) berfungsi sebagai indikator kondisi motor stepper (arah, kondisi, atau indikator pulsa).

3. ANTARMUKA SPC NEO STEPPER MOTOR 1.2A

SPC NEO STEPPER MOTOR 1.2A memiliki antarmuka UART TTL dan I2C yang

dapat digunakan untuk menerima perintah atau mengirim data.

3.1. ANTARMUKA UART TTL

Parameter komunikasi UART TTL adalah sebagai berikut:

• 38400 bps • 8 data bit • 1 stop bit • tanpa parity bit

• tanpa flow control

Semua perintah yang dikirim melalui antarmuka UART TTL dimulai dengan mengirim 1 byte data yang berisi <nomor perintah> dan (jika diperlukan) n-byte data parameter perintah.

Jika perintah yang telah dikirimkan merupakan perintah yang meminta data dari modul SPC NEO STEPPER MOTOR 1.2A, maka SPC NEO STEPPER MOTOR 1.2A akan mengirimkan data melalui jalur TX TTL.

Sebuah data parameter yang memiliki range lebih besar dari 255 desimal (lebih besar dari 1 byte) dikirim secara dua tahap. Satu byte data MSB dikirim lebih dahulu kemudian diikuti dengan data LSB. Misalnya parameter <pulse delay> yang memiliki range 1 - 65535. Jika <pulse delay> bernilai 1500 maka byte MSB yang dikirim/diterima adalah 5 dan byte LSB yang dikirim/diterima adalah 220 ((5x256)+220=1500).

Perintah dan parameter yang bisa digunakan dapat dilihat pada bagian 3.3. 3.2. ANTARMUKA I2C

Modul SPC NEO STEPPER MOTOR 1.2A memiliki antarmuka I2C. Pada antarmuka I2C ini, modul SPC NEO STEPPER MOTOR 1.2A bertindak sebagai

slave dengan alamat sesuai dengan telah ditentukan sebelumnya melalui perintah UART (lihat bagian 3.3.5). Antarmuka I2C pada modul SPC NEO

STEPPER MOTOR 1.2A mendukung bit rate sampai dengan maksimum 50 kHz.

Semua perintah yang dikirim melalui antarmuka I2C diawali dengan start condition dan kemudian diikuti dengan pengiriman 1 byte alamat modul SPC NEO STEPPER MOTOR 1.2A. Setelah pengiriman alamat, selanjutnya master

harus mengirim 1 byte data yang berisi <nomor perintah> dan (jika diperlukan) n-byte data parameter perintah. Selanjutnya, setelah seluruh parameter perintah telah dikirim, urutan perintah diakhiri dengan stop condition.

(7)

Berikut urutan yang harus dilakukan untuk mengirimkan perintah melalui antar muka I2C.

Sebuah data parameter yang memiliki range lebih besar dari 255 desimal (lebih besar dari 1 byte) dikirim secara dua tahap. Satu byte data MSB dikirim lebih dahulu kemudian diikuti dengan data LSB. Misalnya parameter <pulse delay> yang memiliki range 1 - 65535. Jika <pulse delay> bernilai 1500 maka byte MSB yang dikirim/diterima adalah 5 dan byte LSB yang dikirim/diterima adalah 220 ((5x256)+220=1500).

Perintah dan parameter yang bisa digunakan dapat dilihat pada bagian 3.3. 3.3. COMMAND SET

Berikut ini daftar lengkap perintah-perintah dalam antarmuka UART dan I2C. 3.3.1. CONTINUOUS RUN

Fungsi Mengendalikan motor stepper agar berputar secara kontinu

Perintah 0x30 Parameter <tipe step>

1  Full-Step: motor akan berputar 1 step tiap 1 pulsa 2  Half-Step: motor akan berputar 1/2 step tiap 1 pulsa <direction>

0  motor berputar searah jarum jam

1  motor berputar berlawanan arah jarum jam <pulse delay>

1 - 65535  waktu tunda antar pulsa ke motor stepper. Semakin kecil nilai pulse delay, maka semakin cepat putaran motor stepper.

Respon

-Keterangan ● Jika parameter <direction> bernilai 0, maka LED

indikator M1 berwarna merah.

● Jika parameter <direction> bernilai 1, maka LED

indikator M1 berwarna hijau.

● Jika arah putaran motor stepper berlawanan dengan

perintah yang diberikan berarti pemasangan koneksi dari motor stepper terbalik. Untuk memperbaikinya, ubah urutan pemasangan koneksi.

● Tiap kali 1 pulsa step diberikan, maka LED indikator M2

akan berubah warna dari merah ke hijau atau sebaliknya dari warna hijau ke merah (jika pulse delay cukup kecil, maka LED indikator M2 akan tampak berwarna jingga/oranye). + + + + 1 1 1 0 X X X 0 Alamat Tulis X X X X X X X X Command X X X X X X X X

Parameter (jika ada) Start

(8)

● Tiap 1 nilai pulse delay mewakili waktu tunda antar

pulsa sebesar kurang lebih 1 ms.

Contoh dengan antarmuka UART untuk menggerakkan motor stepper agar berputar searah jarum jam secara kontinu dengan tipe step adalah full-step, serta delay antar pulsa sebesar kurang lebih 100 ms (bilangan hexadesimal 0x0064):

User : 0x30 0x01 0x00 0x00 0x64

Berikut ini contoh pseudo code untuk menggunakan perintah ini dengan antarmuka I2C (misalkan alamat I2C = 0xE0):

i2c_start(); // Start Condition

i2c_write(0xE0); // Tulis ke modul SPC Neo Stepper Motor i2c_write(0x30); // Perintah “Continuous Run”

i2c_write(0x01); // tipe step i2c_write(0x00); // derection

i2c_write(0x00); // pulse delay MSB i2c_write(0x64); // pulse delay LSB i2c_stop(); // Stop Condition

3.3.2. PULSE COUNT RUN

Fungsi Mengendalikan motor stepper agar berputar sejumlah step yang diberikan

Perintah 0x31 Parameter <tipe step>

1  Full-Step: motor akan berputar 1 step tiap 1 pulsa 2  Half-Step: motor akan berputar 1/2 step tiap 1 pulsa <direction>

0  motor berputar searah jarum jam

1  motor berputar berlawanan arah jarum jam <pulse delay>

1 - 65535  waktu tunda antar pulsa ke motor stepper. Semakin kecil nilai pulse delay, maka semakin cepat putaran motor stepper. <pulse count>

1 - 65535  jumlah pulsa yang dikirimkan ke motor stepper.

Respon

-Keterangan ● Jika parameter <direction> bernilai 0, maka LED

indikator M1 berwarna merah.

● Jika parameter <direction> bernilai 1, maka LED

indikator M1 berwarna hijau.

● Jika arah putaran motor stepper berlawanan dengan

perintah yang diberikan berarti pemasangan koneksi dari motor stepper terbalik. Untuk memperbaikinya, ubah urutan pemasangan koneksi.

● Tiap kali 1 pulsa step diberikan, maka LED indikator M2

akan berubah warna dari merah ke hijau atau sebaliknya dari warna hijau ke merah (jika pulse delay cukup kecil, maka LED indikator M2 akan tampak

(9)

berwarna jingga/oranye).

● Tiap 1 nilai pulse delay mewakili waktu tunda antar

pulsa sebesar kurang lebih 1 ms.

● Setelah jumlah pulsa yang telah dikeluarkan sama

dengan pulse count, maka motor stepper secara otomatis berhenti (pada kondisi brake) dengan tetap mempertahankan torsi motor (lilitan motor stepper tetap dialiri arus).

Contoh dengan antarmuka UART untuk menggerakkan motor stepper agar berputar searah jarum jam sebanyak 20 (bilangan hexadesimal 0x0014) pulsa dengan tipe step adalah full-step, serta delay antar pulsa sebesar kurang lebih 1000 ms (bilangan hexadesimal 0x03E8):

User : 0x31 0x01 0x00 0x03 0xE8 0x00 0x14

Berikut ini contoh pseudo code untuk menggunakan perintah ini dengan antarmuka I2C (misalkan alamat I2C = 0xE0):

i2c_start(); // Start Condition

i2c_write(0xE0); // Tulis ke modul SPC Neo Stepper Motor i2c_write(0x31); // Perintah “Pulse Count Run”

i2c_write(0x01); // tipe step i2c_write(0x00); // derection

i2c_write(0x03); // pulse delay MSB i2c_write(0xE8); // pulse delay LSB i2c_write(0x00); // pulse count MSB i2c_write(0x14); // pulse count LSB i2c_stop(); // Stop Condition

3.3.3. BRAKE

Fungsi Menghentikan motor stepper dengan tetap mempertahankan torsi motor (lilitan motor tetap dialiri arus)

Perintah 0x32 Parameter

-Respon

-Keterangan ● Perintah Brake ini boleh diberikan setelah perintah

Continuous Run.

● Pada kondisi brake, motor stepper berhenti dengan tetap

mempertahankan torsi motor (lilitan motor stepper tetap dialiri arus).

● Pada kondisi brake, LED indikator M1 dan M2 akan

menyala sesuai dengan perintah Run terakhir. Contoh dengan antarmuka UART:

User : 0x32

Berikut ini contoh pseudo code untuk menggunakan perintah ini dengan antarmuka I2C (misalkan alamat I2C = 0xE0):

i2c_start(); // Start Condition

i2c_write(0xE0); // Tulis ke modul SPC Neo Stepper Motor i2c_write(0x32); // Perintah “Brake”

(10)

3.3.4. STOP

Fungsi Menghentikan motor stepper (lilitan motor tidak dialiri arus)

Perintah 0x33 Parameter

-Respon

-Keterangan ● Perintah Stop ini boleh diberikan setelah perintah

Continuous Run, Pulse Count Run, atau Brake.

● Pada kondisi stop, motor stepper akan berhenti dan tidak

ada arus yang mengalir pada seluruh lilitan motor.

● Pada kondisi stop, LED indikator M1 dan M2 berwarna

jingga/oranye.

● Kondisi stop merupakan kondisi default saat modul SPC

baru saja dinyalakan. Contoh dengan antarmuka UART:

User : 0x33

Berikut ini contoh pseudo code untuk menggunakan perintah ini dengan antarmuka I2C (misalkan alamat I2C = 0xE0):

i2c_start(); // Start Condition

i2c_write(0xE0); // Tulis ke modul SPC Neo Stepper Motor i2c_write(0x33); // Perintah “Stop”

i2c_stop(); // Stop Condition

3.3.5. SET I2C ADDRESS

Fungsi Mengubah alamat I2C Perintah 0x41

Parameter <0xAA> <0x55> <newAddress>

Respon

-Keterangan ● Perintah ini hanya dapat dilakukan dengan

menggunakan jalur komunikasi UART.

● Modul SPC akan menggunakan alamat I2C yang baru

setelah melalui siklus power off.

● Alamat I2C <newAddress> yang diperbolehkan dapat

dilihat pada tabel berikutnya.

● Jika alamat baru yang diberikan tidak sesuai, maka

alamat I2C tidak akan diubah (tetap alamat

sebelumnya).

● Alamat I2C default adalah 0xE0.

● Data alamat I2C disimpan di EEPROM sehingga tidak

akan hilang saat power off.

Alamat I2C

Alamat Tulis I2C Alamat Baca I2C

0xE0 0xE1 0xE2 0xE3 0xE4 0xE5 0xE6 0xE7 0xE8 0xE9 0xEA 0xEB 0xEC 0xED 0xEE 0xEF

(11)

Contoh dengan antarmuka UART untuk mengganti alamat I2C dari 0xE0

menjadi 0xE2:

User : 0x41 0xAA 0x55 0xE2

3.3.6. READ I2C ADDRESS

Fungsi Membaca alamat I2C sekarang Perintah 0x42

Parameter

-Respon <I2CAddress>

Keterangan ● Perintah ini hanya dapat dilakukan dengan

menggunakan jalur komunikasi UART.

● Alamat I2C modul SPC juga dapat diketahui melalui

jumlah kedip warna hijau LED indikator saat modul SPC baru power on.

● Jika alamat I2C adalah 0xE0 maka LED indikator akan

berkedip hijau 1 kali. Jika alamat I2C adalah 0xE2 maka

LED indikator akan berkedip hijau 2 kali. Jika alamat I2C

adalah 0xE4 maka LED indikator akan berkedip hijau 3 kali dan demikian seterusnya sampai alamat I2C 0xEE

maka LED indikator akan berkedip hijau 8 kali. Contoh dengan antarmuka UART:

User : 0x42

Modul SPC : <I2CAddress>

4. PROSEDUR PENGUJIAN

1. Hubungkan sumber catu daya 5 Volt ke VIN dan VM modul SPC NEO STEPPER MOTOR 1.2A.

2. Setelah LED indikator berkedip hijau yang menandakan alamat I2C, LED

indikator M1 dan M2 akan berwarna jingga/oranye.

3. Kirimkan perintah “Pulse Count Run” seperti pada contoh di bagian 3.3.2 melalui antarmuka UART TTL.

4. LED indikator M1 akan berwarna merah dan LED indikator M2 akan berubah dari warna merah ke hijau atau hijau ke merah sebanyak 10 kali. 5. Jika diukur tegangan antara pin M11 dan M12 pada saat LED indikator

M2 berubah-ubah, maka hasil akan berganti-ganti antara +VM dan -VM. 6. Jika diukur tegangan antara pin M21 dan M22 pada saat LED indikator

M2 berubah-ubah , maka hasil akan berganti-ganti antara +VM dan -VM.

5. CONTOH APLIKASI DAN PROGRAM

Sebagai contoh aplikasi, dimisalkan modul SPC NEO STEPPER MOTOR 1.2A digunakan untuk menggerakkan sebuah motor stepper dengan antarmuka I2C

atau antarmuka UART. Modul DT-AVR Low Cost Micro System (LCMS) dengan mikrokontroler ATmega8535 digunakan sebagai master yang akan mengirimkan perintah. Berikut koneksi antara modul-modul yang digunakan:

(12)

Sebagai contoh program untuk aplikasi di atas, pada DVD yang disertakan pada saat pembelian modul SPC NEO STEPPER MOTOR 1.2A disertakan program contoh_i2c.c dan contoh_uart.c yang ditulis dengan menggunakan CodeVisionAVR 1.25.2 versi evaluasi.

Pada program tersebut, DT-AVR LCMS akan mengirimkan perintah "Continuous Run" ke modul SPC (untuk contoh I2C menggunakan alamat modul SPC 0xE0)

agar motor stepper bergerak searah jarum jam dengan delay antar pulsa sebesar 500 ms. Setelah perintah dikirim, DT-AVR LCMS akan menunggu selama 5000 ms. Kemudian perintah "Brake" akan dikirimkan ke SPC sebelum DT-AVR LCMS kembali menunggu selama 5000 ms. Selanjutnya DT-AVR LCMS akan mengirimkan perintah ""Pulse Count Run" ke modul SPC (untuk contoh I2C

menggunakan alamat modul SPC 0xE0) agar motor stepper bergerak ke arah sebaliknya sebanyak 10 pulsa dengan delay antar pulsa sebesar 250 ms. Perintah ini juga diikuti dengan jeda selama selama 5000 ms. Kemudian program diakhiri dengan DT-AVR LCMS mengirimkan perintah "Stop" ke modul SPC.

Terima Kasih atas kepercayaan Anda menggunakan produk kami, bila ada kesulitan, pertanyaan atau saran mengenai produk ini silahkan menghubungi technical support kami : support@innovativeelectronics.com TXD

DT-AVR

LCMS

M11 M12 M21 M22 VM (2,5V – 13,5V ) VIN (+5 V ) MGND (Ground Catu Daya

Motor)

PGND

(Ground Catu Daya Digital) SPC NEO STEPPER MOTOR 1.2A (alamat 0xE0)

M

RXD TX (PORTD.1) RX (PORTD.0) SPC NEO STEPPER MOTOR 1.2A (alamat 0xE0)

DT-AVR

LCMS

M11 M12 M21 M22 VM (2,5V – 13,5V ) VIN (+5 V ) MGND (Ground Catu Daya

Motor)

PGND

(Ground Catu Daya Digital)

M

SDA (PORTD.2) SCL (PORTD.3) SCL

(13)
(14)

LAMPIRAN A.

Referensi

Dokumen terkait

negatif menurut Arifin (dalam Dasril dan Marwadah, 2014) dampak positifnya adalah 1) pacaran dapat menjadi motivasi untuk mendorong siswa untuk lebih meningkatkan

Hal ini berarti bahwa dapat dijelaskan oleh variasi dari variabel kompetensi, pengalaman kerja dan etika auditor dalam kualitas audit, sedangkan sisanya sebesar

bahwa dalam rangka menindaklanjuti Peraturan Presiden Nomor 118 Tahun 2015 tentang Tunjangan Kinerja Pegawai di Lingkungan Lembaga Penyiaran Publik Radio Republik

Proses penciptaan arsip digital merupakan suatu sistem yang digunakan pada penyimpanan dokumen berkas perkara di Kantor Mahkamah Syar’iyah agar kemudahan kerja penyimpanan dapat

Undang-Undang Nomor 12 Tahun 1950 tentang Pembentukan Daerah-Daerah Kabupaten Dalam Lingkungan Propinsi Djawa Timur sebagaimana telah diubah dengan Undang-Undang

&#34;anin nin terko terkondens ndensasi asi 4cond 4condensed ensed tannin tannins6 s6 biasany biasanya a tidak tidak dapat dapat dihid dihidrolisi rolisis, s, tetapi

Sebelumnya Kabupaten Semarang telah memiliki Peraturan Daerah Kabupaten Semarang Nomor 23 Tahun 2002 tentang Pengaturan dan Pembinaan Pedagang Kaki Lima di