الجمعة، 16 مايو، 2014

دارة قيادة المحرك L9110

دارة قيادة المحرك L9110





في العديد من الأحيان نحتاج لدوائر قيادة للمحرك تكون ذا تيار جيد و سعر زهيد ايضاً , هناك دارة متكاملة منتشرة بكثرة على مواقع الشراء عبر الأنترنت , هي القطعة L9110 .
تأتي هذه القطعة على تعليبين Packages هما :


1)DIP8

2)SOP8




تتميز هذه الدارة المتكاملة ب :



1)تيار مستمر continuous يصل ل 800 ملي أمبير .
2)تيار أعظمي Peak يصل لغاية 2 أمبير 
3)دارة حماية داخلية من التيارات الحثية الراجعة بواسطة دارة clamp diode داخلية .
4)تغذية الدارة هي نفسها تغذية المحرك "يوفر عزل كهربائي ممتاز مع دارة التحكم و التي في حالتنا هذه هي الأردوينو " .

ما سنقوم به هو التحكم بمحرك كهربائي في الأتجاهين .


                           

و سنستخدم الموديول الجاهز الذي يحتوي على دارتين متكاملتين من L9110 مثل التي بالصوره ادناه 





سنحتاج في هذه التجربة إلى :

1) بطاقة أردوينو
2)موديول الدارة المتكاملة L9110
3)اسلاك توصيل .
4) محرك كهربائي 
5) مصدر تغذية "من 5 فولت لغاية 12 فولت "

من باب التنبيه : لا توصل ال Vcc في هذه الدارة المتكاملة مع مصدر التغذية في بطاقة الأردوينو 5v لان المحركات قد تسحب تيار عالي لا تستطيع الأردوينو تأمينه للمحرك و قد يؤدي لتلفها .




التوصيل :

الدارة توصيلها مع المحرك سهل جداً كما في المخطط :


البرنامج :

كطريقة تحكم بسيطة نعطي نبضات ذات تعديل نبضي PWM على مداخل التحكم المربوطه مع D5,D6 في الأردوينو "أونو"




كلما زاد طول النبضة الفعاله زادت الفولتية المطبقة على مخرج المحرك

البرنامج البسيط التالي للتحكم بالمحرك الكهربائي من ناحية السرعة زيادة و نقصاناً .


// Code for Motor driver L9110 to control DC motor
//Written By : Mohannad Rawashdeh
//http://www.genotronex.com/
//..........................................
int RPWM=5;
int LPWM=6;
// timer 0
//attention : I use timer 0 to increase 
//freqency of PWM On the arduio , the delay 
// and millis will be affect by that 
void setup() {
  // put your setup code here, to run once:
    TCCR0B = TCCR0B & 0b11111000 | 0x02 ;
   pinMode(5,OUTPUT);
   pinMode(6,OUTPUT);
   digitalWrite(5,LOW);
   digitalWrite(6,LOW);
   delay(1000);
   Serial.begin(9600);
  }



void loop() {
  // put your main code here, to run repeatedly: 
  
for(int i=0;i<256;i++){
  analogWrite(RPWM,i);
  delay(20);
}
delay(500);
for(int i=255;i>0;i--){
  analogWrite(RPWM,i);
  delay(20);
}
delay(500);
}


و هذا البرنامج لزيادة التردد الخارج من ال PWM في الأردوينو , بنفس التوصيل :
// Code for Motor driver L9110 to control DC motor
//Written By : Mohannad Rawashdeh
//http://www.genotronex.com/
//..........................................
int RPWM=5;
int LPWM=6;
// timer 0
//attention : I use timer 0 to increase 
//freqency of PWM On the arduio , the delay 
// and millis will be affect by that 
void setup() {
  // put your setup code here, to run once:
    TCCR0B = TCCR0B & 0b11111000 | 0x02 ;
   pinMode(5,OUTPUT);
   pinMode(6,OUTPUT);
   digitalWrite(5,LOW);
   digitalWrite(6,LOW);
   delay(2000);
   Serial.begin(9600);
  }



void loop() {
  // put your main code here, to run repeatedly: 
  
for(int i=0;i<256;i++){
  analogWrite(RPWM,i);
  delay(100);
}
delay(5000);
for(int i=255;i>0;i--){
  analogWrite(RPWM,i);
  delay(100);
}
delay(5000);
}
و هذا الفيديو يوضح طريقة حركة المحرك بعد توصيله بهذه الدارة . 


0 التعليقات :

إرسال تعليق

 
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.