02-08-2016 11:40 PM
Salam...
Saya sedang mencoba untuk membaca suhu menggunakan Thermocuple MAX6675, Arduino MEGA2560 dengan pemrograman menggunakan LabVIEW
Konfigurasinya adalah sebagai berikut:
- vcc : vcc
- gnd : gnd
- csk/sck : digital pin 46
- cs : digital pin 44
- so : digital pin 42
Saya menggunakan LabVIEW 2014 dengan LIFA dan LINX terpasang di dalam. Sistem operasi yang saya gunakan Windows 7 ultimate SP1, 64-bit.
Saya sudah mencoba beberapa program yang ada di https://www.labviewmakerhub.com/forums/viewtopic.php?f=12&t=75 tapi hingga sekarang belum ada program yang dapat berjalan.
Mohon pencerahannya, terimakasih banyak
02-09-2016 04:55 PM
satahu saya termocouple tidak perlu menggunakan vcc, karena sudh bisa
menghasilkan daya sendiri.
. tp yg perlu justru adalah rangkaian tambahan yaitu "cold junction"
coba pelajari dulu tentang cold junction
jadi urutan instalasinya
termocouple -> cold jungtion -> arduino -> komputer
Pada 9 Feb 2016 22.05, "LiliMcDonald" <web.community@ni.com> menulis:
NI Community <https://decibel.ni.com/content/index.jspa>
Komunikasi Adruino dengan Thermocouple MAX6675 reply from LiliMcDonald
<https://decibel.ni.com/content/people/LiliMcDonald> in *LabVIEW Team
Indonesia* - View the full discussion
<https://decibel.ni.com/content/message/129225#129225>
02-21-2016 07:39 PM
Dear Mas Baskara,
Hallo Mas, sudah dapat solusi dari permasalahannya? Saya coba bantu ya. Saya mecoba membaca sensor thermocouple MAX6675 dengan Arduino Uno yang kemudian nilai temperaturnya akan saya tampilkan di PC yang terinstal LabVIEW. Kalau kita lihat MAX6675 menggunakan komunikasi serial SPI ya. Berarti kita harus bisa membaca data serial keluaran MAX6675.
Wiring
Seperti yang saya katakan di awal, saya ingin membaca sensor thermocouple dengan Arduino Uno. Karena hardware tidak ada di sekitar saya, maka saya coba lakukan dengan simulasi menggunakan Proteus 7.8 sp2. Oke, wiring-nya adalah seperti berikut.
Wiring antara Arduino dengan MAX6675.
SO - PIN4
CS - PIN5
SCK - PIN6
Kemudian bagian RX dan TX Arduino saya hubungkan ke RS232/COMPIM. Jadi yang saya lakukan di sini adalah membuat si Arduino membaca data serial si MAX6675, kemudian mengirimkan data tersebut ke PC dengan komunikasi serial RS232. Selanjutnya adalah programming Arduino.
Programming Arduino
Sejujurnya saya belum pernah akses komunikasi SPI dengan Arduino. Tapi tidak menjadi masalah karena ada beberapa tutorial di internet cara akses MAX6675, terlebih ada yang berbaik hati memberikan library MAX6675-serial-thermocouple Arduino. Jadi kita tinggal baca data MAX6675 dengan library tersebut, lalu mengirimkannya ke PC dengan serial RS232. Code-nya adalah sebagai berikut.
Setelah kita dapatkan data MAX6675, selanjutnya kita tinggal mengirimkannya ke PC. Sebelumnya pastikan data yang dikirimkan Arduino sesuai dengan yang kita harapkan. Saya gunakan Virtual Terminal untuk mengecek data serial keluaran Arduino. Dan setelah saya lihat datanya, ternyata tidak sesuai yang saya harapkan (karena saya berharap data tersebut merupakan data temperatur). Kemudian saya coba variasikan temperatur thermocouple dari 0 s.d. 200 derajat celcius. Kemudian saya dapatkan grafik temperatur pada thermocouple terhadap data serial keluaran MAX6675 seperti gambar berikut.
Jika kita perhatikan pada temperatur 0 s.d. 200 derajat celcuis grafiknya cukup linier (mungkin karena hanya thermocouple simulasi jadi segala sesuatunya dianggap ideal). Ini menandakan bahwa data serial keluaran MAX6675 sudah oke, dan kita hanya perlu melakukan regresi linier. Selanjutnya data tersebut saya gunakan untuk melakukan regresi menggunakan least square dan kita dapatkan nilai regresi y = 2.008678x - 2057.47, seperti itu.
Selanjutnya kita modifikasi program Arduino seperti berikut.
Nah, setelah kita dapatkan data temperatur yang kita inginkan, selanjutnya kita buat aplikasi dengan LabVIEW di PC yang bertugas untuk membaca data serial. Kemudian data serial (yang tak lain dan tak bukan merupakan data temperatur) tersebut ditampilkan pada indikator.
Membuat Aplikasi pada LabVIEW
Sebelum kita memulai memprogram, kita bayangkan terlebih dahulu UI, alur dan isi program kita seperti apa. Jika dibutuhkan buatlah flowchart dan statemachine diagram sebelum melakukan pemrograman. Oke, program yang saya bayangkan adalah seperti ini.
Kemudian saya mulai buat blockdiagram-nya seperti ini.
Selanjutnya, kita tinggal jalankan proteusnya dan LabVIEW-nya. Eh, sebelumnya kita harus buat port serial virtualnya terlebih dahulu. Saya gunakan Virtual Serial Port Emulator (VSPE) untuk membuat dan menghubungkan port virtualnya. Saya buat PORT1 terhubung dengan PORT2. Lalu saya setting COMPIM pada proteus PORT1 dan VISA channel pada LabVIEW PORT2. Lalu tinggal klik run! Dan, yuhuuu.. Temperature monitoring dengan Arduino dan LabVIEW berhasil.
Demikian sedikit yang bisa saya bagi, semoga bisa membantu memecahkan permasalahan yang Mas Baskara hadapi. Seluruh file terlampir ya. Oh iya, sistem ini memiliki kekurangan yakni pembacaan data dari MAX6675 terkadang bernilai nan, sehingga nilai temperatur yang ditampilkan adalah nol. Tapi bisa kita manipulasi pada monitoing di LabVIEW-nya sebetulnya. Atau mungkin ada yang bisa memberikan solusi dengan masalah ini?
Salam,
Dika Abadianto
03-06-2022 01:52 AM
Halo kak, saya ingin bertanya, jika saya menggunakan ni daq USB 6008 menggantikan posisi arduino itu apakah output dari max6675 bisa terbaca? Terimakasih 🙏
03-07-2022 12:20 AM
Halo Hallidaf,
Boleh bantu menjawab. sepengetahuan saya berdasarkan spesifikasi Thermocouple MAX6675, output dari termokopel tersebut menggunakan interface SPI, sedangkan NI USB 6008 secara inheren tidak mensupport interface komunikasi digital (seperti SPI, UART dll) karena secara spesifikasi DIO yang ada berdasarkan software timing. Sehingga NI USB bukan merupakan DAQ yang cocok untuk membaca data dari MAX6675.
Mungkin bisa dilakukan "bit-bang"-ing melalui DIO jika SPI yang dimiliki kecepatan yang sangat rendah, namun akan cukup susah menurut saya. saya menyarankan menggunakan NI USB 8415 yang didesain untuk interface komunikasi.
Untuk referensi, saya menemukan topic grub berikut :
https://forums.ni.com/t5/Multifunction-DAQ/SPI-device-with-NI-USB-6009/td-p/603919
yang membahas NI USB 6009 untuk komunikasi serial. karena USB 6008 dan 6009 masih saudara, saya kira bisa digunakan untuk referensi yang sama.
CMIIW, Semoga Membantu.
Septyawan
03-07-2022 01:16 AM - edited 03-07-2022 01:19 AM
okee makasih banyak atas sarannya mas septyawan :))