Daftar Isi:

Modul Resolver Arduino: 4 Langkah
Modul Resolver Arduino: 4 Langkah

Video: Modul Resolver Arduino: 4 Langkah

Video: Modul Resolver Arduino: 4 Langkah
Video: Cara mengatasi arduino error ketika mengaktifkan relay 2024, Juli
Anonim
Modul Penyelesai Arduino
Modul Penyelesai Arduino

Tinee9 kembali dengan modul baru. Modul ini disebut modul Resolver.

Dalam dunia pengendalian motor terdapat berbagai macam jenis atau metode pendeteksian posisi. Metode tersebut termasuk sensor hall, sensor XY, resolver, RVDT, LVDT, direktur lapangan, potensiometer, dll. Tergantung pada bagaimana masing-masing sensor ini diatur, Anda bahkan dapat menentukan posisi absolut Anda bahkan tanpa harus menyimpan posisi terakhir ke memori.

Modul yang saya gunakan dapat digunakan untuk mendemodulasi RVDT, LVDT, dan Resolver tetapi untuk tujuan hari ini akan mendemodulasi resolver.

Pemahaman Teknis: Tingkat Pakar

Tutorial Plug and Play: Tingkat Menengah

Perlengkapan

1: Arduino Nano

2: Modul Penyelesai

3: Papan Roti

4: Baterai 9.0 Volt atau Nscope

5: Penyelesai

6: 10x Kabel Jumper papan roti

Langkah 1: Modul Penyelesai

Modul Penyelesai
Modul Penyelesai

Ada beberapa hal yang dapat Anda lakukan dengan resolver, Anda dapat mendemodulasi motor untuk pergantian motor, Anda bisa mendapatkan posisi absolut jika Anda tidak melewati titik nol, dan Anda dapat mengambil kecepatan dari motor.

Di mana saya telah melihat mereka paling banyak digunakan dalam aplikasi kedirgantaraan aileron, kemudi, sirip rudal, atau kontrol kamera.

Mereka cenderung sedikit lebih mahal daripada sensor pot atau hall tetapi mereka memberi Anda resolusi yang luar biasa.

Langkah 2: Pengaturan

Mempersiapkan
Mempersiapkan
Mempersiapkan
Mempersiapkan
Mempersiapkan
Mempersiapkan
Mempersiapkan
Mempersiapkan

1: Pertama, Anda harus meletakkan arduino nano Anda di atas papan roti

2: Anda perlu menghubungkan Pin 5V pada Arduino ke Pin +3V3 dan pin 5V pada Modul Resolver (Modul dapat memiliki pasokan 3.3V sambil memberikan eksitasi 5V pada resolver)

3: Hubungkan RTN di Arduino ke RTN di Modul Resolver

4: Hubungkan D9 pada Arduino ke PWM pada Modul Resolver

5: Hubungkan A0 pada Arduino ke MCU_COS+ pada Modul Resolver

6: Hubungkan A1 pada Arduino ke MCU_SIN+ pada Modul Resolver

7: Hubungkan kabel Resolver EX+ ke EX+ pada Modul Resolver

8: Hubungkan kabel EX-Resolver ke EX- pada Modul Resolver

9: Hubungkan kabel Resolver COS+ ke COS+ pada Modul Resolver

10: Hubungkan 2 kabel RCOM Resolver ke RCOM pada Modul Resolver

11: Hubungkan kabel Resolver SIN+ ke SIN+ pada Modul Resolver

12: Hubungkan Baterai 9V ke RTN (-) dan VIN (+)

13: Atau Hubungkan Nscope +5V ke 5V Pin di Arduino dan RTN di Nscope ke RTN di Arduino

14: Hubungkan Lingkup ke USB di PC

15: Hubungkan Arduino ke USB di PC

Langkah 3: Muat Kode

Muat Kode
Muat Kode
Muat Kode
Muat Kode

Salin Tempel Kode Arduino di bawah ini ke Sketsa Anda di Arduino IDE

Apa yang akan dilakukan kode ini adalah pergi ke PWM the Resolver Module. Modul itu akan menggairahkan resolver dan menghasilkan gelombang persegi pada gulungan sekunder resolver. Sinyal yang keluar dari Sin+ dan Cos+ kemudian diumpankan ke OPAMP yang akan memusatkan Gelombang dan mengurangi output sehingga antara 0-5Volts.

Sin+ dan Cos+ sesuai dengan maksudnya. Sin adalah 90 derajat keluar dari fase dengan gelombang Cos.

Karena mereka berada di luar fase 90 derajat, kita perlu menggunakan fungsi Atan2 (Cos, Sin) untuk mendapatkan koordinat posisi resolver yang benar.

Kemudian Arduino akan memuntahkan, setelah mendapatkan 4 sampel, nilai antara -3,14 dan 3,14 yang masing-masing mewakili -180 derajat dan +180 derajat. Inilah sebabnya mengapa jika Anda ingin menggunakan resolver untuk posisi absolut, Anda hanya boleh menggunakan antara -180 dan 180 tanpa rotasi berlebih atau jika tidak, Anda akan berguling dan mengira Anda kembali ke awal atau akhir langkah aktuator Anda. Ini akan menjadi masalah jika Anda memutuskan untuk menggunakan resolver untuk sumbu x atau y printer 3D dan berguling menyebabkan printer 3D berantakan.

Saya bisa membuat kode sedikit lebih baik dengan interupsi untuk memiliki PWMing lebih terus menerus tetapi ini akan cukup untuk application.int ini A = A0;

int B = A1; int pwm = 9; int c1 = 0; int c2 = 0; int c3 = 0; int c4 = 0; int c5 = 0; int c6 = 0; int s1 = 0; int s2 = 0; int s3 = 0; int s4 = 0; int s5 = 0; int s6 = 0; keluaran mengambang = 0,00; int sin1 = 0; int cos1 = 0; int posisi_status = 1; int get_posisi = 0; void setup() { // letakkan kode setup Anda di sini, untuk dijalankan sekali: pinMode(pwm, OUTPUT); Serial.begin(115200); }

lingkaran kosong() {

if(get_posisi=5){ cos1 = (c1+c2)-(c3+c4); sin1 = (s1+s2)-(s3+s4); keluaran = atan2(cos1, sin1); c1 = 0; c2 = 0; c3 = 0; c4 = 0; s1 = 0; s2 = 0; s3 = 0; s4 = 0; Serial.print("Posisi: "); Serial.println(keluaran); get_posisi = 1; }

// letakkan kode utama Anda di sini, untuk dijalankan berulang kali:

}

Langkah 4: Langkah 3: Bersenang-senang

Langkah 3: Bersenang-senang
Langkah 3: Bersenang-senang
Langkah 3: Bersenang-senang
Langkah 3: Bersenang-senang

Nikmati memutar resolver dan mempelajari cara kerja resolver dan aplikasi apa yang dapat Anda gunakan untuk modul resolver ini.

Direkomendasikan: