1. Prosedur [kembali]
2. Hardware dan Diagram Blok [kembali]
Hardware :
1. Raspberry Pi Pico
2. Motor Servo
3. Buzzer
4. Potensiometer
Diagram Blok:
3. Rangkaian Simulasi dan Prinsip Kerja [kembali]
-
Deklarasi Variabel:
-
ADC_HandleTypeDef hadc1;
untuk menginisialisasi ADC. -
current_mode
untuk menentukan apakah motor berputar searah jarum jam (CW) atau berlawanan arah jarum jam (CCW).
-
-
Urutan Langkah Stepper:
-
STEP_SEQ_CW
danSTEP_SEQ_CCW
mendefinisikan urutan langkah motor untuk berputar searah atau berlawanan arah jarum jam.
-
-
Fungsi
RunStepper
:-
Digunakan untuk menggerakkan motor stepper sesuai dengan urutan langkah yang diberikan (
STEP_SEQ_CW
atauSTEP_SEQ_CCW
).
-
-
Fungsi
MX_ADC_Init
danMX_GPIO_Init
:-
MX_ADC_Init
mengonfigurasi ADC untuk membaca nilai dari saluran yang diinginkan. -
MX_GPIO_Init
mengonfigurasi GPIO untuk output motor dan input sensor.
-
-
Fungsi
SystemClock_Config
:-
Mengonfigurasi clock sistem, yang memastikan bahwa MCU bekerja dengan frekuensi yang benar.
-
-
Loop Utama:
-
Dalam loop utama, ADC dibaca dan motor stepper dijalankan berdasarkan nilai ADC (mode CW atau CCW).
Prinsip kerja dari kode ini terhadap rangkaian adalah sebagai berikut: mikrokontroler membaca nilai tegangan analog dari sebuah sensor melalui modul ADC (Analog to Digital Converter) yang telah dikonfigurasi menggunakan fungsi MX_ADC_Init
. Nilai ADC ini digunakan untuk menentukan arah putaran motor stepper, apakah searah jarum jam (CW) atau berlawanan arah jarum jam (CCW), dengan mengatur variabel current_mode
. Berdasarkan nilai ini, fungsi RunStepper
akan dipanggil untuk mengaktifkan urutan sinyal yang sesuai dari array STEP_SEQ_CW
atau STEP_SEQ_CCW
, dan sinyal tersebut dikirimkan ke pin-pin GPIO yang telah dikonfigurasi melalui fungsi MX_GPIO_Init
.
Secara fisik, sensor analog (seperti potensiometer atau sensor tekanan) dihubungkan ke salah satu pin ADC mikrokontroler (misalnya PA0). Kemudian, beberapa pin GPIO output (misalnya PA1–PA4) dihubungkan ke input driver motor stepper (seperti ULN2003 atau A4988). Driver ini bertugas menerima sinyal dari mikrokontroler dan mengatur arus ke fasa-fasa motor stepper. Output dari driver dihubungkan ke empat kabel fasa motor stepper, sehingga motor dapat berputar sesuai arah yang ditentukan. Catu daya eksternal (misalnya 12V) digunakan untuk memberi daya pada motor stepper melalui driver, sementara mikrokontroler mendapat catu daya terpisah melalui USB atau regulator (misalnya 5V/3.3V). Fungsi SystemClock_Config
memastikan sistem bekerja dengan frekuensi yang stabil. Dengan demikian, rangkaian ini bekerja secara otomatis dan dinamis, di mana perubahan nilai analog dari sensor langsung memengaruhi arah putaran motor stepper melalui kontrol logika yang dilakukan oleh mikrokontroler.
4. Flowchart dan Listing Program [kembali]
Flowchart
Listing Program
5. Kondisi [kembali]
Percobaan 4 Kondisi 7
Buatlah rangkaian seperti gambar pada percobaan 4, jika nilai pada potensiometer diperkecil maka servo bergerak searah jarum jam dan jika jika sudut servo >0 ° dan <180 ° buzzer berbunyi
6. Video Simulasi [kembali]
7. Download File [kembali]
Tidak ada komentar:
Posting Komentar