MEMBANGUN SISTIM MONITORING DAN KONTROL LEVEL AIR MELALUI SALURAN TELEPHONE

Ketika suatu plant secara geografis terletak sangat jauh, maka salah satu alternativ untuk mengaksesnya adalah melalui saluran telephone.Untuk membangun suatu sistim kontrol dan monitoring level air melalui saluran telephone diperlukan perangkat keras (hardware) dan perangkat lunak (software). Perangkat keras yang dipergunakan adalah mikrontroller 8 bit MC68HC11F1, sensor refleksi CP35MHT80 dengan keluaran tegangan analog, Solid state relay dengan tegangan masukan 3 – 32 Volt DC serta modem yang terhubung ke saluran telephone. Ada dua perangkat lunak yang harus dibangun, yaitu program aplikasi yang dipasang (embeded) pada mikrokontroller dan program aplikasi visual yang dipasang pada komputer/laptop.

Dari eksperimen diperoleh hasil bahwa sistim monitoring dan kontrol level air melalui saluran telephone dapat berjalan dengan baik, yaitu pada layar komputer dapat menampilkan data level air dari tangki air yang dimonitor dalam bentuk angka dan grafik. Pompa air yang terpasang pada plant dapat dikontrol dari tombol yang tersedia pada layar komputer yang tersambung pada saluran telphone melalui modem.

Ketika suatu plant secara geografis terletak sangat jauh, maka salah satu alternativ untuk mengaksesnya adalah melalui saluran telephone. Untuk membangun suatu sistim kontrol dan monitoring level air melalui saluran telephone diperlukan perangkat keras (hardware) dan perangkat lunak (software). Perangkat keras pada sisi plant terdiri dari Water tank, Pompa air, mikrokontroller, Sensor level air, Solid state relay dan Modem. Sedangkan pada sisi lain untuk mengakses plant diperlukan komputer/laptop dan modem. Pada kedua perangkat tersebut berjalan suatu perangkat lunak yang dibangun untuk saling berkomunikasi menjalankan fungsi kontrol dan monitor. Perangkat lunak pada sisi plant dibangun program aplikasi yang dipasang pada mikrokontroller dan pada sisi lain dibangun program aplikasi dengan visualsasi grafis sesuai dengan fungsi yang dikehendaki oleh pemakai.

Pada artikel ini plant yang dikontrol dan dimonitor adalah level air yang berada dalam tangki air. Untuk membaca level air digunakan sensor yang mengubah ketinggian permukaan air menjadi tegangan DC yang nantinya dihubungkan ke masukan Analog to Digital Converter (ADC) pada mikrokontroller. Agar mikrokontroller dapat menghidupkan atau mematikan pompa air, maka pada keluaran mikrokontroller dipasang solid state relay yang memiliki tegangan masukan 3 – 24 Volt DC dan keluaran 220 Votl AC. Untuk menghubungkan ke saluran telephone digunakan modem yang dapat diakses menggunakan instruksi khusus yang disebut dengan AT Comannd.

Sensor level air

Gambar 2. Sensor refleksi sinar laser

Sensor yang dipergunakan adalah CP35MHT80 yang berkerja dengan sistim refleksi sinar laser dengan jangkauan pengukuran 50 sampai dengan 350 mm. Sensor ini mengukur jarak benda dan keluarannya berupa tegangan analog 0 sampai dengan 10 Volt DC.

Gambar 3. Grafik hubungan jarak benda dan tegangan keluaran sensor

Jarak minimal yang dapat diukur adalah 50 mm dari posisi sensor sedangkan jarak maksimal adalah 350 mm, sehingga jangkauan pengukuran sensor adalah 300 mm. Tegangan keluaran linear mulai 0 Volt pada jarak 50 mm dari sensor sampai dengan 10 Volt pada jarak 350 mm dari sensor.Karena keluaran sensor ini akan dihubungkan ke masukan analog mikrokontroller, maka suatu rangkaian pembagi tegangan diperlukan untuk mengubah tegangan keluaran sensor dari 0 – 10 Volt menjadi 0 – 5 Volt
 seperti pada gambar berikut.

Gambar 4. Rangkaian antarmuka sensor ke mikrokontroller

Tegangan keluaran sensor keluar dari pin 6 masuk ke pin AN0 mikrokontroller melalui pembagi tegangan R3 dan R4 dengan nilai R3 dan R4 = 1 k Ohm. Persamaan tegangan masukan AN0 adalah AN0 = (R4/(R3+R4))xTegangan keluaran sensor.

Sensor juga dilengkapi saklar dengan keluaran pin 1 yang akan mengeluarkan tegangan sumber sebesar 24 Volt. Saklar akan terhubung dan mengeluarkan tegangan jika terjadi kesalahan pengukuran atau data tidak valid. Kesalahan yang dimaksud bahwa permukaan benda yang diukur berada diluar batas daerah pengukuran (lihat grafik pada gambar 3). Jika data pengukuran benar, maka pin 1 tidak mengeluarkan tegangan.Keluaran pin 1 dipergunakan untuk mengetahui kebenaran data keluaran tegangan analog sensor. Karena tegangan keluaran pin 1 adalah sebesar sumber tegangan sensor 24 Volt, maka pembagi tegangan R1 dan R2 diperlukan untuk mengubah dari 24 volt menjadi level TTL sesuai dengan tegangan kerja mikrokontroller.

Gambar 5. Display sensor

Pesan kesalahan tidak hanya berupa tegangan yang keluar dari pin 1, melainkan juga ditampilkan dengan nyala LED merah dengan symbol F. Jika data tidak valid, maka led F akan menyala. Pada bagian tengah terdapat LED kuning dengan symbol U yang kecerahan nyalanya tergantung dari jarak benda. Semakin jauh maka nyala LED U semakain terang sesuai dengan dengan tegangan keluaran sensor pada pin 6. Dengan demikian untuk keperluan pembuatan program mikrokontroller, algoritma program untuk mengukur jarak permukaan air yaitu “Jika PORTE.1 = 0, maka baca tegangan pada AN0”


Gambar 6. Pemasangan sensor

Sensor dipasang di atas tangki air dengan posisi 50 mm di atas level permukaan air maksimal atau 100% dari kapasitas tangki. Daerah pengukuran ditentukan oleh tinggi tangki yang dipergunakan. Jika tinggi (h) adalah 100 mm, maka level permukaan ketika air habis adalah 0%. Data hasil pembacaan tegangan keluaran sensor yang masuk pada ADC kanal AN0 pada mikrokontroller dapat dihitung dengan menggunakan persamaan sebagai berikut.

Daerah pengukuran sesuai data sensor (c)  = 300 mmTinggi tangki air yang dipergunakan (h) = 100 mmData maksimal ADC mikrokontroller MC68HC11F1 8 bit (b) = 255Porsentasi maksimal Level air (M) = 100 %

AN0 = (b-(b*(h/c)))-((L*(b-(b*(h/c))))/M)

Dengan menggunakan data dan persamaan di atas, jika tangki dalam keadaan kosong, level air 0% L =0, maka data AN0 dapat dihitung dan hasil perhitungan AN0 = 170Dan jika tangki air terisi penuh, level air 100% L = 100, maka data AN0 = 0Persamaan di atas adalah penting untuk membuat program yang nantinya dipasang pada mikrokontroller. Masukan berupa setting point batas atas dan batas bawah level air yang dikehendaki dikontrol dengan data referensi dalam bentuk prosentasi isi tangki air mulai 0 sampai dengan 100.

Solid State Relay

Gambar 7. Solid state relay Solid state relay (SSR) adalah relay elektronik tanpa kontak mekanik. Pada artikel ini SSR yang dipergunakan memiliki tegangan masukan DC 3-32 VDC dan tegangan kontak keluran sampai 480 VAC dengan arus maksimal 20A. Beban yang akan dipasang pada SSR adalah pompa air 220 VAC, 0,3 kW. Masukan SSR dihubungkan pada mikrokontroller dengan rangkaian sebagai berikut

Gambar 8. Rangkaian SSR Liquid Crystal Display

Gambar 9. LCD 4 baris 20 kolom

Liquid Crystal Display (LCD) dipergunakan untuk menampilkan segala informasi tentang proses yang sedang berlangsung dalam bentuk teks. Informasi yang muncul mulai terjadinya proses sambungan telephone melalui modem tahap demi tahap sampai pada informasi tentang level air actual dan kondisi pompa air dalam keadaan hidup atau mati.

LCD dengan ukuran 4 baris 20 kolom tersambung ke mikrokontroller melalui saluran Serial Pheripheral Interface dengan rangkaian sebagai berikut

Gambar 10. Rangkaian interface LCD Mikrokontroller

Gambar 11. MIkrokontroller VEDCLemps Mikrokontroller VEDCLemps adalah dibangun menggunakan chip MC68HC11F1 yang dirangkai dalam mode expanded dengan tambahan ekternal RAM 32KByte, EPROM 32Kbyte dan MAX232. Memiliki input output digital yaitu PORTA, PORTG dan PORTE. PORTE merangkap fungsi sebagai masukan analog ADC 8 bit sebanyak 8 kanal. PORTD digunakan untuk komunikasi serial SCI dan SPI. Sambungan RS232 melalui chip MAX232 dipergunakan untuk koneksi ke perangkat lain misalnya komputer atau modem. Modem telephone

Gambar 12. Modem telephone

Modem telelephone disambung ke saluran telephone ke mikrokontroller melalui RS232. Untuk mengakses modem digunakan intruksi khusus yang disebut dengan AT Command. Pada program aplikasi ini instruksi AT Command yang dipergunakan adalah "AT" <enter>, (Attention) untuk mendeteksi modem. Apabila modem tersambung dan siap, maka modem akan menjawab “OK”"ATH0" <enter>, 'Modem goes on+hook"ATE0"<enter>,, Menseting modem - Disables echo to computer"AT&D0"<enter>,  'Menseting modem - DTR Control ignored"AT&K0"<enter>, 'Menseting modem - Disable Flow Control"ATDT123"'<enter>, Dialing ke nomor telephone 123"ATH"<enter>,Memutus hubungan telephone“ATS0=3”<cr> ' Menetukan bahwa setelah 3 kali ring, modem akan menyambung Perangkat Lunak Dua program aplikasi harus dibangun, yaitu satu dipasang (embedded) pada mikrokontroller untuk keperluan jalannya sistim pada plant, dan satu lagi untuk dipasang pada komputer/laptop. Pada artikel ini program untuk mirkokontroller dibuat dengan softwar VEDCLempswin dalam bahasa assembler, sedangkan pada komputer program dapat dibuat menggunakan Integrated Development Environment misalnya Delphi atau Visual Basic atau yang lainnya.

Di bawah ini adalah program aplikasi yang dibuat menggunakan Delphi 3.



Gambar 13. Program aplikasi yang dibuat menggunakan Delphi 3 Program yang lebih sederhana dapat dibuat dengan menggunakan Visual Basic 6 sebagai berikut

Gambar 14. Program aplikasi yang dibuat menggunakan Visual Basic 6

Kode program Visual Basic

Dim d0, d1 As String
Dim i As Integer

Private Sub Command1_Click()
Form1.Caption = " ... tunggu sedang mengecek COM"
Command1.Enabled = False
Command2.Enabled = True
Command3.Enabled = False
Option1.Enabled = False
Option2.Enabled = False
Option3.Enabled = False
Option4.Enabled = False
Text1.Enabled = False '

Membuka port komunikasi
On Error
Resume Next
MSComm1.Port
Open = True
If Err Then
Form1.Caption = "Mengakses COM"  
MsgBox "COM" + Str(MSComm1.CommPort) + " tidak bisa dipakai, ganti COM yang lain"
Command1.Enabled = True
Command2.Enabled = False
Command3.Enabled = True
Option1.Enabled = True
Option2.Enabled = True
Option3.Enabled = True
Option4.Enabled = True
Text1.Enabled = True
Exit Sub
End If '

Mengecek modem
MSComm1.Output = "AT" + vbCr
Form1.Caption = Str(i) + " ... tunggu sedang mendeteksi modem"
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
Form1.Height = 2235
Timer1.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Timer4.Enabled = False
Timer5.Enabled = False
Timer6.Enabled = False
Timer7.Enabled = False
MSComm1.Output = "x"
'Modem goes on+hook
MSComm1.Output = "ATH0" + vbCr 'Menutup port komunikasi
On Error Resume Next   
MSComm1.PortOpen = False   
If Err Then      
MsgBox "COM" + Str(MSComm1.CommPort) + " tidak tersambung"       Exit Sub    End
IfCommand1.Enabled = True
Command2.Enabled = False
Command3.Enabled = True
Command4.Enabled = False
Command5.Enabled = False
Option1.Enabled = True
Option2.Enabled = True
Option3.Enabled = True
Option4.Enabled = True
Text1.Enabled = True
Form1.Caption = "Level Control System, Modem free"
End Sub
Private Sub
Command3_Click()
Timer1.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Timer4.Enabled = False
Timer5.Enabled = False
Timer6.Enabled = False
Timer7.Enabled = False
EndEnd Sub

Private Sub
Command4_Click()d0 = "h"
End Sub
Private Sub
Command5_Click()d0 = "m"
End Sub