05-10-2012 10:26 PM
Salam buat para master & newbie LabVIEW,
Saya memiliki sebuah program untuk mengontrol motor stepper (tipe unipolar) dengan menggunakan LabVIEW 7. Motor stepper telah diintegrasikan ke dalam alat uji tarik bahan (tensile test equipment) yang telah dimodifikasi (Gambar 1), yang semula untuk menarik bahan masih menggunakan cara manual yaitu dengan memutar tuas. Program pengontrol motor stepper (Gambar 2) terdiri dari pengatur mode putar (full step & hi-torque), pengatur arah (maju & mundur), dan pengatur kecepatan (delay dengan satuan mili sekon/ms). Saya menggunakan port parallel sebagai interface ke driver motor stepper, dan hanya 4pin (data) port parallel saja yg saya gunakan. Saya ingin menambahkan kode program untuk menentukan RPM (ω, satuan rad/s) dan Strain (ɛ) (pertambahan panjang sampel yg ditarik dibagi dengan panjang awal sampel) dari motor stepper berdasarkan jumlah step (n) dan delay (ms). Motor stepper tersebut membutuhkan 200 step untuk 1putaran penuh (1step = 1,8 derajat).
Ide dasarnya, setiap step yang akan masuk ke port parallel akan dicacah. Jika step sama dengan 200 akan merupakan 1 putaran penuh (n) (untuk kedua mode putar full step maupun hi-torque). Waktu (t) ditentukan dengan mencacah delay (ms) dan mengalikannya dengan 200 (nilai 200 tersebut diambil berdasarkan pengujian dengan menggunakan kecepatan delay 1s(1000ms) untuk 1putaran penuh). Kemudian nilai t dikalikan dengan 10 (1ms=1/1000 s). Sehingga nilai RPM (ω) dapat ditentukan dengan ω=jumlah putaran(n)/waktu (t). Nilai strain (ɛ) dapat diperoleh dengan memasukkan nilai panjang sampel awal yg akan ditarik dan pertambahan panjang (Δl) diperoleh dengan mengurangi panjang akhir (l2) dikurangi panjang awal (l1). Panjang akhir ditentukan dari jumlah putaran dikali 2mm saat awal menarik bahan hingga bahan yang ditarik putus. Nilai 1 putaran penuh = 2mm berdasarkan kalibrasi yang telah dilakukan. Sehingga nilai strain (ɛ) dapat dicari. Masalahnya, saya masih belum menemukan fungsi pallete di LabVIEW untuk mencacah nilai step maupun waktu. Mohon para master & newbie LabVIEW bisa memberikan saran dan solusi. Thanks.
Gambar 1. Alat Uji Tarik Bahan yang telah dimodifikasi
Gambar 2. Keterangan dari atas ke bawah, a. Front Panel, b. Block Diagram
05-11-2012 09:55 AM
Saya telah mencoba menganalisa problem anda, dengan parameter sebagai berikut:
1 putaran = 200 step
1 putaran = 2 mm
1 step = 1/200 * 2 mm = 0,01 mm
saya melihat disini fungsi RPM tidak perlu dibuat bervariasi yang penting diatur sampai didapatkan kecepatan yang tepat, artinya tidak terlalu cepat, kecepatan perstep diatur dengan mengatur time delay (sebaiknya dibuat dengan angka yang mudah diingat misalnya 1 RPM, berati time delaynya diset 60000/200= 300ms.
Apakah benda yang diuji ditarik sampai putus? atau sampai pertambahan panjang (Δl) tertentu?
Perlu diingat pencacah dimulai dari 0 ketika benda uji sudah pada titik sudah agak tegang (jangan pada saat kendor)
05-12-2012 07:22 AM
Saya ucapkan terima kasih atas respon yang Pak Irsal berikan,
Saya ingin menarik hingga bahan putus, untuk sensor yang anda maksud sebenarnya ada, mohon maaf belum saya jelaskan di atas. Sensor tersebut berupa Digital Force Gauge (gambar 3), namun saya belum bisa meng-enable USB dari Digital Force Gauge dengan LabVIEW & NI-VISA USB, sehingga saya belum bisa membaca keluaran device tsb. untuk saya gunakan sebagai feedback untuk mengontrol program control motor stepper ketika bahan sudah putus. Masalah digital force gauge telah saya tanyakan di forum ini Membaca data keluaran dari device digital force gauge dengan NI-VISA USB dan sampai sekarang belum menemukan solusinya. Oleh karena itu, perintah STOP masih diberikan secara manual.
Saya mencoba memodifikasi program input nilai delay menjadi RPM (gambar 4), berdasarkan saran dari bapak, namun saya masih mempertahankan Knob (variasi RPM) dan Nilai 300ms yang ada pada Gambar 4 diambil berdasarkan nilai untuk 1RPM. Supaya mempermudah ketika menggeser digital force gauge ke atas ataupun ke bawah (dengan kecepatan maksimum). Selain itu, saya ingin mencari pendekatan kecepatan yang stabil & pendekatan torsi yg terbaik untuk menarik bahan dengan menguji beberapa variasi kecepatan dengan melihat hasil digital force gauge ketika menarik bahan.
Ketika ingin menjalankan program, sebelumnya saya sudah mengkalibrasi bahan supaya dalam kondisi agak tegang dengan menggunakan digital force gauge. Pada layar digital force gauge menunjukkan angka 0.
Masalah yang lain, saya masih belum bisa mencacah data step hexadecimal yang akan masuk ke pallete port parallel yang nantinya jumlah step ketika start menarik bahan hingga putus/ perintah stop akan dikalikan 0.01mm (jarak yang bisa ditempuh untuk 1step) sebagai nilai pertambahan panjang. Mungkin Pak Irsal bisa memberikan saran.
Gambar 3. Digital Force Gauge (yang diberi lingkaran merah)
Gambar 4. Modifikasi Knob delay menjadi Knob RPM (Front panel & block diagram).
05-15-2012 12:48 AM
Setelah beberapa hari saya mencoba meng-otak-atik dan bertanya pada beberapa rekan saya tentang mencacah nilai step dalam program tersebut dengan menggunakan fungsi shift register (Gambar 5).
Gambar 5. Penambahan fungsi register untuk mencacah step.
05-15-2012 09:50 AM
05-30-2014 12:12 PM
saya ada problem dalam pembacaan sinyal digital input untuk ditampilkan ke digital wavefrom graph, bisa bantu saya untuk programnya gak mas?