PERCOBAAN 6
Kontrol Putaran Motor Stepper
- Rangkai semua komponen sesuai kondisi yang dipilih
- buat program di aplikasi arduino IDE
- setelah selesai masukkan program ke arduino (Verify and Upload)
- jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
- Selesai
2. Hardware dan diagram blok
[Kembali]
A. Hardware
1. Motor Stepper
2. PushButton
3. Arduino Uno
4. ULN2003A
B. Digram Blok
3. Rangkaian Simulasi dan Prinsip kerja
[Kembali]
Prinsip Kerja
Dalam eksperimen kami yang keenam, kami berhasil mengatur gerakan motor stepper dengan menggunakan sebuah tombol sebagai pengendali. Kami memilih driver motor servo yang dilengkapi rotor dengan gigi lebih banyak dibandingkan motor DC atau servo biasa, yang memberikan keakuratan lebih pada motor stepper. Program Arduino yang kami kembangkan memungkinkan operasi ini, disesuaikan untuk keperluan eksperimental kami.
Kami menggunakan tombol untuk mengendalikan motor stepper dengan presisi. Driver motor servo yang kami gunakan, yang memiliki rotor dengan lebih banyak gigi, merupakan faktor penting dalam mencapai presisi yang kami butuhkan. Ini memungkinkan motor stepper beroperasi dengan akurasi yang lebih tinggi.
Dengan pemrograman Arduino yang cermat, kami dapat mengendalikan motor stepper dengan sangat akurat. Ini memungkinkan penyesuaian gerakan motor stepper untuk memenuhi kebutuhan eksperimen kami. Eksperimen ini tidak hanya meningkatkan pemahaman kami tentang motor stepper, tetapi juga menekankan pentingnya pemilihan komponen yang tepat untuk presisi yang diperlukan dalam aplikasi khusus.
4. FlowChart
[Kembali]
#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11
#define PB1 2
#define PB2 3
#define PB3 4
#define PB4 5
int step = 100;
int delaytime=5; //makin kecil delay, makin cepat motor berputar
void setup(){
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
pinMode(PB1, INPUT);
pinMode(PB2, INPUT);
pinMode(PB3, INPUT);
pinMode(PB4, INPUT);
}
void loop(){
int b4 = digitalRead(PB4);
int b3 = digitalRead(PB3);
int b2 = digitalRead(PB2);
int b1 = digitalRead(PB1);
if (b4 == HIGH){
maju();
}
else if (b3 == HIGH){
mundur();
}
else if (b2 == HIGH){
for (int i = 0; i < 60; i ++){
maju();
}
for (int i = 0; i < 60; i++){
mundur();
}
}
else if (b1 == HIGH){
for (int i = 0; i < 50; i++){
maju();
}
delay(2000);
for (int i = 0; i < 50; i++){
mundur();
}
}
}
void maju(){
//step 4
step1();
delay(delaytime);
//step 3
step2();
delay(delaytime);
//step 2
step3();
delay(delaytime);
//step 1
step4();
delay(delaytime);
}
void mundur(){
//step 4
step4();
delay(delaytime);
//step 3
step3();
delay(delaytime);
//step 2
step2();
delay(delaytime);
//step 1
step1();
delay(delaytime);
}
void step1(){
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,HIGH);
}
void step2(){
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
}
void step3(){
digitalWrite(IN1,HIGH);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
}
void step4(){
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
}
B. Flowchart
5. Video Demo [Kembali]
6. Kondisi [Kembali]
Percobaan 6 sesuai dengan modul
7. Download File
[Kembali]
Download HMTL klik disini
Download Simulasi Rangkaian klik disini
Download Video Demo klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet Push Button klik disini
Download Datasheet ULN2003A klik disini
Data sheet Motor Stepper klik disini
-