LabVIEW Team Indonesia

cancel
Showing results for 
Search instead for 
Did you mean: 

Penambahan Kode Program untuk Menentukan RPM & Strain pada Program Pengontrol Motor Stepper

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.

AUTB_.jpg

Gambar 1.  Alat Uji Tarik Bahan yang telah dimodifikasi

SMV2_1.jpg

SMV2_2.jpg

Gambar 2. Keterangan dari atas ke bawah, a. Front Panel, b. Block Diagram


0 Kudos
Message 1 of 6
(9,075 Views)

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?

  1. Jika ditarik sampai putus berarti diperlukan sensor untuk mendeteksi benda uji sudah putus, untuk mode ini program dibuat dengan while loop dimana loop akan berhenti jika sudah putus, dengan demikian (Δl) = jumlah putaran * 0,01 mm
  2. Jika ditarik sampai pertambahan panjang (Δl) tertentu, maka jumlah putaran diatur sesuai dengan pertambahan panjang yang diniginkan, untuk mode ini diperlukan while loop yang akan berhenti jika pertambahan panjang tercapai atau benda uji putus
  3. Optional jika dari kedua mode tersebut.

Perlu diingat pencacah dimulai dari 0 ketika benda uji sudah pada titik sudah agak tegang (jangan pada saat kendor) 

Message 2 of 6
(5,856 Views)

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.

AUTB_1.jpg

Gambar 3. Digital Force Gauge (yang diberi lingkaran merah)

SMV3_2.jpgSMV3_1.jpg

Gambar 4. Modifikasi Knob delay menjadi Knob RPM (Front panel & block diagram).

0 Kudos
Message 3 of 6
(5,856 Views)

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).

SMV3.2_1.png

SMV3.2_2.png


Gambar 5. Penambahan fungsi register untuk mencacah step.


0 Kudos
Message 4 of 6
(5,856 Views)

Inato ketika pengiriman data digital output apakah ada respon dari stepper motor?

Coba test dengan program saya ini:

Stres_TST.jpg


Message 5 of 6
(5,856 Views)

saya ada problem dalam pembacaan sinyal digital input untuk ditampilkan ke digital wavefrom graph,  bisa bantu saya untuk programnya gak mas?

0 Kudos
Message 6 of 6
(5,856 Views)