Rabu, 04 Agustus 2010

PENGATURAN PINTU KERETA API

BAB IV
PEMBAHASAN

4.1 Cara Kerja Sistem




































Gambar 4.1 Rangkaian Keseluruhan Sistem
Pada gambar 4.1 merupakan rangkaian keseluruhan sistem dari alat. Cara kerja sistem dari rangkaian diatas adalah catu daya memberikan supplay tegangan yang dibutuhkan oleh semua rangkaian, dimana tegangan sudah diatur sesuai dengan supplay yang dibutuhkan masing-masing rangkaian. Sensor medan magnet yang dipasang pada Pin D0 (PD0) dan Pin D1 (PD1) adalah sebagai input-an sinyal, sedangkan Pin C0 (PC0) dan Pin C1 (PC1) digunakan sebagai output penggerak motor DC.
Sinyal input-an yang dihasilkan oleh sensor medan magnet kemudian diteruskan ke output pada PC0 dan PC1. Kemudian sinyal tersebut masuk ke rangkaian relay melalui transistor yang berperan sebagai penguat arus untuk mengaktifkan relay. Apabila transistor pada relay1 aktif, maka motor akan bergerak searah jarum jam dan begitu sebaliknya, apabila transistor pada relay2 yang aktif maka motor akan bergerak berlawanan jarum jam.
Pada gambar rangkaian 4.1 terdapat saklar (S1 dan S2), dimana saklar memutuskan hubungan tegangan sensor. S1 dan S2 akan terbuka pada saat palang pintu kereta pada posisi 90o , hal ini akan mengakibatkan kondisi pada PD0 dan PD1 akan berlogika 0. Begitu juga dengan output PC0 dan PC1 akan berlogika 0, sehingga motor berhenti.

4.2 Analisa
Untuk mengetahui bagaimana alat ini bekerja secara rinci, berikut adalah analisa yang meliputi analisa sensor, analisa gerak motor DC, paparan sistem, flowchart serta program yang ada pada mikrokontroler.
4.2.1 Analisa Sensor
Tabel 4.1 Data analisa sensor
No Sensor Output
1 Mendeteksi medan magnet 0
2 Tidak mendeteksi medan magnet 1

Pada tabel 4.1 diatas merupakan hasil dari analisa sensor medan magnet A1302 yang digunakan dalam pembuatan alat ini. Daerah kerja dari sensor A1302 adalah pada tegangan 4,5V – 6V. Sensor medan magnet ini akan berlogika 0 pada kaki output apabila mendeteksi adanya medan magnet. Sedangkan akan berlogika 1 jika tidak mendeteksi adanya medan magnet.

4.2.2 Analisa Gerak Motor DC
Analisa gerak motor merupakan penjelasan dari logika yang diberikan PC0 dan PC1 untuk mengatur gerak motor DC. Logika pada PC0 digunakan untuk mengatur polaritas positif motor DC (M+), sedangkan logika pada PC1 digunakan untuk mengatur polaritas negatif motor DC (M-). Berikut adalah tabel analisa gerak motor.
Tabel 4.2 analisa gerak motor

No PC0 (M+) PC1 (M-)
Keterangan
1 0 0 Motor berhenti
2 0 1 Motor bergerak berlawan jarum jam (membuka pintu)
3 1 0 Motor bergerak searah jarum jam (menutup pintu)
4 1 1 Motor berhenti.

Pada tabel diatas diketahui bahwa untuk menggerakan motor searah jarum jam atau menutup pintu, kondisi PC0 diset dengan 1 dan PC1 diset dengan 0. Kondisi seperti ini polaritas positif motor DC akan mendapatkan supplay positif (+VCC) dan polaritas negatif motor DC akan mendapat supplay negatif (-VCC). Sedangkan pada kondisi PC0 belogika 0 dan PC1 berlogika 1 maka motor akan bergerak berlawan jarum jam, disebabkan motor DC mendapat supplay terbalik.
Namun jika pada polaritas motor DC mendapatkan supplay tegangan yang sama, maka motor tidak bergerak. Hal ini dapat dilihat pada contoh tabel 4.2 nomor 1 dan nomor 4. Pada kondisi output 0 semua, motor DC polaritas akan mendapatkan supplay tegangan negatif semua. Begitu pula sebaliknya pada saat kondisi semua output logika 1, maka motor DC akan mendapatkan supplay tegangan positif semua. Analisa diatas diasumsikan sensor bekerja dengan baik.

4.2.3 Paparan Sistem
Tabel 4.3 Paparan sistem

No Input Output
Keterangan
PD0 PD1 PC0 PC1
1 0 0 0 0 Arah KA dua arah (Motor berhenti)
2 0 1 0 1 KA dari sensor PD0 (palang pintu menutup)
3 1 0 0 1 KA dari sensor PD1 (palang pintu menutup)
4 1 1 0 0 Tidak ada KA yang melintas (Motor berhenti)

Pada paparan sistem ini akan dijelaskan tentang masukan logika dalam bentuk bilangan biner pada pin PD0 dan pin PD1 serta hasilnya terhadap output. Jadi hasil dari output ditentukan dari input PD0 dan PD1. Sedangkan hasil dari input merupakan kemungkinan – kemungkinan yang terjadi dari respon sensor. Dari respon inilah pada output ditentukan nilai PC0 dan PC1 yang digunakan untuk mengatur palang pintu perlintasan.
Didalam tabel 4.2 kode yang dihasilkan pada baris nomor 1 out put PC0 dan PC1 berlogika 0. Kedua sensor mendeteksi adanya magnet, hal ini bisa diasumsikan adanya kereta dari dua arah. Kondisi seperti ini kaki command pada relay1 dan relay2 akan sama-sama terhubung ke ground. Sehingga mengakibatkan motor DC tidak bergerak.
Pada out put yang dihasilkan PC0 berlogika 0 dan PC1 berlogika 1 yang terdapat pada baris nomor 2 menandakan arah kereta api berasal dari sensor medan magnet yang terpasang pada PC0. Pada saat kereta api lewat maka medan magnet yang terdeteksi oleh sensor yang terpasang di PC0 akan mengubah logika 1 menjadi logika 0. Program yang telah dimasukan didalam mikrokontroler kemudian akan meresponnya dan berjalan sesuai dengan alur program.
Pada tabel 4.2 baris nomor 3 out put PC0 belogika 1 dan pada out put PC1 belogika 0, kondisi seperti ini menandakan bahwa kereta api terdeteksi dari arah sensor yang terpasang di PC1. Perubahan kondisi segera direspon oleh mikrokontroler untuk segera menggerakkan motor menutup palang pintu perlintasan kereta api.
Sedangkan pada baris nomor 4 tabel 4.2 PC0 dan PC1 mempunyai logika 0. Kondisi yang sama seperti ini diakibatkan dari tidak adanya medan magnet yang terdeteksi oleh kedua sensor yang terpasang pada PD0 dan PD1. Sehingga pada out put di set dengan logika 0, hal ini dimaksudkan agar kedua polaritas pada motor DC terhubung pada polaritas yang sama. Untuk menghentikan gerak motor DC pada PC0 dan PC1 juga dapat di set dengan logika 1, yang membedakan adalah pada saat di set 1 maka kedua polaritas akan terhubung ke +VCC.
4.2.4 Flowchart









































Gambar 4.2 Flowchart Program
Flowchart merupakan langkah-langkah menyelesaikan masalah secara bertahap. Pada awal program PD0 dan PD1 diset dengan logika 1, hal ini di karena pada pertama kali alat bekerja, sensor medan magnet belum mendeteksi adanya medan magnet. Seperti pada prinsip awalnya, apabila sensor tidak mendeteksi adanya medan magnet maka pada kaki out put sensor berlogika 1. Hal ini dilogikan dalam bentuk biner dengan bilangan 1, dan apabila sensor mendeteksi medan magnet maka pada kaki out put sensor akan belogika 0.
Setelah pengesetan awal (PD0 dan PD1), kemudian program akan melangkah ke tahapan selanjutnya yaitu mengecek apakah pada kaki PD0 berlogika 1 dan kaki PD1 berlogika 0. Jika kondisi tersebut terpenuhi maka program akan melangkah ke tahapan selanjutnya yaitu menutup pintu palang perlintasan. Setelah pintu tertutup dan menyentuh saklar (S1 dan S2) maka motor akan berhenti. Hal ini di karenakan berubahnya logika pada PD0 dan PD1 menjadi 0. Setelah delay selesai, motor akan bergerak membuka pintu dan berhenti sesuai dengan program yang dimasukan sampai dengan selesai.
Tetapi apabila kondisi PD0 berlogika 1 dan PD1 berlogika 0 tidak terpenuhi, maka program akan mengecek kembali apakah kondisi PD0 berlogika 0 dan PD1 berlogika 1. Apabila kondisi tersebut tidak terpenuhi, program akan kembali pada pengesetan awal. Jika kondisi PD0 berlogika 0 dan PD1 berlogika 1 terpenuhi maka program akan melangkah ke tahapan selanjutnya yaitu menggerakan motor untuk menutup palang pintu. Setelah itu program akan melangkah ketahapan delay sampai dengan selesai. Pada flowchart diatas untuk mengatur lamanya antara pintu menutup dan membuka digunakan delay.
4.2.5 Analisa Program
Program dibawah ini merupakan program yang dimasukan kedalam mikrokontroler ATMega16 yang mengatur palang pintu perlintasan kerata api berdasarkan flowchart pada gambar 4.2.

#include
#include
void main(void)
{
PORTC=0xFF;
DDRC=0xFF;
PORTD=0x00;
DDRD=0x00;
while (1)
{
if ((PIND.0==1) && (PIND.1==1)) // kondisi
{
PORTC.0=0; // pengesetan output
PORTC.1=0;
}
else if ((PIND.0==0) && (PIND.1==1)) // kondisi lain
{
PORTC.0=0; //tutup pintu
PORTC.1=1;
while ((PIND.0==0) && (PIND.1==0))
PORTC.0=0;
PORTC.1=0; //motor off
delay_ms(10000); // lamanya pintu tertutup
{
PORTC.0=1; //buka pintu
PORTC.1=0;
delay_ms(500); //lamanya motor bergerak menutup pintu
PORTC.0=0; //motor off
PORTC.1=0;
}
}
else if ((PIND.1==1)&&(PIND.0=0)) // kondisi lain
{
PORTC.0=0; //tutup pintu
PORTC.1=1;
while ((PIND.0==0) && (PIND.1==0))
PORTC.0=0;
PORTC.1=0; //motor off
delay_ms(10000); // lamanya pintu tertutup
{
PORTC.0=1; //buka pintu
PORTC.1=0;
delay_ms(500); //lamanya motor bergerak menutup pintu
PORTC.0=0; //motor off
PORTC.1=0;
}
}
else if ((PIND.0==0) && (PIND.1==0)) // kondisi
{
PORTC.0=0; // pengesetan output
PORTC.1=0;
}
};
}

1 komentar:

  1. gambar flowchartnya mana?? tolong di upload donk..soalnya butuh ,,terimakasih

    BalasHapus