pendahuluan

May 26, 2016 | Author: Anonymous | Category: Documents
Share Embed


Short Description

Abstrak -- Secara umum alat uji tarik memiliki fungsi untuk mengetahui ketahanan suatu bahan terhadap pengenaan gaya tar...

Description

Abstrak -- Secara umum alat uji tarik memiliki fungsi untuk mengetahui ketahanan suatu bahan terhadap pengenaan gaya tarik tertentu, kekuatan material yang diuji salah satunya dapat direpresentasikan melalui parameter deformasi lebar material setelah diberikan gaya tertentu. Adapun setiap instrumen yang digunakan sebagai perangkat pengukuran haruslah dilakukan kalibrasi sebelum digunakan hal ini juga diperlukan untuk meningkatkan akurasi suatu sistem pengukuran. Atas dasar hal tersebut dibuatlah sebuah program berbasis C# yang terintegrasi dengan PC untuk melkukan tugas sebagai autokalibrator sekaligus menjalankan fungsi antarmuka dengan pengguna dalam proses pengukuran. Sistem perangkat lunak yang digunakan memiliki konstruksi 2 mode kerja (mode pengukuran dan mode kalibrasi). Pada mode kalibrasi sistem dapat dengan otomatis menyimpan hasil kalibrasi memetakan karakteristik dalam fungsi matematis dan memetakan residual error yang umum terjadi pada nilai defleksi tertentu. Berdasarkan data yang tersimpan secara eksternal tersebut sistem dapat memperbaiki hasil pengukuran hingga sedekat mungkin dengan nilai aktual. Setelah diujikan dengan data dummy diperoleh sistem dapat bekerja optimum. Keyword: Sistem Instrumentasi dan pengukuran, SGDVRT Microstrain, Sigma Delta Data Concerter ADU100.

PENDAHULUAN Secara umum alat uji tarik memiliki fungsi untuk mengetahui ketahanan suatu bahan terhadap pengenaan gaya tarik tertentu, kekuatan material yang diuji salah satunya dapat direpresentasikan melalui parameter deformasi lebar material setelah diberikan gaya tertentu. Parameter deformasi lebar material memiliki besaran yang relatif sangat kecil hingga menembus ketelitian mikron, Oleh karena itu digunakan instrument pengukuran panjang dengan ketelitian yang dapat mengakomodasi akurasi pada tingkat mikron. Salah satu instrumen yang mengakomodasi hal tersebut ialah sensor defleksi berbasis LVDT (Linear Variable Distance Transformer). Sebagaiman instrumen ukur lainnya instrument ini memiliki keterbatasan dari segi keakuratan maupun kepresisiannya. Untuk itu dibutuhkan suatu sistem (Integrasi perangkat keras dengan perangkat lunak) yang dapat mengakomodasi tugas autokalibrasi sekaligus mengetahui kecendrungan residual error dengan harapan nilai pengukuran dapat sedekat mungkin dengan nilai aktual. sebagai

dilakukan kalibrasi sebelum digunakan hal ini juga diperlukan untuk meningkatkan akurasi suatu sistem pengukuran. Namun pada kasus pengukuran defleksi dengan menggunakan perangkat sensor SG DVRT strokes 38mm kalibrasi dilakukan secara manual sedangkan untuk menghasilkan hasil yang baik kalibrasi membutuhkan sampel pengukuran yang besar. Atas dasar hal tersebut dibuatlah sebuah program berbasis C# yang terintegrasi dengan PC untuk melkukan tugas sebagai autokalibrator sekaligus menjalankan fungsi antarmuka dengan pengguna dalam proses pengukuran. Pada laporan ini akan dibahas mengenai proses perancangan, sistem kerja program, dan hasil pengukuran dengan data dummy hasil kalibrasi sensor.

Adapun setiap instrumen yang digunakan perangkat pengukuran haruslah 1

TINJAUAN PUSTAKA Sistem autokalibrasi yang dirancang dengan perangkat lunak visual c# ini dirancang berdasarkan studi literatur terhadap karakteristik instrumen yang digunakan, yaitu. a. Karakteristik Sensor SGDVRT stroke 38mm. Spesifikasi Elektrik:

Karakteristik demod DC2, dapat didekati dengan karakteristik linear dan karakteristik Polynomial Karakteristik uji approksimasi linear hasil kalibrasi sensor SGDVRT 38mm strokes (grafik dapat dilihat pada lampiran) Dengan persamaan linearisasi ialah D = M*V + OS Dengan D: Displacement (mm) M: Slope V: Read Voltage (V) OS: Offset quantities Diperoleh M = 1.03357; OS = -2.59242 Karakteristik sensor dengan approksimasi polynomial (grafik dapat dilihat pada lampiran) Polynomial fit Model D = A0 + A1* x + A2* x2 +A3* x3 D : Stroke Displacenment (mm) Ai : ith order Polynomial Coeficient X : Sensor output (V)

Spesifikasi Mekanik sensor SG DVRT strokes 38mm

b. Karakteristik Demod DC2 micro DB-9 (Signal Conditioning)

c. Karakteristik ADU 100 Data converter Fitur umum ADU 100 Delta Sigma Data Converter, yaitu: 1. 3, ISOLATED (3000V) 16-Bit Analog Inputs. 2. Programmable PGA gives full scale input ranges from 0-19mV to +/-10V 3. Low noise Sigma Delta A/D 4. Internal self-calibration function for true 16-bit resolution 5. 2.5000V and 5.00V reference outputs to allow direct connection of strain gauges.

2

6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.

High quality Aromat PA-series relay offers superior performance. 4 Digital I/O Lines 1, N. O. relay contact output rated 5.0A @ 120VAC, 5.0A @ 30VDC Programmable watchdog functions. Bi-colour LED status indicator. Self-resetting, fused 5V output Auxiliary RS232 port for connecting legacy RS232 devices. ( ADR series ) High quality cage-clamp type terminal blocks. Uses standard HID drivers included with Windows 98SE,2000,XP Mini-driver ( DLL ) provided for use with VB,VC, LabVIEW and TestPoint Programming examples and sample code included for VB, Visual C++ Four, 16-bit event counters ( one high speed capable ) Programmable de-bounce setting for event counters. Bus Powered, No external power supply required. Meets IEC61000-4-2 ESD protection for USB port. Available in enclosure or as PCB only.

Sedangkan agenda kegiatan yang penyusun buat berdasarkan kerangka tersebut secara lebih detail dapat digambarkan sebagai berikut. Kegiatan 1

2

KEGIATAN DAN METODE Timeline kegiatan kerja praktik ini secara umum dibagi menjadi 4 minggu kerja yang terdiri dari a. 1 minggu pertama mempelajari hardware penyusun sistem dari datasheet b. 2 minggu implementasi dan realisasi sistem c. 1 minggu terakhir pengerjaan laporan

3

1

Minggu ke2 3 4

Mempelajari spesifikasi Hardware A Mempelajari spesifikasi Sigma Delta data Konverter 16bit ADU100 ONTRAK B Mempelajari spesifikasi sensor Microstrain SGDVRT 38mm strokes C Mempelajari spesifikasi sistem sensor yang terdiri dari sensor SGDVRT dengan Demod DC2 micro DB9 D Melakuakan analisis terhadap linearitas sensor berdasarkan Data hasil kalibrasi manual Implementasi dan realisasi sistem A Melakukan perancangan konfigurasi perangkat keras pengaturan aliran data dari perangkat sensor dalam data akuisisi B Melakukan perancangan perangkat lunak dalam bahasa C#, sebagai software utama data Akuisisi dan sebagai autokalibrator. C Implemntasi kalibras i sensor secara auto dilakukan via software yang telah dibuat dan percobaan pengukuran dengan faktor koreksi dari software yang telah diperoleh dari data autokalibrasi Penyusunan Laporan

3

ANALISIS Analisis dari kegiatan ini meliputi 2 bentuk yaitu 1. Analisis pra-perancangan Sebelum melakukan perancangan dilakukan analisis terhadap perangkat keras yang akan digunakan, terutama pada fitur fitur elektrik yang di akomodasi oleh sistem. Analisis terhadap fasilitas power supply ke sensor, berdasarkkan datasheet sensor SGDVRT ynag telah terintegrasi dengan DEMOD DC2 microDB9 membutuhkan power supply DC dengan tegangan range [6,16]V. dengan keluaran sensor berada pada range tegangan single ended [0,5]V. Berdasarkan hal tersebut fitur yang akan digunakan pada DAQ Hardware (ADU 100 ONTRAK) antara lain 1. External Power Supply AC TO DC Adaptor yang mengakomodasi tegangan 12V. Untuk kebutuhan sensor dan perangkat ADU100. 2. Input ADC dengan range tegangan input [0,5]V yaitu pada pin AN2 Analog Input [0,10]V dengan Kode akses USB comm “RUC22”: RUCxy : standard command untuk mengakses data Hexadecimal (Digital) input analog {x: pin; y :gain}, 3. Digunakan pula konfigurasi pengukuran secata single ended dengan menghubungkan PORT LCOM dengan AGND sebagai referensi ADC (lihat lampiran A) Dari sisi software yang akan dibuat dilakuka n analisis fasilitas apa saja yang harus dimiliki software yang akan direalisasikan. Sebagaimana spesifikasi yang telah penyusun paparkan. Beberapa hal penting yang harus direalisasikan dalam fitur software tersebut antara lain 1. USB Communication via USB cable 2. Dual Operation Mode meliputi mode pengukuran dan mode kalibrasi. Pada mode kalibrasi dibagi menjadi 2 tugas namun dalam sampling data yang

dilakukan secara simultan yaitu tugas kalibrasi error residual dan tugas kalibrasi karakteristik instrument (dengan 2 pilihan approximasi yaitu linear dan polynomial orde 3). 3. Plotting fungsi karakteristik sensor. 4. Autosave pada file eksternal untuk menyimpan koefisien persamaan hasil approksimasi karakteristik instrumen (Sensor SGDVRT) 5. Adapun tugas kalibrasi error residual berfungsi untuk melakukan tracing error residual pada tiap tiap kala defelksi yang teramati. Nilai Error residual ini akan diproses secara statistik sebagai faktor perbaikan pembacaan sensor.

HASIL PENGUJIAN ALAT Kerja Praktik ini pada akhirnya menghasilkan suatu produk software autokalibrasi dan pengukuran oleh instrumen Sensor SGDVRT Microstrain. Adapun hasilnya dapat dijabarkan sebagai berikut: A. Deskripsi Sistem Konfigurasi dan prinsip kerja sistem: {block Diagram konfigurasi sistem perangkat keras dan perangkat lunak pada Lampiran} Tampilan Software {lihat lampiran B} B. Uji Kinerja Sistem dengan Dummy Calibration Data. Pengujian ini dilakukan dengan menggunakan data hasil kalibrasi manual sebelumnya dengan persamaan approksimasi yang telah diperoleh dari tinjauan pustaka. {lampiran C} Berdasarkan pengujian tersebut software berhasil melakukan auto kalibrasi dengan pendekatan 6 data. C. Uji Kinerja Sistem Pasca – Kalibrasi Pada proses kalibrasi ulang dilakukan pendekatan polynomials dan linear untuk memperoleh fungsi karakteristik sensor setelah dilakukan kalibrasi 4

dengan perangkat (MITUTOYO 521Series) seperti dilampirkan pada {lampiran C. Point Calibration mode}. diperoleh data tracing error residual pada interval [0-1]mm sebagai berikut Table 1. Tracing Error Residual berdasarkan Fungsi Approximasi Karakteristik Sensor Deflection(mm)

Residual error(mm)

0

0.01125626

0.002

0.01091371

0.004

0.01073405

0.006

0.01058378

0.008

0.01048733

0.01

0.01041265

0.012

0.01032514

0.014

0.01020423

0.016

0.01012253

0.018

-0.000710328

0.02

0.000991776

0.022

0.00098536

0.024

0.000979009

0.026

0.000972059

0.028

0.000973194

0.03

0.000975835

0.032

0.000976678

0.034

0.000983096

0.036

0.000980247

0.038

0.000974572

0.04

0.000973256

0.042

0.000971744

0.044

0.000963324

0.046

0.000959252

0.048

0.000948694

0.1

0.000837599

0.102

0.000813822

0.102

0.000813719

0.104

0.000818752

0.106

0.000819606

0.108

0.00081666

0.11

0.000812567

0.112

0.000807704

0.124

0.000783902

0.13

0.000761468

0.136

0.000750873

0.142

0.000740842

0.148

0.000728487

0.2

0.000622058

0.206

0.000598351

0.212

0.000589938

0.218

0.000570815

0.224

0.000553764

0.23

0.000539387

0.236

0.000522375

0.242

0.000502989

0.248

0.000483013

0.3

0.00357084

0.306

0.00338578

0.312

0.0031835

0.318

0.00302135

0.324

0.0028498

0.33

0.0027523

0.336

0.00262316

0.342

0.00246617

0.348

0.00180222

0.4

9.00E-04

0.406

7.43E-04

0.412

5.46E-04

0.418

3.54E-04

0.424

1.95E-04

0.43

2.34E-03

0.436

-1.27E-03

0.442

-3.11E-03

0.448

-4.17E-05

0.5

-0.00184957

0.506

-0.00203998

0.512

-0.00222331

0.512

-0.00222331

0.518

-0.00237855

0.524

-0.00254694

0.53

-0.00270162

0.536

-0.0029089

0.542

-0.000312185

0.548

-0.000334032

5

0.6

-0.000484617

0.606

-0.000501199

0.612

-0.000520277

0.618

-0.000541373

0.624

-0.000562934

0.63

-0.000582959

0.636

-0.000596823

0.642

-0.000614787

0.648

-0.000632663

0.7

-0.000793889

0.706

-0.000816927

0.712

-0.000838378

0.718

-0.000857179

0.724

-0.000876448

0.73

-0.00089579

0.736

-0.000918715

0.742

-0.000943926

0.748

-0.000961329

0.8

-0.001125617

0.806

-0.001146261

0.812

-0.001167591

0.818

-0.001188229

0.824

-0.001206826

0.83

-0.001226154

0.836

-0.001250715

0.842

-0.00127319

0.848

-0.001295424

0.9

-0.001442365

0.906

-0.001448861

0.912

-0.00145659

0.918

-0.001472551

0.924

-0.001484632

0.93

-0.001496716

0.936

-0.001512903

0.942

-0.001525786

0.948

-0.001536914

1

-0.00171554

0.012] mm. Hal ini memenuhi ekspektasi dimana akurasi sensor haruslah berada pada level micron (10-3 cm).

D. Future Work Pada alat Uji tarik.tidak hanya dibutuhkan satu sensor sebagai indikator kerjanya, Tantangan kedepan ialah bagaimana mengintegrasikan semua sistem sensor dan autokalibrasi untuk tiap sensor sekaligus kendali motor sebagai aktuato Utama pemberi gaya pada alat Uji tarik ini

KESIMPULAN Berdasarkan Data hasil pengujian fungsionalitas perangkat lunak antarmuka pengukuran dan autokalibrasi diketahui bahwa sistem dapat bekerja secara optimum dengan perangkat pengukuran defleksi (Microstrain SGDVRT) dengan level keakuratan micron.

REFERENSI

[Simon McBeath (2002). Competition Car Data Logging: A Practical Handbook . J. H. Haynes & Co. ISBN 1-85960-653-9. Simon S. Young (2001). Computerized Data Acquisition and Analysis for the Life Sciences. Cambridge University Press. ISBN 0-521-56570-7. Multhauf, Robert P. (1961), The Introduction of Self-Registering Meteorological Instruments, Washington, D.C.: Smithsonian Institution, pp. 95–116 United States National Museum, Bulletin 228. Contributions from The Museum of History and Technology: Paper 23. Available from Project Gutenberg. Anderson, Norman A. (1998). Instrumentation for Process Measurement and Control (3 ed.). CRC Press. pp. 8–10. ISBN 0-84939871-1.

Berdasarkan hasil tracing tersebut dapat dilihat bahwa nilai residual error memiliki ange [-0.012;

6

LAMPIRAN Lampiran A. Approksimasi karakteristik linear sensor SGDVRT

Karakteristik residual Error sensor SGDVRT untuk approximasi linear

Approksimasi karakteristik Polynomials sensor SGDVRT

7

Karakteristik residual Error sensor SGDVRT untuk approximasi polynomials

8

Lampiran B System Design and Configuration

Digital Signal Via USB communication

Output Signal (V)

Set Up Set Point Calibartion

Micron level accuracy

USB Communication to ADU100, Synchronized Internal Sampling and Clocking,

Measuring Mode

Calibration Mode

Approximation Characteristic Eqs

To Database File.txt

Linear Approx

Measurement Result

Polynomial Approx

Residual error Handler To error Handle

Update Formula Formula

Open Device

Err =Act Val – Approx Data To Excell DataBase

Sampling

Read Signal

ADU100

Closed Device

9

Konfigurasi Hardware

Pengujian pembacaan Data

10

Konfigurasi Hardware saat dilakukan kalibrasi

Lampiran C. Tampilan Program dan Demo Program Tampilan Awal Program

11

Calibration Process

Penyimpanan data calibrasi pada File .xls Elsternal pada direktori program

12

Dari beberapa data kalibrasi dilakukan regresi dan proses polyfit internal program untuk menghasilkan karakteristik sensor (linear dan polynomial) a. Fungsi approximasi karakteristik linear sensor

b. Fungsi approximasi karakteristik 3rd order polynomials

13

Residual Error Tracing

Mode Pengukuran untuk sampling dan trial pengukuran awal

14

Integrasi pengukuran berdasarkan data dummy gaya yang diberikan pada alat uji tarik

Lampiran D : Source Code using System; using System.Collections.Generic; using System.Timers;

15

using System.Deployment; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Text; using System.Linq; using MySql.Data.MySqlClient; using System.Configuration; // ADU needs to interoperate with the legacy DLL using System.Runtime.InteropServices; using System.IO; namespace Test_SGDVRT { using Statistics; public partial class Form1 : System.Windows.Forms.Form { private IntPtr hAdu; public ulong ulWritten; int counter; int counterm; int counterg; double[] C = null; double[] C1 = null; double[] C2 = null; double[] C3 = null; double VoltRataan; double Voltdum; double erravg; double converttomm; double errdeff; Bitmap graphlinear; Bitmap graphpoly; Bitmap grapherr; Bitmap graphforce; Graphics gpb; Graphics gpb1; Graphics gpb2; Graphics gpb3; int Ax = 0; int Ay = 0; int Xo = 0; int Yo = 0; int pixel = 42; float load_div = 1; float defleksi_div = 0.5f; Boolean Sm = false; Boolean Sc = false; Boolean Sg = false; double Force; public Form1() { InitializeComponent(); usenform.Checked = false; pictureBox1.Width = 562; pictureBox2.Width = 562;

16

pictureBox3.Width = 562; pictureBox7.Width = 562; pictureBox1.Height = 294; pictureBox2.Height = 294; pictureBox3.Height = 294; pictureBox7.Height = 562; Sampling.Enabled = false; Sstop.Enabled = false; radioButton1.Checked = true; counter = 0; counterm = 0; dataGridView1.Rows.Add(); dataGridView1.Rows[counter].Cells[0].Value = SetPointCal.Text; dataGridView1.Rows[counter].Cells[1].Value = counter.ToString(); dataGridView1.Rows[counter].Cells[2].Value = String.Format("{0:0.000}", Volt.ToString()); dataGridView1.Rows[counter].Cells[3].Value = String.Format("{0:0.000}", converttomm.ToString()); dataGridView2.Rows.Add(); dataGridView2.Rows[counterm].Cells[0].Value = counterm.ToString(); dataGridView2.Rows[counterm].Cells[1].Value = String.Format("{0:0.000}", converttomm.ToString()); dataGridView8.Rows.Add(); dataGridView8.Rows[counterg].Cells[0].Value = String.Format("{0:0.000}", Force.ToString()); dataGridView8.Rows[counterg].Cells[1].Value = String.Format("{0:0.000}", converttomm.ToString()); toolStripStatusLabel2.Visible = true; toolStripStatusLabel1.Visible = true; graphlinear = new Bitmap(pictureBox1.Width, pictureBox1.Height); pictureBox1.Image = graphlinear; gpb = Graphics.FromImage(graphlinear); gpb.Clear(Color.Black); graphpoly = new Bitmap(pictureBox2.Width, pictureBox2.Height); pictureBox2.Image = graphpoly; gpb1 = Graphics.FromImage(graphpoly); gpb1.Clear(Color.Black); grapherr = new Bitmap(pictureBox3.Width, pictureBox3.Height); pictureBox3.Image = grapherr; gpb2 = Graphics.FromImage(grapherr); gpb2.Clear(Color.Black); graphforce = new Bitmap(pictureBox7.Width, pictureBox7.Height); pictureBox7.Image = graphforce; gpb3 = Graphics.FromImage(graphforce); gpb3.Clear(Color.Black); comboBox1.Enabled = false; DrawPICTURE1(); DrawPICTURE2(); DrawPICTURE3(); DrawPICTURE4(); } /// /// Clean up any resources being used. /// protected override void Dispose(bool disposing) { if (disposing) {

17

if (components != null) { components.Dispose(); } } base.Dispose(disposing); } [DllImport("aduhid.dll")] public static extern IntPtr OpenAduDevice(UInt32 iTimeout); [DllImport("aduhid.dll")] public static extern bool WriteAduDevice(IntPtr hFile, [MarshalAs(UnmanagedType.LPStr)]string lpBuffer, UInt32 nNumberOfBytesToWrite, out UInt32 lpNumberOfBytesWritten, UInt32 iTimeout); [DllImport("aduhid.dll")] public static extern bool ReadAduDevice(IntPtr hFile, StringBuilder lpBuffer, UInt32 nNumberOfBytesToRead, out UInt32 lpNumberOfBytesRead, UInt32 iTimeout); [DllImport("aduhid.dll")] public static extern void CloseAduDevice(IntPtr hFile); //Boolean ScanRun = false; Boolean ScanStop = false; string voltbuf; double Volt; /// /// The main entry point for the application. /// /// private void buttonstart_Click(object sender, EventArgs e) { toolStripStatusLabel1.Text = "Scan"; Sstop.Enabled = true; Sampling.Enabled = true; Update(); //ScanRun = true; bool bRC = false; buttonstart.Enabled = true; buttonStop.Enabled = true; const String comm1 = "RUC22"; //const String comm2 = "RUN21"; uint length = (uint)comm1.Length; uint RLength = 7; while (true) { if (ScanStop) break; hAdu = OpenAduDevice(500); Sampling.Enabled = true; Sstop.Enabled = true; buttonstart.Enabled = false; bRC = false;

18

uint uiWritten = 0xdead; bRC = WriteAduDevice(hAdu, comm1, length, out uiWritten, 500); bRC = false; uint uiRead = 0; StringBuilder sBuffer = new StringBuilder(8); bRC = ReadAduDevice(hAdu, sBuffer, RLength, out uiRead, 500); voltbuf = sBuffer.ToString(); double result = 0; if (double.TryParse(voltbuf, out result)) { Volt = result * 5 / 65536; } if (radioButton1.Checked == true) { if (usenform.Checked == true) { converttomm = (Volt - Convert.ToDouble(C[0])) / (Convert.ToDouble(C[1])); } else { converttomm = (Volt * 1.03350) - 2.59242; } } if (radioButton2.Checked == true) { if (usenform.Checked == true) { if (C3 == null) { string filePath = string.Format("Coba2.txt"); string[] textData = System.IO.File.ReadAllLines(filePath); string[] headers = textData[0].Split('\t'); DataTable dataTable1 = new DataTable(); //dataGridView4.Rows.Add(); foreach (string header in headers) { dataTable1.Columns.Add(header, typeof(string), null); } for (int i = 1; i < textData.Length; i++) dataTable1.Rows.Add(textData[i].Split('\t')); //Set the DataSource of DataGridView to the DataTable dataGridView7.DataSource = dataTable1; double[] y = new double[dataGridView7.Rows.Count 1]; double[] xi = new double[dataGridView7.Rows.Count - 1]; double[,] x = new double[4, dataGridView7.Rows.Count - 1]; double[] w = new double[dataGridView7.Rows.Count 1]; for (int i = 0; i < dataGridView7.Rows.Count - 1; i++) {

19

if (dataGridView7.Rows[i].Cells[0].Value != null) { x[0, i] = 1; double xx; //double xx = double.Parse(dataGridView5.Rows[i].Cells[0].Value.ToString()); if (double.TryParse(dataGridView7.Rows[i].Cells[1].Value.ToString(), out xx)) { xx = xx * 1; } double term = xx; for (int j = 1; j
View more...

Comments

Copyright © 2017 DATENPDF Inc.