LabVIEW Team Indonesia

cancel
Showing results for 
Search instead for 
Did you mean: 

Remapping Signal Akselerometer menjadi PWM

Saya membuat program untuk membaca signal akselerometer dan mengubahnya menjadi masukkan PWM untuk motor servo. Sinyal akselerometer tersebut saya remapping menjadi PWM karena hanya ingin menghasilkan gerakan motor servo yang berlawanan dengan gerakan akselerometer.. Namun karena PWM yang dihasilkan hanya update setiap 1 detik, maka gerakan motor servo menjadi lambat, ini dikarenakan saya hanya mengindeks array hasil waveform remapping. Saya membaca sinyal akselerometer dengan sampling rate 100 Hz, maka ada 100 data setiap 1 detik. Apakah ada cara lain untuk mendapatkan nilai PWM dengan 100 data tersebut sehingga perubahan nilai PWM menjadi lebih cepat dari 1 detik? (menaikkan kecepatan data update PWM menjadi 0,2 ms juga sudah sangat baik) 

 

Terimakasih Atas bantuannya, Saya mencantumkan file VI yang sudah saya rancang, saya menggunakan labjack U3-HV sebagai akuisisi data.

0 Kudos
Message 1 of 4
(3,183 Views)

Analog Input settingannya Continuous 100S/s ya?
Utk PWMnya pakai apa? Counter Output? Apa Analog Output? Atau Digital Output?

 

Mohon dijelaskan.

 

Secara teori bisa saja kok. Kalau mau gampang sih, pakai Analog Output utk PWM-nya. Saya pernah buat utk myDAQ:

http://forums.ni.com/t5/LabVIEW-Team-Indonesia/Mengontrol-Hobby-Servo-Motor-Dengan-myDAQ-Analog-Outp...

*yang saya kontrol di contoh di atas Duty Cycle-nya.

 

Jadi basic-nya begini:

1. Analog Input baca data, 100 sampling per second, tapi set pembacaan samplingnya (sample to read) menjadi 10 sample, maka yang terjadi adalah dalam 1 detik, looping akan berjalan sebanyak 10x, 100 sampling per second dibagi dengan10 sample.

 

2. Di loop yang sama, Analog Output mengeluarkan data, asumsi 100kS/s, dan kita set, penulisan samplingnya (sample to write) menjadi 10ks, maka yang terjadi adalah dalam 1 detik, looping akan berjalan sebanyak 10x, 100kS/s dibagi dengan 10kS

 

3. Otomatis algoritma Analog Input dan Analog Output menjadi sinkron, berjalan 10x dalam satu detik, voila, respons PWM anda (loop rate) akan menjadi 10Hz.

Certified LabVIEW Developer (CLD)
Certified TestStand Developer (CTD)
Using LabVIEW 8.5.1 (2008) to LabVIEW 2024
0 Kudos
Message 2 of 4
(3,160 Views)

Analog Input saya set 100 sample/s ternyata ada get value yang wired ke sana, jadi data yang muncul juga per detik. sudah saya ganti nilainya, sehingga bisa menampilkan data setiap 0,2 ms.

0 Kudos
Message 3 of 4
(3,133 Views)

Kalau boleh saya bertanya lagi, 
Saya ingin membuat putaran motor servo bekerja seperti gimbal kamera, jadi saat accelerometer membaca pergerakan kanan-kiri (Sumbu x) dan atas-bawah (sumbu Z) saya ingin motor bergerak berlawanan, jadi bisa bertindak seperti gimbal kamera yang stabil. Apakah ada contoh melakukan konversi data akselerometer menjadi keluaran untuk motor servo yang sesuai? 
saya sudah mencari beberapa contoh, tapi kebanyakan menggunakan arduino dan saya sedikit kesulitan intepretasi logikanya untuk di implementasikan di labview. Dari program saya, saya menggunakan remapping, tapi tidak bisa bekerja seperti gimbal,karena dari remapping yang saya buat besar PWM nya akan kembali ke nilai 0, jadinya pergerakan gak stabil.
Misalnya saya gerakkan ke kiri (Sensor akselerometer baca 1,0,-1) maka PWM yang keluar (6,5,4) sehingga dia bukan hanya ke arah kanan, tapi juga balik ke kiri lagi, dan itu yang membuat tidak stabil.
Mohon bantuannya, terimakasih

Saya menggunakan Motor servo 8g, dan Accelerometer MMA7361.

Ini salah satu contoh yang menggunakan arduino http://www.instructables.com/id/Camera-Gimbal-Using-Micro-Servos-and-Arduino/ 

0 Kudos
Message 4 of 4
(3,132 Views)