Percobaan 6
Kontrol Putaran Motor Stepper
1. Foto Hardware dan Diagram Blok [Kembali]
2. PROSEDUR PERCOBAAN [Kembali]
- Rangkai semua komponen
- Buat program di aplikasi arduino IDE
- Setelah selesai masukkan program ke arduino
- jalankan program pada simulasi dan cobakan dengan modul
3. RANGKAIAN SIMULASI DAN PRINSIP KERJA[Kembali]
Pada rangkaian di atas adalah rangkaian percobaan dengan input berupa button dan outputnya berupa motor stepper. Pada rangkaian di atas button di hubungkan ke arduino yang berperan sebagai input. Lalu pada arduino telah di program untuk memberikan gerakan yang berbeda pada motor ketika salah satu button di tekan. Lalu juga ada driver dari motor stepper ini yang memberikan izin atau keputusan kepada motor untuk aktif sesuai dengan kondisi yang di setting.
4. FLOWCHART DAN LISTING PROGRAM [Kembali]
#include <Servo.h> #include <Keypad.h> Servo servoMotor; const int servoPin = 11; // PWM pin for servo const int numRows = 4; // Number of rows in keypad const int numCols = 3; // Number of columns in keypad char keys[numRows][numCols] = { {'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'} }; byte rowPins[numRows] = {9, 8, 7, 6}; // Rows 0 to 3 byte colPins[numCols] = {5, 4, 3}; // Columns 0 to 2 Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, numRows, numCols); void setup() { servoMotor.attach(servoPin); servoMotor.write(90); // Initial position Serial.begin(9600); } void loop() { char key = keypad.getKey(); if (key != NO_KEY) { Serial.println(key); // Perform actions based on the key pressed switch (key) { case '1': // Move servo to position 0 degrees servoMotor.write(0); break; case '2': // Move servo to position 45 degrees servoMotor.write(45); break; case '3': // Move servo to position 90 degrees servoMotor.write(90); break; case '4': // Move servo to position 135 degrees servoMotor.write(135); break; case '5': // Move servo to position 180 degrees servoMotor.write(180); break; case '6': // Move servo to position 135 degrees servoMotor.write(135); break; case '7': // Move servo to position 90 degrees servoMotor.write(90); break; case '8': // Move servo to position 45 degrees servoMotor.write(45); break; case '9': // Move servo to position 0 degrees servoMotor.write(0); break; default: break; } } }
5. KONDISI [Kembali]
Pada rangkaian, apabila salah satu dari button di tekan, maka motor akan bergerak sesuai dengan program yang telah diberikan pada arduino sebelumnya.
6. VIDEO RANGKAIAN [Kembali]
7. ANALISA [Kembali]
1. Analisa Inputan Sinyal Apa yang menjadi masukan perputaran motor stepper( ADC / PWM )
Jawab:
Motor stepper ini menggunakan sinyal digital sebagai inputnya. Yang mana sinyal ini berasal dari fungsi digital yang membuat pin dari motor stepper ini menjadi aktif/ tidak aktif.
Untuk motor stepper ini tidak ada ADC atau PWM yang digunakan, namun ada button yang menjadi input.
- Saat button 1 ditekan, motor bergerak maju-mundur 50 langkah, jeda 200 ms
- Saat button 2 ditekan, motor bergerak maju-mundur 60 langkah.
- Saat button 3 ditekan, motor berputar melawan arah jarum jam
- Saat button 4 ditekan, motor berputar searah jarum jam.
2. Analisa Kenapa motor stepper disebut motor yang sangat presisi , jelaskan dengan membandingkan nya dengan dua motor lainnya.
Jawab:
Motor stepper dikenal sebagai motor yang sangat presisi karena kemampuannya untuk melakukan pergerakan diskrit atau langkah-langkah yang terukur dengan tepat. Pergerakan ini terjadi berdasarkan sinyal pulsa yang dikirimkan ke motor stepper, sehingga dapat dikendalikan dengan akurasi tinggi.
Perbandingan dengan motor DC: motor stepper lebih unggul dalam presisi karena motor DC biasanya mengandalkan feedback dari encoder untuk mengatur posisi, yang rentan terhadap kesalahan.
Perbandingan dengan motor servo: Motor servo juga memiliki presisi yang tinggi karena menggunakan feedback loop untuk mengontrol posisi. Namun, motor stepper jauh lebih presisi .
3. Berdasarkan Jawaban soal nomor 1 tadi analisa bagaimana Pengaruh ADC/ PWM dalam sudut perputaran motor stepper.
Jawab:
PWM dapat menentukan kecepatan dari motor stepper dengan memberikan perubahan setting delay time pada arduino. Gerak motor akan bergantung oada delay time karena delay time menentukan kecepatan pulsa yang datang ke motor.
8. LINK DOWNLOAD [Kembali]
Datasheet Arduino UNO download file
Datasheet Push Button download file
Datasheet Motor Stepper download file
Datasheet L293D download file
Tidak ada komentar:
Posting Komentar