Proyek 20 – Basic Stepper Control

Proyek kali ini simple, menghubungkan stepper motor dengan Arduino dan melakukan basic control.

Komponen

  • Stepper Motor
  • L293D atau SN754410 motor driver IC
  • 2 x 0.01 micro farad Ceramic Capacitor
  • Resistor

Skema

Proyek Arduino Basic Stepper Control

Gunakan external DC power supply L293 agar tidak membebani Arduino.

koneksi power supply positif mengarah langsung ke breadboard dan pin 8 dari L293, dan untuk ground dihubungkan dari breadboard ke Arduino.

Kapasitor bersifat opsional dan membantu memuluskan arus dan mencegah interferensi dengan Arduino. Dapat menggunakan kapasitor elektrolit nilai rendah, tetapi pastikan menghubungkannya dengan benar (+ untuk memasok, – ke ground) karena dapat merusak atau meledak jika dihubungkan terbalik!

Resistor pembatas arus antara catu daya dan power supply yang memasok SN754410 atau chip L293D. Gunakan catu daya yang sesuai yang berada dalam rentang tegangan dan arus untuk motor Anda. Juga pastikan bahwa peringkat daya dari setiap resistor yang membatasi arus yang digunakan di atas arus yang diperlukan oleh motor atau resistor akan memanas dan terbakar.

Perhatikan bahwa tegangan penggerak motor juga akan lebih rendah daripada tegangan input (bahkan tanpa resistor) karena tegangan turun di internal driver (yang menambahkan hingga 1,5 hingga 4 volt, tergantung pada arus dan hal lainnya).

Pin 5v pada Arduino dihubungkan ke pin 16 (VSS) dari pin driver motor dan dua chip inhibit pin (1 dan 9) dihubungkan dengan 3.3v untuk membuat mereka menjadi HIGH, memastikan tidak ada setengah dari chip driver dihambat.

Pin Vin (Voltage in) pada Arduino dihubungkan ke pin 8 dari driver IC (VC). Pin 4, 5, 12, dan 13 semua dihubungkan ke ground.

Setelah semuanya terhubung sebagaimana mestinya, masukan kode berikut.

Sketch

#include <Stepper.h>
// steps value is 360 / degree angle of motor
#define STEPS 200
// create a stepper object on pins 4, 5, 6 and 7
Stepper stepper(STEPS, 4, 5, 6, 7);

void setup()
{}

void loop(){
  stepper.setSpeed(60);
  stepper.step(200);
  delay(100);
  stepper.setSpeed(20);
  stepper.step(-50);
  delay(100);
}

Sketch cukup sederhana dan clean, karena hal rumit sudah dikerjakan oleh library stepper.h

Pertama load library stepper.h

#include <Stepper.h>

Lalu define steps, ini tergantung dari stepper motor yang digunakan. Umumnya stepper motor memiliki angle step 7.5 atau 1.8 derajat. Pada proyek ini digunakan stepper motor 1.8 derajat.

Untuk menentukan berapa banyak step yang diperlukan oleh stepper motor, bagi 360 derajat (1 putaran penuh) dengan angle step, dalam hal ini 1.8 derajat, maka hasilnya adalah 200 step.

#define STEPS 200

Buat objek stepper motor, beri nama stepper dan assign pins untuk coil dari stepper motor.

Stepper stepper(STEPS, 4, 5, 6, 7);

Untuk menentukan kecepatan motor dalam rpm (revolution per minute), digunakan fungsi .setSpeed()

stepper.setSpeed(60);

Perintah untuk memutar motor adalah .step()

stepper.step(200);

Angka negatif dapat digunakan pada perintah .step(), silakan dicoba untuk melihat bagaimana arah putaran motor bila diberi angka negatif.

Silakan bereksperimen dengan memainkan parameter speed dan step.

Sharing is caring: