Rotary encoder yang akan kami bahas adalah salah satu jenis optical encoder dengan spesifikasi di bawah ini ya
Spesifikasi
1. Tegangan Input : 5-24 Vdc
2. Shaft/Poros : dia. 6mm panjang 13mm
3. Dimensi body : 38 mm x 35.5 mm
4. Output : AB 2 phase (npn)
5. Kec. Maksimum : 5000rpm
6. Frekuensi respon : 0 - 20KHz
7. Panjang Kabel : +- 1.5 m
Wiring
1. Hijau : Phase A
2. Putih / Kuning: Phase B
3. Merah : VCC (+)
4. Hitam : GND
5. Silver : 0V/GND
Kali ini yang akan kami bahas yaitu cara memprogram menggunakan arduino, untuk PLC akan kami bahas di artikel berikutnya
Peralatan yang dibutuhkan
1. Arduino Nano
2. LCD
3. Jumper
4. BreadBoard
5. Power Supply
Wiring
Sambungkan encoder, arduinio, dan lcd seperti gambar di bawah ini
Program
- Untuk encoder tipe optical seperti yang kami gunakan dalam artikel ini menggunakan pin interupt pada arduino nano (pin 2 dan 3). Jika menggunakan pin lain maka pulse tidak akan terbaca, hal ini tentu berbeda dengan penggunaan encoder tipe ky040.
- Untuk menghindari nilai random yang biasa muncul saat penggunaan pin interupt, pada program di atas kami menambahkan program safety pada program loopnya, yaitu:
- noInterrupts();
- updateval = val;
- Interrupts();
- Pulse encoder disimpan pada variable val. Nilai dari val ini dapat diadjust sesuai dengan tipe encoder yang digunakan misal bila menggunakan encoder tipe 1200pulse berarti nilai val dikali dengan 2.
thanks.... helped me in completing my project
ReplyDeleteHallo.Could you please share the All Code with the Position too.Thank you in advance
ReplyDeleteAny chance you can publish the code for the position version with the round indicator? Would help me with my project very much, TIA /Marcus
ReplyDelete