Tampilkan postingan dengan label Interfacing. Tampilkan semua postingan
Tampilkan postingan dengan label Interfacing. Tampilkan semua postingan

Kontrol dan Akuisisi data Suhu menggunakan Mikrokontroler (1)


Selamat pagi / siang / sore
Teman – teman pembaca

      Ketika tulisan ini dibuat, ditempat saya sedang malam hari, waktu yang mengasyikkan buat menulis.:). Sudah lama ga membuat tulisan yangberkaitan dengan dunia kelistrikan, banyak alasan kenapa sudah lama ga bisa update tulisan mengenai dunia kelistrikan,pertama: Karena rutinitas kerja yang membunuh kreatifitas, dan yang kedua karena memang turunnya kuantitas waktu dalam meng-upgrade diri dalam dunia kelistrikan, kontrol maupun elektronika.

      Back to topic, setelah sekian lam menghilang dari dunia control, design dan automation, tiba – tiba saya dihubungi teman yang meminta bantuan untuk tugas akhirnya (skripsi), skripsinya berkaitan dengan dunia kontrol yaitu membuat sebuah prototipe alat pengontrol dan monitoring suhu untuk tanaman, sebenarnya saya ga menyanggupi karena kesibukan dan keterbatasan waktu takutnya ga bisa menyelesaikan proyek ini, namun karena niat ingin membantu teman yang ingin menyelesaikan tugas akhirnya dan sekalian bernostalgia dengan dunia yang saya senangi, akhirnya saya terima tantangan ini.

      Disini, karena memang alatnya masih dalam proses pembuatan / pengerjaan maka akan saya jelaskan secara umum sistem kerja dari alat ini, alat ini menggunakan mikrokontroler AVR Atmega 8535 sebagai controller utama, dengan input berupa 4 buah sensor suhu LM 35, dan output berupa rangkaian kontrol Motor induksi yang digunakan sebagai pompa yang  menyiramkan air untuk menjaga kestabilan suhu ditambah lagi alat terhubung dengan pc / laptop (interfacing)  yang memungkinkan kita bisa memonitoring suhu ruangan secara real –time dan dapat mengambil mengakuisisi data suhu tersebut, jadi dapat dikatakan sistem ini sudah mendekati sistem SCADA (supervisory Control And Data Aquitition).

 
 
 Sebagai diagram blog kontrolnya dapat kita sederhanakan menjadi seperti berikut:

 


      Jadi secara umum sistem ini menggunakan mikrokontroler sebagai controller utamanya yang kemudian akan berkomunikasi dengan PC / laptop dengan Visual Basic sebagai software interfacing dan HMI nya serta port serial sebagai jalur komunikasinya.

      Sekian dulu teman sebagai pembuka untuk penjelasan yang lebih teknis yaitu berupa rangkaian serta programnya akan saya tulis dibagian kedua tulisan ini.

Semoga Bermanfaat.

Hot Water Level Indicator

Description:
A simple device to indicate various levels of hot water in a tank.




Notes:

Save fuel bills and the economy of the planet with this circuit. SW1 is a normally open press button switch which allows you to view the level of hot water in a hot water tank. When pressed the voltage difference at the junction of the thermistor and preset is compared to the fixed voltage on the op-amps non-inverting input. Depending on the heat of the water in the tank, the thermistors resistance will toggle the op-amp output to swing to almost full voltage supply and light the appropriate LED.

Construction:

Masking tape was used to stick the bead thermistors to the tank. Wires were soldered and insulated at the thermistors ends. A plastic box was used to house the circuit. Battery life will probably be 4 to 5 years depending on how often you use the push switch, SW1.

Sensor Placement:

Thermistors NTC1-4 should be spread evenly over the height of the tank. I placed NTC1 roughly 4 inches from the top of my tank and the others were spaced evenly across the height of the hot water tank. As hot water rises the lowest sensor indicates the fullest height of hot water and should be about 8 to 10 inches from the bottom of the tank.

Calibration:

With a full tank of hot water adjust P1-4 so that all LED's are lit. As hot water rises, the sensor at the bottom of the tank will be the maximum level of hot water. "Hot" can be translated as 50C to 80C the presets P1-4 allow adjustment of this range.

Parts:

I have used a quad version of the LM324 but any quad opamp can be used or even four single op-amps.
R2-R5 I used 330ohm resistors, but value is not critical. Lower values give brighter LED output.
NTC1-4 The thermistors maximum resistance must roughly equal the resistance of the fixed resistor and preset. As negative temparature coefficient (NTC) thermistors are used, then their resistance decreases for increases in temperature. I used a thermistor from the Maplin Catalogue. Cold resistance was around 300K, hot resistance 15k. Alternative thermistors may be used with different resistance ranges, but the presets P1 to P4 must also be changed as well.
R7-10 series resistance, only required if your thermistors resistance is several ohms at the hottest temperature.
P1 - P4 Chosen to match the resistance of the thermistor when cold.
R1 & R6. These resistors are equal and bias the op-amp inverting input to half the supply voltage. I used 100k.

Mengenal Interfacing dengan port parallel

Port komputer dapat digunakan untuk berkomunikasi dengan alat atau komputer lain.. Port paralel (DB-25) merupakan salah satu jenis socket pada komputer untuk berkomunikasi dengan peralatan luar.
Port parallel ini memiliki keluaran digital, dari pengukuran yang dilakukan, pin pada port ini memiliki tegangan sekitar 3 volt untuk nilai logika 1 dan 0 volt untuk logika 0.

Alamat Port Paralel

Port paralel memiliki tiga alamat. Alamat Data Port (DP) merupakan alamat dasar (base address), untuk alamat PS base address + 1 dan alamat printer control base address + 2.
Jika hanya ada satu port paralel pada personal komputer maka port tersebut disebut LPT1. Jika ada dua port paralel, yang kedua disebut LPT2.
Base address LPT1 biasanya 37816 dan LPT2 adalah 27816. Indeks 16 menunjukkan bahwa nilai tersebut ditulis dalam heksadesimal. 37816 dalam desimalnya adalah 888. Ini berarti alamat DP adalah 888, alamat PS adalah 889 dan alamat PC adalah 890.

Register LPT1 LPT2
heksadesimal desimal heksadesimal desimal
Data Port 378 888 278 632
Printer Status 379 889 279 633
Printer Control 37A 890 27A 634

Konfigurasi Pin




Rangkaian Tester Parallel Port

Untuk mengetahui nilai logika pada port paralel harus digunakan indikator. Dan kali ini akan dibuat rangkain indicator sederhana dengan menggunakan selapab buah led, kenapa delapan buah led karena port parallel merupakan port 8 bit.
Logika 1 terwakili jika led menyala dan ketika led padam maka itu menunjukkan bahwa berlogika 0.
Urutan LED sama dengan nomor bit. Nomor bit dimulai paling kanan dengan nilai 0 sampai paling kiri dengan nilai 7. Perhatikan gambar berikut:



Rangkaian indikator

Dengan menggunakan rangkaian indikator ini kita dapat mengetahui nilai data pada port paralel. Misalnya kita mengirim nilai data 1. Maka nilai 1 dalam sistem bilangan desimal=00000001 dalam biner. Maka led yang menyala adalah led yang palign ujung atau bit pertama, begitu seterusnya kita dapat mengetes keluaran parallel port sesuai dengan nilai yang kita berikan.

Selamat Mencoba….
Salam Santun..

Membuat Mobil remot control dengan port paralel

Oke, sahabat sekalian kali ini ada project yang sangat sederhana sebagai aplikasi dari Mengenal Interfacing Dengan Port Parallel, kita akan membuat mobil remot control dengan menggunakan port parallel.
Sebagaimana kita ketahui bahwa port parallel dapat mengeluarkan 8 bit data digital dengan untai TTL [transistor transistor logic]. Dengan rangkaian driver motor sederhana dan sedikit pemahaman tentang visual basic maka kita dapat membuat mobil remot control yang dapat kita kendalikan melalui komputer.

Membuat Rangkaian driver motor



Komponen yang digunakan

Transistor NPN 2N2222A 8 buah
Resistor 470 Ohm 8 buah
Motor DC 3 Volt 2 buah
Socket Port parallel DB 25

Penjelasan Rangkaian

Dari rangkaian yang telah kita buat kita perhatikan rangkaian driver motor kiri kita lihat ada dua pin masukan disana, yang pertama terhubung ke pin 2 DB25 yang kedua terhubung ke pin 3 DB25 artinya motor akan berputar sesuai dengan 2 bit pertama dari nilai yang kita berikan [00000010] sesuai dengan aturan LSB [low significant bit]. Begitu juga pada motor kanan yang terhubung dengan pin 4 dan pin 5 pada DB25.
Berikut table logikanya.


Nilai Yang kita berikan Motor Kiri Motor Kanan

00000001 Mundur Berhenti
00000010 Maju Berhenti
00000100 Berhenti Mundur
00001000 Berhenti Maju
00000101 Mundur Mundur
00001010 Maju Maju
00001001 Mundur Maju
00000110 Maju Mundur

Memprogram Robot

Kali ini kita akan menggunakan visual basic 6.0 sebagai software untuk interfacing antara computer dan robot melalui port parallel.
Pertama kita harus mendownload file dll, yaitu inpout32.dll
Tambahkan toolboxseperti berikut:



Lalu click menu project dan add module
ketikkan kode-kode berikut pada module

Public Declare Function Inp Lib "inpout32.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib "inpout32.dll" _
Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
Lalu program utamanya
Private Sub Command1_Click()
Out 888, 10 'maju
End Sub

Private Sub Command2_Click()
Out 888, 8 'belok kiri
End Sub

Private Sub Command3_Click()
Out 888, 2 'belok kanan
End Sub

Private Sub Command4_Click()
Out 888, 5 ' mundur
End Sub


Selamat Mencoba….
Salam Santun..