TP 2 Modul 1
MODUL 1
TUGAS PENDAHULUAN 2: Percobaan 4 Kondisi 1
1. Prosedur [kembali]
1. Persiapan Perangkat Keras
Langkah awal melibatkan penyediaan seluruh komponen inti yang terdiri dari mikrokontroler STM32 Nucleo, unit sensor (Flame Sensor dan Float Switch), serta jajaran aktuator yang meliputi relay, buzzer, dan LED. Pastikan seluruh material telah memenuhi spesifikasi teknis yang tercantum dalam daftar komponen proyek.
2. Perakitan dan Integrasi Rangkaian
Integrasikan seluruh komponen pada breadboard dengan mengacu pada skema sirkuit yang telah ditentukan:
Konfigurasi Input: Sambungkan Flame Sensor dan Float Switch ke terminal input A0 dan A1 pada STM32. Gunakan resistor pull-down ke jalur ground guna menstabilkan pembacaan data dan meminimalisir noise.
Konfigurasi Output: Hubungkan modul relay, buzzer, dan LED (dilengkapi resistor pembatas arus) masing-masing ke pin digital D2, D3, dan D4.
Manajemen Daya: Pastikan seluruh jalur VCC terhubung ke sumber tegangan yang stabil dan seluruh terminal GND terintegrasi pada satu jalur common ground untuk mencegah perbedaan potensial.
3. Implementasi Perangkat Lunak (Firmware)
Unggah algoritma pemrograman ke dalam mikrokontroler untuk menjalankan fungsi akuisisi data sensor dengan logika operasional sebagai berikut:
Kendali Level Cairan: Apabila Float Switch mendeteksi ambang batas kapasitas tangki, mikrokontroler akan memicu relay untuk memutus atau menghubungkan arus pada pompa secara otomatis.
Sistem Proteksi Kebakaran: Jika Flame Sensor mengidentifikasi adanya radiasi inframerah dari api, sistem akan mengaktifkan buzzer dan LED secara simultan sebagai sinyal peringatan dini.
4. Validasi dan Uji Fungsional
Uji Respons Api: Berikan stimulus berupa sumber panas/api di area jangkauan Flame Sensor untuk memastikan alarm visual (LED) dan auditif (buzzer) beroperasi secara responsif.
Simulasi Level Air: Manipulasi posisi Float Switch guna mensimulasikan perubahan level cairan; verifikasi fungsionalitas relay melalui indikator suara (bunyi klik) atau pengukuran kontinuitas untuk memastikan pompa merespons perubahan status tersebut.
2. Hardware dan Diagram Blok [kembali]
3. Rangkaian Simulasi dan Prinsip Kerja [kembali]
Prinsip Kerja:
Sistem kontrol otomatis tangki minyak ini mengandalkan mikrokontroler STM32 Nucleo sebagai unit pemrosesan pusat yang mengintegrasikan data sensor secara real-time untuk mengendalikan dua fungsi krusial, yakni manajemen level cairan dan proteksi keselamatan. Dalam operasionalnya, float switch berperan sebagai sensor level yang mendeteksi elevasi minyak dan mengirimkan sinyal kepada mikrokontroler untuk mengoperasikan relay sebagai sakelar otomatis pompa, sementara flame sensor bertugas memantau radiasi inframerah dari potensi api di sekitar area tangki. Apabila deteksi api terkonfirmasi, sistem secara instan memicu respons darurat berupa peringatan auditif melalui buzzer dan indikator visual melalui LED untuk menandakan status bahaya. Seluruh mekanisme ini bekerja dalam skema closed-loop (lingkar tertutup), di mana data kondisi aktual tangki secara kontinu diumpanbalikkan ke kontroler guna memastikan volume minyak tetap stabil pada parameter aman sekaligus meminimalisir risiko kegagalan sistem tanpa memerlukan intervensi manual.
4. Flowchart dan Listing Program[kembali]
Blok kode ini merupakan fase inisialisasi fundamental dalam ekosistem pemrograman STM32 berbasis HAL (Hardware Abstraction Layer) Library yang menjamin kesiapan perangkat keras sebelum beroperasi. Proses dimulai dengan pemanggilan fungsi Hal_Init(), yang secara sistematis melakukan reset pada seluruh periferal, mengonfigurasi antarmuka memori Flash, serta mengaktifkan sistem SysTick sebagai basis pewaktuan. Tahapan berikutnya adalah eksekusi SystemClock_Config untuk mengalibrasi arsitektur pendetakan sistem pada frekuensi kerja yang optimal, diikuti oleh fungsi MX_GPIO_Init yang menetapkan peran spesifik setiap pin GPIO seperti jalur input untuk sensor serta jalur output untuk aktuator—agar selaras dengan skema rangkaian. Melalui rangkaian inisialisasi ini, mikrokontroler dipastikan berada dalam kondisi stabil dan siap menjalankan algoritma kontrol utama secara berkelanjutan di dalam loop program.
Blok kode ini merupakan siklus utama (infinite loop) yang berfungsi sebagai pusat kendali otomatis untuk memantau stabilitas serta keamanan tangki secara berkelanjutan melalui akuisisi data status dari flame sensor dan float switch menggunakan fungsi HAL_GPIO_ReadPin. Secara algoritma, jika sistem mendeteksi keberadaan api, mikrokontroler akan segera mengaktifkan LED dan buzzer sebagai sinyal darurat sekaligus memutus arus pada relay untuk menonaktifkan pompa sebagai langkah preventif; di mana logika pengendalian pompa ini dirancang dengan sistem redundansi yang akan menghentikan operasi jika terdeteksi anomali api atau saat tangki telah mencapai kapasitas maksimum. Sebaliknya, pompa hanya akan tetap beroperasi apabila kondisi lingkungan dinyatakan aman dan volume tangki masih berada di bawah ambang batas, dengan seluruh siklus pemantauan yang dieksekusi setiap 100 milidetik melalui fungsi HAL_Delay(100) guna menjamin respons sistem yang presisi, responsif, dan stabil.
Fungsi MX_GPIO_Init fitur pull-down internal guna menjamin stabilitas logika sinyal dan mencegah ambiguitas saat sensor tidak terpicu. Untuk jalur aktuasi, pin yang mengendalikan LED, buzzer, dan relay ditetapkan sebagai output push-pull dengan profil frekuensi rendah demi efisiensi konsumsi daya. Sebagai penutup, fungsi ini mengeksekusi instruksi HAL_GPIO_WritePin untuk memposisikan status awal relay pada kondisi SET, yang secara default menginstruksikan pompa untuk langsung beroperasi saat sistem pertama kali diaktifkan.
Fungsi SystemClock_Config memegang peranan krusial dalam menentukan kecepatan eksekusi prosesor dengan mengatur sumber detak (clock source) internal maupun eksternal, di mana pada implementasi ini sistem menggunakan konfigurasi standar sesuai parameter default lingkungan pengembangan. Sementara itu, fungsi Error_Handler bertindak sebagai protokol keamanan tingkat akhir yang akan menginterupsi jalannya program apabila terdeteksi kegagalan inisialisasi atau anomali sistem yang bersifat fatal. Melalui pemanfaatan instruksi while(1) {}, fungsi ini secara sengaja mengunci sistem dalam iterasi tak terbatas untuk memitigasi risiko kerusakan perangkat keras serta memberikan titik henti (breakpoint) yang stabil bagi pengembang guna melakukan prosedur pelacakan kutu (debugging) saat terjadi kesalahan.
5. Video Demo[kembali]
...
6. Kondisi [kembali]
Percobaan 4 Kondisi 1:
Buatlah rangkaian seperti pada gambar percobaan 4 dengan kondisi ketika float switch mendeteksi tidak adanya aliran minyak (tangki kosong) dan flame sensor tidak mendeteksi api, maka pompa menyala untuk memulai proses pengisian, LED indikator mati, dan buzzer tidak berbunyi.
7. Video Simulasi [kembali]
8. Download File [kembali]
Komentar
Posting Komentar