Modul 2 Percobaan 6
Kontrol Putaran Motor Stepper
1. Prosedur [Kembali]
- Rangkai semua komponen
- Buat program di aplikasi arduino IDE
- Setelah selesai masukkan program ke arduino
- Jalankan program pada simulasi dan cobakan dengan modul
- Lihat hasil pada 7-Segment
- Rangkaian
- Prinsip Kerja
Cara kerja motor stepper berbeda beda, tergantung pada konstruksi rotor dan stator serta sistem lilitan pada statornya. Namun setiap stepper digerakkan oleh pulsa digital yang diubah setiap waktu.
Kecepatan sinyal pulsa digital atau lebih tepatnya frekuensi sinyal mempengaruhi kecepatannya. Semakin cepat frekuensi sinyal, maka semakin cepat pula RPM pada stepper.
Sinyal digital ini dapat pula digunakan untuk menentukan posisi pada motor stepper. Misalnya saja, stepper dengan sudut step 1.8° maka untuk satu putaran penuh diperlukan 200 step, sehingga untuk setengah putaran stepper memerlukan 100 step dan untuk satu setengah putaran diperlukan 300 step. Hal inilah yang mejadikan stepper banyak dipakai pada mesin printer 3D dan CNC Engraving.
Sinyal digital yang diberikan pada rotor menghasilkan medan magnetik yang berinteraksi dengan rotor pada motor stepper. Hal ini menyebabkan motor bergerak dalam satu sudut stepnya, dan bertahan sampai sinyal digital berikutnya.
- Flowchart
- Listing Program
//M2P6
#define A 8
#define B 9
#define C 10
#define D 11
#define PB1 2
#define PB2 3
#define PB3 4
#define PB4 5
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(PB1, INPUT);
pinMode(PB2, INPUT);
pinMode(PB3, INPUT);
pinMode(PB4, INPUT);
}
void pergerakan_1(){
digitalWrite(A,0);
digitalWrite(D,1);
digitalWrite(B,0);
digitalWrite(C,1);
}
void pergerakan_2(){
digitalWrite(A,1);
digitalWrite(D,1);
digitalWrite(B,0);
digitalWrite(C,0);
}
void pergerakan_3(){
digitalWrite(A,1);
digitalWrite(D,0);
digitalWrite(B,1);
digitalWrite(C,0);
}
void pergerakan_4(){
digitalWrite(A,0);
digitalWrite(D,0);
digitalWrite(B,1);
digitalWrite(C,1);
}
void nonpergerakan(){
digitalWrite(A,0);
digitalWrite(D,0);
digitalWrite(B,0);
digitalWrite(C,0);
}
void loop() {
int b4 = digitalRead(PB4);
int b3 = digitalRead(PB3);
int b2 = digitalRead(PB2);
int b1 = digitalRead(PB1);
if (b4 == HIGH)
{
pergerakan_4(); // Pindahkan servo ke 45 derajat
}
else if (b3 == HIGH)
{
pergerakan_3(); // Pindahkan servo ke 45 derajat
}
else if (b2 == HIGH)
{
pergerakan_2(); // Pindahkan servo ke 45 derajat
}
else if (b1 == HIGH)
{
pergerakan_1(); // Pindahkan servo ke 45 derajat
}
else {
nonpergerakan();
delay(100);
}
}
Percobaan 6 Kontrol Putaran Motor Stepper
- HTML klik disini
- Gambar Hardware klik disini
- Gambar Simulasi klik disini
- Video Demo klik disini
- Listring Program klik disini
Tidak ada komentar:
Posting Komentar