Tampilkan postingan dengan label Motor DC. Tampilkan semua postingan
Tampilkan postingan dengan label Motor DC. Tampilkan semua postingan

Kamis, 09 Juni 2016

Menggunakan Ardumoto (Driver Motor DC) Arduino

Pendahuluan
Ardumoto merupakan shield arduino yang digunakan mengontrol 2 motor DC atau 1 motor stepper. Ardumoto dapat digunakan dengan mudah sehingga dapat membantu kita untuk membuat robot beroda dengan lebih mudah. Ardumoto menggunakan IC L298 dual full-Bridge Motor driver, dengan kemampuan arus maksimal untuk menggontrol motor DC sebesar 2 Amper.

Artikel lain:



Konfigurasi Pin
Berikut gambar konfigurasi pin penggunaan Ardumoto
Sumber Gambar: https://learn.sparkfun.com/tutorials/ardumoto-shield-hookup-guide
Ardumoto shield menggunakan pin 3, 11, 12, dan 13. Setiap motor menggunakan 2 pin. Satu pin digunakan untuk mengatur Direction (Arah) dan satu pin untuk mengatur Speed (kecepatan).

Tabel konfigurasi pin Ardumoto
Sumber Gambar: https://learn.sparkfun.com/tutorials/ardumoto-shield-hookup-guide
Sumber Tegangan
Sumber tegangan yang digunakan bisa menggunakan sumber dari USB Arduino, namun untuk pergerakan yang lebih leluasa biasa digunakan sumber dari Jack berwarna hitam pada Arduino atau Vin yang ada di Ardumoto. Untuk sumber tegangan eksternal pada papan ardumoto tertulis Vin tegangan maksimal sebesar 18V. Penggunaan sumber tegangan yang paling baik disesuaikan dengan kebutuhan tegangan motor DC yang digunakan.

Mengkoneksikan dengan Motor
Untuk Ardumoto yang telah ditambahkan terminal sekrup tinggal menyambungkan pin motor ke pin Ardumoto. Ada pin A1, A2 dan B1, B2.

Contoh Program
Untuk contoh program, kita akan mencoba untuk mengontrol pergerakan motor dengan kecepatan penuh dan separuh kecepatan, dan mencoba mengubah arah putar motor. Dengan tempo delay tertentu. Program dalam bentuk arduino bisa didownload DISINI. Berikut tampilan programnya:


//language:c
/* Ardumoto Example Sketch
by: Jim Lindblom
date: November 8, 2013
license: Public domain. Please use, reuse, and modify this
sketch!

Three useful functions are defined:
setupArdumoto() -- Setup the Ardumoto Shield pins
driveArdumoto([motor], [direction], [speed]) -- Drive [motor]
(0 for A, 1 for B) in [direction] (0 or 1) at a [speed]
between 0 and 255. It will spin until told to stop.
stopArdumoto([motor]) -- Stop driving [motor] (0 or 1).

setupArdumoto() is called in the setup().
The loop() demonstrates use of the motor driving functions.
*/

// Clockwise and counter-clockwise definitions.
// Depending on how you wired your motors, you may need to swap.
#define CW 0
#define CCW 1

#define MOTOR_A 0
#define MOTOR_B 1

//konfig pin
//jangan rubah konfigurasi pinnya! Pin ini telah ditentukan pada layout shield
const byte PWMA =3; //PWM control (speed) untuk motor A
const byte PWMB =11; //PWM control (speed) untuk motor B
const byte DIRA =12; //Mengatur posisi untuk motor A
const byte DIRB =13; //Mengatur posisi untuk motor B
void setup() {

setupArdumoto();
}

void loop() {
// menkontrol motor A (hanya Motor A) dgn berbagai keepatan, dan berhenti
driveArdumoto (MOTOR_A, CCW, 255);// setting motor A untuk berputar CCW dgn keceptn max.
delay (3000);// Motor A akan berputar selama 1 dtk
driveArdumoto (MOTOR_A, CW, 127);// setting motor A untuk berputar CW dgn keceptn separuh.
delay (3000);// Motor A akan berputar selama 1 dtk
stopArdumoto(MOTOR_A);//stop motor A

// menkontrol motor B (hanya Motor B) dgn berbagai keepatan, dan berhenti
driveArdumoto (MOTOR_B, CCW, 255);// setting motor B untuk berputar CCW dgn keceptn max.
delay (3000);// Motor A akan berputar selama 1 dtk
driveArdumoto (MOTOR_B, CW, 127);// setting motor B untuk berputar CW dgn keceptn separuh.
delay (3000);// Motor A akan berputar selama 1 dtk
stopArdumoto(MOTOR_B);//stop motor B

//Memutar Kedua motor
driveArdumoto (MOTOR_A,CW, 255);// motor A dgn kecptn max.
driveArdumoto (MOTOR_B,CW, 255);// motor B dgn kecptn max.
delay (3000);// bergerak maju salama 1 dtk
//bergerak mundur dgn separuh kecepatan
driveArdumoto(MOTOR_A,CCW,127);// motor A dgn separuh kec
driveArdumoto(MOTOR_B,CCW,127);// motor B dgn separuh kec
}

//driveArdumoto mengontrol 'motor' didalmam'dir' direction di 'spd' speed
void driveArdumoto(byte motor, byte dir, byte spd)
{
if(motor==MOTOR_A)
{digitalWrite(DIRA,dir);
analogWrite(PWMA,spd);
}
else if (motor==MOTOR_B)
{
digitalWrite(DIRB,dir);
analogWrite(PWMB,spd);
}
}
//stopArdumoto membuat motor berhenti
void stopArdumoto(byte motor)
{
driveArdumoto(motor,0,0);
}

//setupArdumoto menginisialisasi semua pin
void setupArdumoto()
{
//semua pin akan dipersiapkan sebagai output
pinMode(PWMA, OUTPUT);
pinMode(PWMB, OUTPUT);
pinMode(DIRA, OUTPUT);
pinMode(DIRB, OUTPUT);

//mengatur semua pin dengan low
digitalWrite(PWMA, LOW);
digitalWrite(PWMB, LOW);
digitalWrite(DIRA, LOW);
digitalWrite(DIRB, LOW);
}


Penjelasan dan Kode diatas merupakan rangkuman dari tutorial yang didapat pada link INI. Dengan merangkum, dan beberapa penerjemahan ke bahasa Indonesia. Untuk lebih jelasnya bisa kunjungi alamat situs ini: https://learn.sparkfun.com/tutorials/ardumoto-shield-hookup-guide

Selamat Mencoba...
Semoga Bermanfaat....

Baca juga:
Menggunakan Modul L298N (Motor Driver) Arduino

Menggunakan Modul L298N (Motor Driver) Arduino

Deskripsi Produk:
Modul driver L298N, menggunakan chip ST L298N yang dapat secara langsung mengontrol dua motor DC 3-30V, dan menyediakan antarmuka keluaran 5 V, kita dapat mengontrol dengan mudah kecepatan dan Arah pergerakan Motor DC, kita juga dapat mengontrol 2-phasa motor stepper.

Artikel Lain:
Pengujian Sismin Arduino Mega 2560 (Kombinasi LED)

Produk parameter:
  1. Drive Chip: L298N dual H-bridge driver chip
  2. Terminal bagian pengontrol dengan sumber pasokan VMS: +5V~+35V
  3. Bagian Driver dengan Arus maksimal Io: 2A/Bridge
  4. Bagian Logika dengan terminal Power Suplay berkisar Vss: 4,5-5,5 V
  5. Bagian Logika dengan arus boperasional berkisar: 0~26mA
  6. Kontrol Tegangan sinyal input berkisar: 4,5-5,5 V low 0V high
  7. Konsumsi power Maksimum: 20W
  8. Temperatur penyimpanan: -25 ~ +130
  9. Ukuran Papan Drive: 55mm*60mm*30mm
  10. Berat papan drive: 33g
  11. Fitur lain: kontrol arah indikator, indikator daya, deteksi arus, dst.
Sumber: http://iseerobot.com/produk-1145-l298n-motor-driver-module-.html

Sumber Gambar: http://www.instructables.com


Keterangan Gambar:
  1. DC motor 1 “+” atau stepper motor A+
  2. DC motor 1 “-” atau stepper motor A-
  3. 12V jumper – lepaskan jumper ini jika menggunakan sumber lebih dari 12 V DC. Ini memungkinkan sumber dari regulator pada Arduino 5V.
  4. Hubungkan sumber tegangan motor disini, maksimum 35 V DC. Lepaskan 12V jumperV jika >12V.
  5. GND
  6. 5V output jika 12V jumper digunakan, ideal untuk mensuplai Arduino Anda(etc).
  7. DC motor 1 enable jumper. Lepaskan ini ketika menggunakan stepper motor. Hubungkan ke keluaran PWM untuk menatur kecepatan motor.
  8. IN1
  9. IN2
  10. IN3
  11. IN4
  12. DC motor 2 enable jumper. Lepaskan ini ketika menggunakan stepper motor. Hubungkan ke keluaran PWM untuk menatur kecepatan motor.
  13. DC motor 2 “+” or stepper motor B+
  14. DC motor 2 “-” or stepper motor B-
Sumber Gambar: http://www.instructables.com
Pada kali ini kita akan mencoba untuk mengontrol motor stepper. Untuk mengontrol motor stepper basanya lebih sulit dan kmpleks ketmbang mongontrol Motor DC. Disini dicoba untuk mengontrol stepper dengan merek Wantai 57BYGH115-003. Motor stepper ini memiliki empat kabel. Memiliki kecepatan dan jumlah langkah yang tertentu. Untuk Stepper ini memiliki 1,8 step per derajatnya. (Belum terlalu ngliat datasheetnya ni). Jika Anda belum mengetahui step dan kecepatan motor Anda, temukan agar anda bisa merangkainya.

 Agar kita berhasil mengontrol motor stepper kita harus bisa mengindentifikasikan dari kabel stepper. Kita perlu tahu mna kabel A+, A-, B+, dan B-. Kalau pada stepper ini ada kabel hitam, merah, hijau dan biru (Cari di datasheet Motor stepper biar lebih jelas).

Setelah kita mengetahui kabel-kabel stepper, hubungkan kabel ke modul driver 1, 2, 13 dan 14 (lihat gambar modul diatas) ke kabel A+, A-, B+. dan B- secara berurutan.Pasangkan jumper pada modul L298N pada point 7 dan 12. Kemudian hubungkan power suply sesuai kebutuhan yaitu point 4(positif) dan 5 (negatif/GND). Kebetulan steper ini membutuhkan tegangan sebesar 12V dengan kebutuhan arus 3A. Untuk memenuhi kebutuhan sumber tegangan saya menggunakan power suplay komputer (PC), namun karena arus yang dibutuhkan besar (3A) IC L298N sangat cepat menjadi panas, kemungkinan dibutuhkan pendingin yang lebih besar.
Jika motor stepper Anda membutuhkan tagangan sebesar kurang dari 12V, pasangkan jumper point 3 pada modul untuk menggunakn sumber 5V yang sekalian memberi suplay ke Arduino ANda. Selanjutnya, hubungkan pin modul L298N IN1, IN2, IN3 dan IN4 ke pin digital Arduino D8, D9, D10 dan D11 secara berurutan.
Terakhit, hubungkan Arduino GND ke point 5 pada modul, dan 5V arduino ke point 6 jika sumber 5V berasal dari modul. Mengontrol motor steper dari rangkaian yang kita buat sangat mudah, Berterimakasih kepada Stepper Arduino library yang telah tersedia pada Arduino IDE standard. Untuk mendemonstrasikan motor Anda, load stepper_oneRevolution sketch yang telah tersedia pada Stepper library. Untuk menemukannya, klik File>Examples> Stepper menu di Arduino IDE.


Cek nilai dari

const int stepsPerRevolution = 200;
Pada sket dan ubah 200 ke nilai step per putaran dari motor steper Anda, dan juga atur kecepatan 60RPM yang tertera pada baris:
myStepper.setSpeed(60);
Sekarang anda dapat menyimpan dan menguplod sket, yang akan dikitim ke motor stper Anda untuk berputar 1 putaran dan kemudian kembali berputar ke posisi semula. Gerakan ini diaktifkan melalui funsi ini:
<p>myStepper.step(stepsPerRevolution); // for clockwise </p><p> myStepper.step(-stepsPerRevolution); // for anti-clockwise

Berikut Video hasil percobaannya:
Sumber tulisan diatas kebanyakan diambil dan  diterjemahkan ulang dengan beberapa perubahan dari situs ini: http://www.instructables.com/id/Control-DC-and-stepper-motors-with-L298N-Dual-Moto/?ALLSTEPS

Selamat Mencoba....
Semoga Bermanfaat...

Baca juga:
Arduino Mengontrol Stepper dengan ULN2003
Cara Menambahkan Libraries Arduino
Mengontrol Motor DC dengan Potensio
Menggunakan IC Motor Driver L293D
Deskripsi Produk:
Modul driver L298N, menggunakan chip ST L298N yang dapat secara langsung mengontrol dua motor DC 3-30V, dan menyediakan antarmuka keluaran 5 V, kita dapat mengontrol dengan mudah kecepatan dan Arah pergerakan Motor DC, kita juga dapat mengontrol 2-phasa motor stepper.

Artikel Lain:
Sensor Suhu dan Kelembapan (DHT 11) Arduino
Menggunakan LCD DFRobot
Menggunakan Ardumoto (Driver Motor DC) Arduino


Produk parameter:
  1. Drive Chip: L298N dual H-bridge driver chip
  2. Terminal bagian pengontrol dengan sumber pasokan VMS: +5V~+35V
  3. Bagian Driver dengan Arus maksimal Io: 2A/Bridge
  4. Bagian Logika dengan terminal Power Suplay berkisar Vss: 4,5-5,5 V
  5. Bagian Logika dengan arus boperasional berkisar: 0~26mA
  6. Kontrol Tegangan sinyal input berkisar: 4,5-5,5 V low 0V high
  7. Konsumsi power Maksimum: 20W
  8. Temperatur penyimpanan: -25 ~ +130
  9. Ukuran Papan Drive: 55mm*60mm*30mm
  10. Berat papan drive: 33g
  11. Fitur lain: kontrol arah indikator, indikator daya, deteksi arus, dst.
Sumber: http://iseerobot.com/produk-1145-l298n-motor-driver-module-.html

Sumber Gambar: http://www.instructables.com


Keterangan Gambar:
  1. DC motor 1 “+” atau stepper motor A+
  2. DC motor 1 “-” atau stepper motor A-
  3. 12V jumper – lepaskan jumper ini jika menggunakan sumber lebih dari 12 V DC. Ini memungkinkan sumber dari regulator pada Arduino 5V.
  4. Hubungkan sumber tegangan motor disini, maksimum 35 V DC. Lepaskan 12V jumperV jika >12V.
  5. GND
  6. 5V output jika 12V jumper digunakan, ideal untuk mensuplai Arduino Anda(etc).
  7. DC motor 1 enable jumper. Lepaskan ini ketika menggunakan stepper motor. Hubungkan ke keluaran PWM untuk menatur kecepatan motor.
  8. IN1
  9. IN2
  10. IN3
  11. IN4
  12. DC motor 2 enable jumper. Lepaskan ini ketika menggunakan stepper motor. Hubungkan ke keluaran PWM untuk menatur kecepatan motor.
  13. DC motor 2 “+” or stepper motor B+
  14. DC motor 2 “-” or stepper motor B-
Sumber Gambar: http://www.instructables.com
Pada kali ini kita akan mencoba untuk mengontrol motor stepper. Untuk mengontrol motor stepper basanya lebih sulit dan kmpleks ketmbang mongontrol Motor DC. Disini dicoba untuk mengontrol stepper dengan merek Wantai 57BYGH115-003. Motor stepper ini memiliki empat kabel. Memiliki kecepatan dan jumlah langkah yang tertentu. Untuk Stepper ini memiliki 1,8 step per derajatnya. (Belum terlalu ngliat datasheetnya ni). Jika Anda belum mengetahui step dan kecepatan motor Anda, temukan agar anda bisa merangkainya.

 Agar kita berhasil mengontrol motor stepper kita harus bisa mengindentifikasikan dari kabel stepper. Kita perlu tahu mna kabel A+, A-, B+, dan B-. Kalau pada stepper ini ada kabel hitam, merah, hijau dan biru (Cari di datasheet Motor stepper biar lebih jelas).

Setelah kita mengetahui kabel-kabel stepper, hubungkan kabel ke modul driver 1, 2, 13 dan 14 (lihat gambar modul diatas) ke kabel A+, A-, B+. dan B- secara berurutan.Pasangkan jumper pada modul L298N pada point 7 dan 12. Kemudian hubungkan power suply sesuai kebutuhan yaitu point 4(positif) dan 5 (negatif/GND). Kebetulan steper ini membutuhkan tegangan sebesar 12V dengan kebutuhan arus 3A. Untuk memenuhi kebutuhan sumber tegangan saya menggunakan power suplay komputer (PC), namun karena arus yang dibutuhkan besar (3A) IC L298N sangat cepat menjadi panas, kemungkinan dibutuhkan pendingin yang lebih besar.
Jika motor stepper Anda membutuhkan tagangan sebesar kurang dari 12V, pasangkan jumper point 3 pada modul untuk menggunakn sumber 5V yang sekalian memberi suplay ke Arduino ANda. Selanjutnya, hubungkan pin modul L298N IN1, IN2, IN3 dan IN4 ke pin digital Arduino D8, D9, D10 dan D11 secara berurutan.
Terakhit, hubungkan Arduino GND ke point 5 pada modul, dan 5V arduino ke point 6 jika sumber 5V berasal dari modul. Mengontrol motor steper dari rangkaian yang kita buat sangat mudah, Berterimakasih kepada Stepper Arduino library yang telah tersedia pada Arduino IDE standard. Untuk mendemonstrasikan motor Anda, load stepper_oneRevolution sketch yang telah tersedia pada Stepper library. Untuk menemukannya, klik File>Examples> Stepper menu di Arduino IDE.


Cek nilai dari

const int stepsPerRevolution = 200;
Pada sket dan ubah 200 ke nilai step per putaran dari motor steper Anda, dan juga atur kecepatan 60RPM yang tertera pada baris:
myStepper.setSpeed(60);
Sekarang anda dapat menyimpan dan menguplod sket, yang akan dikitim ke motor stper Anda untuk berputar 1 putaran dan kemudian kembali berputar ke posisi semula. Gerakan ini diaktifkan melalui funsi ini:
<p>myStepper.step(stepsPerRevolution); // for clockwise </p><p> myStepper.step(-stepsPerRevolution); // for anti-clockwise

Berikut Video hasil percobaannya:
Sumber tulisan diatas kebanyakan diambil dan  diterjemahkan ulang dengan beberapa perubahan dari situs ini: http://www.instructables.com/id/Control-DC-and-stepper-motors-with-L298N-Dual-Moto/?ALLSTEPS

Selamat Mencoba....

Mengontrol Motor DC dengan Potensio

Pertama, Anda akan mengontrol kecepatan motor DC dalam satu arah, menggunakan transistor daya, dioda, power supply eksternal (untuk daya motor), dan potensiometer (untuk mengontrol kecepatan. Transistor NPN apa saja yang dirancang untuk beban arus tinggi dapat menggantikan teransistor TIP 120 (bisa diganti TIP 121/122) Datasheet TIP 120.

Sumber daya yang digunakan harus cukup tegangan dan arus untuk meggerakkan motor. Tegangan tidak harus melebihi yang dibutuhkan motor. Dalam percobaan akan digunakan power supply DC 5 V di 500mA, yang cukup untuk motor DC 5V yang digunakan. Catatan: Jika Anda menggunakan power supply dengan tegangan terlalu tinggi dari tegangan yang dapat di tangani/ ditoleransi motor DC, maka Anda dapat merusaknya secara permanen. Berhati-hatilah..

Artilkel lain:
LED Berkedip
Lampu Lalu Lintas Arduino
Pengujian Sismin Arduino Mega 2560 (Kombinasi LED)


Komponen yang DIperlukan:
  • Motor DC, bisa menggunakan dinamo tamiya.
  • 10 k ohm Potensiometer
  • Transistor TIP 120/ transistor ekivalennya
  • Diode 1N4001 (sebagai pengaman)
  • Jack Plug/ Sabungan Power DC
  • Suber Tegangan Ekstrnal/ Baterai
Konfigurasi:
Hubungkan semua komponen seperti gambar berikut:

Skematik hubungan. Sumber Gambar: buku Beginning Arduino hal 100

Program:
Ketikan program ini pada program Arduino:

int potPin =0; // pin analog 0 terkonek ke potensio
int transistorPin =9; // pin PWM 9 terkonek ke pin base transistor
int potValue = 0; //Mengembalikan nilai dari potensio

void setup() {
  // mensetting pin transistor sebagai output
  pinMode(transistorPin, OUTPUT);
}

void loop() {
  // membaca potensio, merubah nilai pembacaan ke 0-225
  potValue = analogRead(potPin)/4;
  //menggunakan nilai pembacaan potensio untuk kontrol transistor
  analogWrite(transistorPin, potValue);

}

Atau download program DISINI.

Tutorial ini mengikuti buku Beginning Arduino. Yang ditulis oleh Michael McRoberts. Pada halaman 99-101.
Pada buku dijelaskan secara lengkap dan mendetail mengenai skript program yang digunakan atau rangkaian yang digunakan. Untuk lebih jelasnya bisa dibaca pada bukunya langsung.
Sumber gambar: http://www.amazon.co.uk/Beginning-Arduino-Michael-McRoberts/dp/1430232404

Selamat mencoba
Semoga Bermanfaat...

Baca juga:
Menggunakan IC Motor Driver L293D

Menggunakan IC Motor Driver L293D

Pada percobaan kali ini kita akan mengontol Motor DC menggunakan IC L293D. Keuntungan menggunakan chip ini adalah kita dpat mengntrol 2 Motor DC sekaligus, dan dapat mengontrol arah perputaran Motor DC.

Alat dan Bahan


  • Motor DC
  • IC Motor Driver L293D atau SN754410
  • 10K Ohm Potensiometer
  • Toogle Switch (Saklar)
  • Resistor 10 K Ohm
  • Heatsink (pendingin)
Artikel lain:
LED Berkedip
Lampu Lalu Lintas Arduino
Pengujian Sismin Arduino Mega 2560 (Kombinasi LED)

Konfigurasi

 Hubungkan Arduino dan Komponen seperti gambar dibawah. Perlu jadi catatan PENTING IC L293D menjadi sangat panas saat digunkan. Plehkarena itu, heatsink sangat penting. Lem heatsink di atas chim menggunakan lem epoxi/alteko dengan kuat. Semakin besar heatsink yang digunakan semakin baik. Suhu panas yang dihasilkan bisa melelhkan plastik pada papan breadboard atau kabel yang menyentuhnya. Jadi harp berhati-hati dan jangan ditinggal saat melakukan percobaan.
Skematik hubungan. Sumber Gambar: buku Beginning Arduino hal 105
Kode Program

#define switchPin 2 // switch input
#define motorPin1 3 // L293D Input 1
#define motorPin2 4 // L293D Input 2
#define speedPin 9 // L293D enable Pin 1
#define potPin 0 // Pin Analog 0 Potensio
int Mspeed =0; // variabel untk menahan nilai kecepatan saat ini

void setup() {
  // mengeset pin switch sebagai INPUT
  pinMode (switchPin, INPUT);
 
  //mengeset pin yang tersisa sebagai Output
  pinMode (motorPin1, OUTPUT);
  pinMode (motorPin2, OUTPUT);
  pinMode (speedPin, OUTPUT);
}

void loop() {
  Mspeed = analogRead(potPin)/4; // membaca nilai kecepatan dari potensio
  analogWrite(speedPin, Mspeed); //menulis kecepatan ke pin speedPin
  if (digitalRead(switchPin)){ //jika switch HIGH, motor berputar searah jarum jam
   digitalWrite(motorPin1, LOW); // mengeset Input 1 L293D low
   digitalWrite(motorPin2, HIGH); //mengeset Input 2 L293d High
  }
  else{ //jika switch LOW, motor berputar berlawanan jarum jam
   digitalWrite(motorPin1, HIGH); // mengeset Input 1 L293D High
   digitalWrite(motorPin2, LOW); //mengeset Input 2 L293d Low
  }

}

Atau download program DISINI.

Tutorial ini mengikuti buku Beginning Arduino. Yang ditulis oleh Michael McRoberts. Pada halaman 104-106.
Pada buku dijelaskan secara lengkap dan mendetail mengenai skript program yang digunakan atau rangkaian yang digunakan. Untuk lebih jelasnya bisa dibaca pada bukunya langsung.
Sumber gambar: http://www.amazon.co.uk/Beginning-Arduino-Michael-McRoberts/dp/1430232404

Selamat mencoba
Semoga Bermanfaat...

Baca Juga:
Related Posts Plugin for WordPress, Blogger...