Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Atmel => Konuyu başlatan: Emre MERMİ - 23 Şubat 2017, 22:43:33

Başlık: arduino + l298 + oyuncak motoru beni delirtecek
Gönderen: Emre MERMİ - 23 Şubat 2017, 22:43:33
Merhaba Hocalarım,

Arduino + android + bluetooth ile telefonla sesli kontrol devresi yapıyorum. Kafayı yiyeceğim ama projeyi yaparken.

En temelinden anlatayım belki buraya sorunu yazarken görürüm.

İlk olarak her şeyi hazır kullanıyorum. Yani l298 i de modül olarak aldım. Oyuncak arabayı söküp motorlarını bi döndüreyim projeye devam ederim dedim. Sorunun en büyüğü şu;

L298 e motorları bağladım. Sırayla ön motoru sağ sol arka motoru ileri geri yaptırayım dedim. Arka motorda sorun yok. Ön motor sağa dönüyor soladönmüyor.


void setup() {

  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);

  delay(1000);
  digitalWrite(13, LOW);
  digitalWrite(12, LOW);

}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);
  digitalWrite(12, LOW);   
  delay(1000);           
 
 
  digitalWrite(12, LOW);
  digitalWrite(13, LOW);
 
  delay(1000);
 
 
  digitalWrite(12, HIGH);
  digitalWrite(13, LOW);
 
  delay(1000);
 
}


örneğin şu kod arka motorda sapa sağlam çalışıyor.  Motor bir ileri bir geri giriyor. Bağlantılarda sorun yok. ÖN motoru bağlıyorum.  Motor sağa dönüyor sonra duruyor daha sonra sola dönmesi gerekirken dönüyor.
Arduino üzerinde bağlı 12-13 kabloların yerini değiştiriyorum. Motor bekliyor, bekliyor , sağa dönüyor. Dalga geçer gibi :D
Acaba l298 de mi sorun var diye arka motoru bağlıyorum sorun yok çalışıyor düzgün. Diğer çıkışı deniyorum yine çalışmıyor.
Motorda mı sorun var diyorum motoru direk güç kaynağından elektrik vererek döndürüyorum sağa da sola da dönüyor.
Bir ara bişeyler yaptım. Ondan sonra sola dönmeye başladı bu sefer sağa dönmüyor


//L293D
//Motor A
const int motorPin1  = 9;  // Pin 14 of L293
const int motorPin2  = 10;  // Pin 10 of L293
//Motor B
const int motorPin3  = 6; // Pin  7 of L293
const int motorPin4  = 5;  // Pin  2 of L293

//This will run only one time.
void setup(){

    //Set pins as outputs
    pinMode(motorPin1, OUTPUT);
    pinMode(motorPin2, OUTPUT);
    pinMode(motorPin3, OUTPUT);
    pinMode(motorPin4, OUTPUT);
   
    //Motor Control - Motor A: motorPin1,motorpin2 & Motor B: motorpin3,motorpin4

    //This code  will turn Motor A clockwise for 2 sec.
    analogWrite(motorPin1, 180);
    analogWrite(motorPin2, 0);
    analogWrite(motorPin3, 180);
    analogWrite(motorPin4, 0);
    delay(5000);
    //This code will turn Motor A counter-clockwise for 2 sec.
    analogWrite(motorPin1, 0);
    analogWrite(motorPin2, 180);
    analogWrite(motorPin3, 0);
    analogWrite(motorPin4, 180);
    delay(5000);
   
    //This code will turn Motor B clockwise for 2 sec.
    analogWrite(motorPin1, 0);
    analogWrite(motorPin2, 180);
    analogWrite(motorPin3, 180);
    analogWrite(motorPin4, 0);
    delay(1000);
    //This code will turn Motor B counter-clockwise for 2 sec.
    analogWrite(motorPin1, 180);
    analogWrite(motorPin2, 0);
    analogWrite(motorPin3, 0);
    analogWrite(motorPin4, 180);
    delay(1000);   
   
    //And this code will stop motors
    analogWrite(motorPin1, 0);
    analogWrite(motorPin2, 0);
    analogWrite(motorPin3, 0);
    analogWrite(motorPin4, 0);
 
}


void loop(){
 

}


Şu şekilde pwm vereyim dedim. Yine aynı harekeyi yapıyor. Arka motor ileri geri ön motor sadece sağ yapıyor.
Bu arada motor dediğim de oyuncak arabanın üzerindeki motor. 9 v veriyorum. L298 de ısınıyor haliyle ama ona da nasıl çözüm bulacağımı bilemiyorum. Devre pille çalışacak. Acaba direnç mi atsam l298 çıkışına  ?

Yardımcı olursanız çok sevinirim.

Başlık: Ynt: arduino + l298 + oyuncak motoru beni delirtecek
Gönderen: mehmet - 24 Şubat 2017, 03:52:54

  (http://www.zimagez.com/miniature/ekrangrnts2017-02-2403-50-56.php)
(http://www.zimagez.com/zimage/ekrangrnts2017-02-2403-50-56.php)


void setup()
{
  Serial.end();
 
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
 
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
}

void loop()
{
  digitalWrite(2, HIGH);
  digitalWrite(3, LOW);
  analogWrite(9, 100);
  delay(2000);
 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  analogWrite(9, 0);
  delay(2000);
 
  digitalWrite(2, LOW);
  digitalWrite(3, HIGH);
  analogWrite(9, 100);
  delay(2000);
 
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  analogWrite(9, 0);
  delay(2000);


  digitalWrite(4, HIGH);
  digitalWrite(5, LOW);
  analogWrite(10, 100);
  delay(2000);
 
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  analogWrite(10, 0);
  delay(2000);
 
  digitalWrite(4, LOW);
  digitalWrite(5, HIGH);
  analogWrite(10, 100);
  delay(2000);
 
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  analogWrite(10, 0);
  delay(2000);
}
Başlık: Ynt: arduino + l298 + oyuncak motoru beni delirtecek
Gönderen: Emre MERMİ - 24 Şubat 2017, 11:57:45
Hhocam yanıtınız için çok teşekkür ederim deneyeceğim yaptığınızı. Ama motorun bir tarafa dönüp diğer tarafa dönmemesi hakkında ne düşününüyorsunuz ?
Başlık: Ynt: arduino + l298 + oyuncak motoru beni delirtecek
Gönderen: serdararikan - 24 Şubat 2017, 12:51:28
Motor bozuk olabilir.diğer motorla test et
Başlık: Ynt: arduino + l298 + oyuncak motoru beni delirtecek
Gönderen: Emre MERMİ - 24 Şubat 2017, 14:28:18
Motor normal adaptörden direk enerji verdiğimde çalışıyor ama ?
Başlık: Ynt: arduino + l298 + oyuncak motoru beni delirtecek
Gönderen: mehmet - 24 Şubat 2017, 20:11:31
delay() ile verilen zamanı biraz daha artırın.
Ancak gerilim kaynaklı da olabilir. 12V a
çıkarıp deneseniz...
Başlık: Ynt: arduino + l298 + oyuncak motoru beni delirtecek
Gönderen: Emre MERMİ - 24 Şubat 2017, 20:31:50
Hocam 12 v denedim delay ı arttırıp da deneyeceğim.