Mahir Arduino Sketch dan Elektro secara praktek

25 - Basic Stepper Control

Projek kali ini simple, menghubungkan stepper motor dengan Arduino dan mengontrolnya.

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


Skema

Pastikan Arduino dan L293 terhubung ke power supply DC eksternal agar tidak membebani
Arduino. Arduino tidak perlu dihubungkan dengan suplai eksternal, L293 (atau SN754410).

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 juga 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 Anda gunakan 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);
}


Pembahasan Kode

Program pada proyek ini sederhana dan clean, karena kerja berat sudah dikerjakan oleh library stepper.h

Pertama kita 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

Lalu kita buat objek stepper motor, kita 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);

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

Saya kira, sketch diatas sudah cukup menjelaskan tanpa perlu dibahas lebih detail karena tutorial ini kesannya akan bertele-tele.

Silakan bereksperimen dengan memainkan parameter speed dan step. Semoga bermanfaat.


Semoga bermanfaat.

Artikel Sebelumnya Display Suhu

Artikel Berkaitan

No comments:

Post a Comment