LabVIEW Team Indonesia

cancel
Showing results for 
Search instead for 
Did you mean: 

Mohon bantuan untuk TA, Master!!

punten ngalangkung...

Maaf menggangu pagi menjelang siang-nya. Saya Ridho Ismoyo Putra dan pengguna baru LabVIEW berkenaan dengan Tugas Akhir saya. Saya mohon bantuannya, para master. Saya dituntut untuk membuat program akuisisi data sensor tekanan 6 axis tanpa blok Express dengan spesifikasi sebagai berikut :

-     6 Analog Input

-     Pengaturan Sampling

-     Pengaturan Jumlah Data

-     Averaging

-     FFT

-     Zero Calibration

Untitled.png

ini foto dari diagram blok yang saya buat. Ada beberapa blok yang saya buatkan kotak dari berbagai warna merujuk ke spesifikasi program yang saya buat. Maksud warna kotak-kotak tersebut adalah sebagai berikut:

-     Hitam : untuk Analog Input (bisa diatur untuk langsung mengukur 6 axis)

-     Hijau muda : untuk Sampling

-     Ungu : untuk Pengaturan Waktu (berkenaan dengan jumlah data yang dihasilkan)

-     Biru Muda : untuk Zero Calibration

-     Merah muda : untuk FFT beserta Write to Spreadsheet File

-     Kuning : untuk Averaging beserta Write to Spreadsheet File

Saya ingin minta bantuan :

1.     pada blok Zero Calibration, setelah Merge Signal, harus diberi blok tambahan apa? sebab ternyata Source-nya itu Dynamic data, sedangkan Sink-nya adalah 1D Array Data.

2.     untuk blok Write to Spreadsheet File, jika saya ingin membuat dalam bentuk *txt, harus seperti apa blok diagramnya? Saya benar-benar baru menggunakan program LabVIEW, jadi tidak terlalu mengerti fungsi-fungsinya harus dibagaimanakan.

3.     sensor mempunyai matriks kalibrasi. Supaya bisa memasukkan matriks kalibrasi ini ke blok Zero Calibration, apakah ada yang tahu seperti apa blok diagram-nya?

4.     mohon koreksi-nya jikalau ada pemikiran blok diagram yang lebih baik. Saya akan terima saran-saran yang baik dari para master sekalian.

Saya juga melampirkan vi diagram blok yang saya buat. saya menggunakan LabVIEW 2010. Terima kasih sudah mau membantu saya. Hatur Nuhun...

0 Kudos
Message 1 of 11
(9,468 Views)

Siang Kang Ridho,

Gimana apakah sudah ada kemajuan dari aplikasinya?

Saya mau nanya dulu,

1. Kalau boleh tahu sensor apa dan hardware akusisi data yang digunakan apa?

2. Apakah untuk blok pengambilan data seperti gambar di bawah sudah bisa berfungsi dengan baik? Maksudnya data tegangan analog dari masing-masing axis sudah keluar di chart measurement jika diberi beban.

Untitled2.png

Sebelum berlanjut ke blok zero calibration dll.

Sekedar berbagi pengalaman, saya juga pernah menggunakan sensor load cell 6 axis ( 3 axis force Fx, Fy, Fz dan 3 axis moment Mx, My dan Mz). Keluaran dari sensor berupa enam sinyal tegangan analog (matrik 1x6 atau 6x1) yang harus dikalikan matrix kalibrasi 6x6 untuk mendapatkan nilai Fx, Fy, Fz, Mx, My dan Mz)

0 Kudos
Message 2 of 11
(5,857 Views)

Terima kasih sudah mau menanggapi posting-an saya, kang Chandra.

1. Saya menggunakan sensor JR3, namun saya disuruh mencoba menggunakan NI hardware yang 4 analog input dan baterai terlebih dahulu.2. Sayangnya belum. saya belum diberi izin untuk mengukur beban yang langsung dari sensor dan dari blok diagram, hanya blok averaging yang benar karena sudah diujicobakan (tetapi belum di zero calibration) dan keluar hasilnya di measurement, namun belum di write ke file *txt karena belum tahu blok diagram-nya sebaiknya seperti apa.

Iya. Saya juga memang harus membuat blok diagram zero calibration yang harus memasukkan matriks kalibrasi terlebih dahulu. Maaf kalau info yang seharusnya saya sampaikan kurang lengkap, sebab saya memang sama sekali baru dengan LabVIEW. Terlihat mudah, namun jika tidak mengerti fungsi - fungsi blok-nya, ya sama saja dengan belum bisa. Saya hanya punya pengalaman program berbasis teks dan program yang berbasis blok diagram hanay Multisim dan Simulink yang ada di MatLab.

0 Kudos
Message 3 of 11
(5,857 Views)

Mungkin Kang Ridho bisa menjelaskan sedikit yang kang ridho maksud dengan "zero kalibration" dan kegunaan matriks kalibrasi di aplikasi ini apa..

0 Kudos
Message 4 of 11
(5,857 Views)

Terima kasih untuk pertanyaannya.

Baik. zero calibration disini maksudnya adalah berfungsi untuk membandingkan hasil sebelum pengukuran yang tanpa beban dengan hasil sesudah pengukuran. Kenapa? karena terkadang sebelum pengukuran, sensor ternyata sudah menghasilkan angka atau dapat dikatakan sudah melakukan pengukuran/tidak dalam kondisi yang ideal untuk melakukan pengukuran/tidak nol saat memulai pengukuran.Sedangkan matriks kalibrasi digunakan untuk membuat hasil pengukuran menjadi akurat, karena sensor mempunyai error dalam (device error) sehingga dibutuhkan suatu pengali agar hasil pengukuran/sensing menjadi akurat.

0 Kudos
Message 5 of 11
(5,857 Views)

luar biasa, tanpa blok Express. Saya acungkan jempol!


Komentar saya untuk block diagramnya:

1. Merge Signal dan Split Signals, ini adalah bagian dari blok Express. Mohon dihindari. Alternatifnya, signal yang input-an Split Signals adalah 1D Waveform, jadi kalau mau dipecah-pecah, gunakan fungsi dari Array yaitu Index Array. Kasih input 0, untuk signal pertama. Untuk dapatkan signal lebih banyak lagi, "expand" Index Array dengan mouse.

2. Kenapa mesti ada dua While Loop? Kalau satu loop saja kenapa?

3. Kenapa harus ada While Loop? Secara fungsi saya lihat tidak perlu ada While Loop. Di remove saja kan tidak ada bedanya.

4. Zero Calibration, term ini sebaiknya diganti menjadi Null Offset. Standar industri untuk me"nol"kan pengukuran disebut dengan Null Offset. Sementara Calibration biasanya digunakan untuk mengkalibrasikan pengukuran ke standar atau referensi tertentu, misalnya, saya mengukur 1kg dengan alat ukur saya, tapi ini bisa dibilang tidak terkalibrasi karena 1kg dengan alat ukur saya bukan berarti 1kg sebenarnya. Untuk itu saya kalibrasikan alat ukur saya, untuk mengukur 1kg milik suatu badan resmi, lalu terbacanya berapa di alat ukur saya, misalnya 1.05kg, berarti saya offsetkan 0.05kg untuk alat ukur saya untuk mengukur "true" 1kg.

Saya coba jawab nomer 2 dulu:

2. untuk blok Write to Spreadsheet File, jika saya ingin membuat dalam bentuk *txt, harus seperti apa blok diagramnya? Saya benar-benar baru menggunakan program LabVIEW, jadi tidak terlalu mengerti fungsi-fungsinya harus dibagaimanakan.

Pastinya harus eksplorasi dan bertanya, lihat example di internet dan juga di dalam LabVIEW. Banyak cara untuk menulis dalam bentuk *.txt. Bisa menggunakan High Level, seperti Write to Spreadsheet File atau menggunakan yang Low Level, seperti Write Text File. Coba buka NI Example Finder, lalu search "text", eksplorasi examplenya ya.

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2024
0 Kudos
Message 6 of 11
(5,857 Views)

Untuk Zero Calibration:

Untitled23.png

Hasil sebelum pengukuran yang tanpa beban ditunjukkan array konstanta yang tunjukkan dalam lingkaran biru bukan?


Pertanyaan kenapa Kang Ridho untuk perbandingannya ditambah bukan dikurangi hasil pengukuran saat tanpa beban -offset- ?

Bukankah jika tujuannya adalah menjadikan nilai pengukuran "mendekati" nol pada saat awal pengukuran (kondisi tanpa beban) maka harus  nilai pengukuran tersebut harus dikurangi hasil pengukuran saat tanpa beban yang sudah didapat sebelumnya?

Jika ditambah bukankah semakin membesar bukan mendekati nol?

(udah dibantuin mas Krisna )

Saya ngasih contoh untuk zero kalibrasi dan perkalian dengan matrix berdasarkan pengalaman saya menggunakan load cell 6 axis.wwww.png

Untuk blok zero calibration sendiri, nilai array konstanta yang didalam lingkaran biru tidak perlu diindex (dipecah). 

Nilai array 1D waveform juga tidak perlu di split signal (split signal bisa digantikan index array).

Karena setahu saya jika  ada array 1D waveform (x element) yang ditambah atau dikurangi  array konstanta (y element) maka otomatis x0+ y0, x1+y1 dst dst. Hasilnya tetap berupa array 1D waveform.


Proses zero calibration ditunjukkan lingkaran orange.

Array konstanta zero offset sendiri saya bikin bukan konstanta tapi variabel control

sss.png

Setelah dilakukan zero calibration (dikurangi/ditambah offset), maka array 1D waveform dipecah (diindex). Ditunjukkan lingkaran biru.

Kemudian masing-masing elemen diekstrak untuk diambil nilai datanya saja. Karena waveform itu terdiri dari 3 komponen yaitu waktu awal (t0), jeda waktu (dt), dan datanya sendiri. Ditunjukkan lingkaran ungu.


Elemen data ini digabungkan lagi menjadi  appended array untuk kemudian dikalikan matrik kalibrasi

Hasilnya perkalian adalah array data yang sudah berupa nilai gaya untuk masing-masing sumbu.

Mungkin jika dibandingkan dengan TA Kang Ridho ada beda pada dimensi matrik kalibrasi dan jumlah analog input karena output yang diminta juga 6 axis.

Tapi kemungkinan alurnya sama:

1. Ambil data analog input berupa tegangan dengan sampling rate tertentu.

2. Kurangi data tersebut dengan offset saat kondisi tanpa beban

3. kalikan matrik kalibrasi.

Sori kalau malah bikin tambah bingung hahaha

0 Kudos
Message 7 of 11
(5,857 Views)

@KrisnaWisnu : wah, dedengkot-nya dateng...Terima kasih udah nyempetin waktunya menanggapi posting-an saya...saya manggilnya apa, nih? mas, kang atau bang?

tanpa blok Express karena keperluan TA. saya harus mengerti fisis-nya, tidak asal masukin blok...

1. Itu blok Index Array saja, ya? Terima kasih sarannya.

2. & 3. Saya sudah menghapus While Loop, bahkan saya jadikan Sub VI. saya menggunakan While Loop karena mengikuti Example. Tapi dipikir lagi, While Loop sepertinya tidak digunakan juga tidak apa-apa.

4. Ooh, term "Null Offset" lebih mudah dikenali daripada Zero Calibration? Terima kasih. Saya banyak belajar hal baru. Tapi Null Offset dengan Zero Claibration beda?

Komentar jawaban no.2 :Iya, saya lupa kalau ada Example File. Terima kasih sudah mengingatkan saya. Saya memang belum terlalu banyak eksplorasi mengenai LabVIEW.

@Chandrapzm :

gambar 1 : Saya mengikuti file example yang ada di community lain di LabVIEW(saya lupa dimananya. ketika saya search, saya menemukan file itu). Yang di lingkaran biru, saya mengikuti dari file example itu. Saya kira itu membuat pengukuran awal yang tanpa beban menjadi nol, dan saya belum mencobanya (kata terakhir yang penting)...hehe...

Mungkin kalimat saya yang salah. Maksud saya membandingkan dari yang sebelumnya tanpa beban dengan yang setelah diberi beban, sehingga hasil pengukurannya itu dari tanpa beban dikurangi yang diberi beban.

gambar 2 & 3 : jadi, nilai "zero"-nya dimasukin sendiri? kok saya enggak ngerti ya? haha...

Saya memang sudah bingung, kang. Akang tidak perlu khawatir saya tambah bingung...hahaha...

0 Kudos
Message 8 of 11
(5,857 Views)

Kang Ridho,

Mungkin saya perlu menjelaskan dulu pemahaman saya tentang nilai "zero" atau offset.

Nilai zero yang saya maksud disini adalah nilai tegangan keluaran dari masing-masing 6 analog input dalam keadaan sensor tidak dibebani. Idealnya tegangan keluaran tersebut adalah nol volt. Akan tetapi dalam kenyataannya nilai tegangan keluaran tersebut tidak nol. Nilai ini yang yang saya sebut sebagai offset.

Cara menentukannya adalah, sensor tidak saya bebani. Dalam keadaan tidak dibebani, nilai tegangan keluaran dari masing-masing 6 analog input kemudian saya ukur selama +- 30 detik. Kemudian saya rata-ratakan untuk masing-masing channel analog input.


Nilai rata-rata (nilai offset) ini yang kemudian saya masukkan sebagai nilai pengurang dari nilai tegangan keluaran dari masing-masing 6 analog input pada saat pengukuran dimana sensor dibebani.

Algoritma pengurangan ini jika diterjemahkan ke block diagram labview ditunjukkan pada lingkaran orange

wwww.png

Di block diagram yang kang Ridho uplod (gambar dibawah) sebenarnya mirip, hanya saja nilai offset (lingkaran biru) ditambahkan ke nilai analog input bukan dikurangi. Nilai offsetnya juga "dimasukin sendiri" ke dalam array (isi 6 elemen) yang dilingkari warna biru.

Untitled23.png

Untuk penggunaan while loop saya kira tetap butuh ya, terutama bila akusisi datanya kontinu alias stop hanya jika diperintah user untuk stop. Saran saya untuk akusisi data voltage analog input bisa dilihat di NI Example

Untitle2222.png


0 Kudos
Message 9 of 11
(5,857 Views)

Wah, terima kasih banyak, kang Chandra...

Saya cukup jelas dengan penjelasan ini. Jadi, nilai sensor tanpa beban di masukkan secara manual.

Kalau boleh tahu, apakah yang kang Chandra kerjakan sudah pernah dipublikasikan? Bolehkah saya mencantumkan-nya di laporan TA alias skripsi saya? jika tidak bisa dicantumkan di forum ini, silahkan kirim ke email saya : ridho_ipa2@rocketmail.com...itupun jika kang Chandra berkenan...^^

0 Kudos
Message 10 of 11
(5,857 Views)