Mengatur Kecepatan Motor Stepper Dengan Menggunakan Potensio

September 15, 2017 | Author: Mariel Ckp | Category: N/A
Share Embed Donate


Short Description

Download Mengatur Kecepatan Motor Stepper Dengan Menggunakan Potensio...

Description

Arduino Indonesia

1 of 3

http://arduino.or.id/blog/detail_blog/mengatur-kecepatan-motor-stepper-d...

Welcome : Guest Login Register Site Map Hardware Download

Home

Blog

Community

About Us Category

Mengatur Kecepatan Motor Stepper dengan Menggunakan Potensio

news (8) project (8)

Tanggal :16/07/2012 Kategori : project Oleh : mibnus

Mengatur kecepatan motor stepper dengan potensio meter (VR), yaitu potensio mengatur besar tegangan (0-5 volt) yang jadi inputan port ADC Arduino. Pada saat potensio diputar ke kanan maka tegangan keluaran potensio meningkat mendekati 5 volt dan bila diputar ke kiri tegangan keluaran potensio semakin kecil mendekati 0 volt. Sehingga kecepatan putar motor stepper berbanding lurus dengan tegangan input analog dari potensio. Motor stepper merupakan motor dengan sinyal DC yang diatur arah putaran dan kecepatannya dengan pengaturan sinyal yang diberikan. Berikut gambar skematik diagram motor stepper unipolar 4 phase dengan 8 dan 6 kabel output.

Komponen yang diperlukan : 1. Lampu led merah 4x 2. Resistor 1KΩ 4x 3. Dioda in4001 (1A)

4. Potensio/trimpot (VR) 10K 1 5. IC ULN 2803 6. Breadboard 7. Kabel Jumper 8. Motor Stepper Unipolar 4 phase 9. Power Supply 5V 1A 10. Minimum sistem board Arduino

Koneksi Rangkaian

Penulisan Program //Kendali Kecepatan Motor Stepper dengan Potensio int tunda = 0; //deklarasi variabel tunda

6/8/2013 9:31 PM

Arduino Indonesia

2 of 3

http://arduino.or.id/blog/detail_blog/mengatur-kecepatan-motor-stepper-d...

int sensorValue = 0; int outputValue = 0;

//deklarasi variabel sensor value

const const const const const

//deklarasi pin phase1 pada kaki port D2

int int int int int

phase1 = 2; phase2 = 4; phase3 = 3; phase4 = 5; analogIn = 18;

void setup() { pinMode (phase1, OUTPUT); pinMode (phase2, OUTPUT); pinMode (phase3, OUTPUT); pinMode (phase4, OUTPUT); pinMode (analogIn, INPUT); Serial.begin (9600); } void loop() { siklusADC(); powerStepper(); }

//deklarasi pin analogIn pada pin 18 / ADC 4

//phase1 sebagai output

//analogIn sebagai input analog //inisialisasi komunikasi serial pada 9600 bps //loping / pengulangan terus menerus //deklarasi void siklus ADC //deklarasi void powerStepper

void siklusADC() //kode program void siklusADC { sensorValue = analogRead (analogIn); //membaca sinyal analog pada pin analogIn outputValue = map (sensorValue, 0, 1023, 0, 255); //maping dari nilai 1023 jadi 255 Serial.print ("outputValue= "); //mencetak pada serial monitor Serial.println (outputValue, DEC); //menulis nilai dalam desimal if (outputValue < 20) {tunda = 500;} else if (outputValue < 30) {tunda = 300;} else if (outputValue < 70) {tunda = 200;} else if (outputValue < 100) {tunda = 100;} else if (outputValue < 140) {tunda = 50;} else if (outputValue < 170) {tunda = 20;} else if (outputValue < 200) {tunda = 10;} else if (outputValue < 240) {tunda = 5;} else {tunda = 2;} delayMicroseconds (tunda);

//membuat tingkatan dengan metode if //memberikan nilai pada variabel tunda

//jeda waktu delay sama dengan nilai tunda

} void powerStepper() { digitalWrite (phase1, digitalWrite (phase2, digitalWrite (phase3, digitalWrite (phase4, delay (tunda); digitalWrite (phase1, digitalWrite (phase2, digitalWrite (phase3, digitalWrite (phase4, delay (tunda); digitalWrite (phase1, digitalWrite (phase2, digitalWrite (phase3, digitalWrite (phase4, delay (tunda); digitalWrite (phase1, digitalWrite (phase2, digitalWrite (phase3, digitalWrite (phase4, delay (tunda); }

//susunan program void powerStepper HIGH); LOW); LOW); LOW); LOW); LOW); LOW); HIGH);

//tahap sinyal pertama phase1 diberi sinyal high //tahap sinyal pertama phase2 diberi sinyal low // tahap sinyal pertama phase3 diberi sinyal low // tahap sinyal pertama phase4 diberi sinyal low //jeda waktu delay sama dengan nilai tunda //tahap sinyal kedua

LOW); LOW); HIGH); LOW);

// tahap sinyal ketiga

LOW); HIGH); LOW); LOW);

// tahap sinyal ke empat

6/8/2013 9:31 PM

Arduino Indonesia

3 of 3

http://arduino.or.id/blog/detail_blog/mengatur-kecepatan-motor-stepper-d...

© 2012 Arduino Indonesia

6/8/2013 9:31 PM

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF