محرك السيرفو
تعريفها:
هي عبارة عن محركات تيار مستمر عادية DC مزودة بعلبة سرعة ميكانيكية مدمجة تؤمن العزم المطلوب للتحريك و تحوي علي تشكيلة كهر بائية تؤمن للمحرك التغذية العكسية Feedback .استعمالاتها:
تستعمل محركات ال RcServos في تطبيقات الروبوتات الصغيرة و الميكانيزمات التي تتطلب دقة في التحريك و ذلك لما تمتاز به هذه المحركات من عزوم قوية و سهولة و دقة في التحكم.
آلية عملها:
لمحرك ال RcServo ثلاثة أقطاب الأول يغذى ب 5 أو 6 فولت و الثاني هو الجهد المرجعي GND أما القطب الأخير فهو قطب التحكم. يمرر إلى قطب التحكم نبضات متغيرة العرض PWM ذات عروض ضمن المجال 1 – 2 ms التي توافق دوران للمحرك من 0 – 180 درجة, هذه النبضات تطبق بشكل مستمر على المحرك و بتردد 40 – 50 هرتز (لا يعمل المحرك بدون نبضات التحكم) , و تجدر الإشارة إلى أهمية حدود عرض النبضة و التردد الملازم لها لأن أي خروج عن المجالات المذكورة يؤدي إلى إتلاف المحرك.ميزاتها:
إستجرار ضعيف للتيار نسبياً مقارنةً مع المحركات الخطوية.عزوم قوية يمكن أن تصل إلى 40 Kg.cm وذلك لوجود علبة السرعة الميكانيكية المدمجة.
التوافر بأحجام مختلفة لتلائم جميع التطبيقات (الروبوتات الحشرية و الروبوتات البشرية).
إمكانية العمل لفترات طويلة دون ارتفاع في الحرارة.حساسية كبيرة لتغيرات عرض النبضة المطبقة الأمر الذي يتطلب دقة هائلة في التحكم.صغر دارة القيادة مقارنةً مع غيرها من المحركات.
اصنع بنفسك سيرفو موتور
ما هو السيرفو موتورServo motor ؟
السيرفو موتور ما هو إلا نظام تحكم مغلقClosed loop control system لموتور DC عادي و يوضح الرسم التخطيطي التالي ما أعني :
نظرية العمل :
يقوم الـPIC بقراءة قيمة المقاومة وعلى هذا الأساس يقوم بتحريك الموتور حتى يتوقف عند زاوية معينة شاملا بذلك التحرك يمينا أو يسارا أو التوقف
وكمثال بسيط فإن البرنامج الذي سوف نستخدمه يقوم بضبط وضع الموتور بحيث يستقر عند 90 درجة مهما كانت الزاوية الأساسية ، وأنا اعتبرت أن الوضع 90 درجة هو الوضع الذي تكون عليه قيمة المقاومة المتغيرة 12 ك أوم
المكونات المطلوبات
1.الجزء الميكانيكي:مجموعة تروس على الأقل 3 تروس ، ولاحظوا الاختلاف في الحجم حيث يجب أن تتدرج الأحجام من الأصغر (القريب من الموتور ) إلى الأكبر ( البعيد عن الموتور) وذلك لخفض السرعة
عدد 1 مقاومة متغيرة 50 ك اوم
عدد 1 موتور DC 9 فولت
2.الجزء الاليكتروني:
*مكونات قنطرة H :
عدد 4 ترانزستور TIP31
عدد 2 ترانزستور TIP32
عدد 6 مقاومة 1 ك اوم
عدد 2 مقاومة 200 اوم
*مكونات دائرة تحكم الـPIC :
عدد 1 متحكم PIC16f84A
عدد 1 كريستال 1
عدد 2 مكثف 22pf
عدد 2 مكثف 0.1 ميكرو فاراد
عدد 1 مقاومة 4.7 ك اوم
عدد 1 شريحة منظم جهد 7805
عدد 1 مكثف 0.33 ميكروفاراد
عدد 1 مكثف 100 ميكروفاراد
تنفيذ الجزء الميكانيكي ، والذي يتطلبه من مهارة يدوية ، ودقة وحساسية في التنفيذ (الميللي متر قد يحدث فرقا كبيرا )
ولا تنسوا استخدام مادة لاصقة قوية مع بعض قطع البلاستيك ، وأكيد شنيور ( مثقاب) لتخريم الجزء البلاستيكي و بالتوفيق إن شاء الله
هام جدا
لا تحاولوا تسليط جهد مستمر الآن لتشغيل الموتور فقد يؤدي ذلك إلى كسر المقاومة المتغيرة (لاحظوا أن المقاومة لا تدور 360 درجة وإنما لها حدود بداية ونهاية ) أو قد يؤدي لكسر لحام الحامل الذي يرفع المقاومة (أيهما أضعف) وهذا ما قد حدث معي
مما اضطرني إلى اعادة اللحام من جديد وليس لحام أول مرة مثل ثاني مرة حيث ستضطرون إلى تنظيف آثار اللحام الأول وبالتأكيد سوف يترك زوائد أو أجزاء ناقصة مما يجعلك تعيد حساباتك من جديد ، وإن احببتم اختبار مجموعة التروس والمقاومة يفضل أن تلف الترس الأصغر بيدك واحترس من كسر المقاومة أو اللحام
وهو الجزء الإليكتروني
والآن لدينا 4 أطراف متصلين بالمجموعة ( أعني مجموعة الموتور والمقاومة ) طرفين وهما طرفي الموتور ، وطرفين متصلين بالمقاومة ( لاحظوا أن المقاومة المتغيرة تتكون من 3 أطراف " أساسيات كهربية! " ) ولن نعمل إلا على الطرفين الأيمن والأوسط.
1.أما طرفي الموتور فيوصلان بين طرفي Load في قنطرة H (راجعوا مخطط الدائرة في المشاركة الأولى )، بحيث يكون الطرف المسئول عن دوران الموتور في اتجاه عقارب الساعة عندما يكون (+)
وفي الغالب مكتوب عليه + على جسم الموتور نفسه يكون متصلا بالطرف الايسر لـLoad والآخر متصل بالطرف الأيمن .
2.وبالنسبة لطرفي المقاومة فأحدهما يتصل بالمتحكم الـPIC الـPin رقم 6 وهو البت رقم صفر في Port B ، والآخر يتصل بمكثف 0.1 ميكرو فاراد كما بالشكل
3.أما عن ربط دائرة التحكم بالقنطرة فالموضوع بسيط جدا ، وهو أيضا موضح بالشكل السابق حيث تقوم بتوصيل طرف القنطرة المكتوب عليه CW بالـPin رقم 7 وهو البت رقم 1 في Port B ، وتوصيل طرف القنطرة المكتوب عليه CCW بالـPin رقم 8 وهو البت رقم 2 في Port B
هام جدا :
لا توصل دائرة التحكم والقنطرة بمصدر جهد واحد فقد يؤدي هذا لحرق أحد المكونات الاليكترونية وخصوصا الـPic فهو حساس جدا لقيمة التيار المار فيه ، وكما تعلمون فإن الموتور يسحب تيار عالي في بداية تشغيله و / أو إذا كان محمل ، والحمل هنا هو حمل ميكانيكي (دوران المقاومة)
وأخيرا إليكم برنامج التحكم بلغة PicBasic:
device=16f84a
Dim R_Value As Byte
trisb=000001
start:
portb = 0
r_value=pot portb.0,153 'لقراءة قيمة المقاومة
If R_Value > 65 Then GoTo Rotate_Lower 'Making motor rotate CW
If R_Value < 59 Then GoTo Rotate_Higher 'Making motor rotate CCW
If R_Value >= 59 And R_Value <= 65 Then GoTo Stop_Motion
Rotate_Lower:
portb 0.1 = 1
delayms 10
GoTo start
Rotate_Higher:
portb 0.2 = 1
delayms 10
GoTo start
Stop_Motion:
portb = 0
delayms 250
GoTo start
ولاحظوا معي في سطر قراءة المقاومة بأن الـPic لن يقرأ المقاومة بالكيلو أوم ولكن لكل قيمة مقاومة ما يناظرها عدد صحيح Integer يحتفظ به المتحكم وهذا العدد يعتمد على قيمة المكثف المتصل بالمقاومة
(والذي قيمته هنا هو 0.1 ميكرو فاراد ) ، وقيمة الـ Scale والذي قيمته هنا هو 153 (انظروا السطر الذي به التعليق بالعربي!!)
أما القيمة هي القيمة المناظرة للمقاومة 12 كيلو أوم (في الواقع القيمة المناظرة لها هي 62 ولكني أضفت نسبة خطأ بالموجب 65 والسالب 59)
والجدول التالي يوضح قيم المقاومة الأصلية مع ما يناظرها بالقيم الصحيحة ( مع الوضع في الاعتبار أن هذا لا يسري إلا بقيمة المكثف 0.1 ميكرو فاراد ، وscale 153 )
هام جدا
تأكدوا من أن قيمة المقاومة تقل كلما دارت CW وتزيد كلما دارت CCW وإلا فإن المقاومة ستستمر في الدوران حتى تنكسر أو ينكسر اللحام...
وهذا هو البرنامج إللي كنت بقوللكوا عليه وإللي بيحرك الموتور حتى وضع 90 درجة (شفتوا بقه انكم ممكن تغيروا في البرنامج زي مانتوا عايزين وتخلوا السيرفو يعمل أي حاجة تاني
لاحظوا أننا استهلكنا 3 أطراف من الـPic في سبيل التحكم في سيرفو واحد على عكس السيرفو الجاهز والذي يمكن التحكم به من خلال طرف واحد فقط ، على العموم المشروع قيد التطوير ، وأي أفكار جديدة عن السيرفو من الأعضاء مرحب بها ولا تنسوا أن نكون إيجابيين عطائين دائما
كلمة أخيرة:
هذا المشروع يعتبر Subsystem أي أنه يعتبر جزء من مشروعك الأكبر (روبوت بأنواعه) وحاول أن تستفبد من المتحكم اللي موجود في هذا السيرفو لينفذ تعليمات تحكم أخرى مثل قراءة sensor وهكذا ، فليس من الهندسة أن نجعل لكل سيرفو متحكم ونجعل للروبوت متحكم تاني (ده يبقى كتير أوي )










تحويل كودإخفاء محول الأكواد الإبتساماتإخفاء