CV. ZENTRONIC - Perusahaan Jasa Listrik dan Elektronika

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

Selasa, 11 April 2023

L298N Motor driver Arduino | DC Motor


 

Disini kita akan belajar "Cara Menggunakan Driver Motor L298n dengan Arduino Uno". Juga Kami akan mengontrol Kecepatan & Arah Motor.

Di sini, saya lampirkan Diagram Pinout  Motor L298N Driver.

 

Pertama, Hubungkan Motor Anda dengan Driver Motor L298N.

 

Sekarang, Hubungkan Pin L298N Anda dengan Pin Arduino Uno.

 


Sekarang, Hubungkan pin berikut-

L298n (+5V) => Arduino (+5V)

L298n (Gnd) => Arduino (Gnd)

Sekarang Hubungkan Baterai-

L298n (+12V) => Baterai (+ve)

L298n (Gnd) => Baterai (-ve)

Sistem Pin di atas dapat Menjalankan modul Driver Motor L298n Anda dan juga Arduino.

 

Sekarang Anda dapat Mengontrol Kecepatan Motor Anda.

Saya melampirkan Tampilan Akhir Proyek kami.

 

Code untuk L298N Motor Driver

int motor1pin1 = 2;

int motor1pin2 = 3;

int motor2pin1 = 4;

int motor2pin2 = 5;

 

void setup() {

  // put your setup code here, to run once:

  pinMode(motor1pin1, OUTPUT);

  pinMode(motor1pin2, OUTPUT);

  pinMode(motor2pin1, OUTPUT);

  pinMode(motor2pin2, OUTPUT);

  //(Optional)

  pinMode(9, OUTPUT);

  pinMode(10, OUTPUT);

  //(Optional)

}

void loop() {

  // put your main code here, to run repeatedly:

  //Controlling speed (0 = off and 255 = max speed):    

  //(Optional)

  analogWrite(9, 100); //ENA pin

  analogWrite(10, 200); //ENB pin

  //(Optional)

  digitalWrite(motor1pin1, HIGH);

  digitalWrite(motor1pin2, LOW);

 

  digitalWrite(motor2pin1, HIGH);

  digitalWrite(motor2pin2, LOW);

  delay(3000);

 

  digitalWrite(motor1pin1, LOW);

  digitalWrite(motor1pin2, HIGH);

 

  digitalWrite(motor2pin1, LOW);

  digitalWrite(motor2pin2, HIGH);

  delay(3000);

}

Implementasi

 


 

 

 

 

 

 

 

 

 

Video 




Selasa, 24 Januari 2023

Arduino Motor DC kendali dengan Visual Basic 6.0

Anda dapat menggunakan kontrol komunikasi serial di VB (Visual Basic) untuk berkomunikasi dengan board Arduino. Ini memungkinkan seseorang untuk membuat antarmuka yang lebih formal ke Board.

 


 Kontrol komunikasi serial ditemukan di project/component/Microsoft Comm Control 6.0 di studio visual VB. Memilihnya menambahkannya ke kotak alat. Itu kemudian dapat diseret ke form. Simbolnya terlihat seperti telepon.



Dalam contoh ini Board Arduino mengendalikan motor listrik melalui rangkaian jembatan H. Input ke rangkaian bridge berasal dari pin 4, 5, 6, dan 7 dari board Arduino.

 

 

Dalam kode VB di bawah ini, antarmuka serial diatur saat memuat form. Dan empat tombol ditambahkan: maju, mundur, berhenti, dan keluar.


Saat memilih tombol, ia mengirimkan sinyal ke board yang pada gilirannya mengeluarkan sinyal ke pasang pin ke transistor di jembatan H. Antarmuka yang lebih praktis akan memiliki kode untuk menanyakan kepada pengguna port komunikasi mana yang akan dihubungkan.

  ' VB 6 -motor control via Arduino UNO/Mega 2560

Private Sub Form_Load()
 MSComm1.RThreshold = 3
 MSComm1.Settings = "9600,n,8,1"
 MSComm1.CommPort = 6    'use the one IDE uses
 MSComm1.PortOpen = True
 MSComm1.DTREnable = False
 Text1.Text = ""
End Sub

Private Sub FORWARD_Click()
 Text1.Text = "FORWARD DIRECTION WAS SELECTED"
 MSComm1.Output = "f"
End Sub

Private Sub REVERSE_Click()
 Text1.Text = "REVERSE DIRECTION WAS SELECTED"
 MSComm1.Output = "r"
End Sub

Private Sub STOP_Click()
 Text1.Text = "STOP WAS SELECTED"
 MSComm1.Output = "s"
End Sub

Private Sub EXIT_Click()
 MSComm1.Output = "s" 'make sure motor is stopped
 Unload Me
End Sub
 
 Di sisi board kode Arduino menunggu sinyal serial kemudian mengatur atau menghapus output sesuai kebutuhan. 

  

// this program receives commands via the visual basic program running on the pc.

//based on: zentronic.co.id (c) 2023

//outputs to the four transistors in the 
// H bridge controling the motor
int pin7 = 7;  
int pin6 = 6; 
int pin5 = 5;  
int pin4 = 4;  

void setup() 
{ 
  Serial.begin(9600); 
  pinMode(pin7, OUTPUT); 
  pinMode(pin6, OUTPUT);  
  pinMode(pin5, OUTPUT); 
  pinMode(pin4, OUTPUT); 

  //all low/off = stopped
  digitalWrite(pin4,LOW);  
  digitalWrite(pin5,LOW);  
  digitalWrite(pin6,LOW);  
  digitalWrite(pin7,LOW); 
} 

void loop() 
{ 
  if (Serial.available()) 
  { 
      int command = Serial.read();  
      //all low/off = stopped
      digitalWrite(pin4,LOW);  
      digitalWrite(pin5,LOW);  
      digitalWrite(pin6,LOW);  
      digitalWrite(pin7,LOW); 
      
    if (command=='f') //forward
    { 
      digitalWrite(pin7,HIGH);  
      digitalWrite(pin4,HIGH);  
    } 
     if(command=='r')  //reverse
    {  
      digitalWrite(pin5,HIGH);
      digitalWrite(pin6,HIGH); 
    }
    //we initialize to stop with all LOWs above
    if(command=='s') command = 's'; //dummy statement
    
  }//end if(serial)
}//end Loop()
 

Minggu, 22 Januari 2023

Cara Mengontrol Motor DC dengan Arduino

 Dengan menghubungkan IC bridge L298 ke Arduino, Anda dapat mengontrol motor DC.

 Motor arus searah, atau DC, adalah jenis motor yang paling umum. Motor DC biasanya hanya memiliki dua kabel, satu positif dan satu negatif. Jika Anda menghubungkan kedua kabel ini langsung ke baterai, motor akan berputar. Jika Anda mengganti kabel, motor akan berputar ke arah yang berlawanan.

Untuk mengontrol arah putaran motor DC, tanpa mengubah cara kabel terhubung, Anda dapat menggunakan rangkaian yang disebut H-Bridge. Jembatan H adalah sirkuit elektronik yang dapat menggerakkan motor di kedua arah. H-bridges digunakan dalam berbagai aplikasi, salah satu yang paling umum adalah untuk mengendalikan motor pada robot. Ini disebut jembatan-H karena menggunakan empat transistor yang terhubung sedemikian rupa sehingga diagram skematik terlihat seperti "H."

Anda dapat menggunakan transistor diskrit untuk membuat rangkaian ini, tetapi untuk tutorial ini, kita akan menggunakan IC H-Bridge L298. L298 dapat mengontrol kecepatan dan arah motor DC dan motor stepper serta dapat mengontrol dua motor secara bersamaan. Peringkat saat ini adalah 2A untuk setiap motor. Namun, pada arus ini, Anda perlu menggunakan heat sink.


Hardware Required

  • 1 x L298 bridge IC
  • 1 x DC motor
  • 1 x Arduino Mega2560
  • 1 x breadboard
  • 10 x jumper wires

  •  Skema di atas menunjukkan bagaimana menghubungkan IC L298 untuk mengendalikan dua motor. Ada tiga pin input untuk setiap motor, termasuk Input1 (IN1), Input2 (IN2), dan Enable1 (EN1) untuk Motor1 dan Input3, Input4, dan Enable2 untuk Motor2.

     

    Karena kita hanya akan mengontrol satu motor dalam tutorial ini, kita akan menghubungkan Arduino ke IN1 (pin 5), IN2 (pin 7), dan Enable1 (pin 6) dari IC L298. Pin 5 dan 7 adalah digital, yaitu input ON atau OFF, sedangkan pin 6 membutuhkan sinyal modulasi lebar pulsa (PWM) untuk mengontrol kecepatan motor.

    Tabel berikut menunjukkan ke arah mana motor akan berputar berdasarkan nilai digital IN1 dan IN2.


 Pin N1 IC L298 terhubung ke pin 8 Arduino sementara IN2 terhubung ke pin 9. Kedua pin digital Arduino ini mengontrol arah motor. Pin EN A IC terhubung ke pin 2 PWM Arduino. Ini akan mengontrol kecepatan motor.

Untuk mengatur nilai pin Arduino 8 dan 9, kita akan menggunakan fungsi digitalWrite(), dan untuk mengatur nilai pin 2, kita akan menggunakan fungsi using analogWrite().

Arduino Code :

const int pwm = 2 ; //initializing pin 2 as pwm

const int in_1 = 8 ;
const int in_2 = 9 ;

//For providing logic to L298 IC to choose the direction of the DC motor 

void setup()
{
pinMode(pwm,OUTPUT) ;  	//we have to set PWM pin as output
pinMode(in_1,OUTPUT) ; 	//Logic pins are also set as output
pinMode(in_2,OUTPUT) ;
}

void loop()
{
//For Clock wise motion , in_1 = High , in_2 = Low

digitalWrite(in_1,HIGH) ;
digitalWrite(in_2,LOW) ;
analogWrite(pwm,255) ;

/*setting pwm of the motor to 255
we can change the speed of rotaion
by chaning pwm input but we are only
using arduino so we are using higest
value to driver the motor  */

//Clockwise for 3 secs
delay(3000) ; 		

//For brake
digitalWrite(in_1,HIGH) ;
digitalWrite(in_2,HIGH) ;
delay(1000) ;

//For Anti Clock-wise motion - IN_1 = LOW , IN_2 = HIGH
digitalWrite(in_1,LOW) ;
digitalWrite(in_2,HIGH) ;
delay(3000) ;

//For brake
digitalWrite(in_1,HIGH) ;
digitalWrite(in_2,HIGH) ;
delay(1000) ;
 }
Pengaturan Kontrol Motor Arduino :
 
  1. Connect 5V and ground of the IC to 5V and ground of Arduino.
  2. Connect the motor to pins 2 and 3 of the IC.
  3. Connect IN1 of the IC to pin 8 of Arduino.
  4. Connect IN2 of the IC to pin 9 of Arduino.
  5. Connect EN1 of IC to pin 2 of Arduino.
  6. Connect SENS A pin of IC to the ground.
  7. Connect the Arduino using Arduino USB cable and upload the program to the Arduino using Arduino IDE software or Arduino Web Editor.
  8. Provide power to the Arduino board using power supply, battery or USB cable. 
  9. Motor sekarang harus berjalan pertama searah jarum jam (CW) selama 3 detik dan kemudian berlawanan arah jarum jam (CCW) selama 3 detik.
 

 

Arduino – LM35 Temperature Sensor

  Sensor Suhu seri LM35 adalah perangkat suhu sirkuit terpadu presisi dengan tegangan keluaran yang berbanding lurus dengan suhu Celcius. ...