قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 24-03-2012, 02:19 PM المشاركة 1   
افتراضي تدريب : التعامل مع المحركات و ربط محرك التيار المستمر بالميكروكونترولر Twitter FaceBook Google+



تدريب : التعامل مع المحركات و ربط محرك التيار المستمر بالميكروكونترولر
تمهيد :
لعل من أكثر الأمور المسلية هى القيام بتحريك شىء ما باستخدام الميكروكونترولر . الأجهزة الثلاثة المتحركة الشائعة فى هذا المجال هى : محركات التيار المستمر dc motors ومحركات السرفو RC servo motors ومحركات الخطوة stepper motors . وهذا التدريب يتناول ربط محرك التيار المستمر بالميكروكونترولر .

مبدأ العمل :
محركات التيار المستمر هى أجهزة بسيطة يتم التحكم فيها كهربائيا وهى ذات طرفين تقوم بتحويل القدرة الكهربية إلى قدرة ميكانيكية من خلال التفاعل (التأتير المتبادل) بين مجالين مغناطيسيين , أحد المجالين ينتج غالبا عن طريق مغناطيس دائم (بالعضو الثابتstator ) والمجال الآخر ينتج بالتيار الكهربائى المار بملف المحرك (بالعضو الدوار rotor ) . التفاعل المتبادل بين المجالين ينتج عزم torque يؤدى إلى دوران العضو الدوار .
فى هذا التدريب سوف يتم التعامل مع " محرك تيار مستمر – قابل لعكس حركته – ذو مغناطيس ثابت – بفرش كربونية " يتم عكس حركة محرك التيار المستمر ببساطة بتبديل أطراف مصدر القدرة للمحرك .الشكل التالى يبين أحد محركات التيار المستمر الصغيرة والمتوفرة فى ماكينات الطباعة وفى وفى مشغلات الاسطوانات المضغوطة CD players وفى الألعاب وفى مشغلات التسجيل وخلافه .







أنظمة عمل محرك التيار المستمر ذات الفرش الكربونية :

محرك التيار المستمر ذات الفرش الكربونية له أربعة أنظمة عمل أساسية هى :
· نظام "الدوران مع عقارب الساعة " clockwise .
· ونظام "الدوران عكس عقارب الساعة" counter-clockwise .
· ونظام "الهبوط" coast .
· ونظام "الفرملة" brake .
فى نظام الدوران مع عقارب الساعة يدور المحرك فى اتجاه عقارب الساعة وفى نظام الدوران عكس عقارب الساعة يدور فى الاتجاه المضاد أى عكس عقارب الساعة . يتم التحويل بين النظامين السابقين بمجرد عكس (تبديل) أطراف مصدر القدرة للمحرك أو أطراف المحرك نفسه .
نظام الهبوط يقصد به الدوران الحر للمحرك , فعندما تدير عامود المحرك بأصابعك مع ترك طرفيه مفتوحان open فستلاحظ أن عامود المحرك سوف يستمر فى الدوران لقترة قصيرة حتى يتم استهلاك كل طاقة حركة العامود (التى أعطيتها له أنت) على شكل إحتكاك . أى أنه فى هذا النظام تترك الأطراف مفتوحة ويقف المحرك ببطىء .






يستخدم نظام الفرملة لإيقاف المحرك بسرعة , ويتم ذلك بعمل قصر short بين طرفى المحرك . عندئذ عندما يدور المحرك يتصرف كمولد , وتواجد القصر بين طرفيه يعمل كحمل لا نهائى فيسبب الإيقاف السريع للمحرك .أى أن طاقة المحرك تتلاشى أسرع لإنها لا تستهلك فقط فى الاحتكاك بل فى ملفات المحرك أيضا .



اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 24-03-2012, 02:23 PM المشاركة 2   
افتراضي


مشغل المحرك Motor Driver
التركيب الداخلى للميكروكونترولر لا يسمح بتغذية المحرك مباشرة بالتيار . لهذا نحتاج لدائرة "مشغل" خارجى تقوم بتغذية المحرك بالقدرة الكهربائية تحت سيطرة الميكروكونترولر . يمكن أن تكون دائرة المشغل بسيطة "مكونة من ترانزستور واحد" أو معقدة " مكونة من شريحة متكاملة مع بعض المكونات الإضافية اللازمة ".
مشغل المحرك المكون من ترانزستور مفرد :Single transistor motor driver
دائرة مشغل المحرك الأساسية مكونة من ترانزستور مفرد حيث يمكن بواسطتها فقط توصيل on وفصل off المحرك . الترانزستور المفرد يمكنه فقط دوران المحرك فى اتجاه واحد إما فى اتجاه عقارب الساعة أو فى اتجاه عكس عقارب الساعة يعتمد على طريقة توصيل المحرك بالدائرة . كما لا يسمح للمحرك بالفرملة كهربائيا . الشكل التالى يبين دائرة "مشغل محرك بترانزستور مفرد"






الدائرة تستخدم الترانزستور BC547 وهو ترانزستور أغراض عامة نوع NPN . يمكن أن يعطى هذا الترانزستور تيار حتى 100 ملى أمبير .
يعمل الترانزستور كمفتاح قدرة للمحرك . يمكن التحكم فى هذا المفتاح الإلكترونى من خلال الجهد المنطقى الواصل إلى طرف "التوصيل / الفصل" on/off .
عندما يكون هذا الطرف عند الحالة المنطقية المرتفعة 1 (+5 V) يتم توصيل الترانزستور ويتم توصيل المحرك بين طرفى الجهد الموجب Vcc والأرضى . يمكن أن يكون الجهد الموجب Vcc أكبر من 5v . لذلك أحد فوائد استخدام مشغل الترانزستور المفرد هى التحكم فى محركات تعمل على جهد مرتفع (أكبر من 5 فولت) عن طريق جهد منطقى 5V من الميكروكونترولر .
المنطق المنخفض 0 عند طرف "التوصيل / الفصل" يؤدى إلى فصل الترانزستور ويقف المحرك .
تستخدم المقاومة 1K المتصلة على التوالى مع قاعدة الترانزستور لتحديد تيار القاعدة إلى قيمة مستوى آمن . الدايود المتصل بين طرفى المحرك لحماية الترانزستور . عند الفصل يقوم المجال الكهرومغناطيسى المتلاشى بداخل المحرك بإنتاج جهد مرتفع بين طرفى المحرك بقطبية معاكسة . هذا الجهد قد يكون مرتفعا يما يكفى لتلف الترانزستور .الدايود يوفر ممر للتيار للعودة من خلال ملف المحرك ومن ثم يمنع من تولد أى جهد مرتفع. خلال العمل العادى يكون انحيار الدايود عكسى ولا يؤثر على عملية التحويل للترانزستور .

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 24-03-2012, 02:26 PM المشاركة 3   
افتراضي


برنامج بسيط للتدريب:

الدائرة الكهربية :




البرنامج :

كود:
/* Toggle DC Motor with Switch */
// Define Drive_Signal * RC0 and Switch * RC1 sbit Drive_Signal at RC0_bit; // On/Off terminal sbit Switch at RC1_bit; // On/Off Switch #define Switch_Pin 1 bit oldstate; // Old state flag
void main() {
TRISC = 0b00000010; PORTC=0; Drive_Signal = 0; oldstate = 0;
do {
if (Button(&PORTC, 1, 20, 0)) { // Detect logical Zero oldstate = 1; // Update flag }
if (oldstate && Button(&PORTC, 1, 20, 1)) { // Detect zero-to-one transition Drive_Signal = ~ Drive_Signal; oldstate = 0; }
} while(1); // Infinite Loop
}


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 24-03-2012, 02:32 PM المشاركة 4   
افتراضي


مشغل المحرك نوع "قنطرة إتش" H-Bridge Motor Driver









تشغيل المحرك بترانزستور مفرد له حدود (قيود) والتى تتمثل فى دوران المحرك فى اتجاه واحد فقط وبدون فرملة .
تشغيل المحرك بدائرة مكونة من قنطرة على شكل حرف H يسمح لنا بعمل محرك التيار المستمر فى الأنظمة الأربعة .
تتكون الدائرة القياسية لهذا المشغل من 4 ترانزستور ( 2 نوع PNP فى أعلى و 2 نوع NPN فى أسفل). النصف الأيسر من الدائرة هو مرآة للنصف الأيمن منها . تسمى الأربع مداخل لدائرة المشغل بالحروف
A, B, C, D .
عندما يتصل الطرف A بالأرضى والطرف D بالجهد الموجب (+5 V) يصبح الترانزستوران Q1 و Q4 موصلين .وهذا يوفر ممر لمرور التيار من Vcc (+5 V) خلال Q1 وخلال المحرك والترانزستور Q4 إلى الأرضى . وهذا يؤدى إلى دوران المحرك فى أحد الاتجاهين .







بعد ذلك :
عندما يتصل الطرف B بالأرضى والطرف C بالجهد الموجب (+5 V) يصبح الترانزستوران Q2 و Q3 موصلين .وهذا يوفر ممر لمرور التيار من Vcc (+5 V) خلال Q2 وخلال المحرك والترانزستور Q3 إلى الأرضى . وهذا يؤدى إلى دوران المحرك فى الاتجاه العكسى .







يمكن تحقيق نظام الفرملة إما بتوصيل المنطق المرتفع (+5 V) إلى الأطراف C و D أو بتوصيل الأطراف A و B بالأرضى . فى كلا الحالتين يكون التأتير توصيل طرفى المحرك ببعضهما .







نظام الهبوط يتحقق عندما تكون جميع الترانزستورات فى حالة الفصل .ويحدث ذلك عندما يكون الطرف A والطرف B عند الجهد المرتفع بينما يكون الطرف C والطرف D متصل بالأرضى .عندئذ يدور المحرك بحرية لأن المحرك غير متصل بأى شىء.






الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 24-03-2012, 02:36 PM المشاركة 5   
افتراضي


تدريب :

الدائرة الكهربية :



سوف نحتاج إلى أربع مداخل / مخارج للتحكم فى محرك التيار المستمر لأنظمة الدوران فى إتجاه عقارب الساعة وفى اتجاه عكس عقارب الساعة وفى الفرملة . هذه الأطراف الأربعة سوف تقوم بإخراج المستويات المنطقية المناسبة إلى الأطراف A,B,C,D تبعا للنظام المطلوب .
يشمل التدريب أيضا استخدام ثلاثة مفاتيح لتوفير خيارات المداخل للأنظمة الثلاثة .

ملاحظة هامة :
عند تناول دائرة H-bridge يجب الحذر (الحيطة) حول تحويل الترانزستورات المناسبة فى الوقت المناسب . إذا لم تأخذ الحيطة وقمت بتوصيل الترانزستورات Q1 و Q2 (أو Q2 و Q4) فى نفس الوقت , فإن ذلك سوف يتسبب فى حدوث دائرة قصر وقد تتلف الترانزستورات . يوجد 16 احتما لإنشاء مجموعة يمكن عملها للأطراف A,B,C,D , منها 7 احتمالات ينتج عنها دائرة قصر وهى التى يجب تجنبها .
يمكنك أيضا ربط الطرف A مع الطرف C ( يسمى الطرف AC ) وربط الطرف B مع الطرف D (يسمى الطرف BD ) ومن ثم يكون لديك طرفان فقط للتحكم فى المحرك . إذا وصلت الجهد المرتفع للطرف AC والجهد المنخفض للطرف BD فسوف يدور المحرك فى اتجاه معين , وبتبديل الجهود بين الأطراف فإن المحرك سوف يدور فى الاتجاه المعاكس . توصيل الجهد المنخفض أو الجهد المرتفع إلى كلا الطرفين AC و AD سوف يتسبب فى فرملة المحرك .
لنلقى نظرة فاحصة على الطرف AC . حيث أن الطرف A والطرف C متصلان معا , فإذا تركا بدون توصيل عندئذ سوف يكون هناك ممر للتيار من خلال مجمع الترانزستور Q1 ومن خلال قاعدته وخلال قاعدة الترانزستور Q3 وخلال مشعه إلى الأرضى .
نتيجة لذلك يكون Q1 و Q3 فى حالة توصيل on وينتج عن ذلك وجود دائرة قصر . لذلك يجب أن تكون حذرا إذا فكرت فى تخفيض أطراف التحكم عن طريق توصيل الطرف A بالطرف C والطرف B بالطرف D . فقط لا يمكنك ترك الأطراف مفتوحة أو بدون توصيل . يجب أن توصل بالأرضى أو بالجهد المرتفع .




هذه الدائرة صالحة لمحرك صغير غير محمل . إذا كنت فى حاجة إلى دائرة عملية أكثر لتشغيل محرك مع وجود محمل يجب أن تستخدم ترانزستورات بمعدا تيار أعلى . تغيير الترانزستور BC557 بالترانزستور 2N2907 والترانزستور BC547 بالترانزستور 2N2222 يؤدى لزيادة مقدرة الدائرة حتى 600 mA . إذا احتجت إلى تيار أعلى ينكنك استخدام ترانزستورات MOSFET .


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 24-03-2012, 02:38 PM المشاركة 6   
افتراضي


البرنامج :


كود:
/*
  DC Motor control (H-Bridge)
 Description: Forward and reverse motor control
*/

sbit Forward at RD0_bit;                 //Forward Switch
sbit Reverse at RD1_bit;                   // Reverse  Switch
sbit Brake at RD2_bit;                       // Brake Switch

sbit PinA at RB0_bit;                        // PinA
sbit PinB at RB1_bit;                        // PinB
sbit PinC at RB2_bit;                        // PinC
sbit PinD at RB3_bit;                        // PinD

void GetDelay(){                                // ( 300 ms ) Delay function  
 Delay_ms(300);
}

void main() {

TRISB = 0;                            // PORTB all output
 PORTB = 0x00;                    // CLEAR
TRISD=0XFF;                      // All PORTD inputs
PORTD = 0;                          // CLEAR

do {

  if (!Forward){
  GetDelay();
  PORTB = 0;
  GetDelay();
  PinA = 0;
  PinB = 1;
  PinD = 1;
 }

if (!Reverse) {
  GetDelay();
  PORTB = 0;
  GetDelay();
  PinA = 1;
  PinB = 0;
  PinC = 1;
 }

if (!Brake) {
  GetDelay();
  PORTB = 0;
 }

} while(1);

} 


الصورة الرمزية abdellah48
abdellah48
:: مهندس متواجد ::
تاريخ التسجيل: Oct 2010
الدولة: المغرب
المشاركات: 160
نشاط [ abdellah48 ]
قوة السمعة:0
قديم 24-03-2012, 06:00 PM المشاركة 7   
افتراضي


شكرا لك أخي عبدالعزيز.


khamed tabet
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 333
نشاط [ khamed tabet ]
قوة السمعة:0
قديم 25-03-2012, 08:50 AM المشاركة 8   
افتراضي


شكرا لك يامهندسنا العزيز
موضوع مشوق للمبتدئين

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 09:39 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025