Baik kali ini saya akan memberikan
tutorial sederhana mengendalikan motor Stepper dengan arduino.
Kalian sudah tahu bahwa motor listrik digunakan untuk "menggerakkan" sesuatu dalam peralatan elektronika seperti robot yaitu : roda, kaki, trek, lengan, jari, menara sensor, sistem kamera, atau senjata nya. secara harfiah ada puluhan jenis motor listrik tapi saya akan membahas jenis yang paling umum digunakan dalam bidang robotika. Motor diklasifikasikan sebagai:
Kalian sudah tahu bahwa motor listrik digunakan untuk "menggerakkan" sesuatu dalam peralatan elektronika seperti robot yaitu : roda, kaki, trek, lengan, jari, menara sensor, sistem kamera, atau senjata nya. secara harfiah ada puluhan jenis motor listrik tapi saya akan membahas jenis yang paling umum digunakan dalam bidang robotika. Motor diklasifikasikan sebagai:
- AC motor
- Brushed DC motor
- Brushless DC motor
- Geared DC motor
- Servo motor
- Stepper motor
Namun pada kesempatan kali ini saya
hanya akan menjelaskan mengenai motor stepper serta cara menggunakannya.
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 motor stepper tersebut.
Kelebihan Motor
Stepper
Kelebihan motor
stepper dibandingkan dengan motor DC biasa adalah :
- Sudut rotasi motor proporsional dengan pulsa masukan sehingga lebih mudah diatur.
- Motor dapat langsung memberikan torsi penuh pada saat mulai bergerak
- Posisi dan pergerakan repetisinya dapat ditentukan secara presisi
- Memiliki respon yang sangat baik terhadap mulai, stop dan berbalik (perputaran)
- Sangat realibel karena tidak adanya sikat yang bersentuhan dengan rotor seperti pada motor DC
- Dapat menghasilkan perputaran yang lambat sehingga beban dapat dikopel langsung ke porosnya
- Frekuensi perputaran dapat ditentukan secara bebas dan mudah pada range yang luas.
Prinsip kerja motor stepper adalah mengubah pulsa-pulsa
input menjadi gerakan mekanis diskrit. Oleh karena itu untuk menggerakkan motor
stepper diperlukan pengendali motor stepper yang membangkitkan pulsa-pulsa
periodik.
Ada
beberapa macam motor stepper salah
satunya ialah Motor Stepper Hybrid
(HB). Motor stepper tipe hibrid memiliki
struktur yang merupakan kombinasi dari kedua tipe motor stepper Variable reluctance (VR) dan Permanent Magnet (PM).
Motor stepper tipe hibrid memiliki gigi-gigi seperti pada motor tipe VR dan
juga memiliki magnet permanen yang tersusun secara aksial pada batang porosnya
seperti motor tipe PM. Motor tipe ini paling banyak digunkan dalam berbagai
aplikasi karena kinerja lebih baik. Motor tipe hibrid dapat menghasilkan
resolusi langkah yang tinggi yaitu antara 3,60 hingga 0,90
per langkah atau 100-400 langkah setiap putarannya. Berikut ini adalah
penampang melintang dari motor stepper tipe hibrid :
Stepper motor ditemukan di printer, scanner, lengan robot industri, printer 3D, dan cukup banyak di setiap perangkat gerak presisi.
Disini Kita akan mencoba mengendalikan motor stepper bipolar menggunakan Arduino dan driver motor L298. Berikut adalah apa yang kita butuhkan:
- Papan Arduino dihubungkan ke komputer melalui USB
- Driver motor L298
- Sebuah motor stepper bipolar.
kemudian upload sketch dibawah ini ke board arduino kalian.
#include <Stepper.h>
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
int stepCount = 0; // number of steps the motor has taken
void setup() {
// nothing to do inside the setup
}
void loop() {
// read the sensor value:
int sensorReading = analogRead(A0);
// map it to a range from 0 to 100:
int motorSpeed = map(sensorReading, 0, 1023, 0, 100);
// set the motor speed:
if (motorSpeed > 0) {
myStepper.setSpeed(motorSpeed);
// step 1/100 of a revolution:
myStepper.step(stepsPerRevolution / 100);
}
}
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
int stepCount = 0; // number of steps the motor has taken
void setup() {
// nothing to do inside the setup
}
void loop() {
// read the sensor value:
int sensorReading = analogRead(A0);
// map it to a range from 0 to 100:
int motorSpeed = map(sensorReading, 0, 1023, 0, 100);
// set the motor speed:
if (motorSpeed > 0) {
myStepper.setSpeed(motorSpeed);
// step 1/100 of a revolution:
myStepper.step(stepsPerRevolution / 100);
}
}
oke sekian dulu postingan kali ini.. selamat mencoba :)