PERCOBAAN 6
Kontrol Putaran Motor Stepper
- Rangkailah seperti rangkaian berikut
- Buka Arduino IDE dan masukan listing Program
- Upload program ke arduino
- Mencoba rangkaiannya dengan memvariasikan kondisi push button
2. Hardware dan Diagram Blok
[Kembali]
A. Hardware
1. Motor Stepper
2. PushButton
3. Arduino Uno
B. Digram Blok
3. Rangkaian Simulasi dan Prinsip kerja
[Kembali]
Prinsip Kerja
Pada percobaan 6, untuk mengendalikan putaran motor stepper menggunakan tombol sebagai input dan mengarahkan keluaran pada motor stepper, sementara menggunakan driver motor servo yang memiliki rotor dengan jumlah gigi lebih banyak daripada motor DC dan motor servo lainnya. Keberadaan rotor dengan jumlah gigi lebih banyak ini memberikan keunggulan dalam presisi putaran motor stepper. Rangkaian ini dioperasikan melalui program Arduino yang telah kami atur dan diatur sesuai kebutuhan eksperimen.
Dengan memanfaatkan tombol sebagai input, kami dapat mengontrol pergerakan motor stepper secara tepat sesuai keinginan. Penggunaan driver motor servo dengan rotor yang memiliki lebih banyak gigi dari motor DC dan motor servo lainnya menjadi pilihan kritis dalam mencapai tingkat presisi yang diinginkan. Perbedaan ini memungkinkan motor stepper untuk beroperasi dengan akurasi yang lebih tinggi dalam melakukan putaran.
Melalui pengaturan dan pemrograman yang tepat dalam Arduino, kami dapat mengendalikan motor stepper dengan presisi yang tinggi. Hal ini memungkinkan kami untuk menyesuaikan pergerakan motor stepper sesuai dengan kebutuhan spesifik dari eksperimen yang sedang kami lakukan. Dengan demikian, eksperimen ini tidak hanya memberikan pemahaman yang lebih dalam tentang penggunaan motor stepper, tetapi juga mengilustrasikan pentingnya memilih komponen yang sesuai untuk mencapai tingkat presisi yang diperlukan dalam aplikasi tertentu.
4. FlowChart
[Kembali]
digitalWrite(LED,LOW);
digitalWrite(buzzer,HIGH);
count = 0;
delay(100000);
}#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 TOUCH SENSOR klik disini
Download Datasheet LCD 2X16 klik disini
Tidak ada komentar:
Posting Komentar