منتديات الالكترونيات العصرية  
yoursite.com page title .

استرجاع كلمة المرور طلب كود تفعيل العضوية تفعيل العضوية
العودة   منتديات الالكترونيات العصرية > منتدى الحاكمات الدقيقة Microcontroller > منتدى المتحكمات ميكرو بلغة السي MikroC

  #1  
قديم 08-13-2011, 08:12 AM
الصورة الرمزية اشرف كمال
اشرف كمال اشرف كمال غير متواجد حالياً
استاذ الكترونيات
 
تاريخ التسجيل: Jun 2011
الدولة: القاهرة -مصر
المشاركات: 89
معدل تقييم المستوى: 9
اشرف كمال will become famous soon enoughاشرف كمال will become famous soon enough
افتراضي شرح التحكم فى السيرفو موتور

اهدى اليكم اخوتى فى الله قريبا كيفيه استخدام السيرفو موتور و التحكم به عن طريق الميكرو سى ..

اضع هذا الموضوع قريبا ويعتبر البداية لمشروعات الروبوت و لا حدود للابتكار

والسلام عليكم و رحمة الله و بركاته...

رد مع اقتباس
  #2  
قديم 08-13-2011, 10:21 AM
الصورة الرمزية eng_a_sayed
eng_a_sayed eng_a_sayed غير متواجد حالياً
استاذ ومشرف اليكترونيات
 
تاريخ التسجيل: Jun 2008
الدولة: India in next Dec
المشاركات: 1,243
معدل تقييم المستوى: 23
eng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud of
افتراضي رد: شرح التحكم فى السيرفو موتور

ستكون سبقة أن شاء الله

ننتظر باقى الموضوع بفارغ الصبر

تحياتى
__________________
رد مع اقتباس
  #3  
قديم 08-13-2011, 01:49 PM
الصورة الرمزية عمرو عبد الرحمن
عمرو عبد الرحمن عمرو عبد الرحمن غير متواجد حالياً
استاذ الكترونيات
 
تاريخ التسجيل: Jul 2011
الدولة: مصر - المنوفية
المشاركات: 354
معدل تقييم المستوى: 14
عمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to all
افتراضي رد: شرح التحكم فى السيرفو موتور

رااااااائع
فى انتظارك

ربنا يوفقك
رد مع اقتباس
  #4  
قديم 08-13-2011, 11:29 PM
Dr.Genius Dr.Genius غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Jun 2009
المشاركات: 34
معدل تقييم المستوى: 0
Dr.Genius is on a distinguished road
افتراضي رد: شرح التحكم فى السيرفو موتور

we are waiting you
رد مع اقتباس
  #5  
قديم 08-14-2011, 05:58 AM
الصورة الرمزية اشرف كمال
اشرف كمال اشرف كمال غير متواجد حالياً
استاذ الكترونيات
 
تاريخ التسجيل: Jun 2011
الدولة: القاهرة -مصر
المشاركات: 89
معدل تقييم المستوى: 9
اشرف كمال will become famous soon enoughاشرف كمال will become famous soon enough
افتراضي رد: شرح التحكم فى السيرفو موتور

بداية تعريف السيرفو موتور:

هو عبارة عن DC Motor مجهز بدائرة الكترونيه للتحكم بدقة فى اتجاة دوران عمود الموتور و وضعه و مجموعه تروس gear box.

يوجد نوعين من محركات السيرفو..
الاول هو standard servo وفيه يكون المحرك قابل على الدوران من 0 -120و180 درجة فى الاتجاهين مع عقارب الساعه و عكس عقارب الساعه.

و الثانى هو contineous servo motor والاخير قادر على الدوران من 0 -360 درجه مع عقارب و عكس عقارب الساعة.

العامل الاساسى فى تحديد مكان عمود الدوران هو potentiometer وهو عبارة عن مقاومه متغيرة تؤدى الى تغير فى قيمة الجهد الخارج منها و عن طريق قيمة الجهد الناتجه تحدد الدارة الالكترونيه وضع محور الدوران يدقة.
انظر الصورة التالية:




اذن يحنوى السيرفو موتور باختصار على اربعه اجزاء كالتالى
1.دائرة التحكم: ووظيفتها استلام اشارة التحكم من الميكروكنترول و تشغيل الموتور.
2.الموتور و وظيفته القيام بالحركة .
3.مجموعه التروس و وظيفتها مضاعفه السرعه و زيادة العزم.
4.المقاومة المتغيرة او الpotentiometer ووظيفته كما قلنا اعطاء قيمة جهد تناظر وضع عامود دوران المحركبناء على قيمة مقاومتها و هى تتحرك مع عامود دوران المحرك كما فى الصورة التالية.



تبقى لنا الحديث عن كيفية التحكم فى حركة السيرفو موتور.

كما نلاحظ فى الصورة التالية يوجد ثلاثه اسلاك خارجة من الموتور اسود و احمر و اصفر

الاسود يتصل بالارضى و الاحمر بموجب 5 فولت و الاصفر اشارة التحكم و هى مجموعه نبضات pwm بتردد 50 هرتز مع اختلاف عرض النبضة بحسب اتجاة الدوران المطلوب.




الان نتسائل لماذا تردد 50 هرتز ؟؟ نعلم ان زمن ال 50 هرتز هو 20 ميللى ثانية (1/50)

ولكى يدور محرك السيرفو فى اتجاة معين يحتاج الى مجموعه نبضات بتردد 50 هرتز و عرض النبضة ال
hight + low =20 ms

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

0.7-1) ميللى ثانيه و نبضة 0 لمدة 19 ميللى ثانية و بالتالى الزمن الدورى هو 20 ميللى ثانية او 50 هرتز.

(فى حال كانت النبضة العالى 1 ميللى سيدور المحرك لاقصى زاويه متاحة له 180 درجة وتقل الزاويه كلما قلت عرض النبضه حتى الى 0.7 ثانيه )


فى حالة اردنا اعطاءه حركة فى عكس عقارب الساعه حتى نقوم باعطاءه نبضه عالى 1
from 1.7 to 2 ms و نبضه منخفض طرح ال20 ميللى من النبضه العالى 1.

و اذا اردنا ان يعود محور المحرك لوضعه الاصلى عند 0 زاويه يتم اعطاءه نبضة عالى لمدة 1.5 ميللى ثانية و نبضه منخفض طرح ال 20 ميللى ثانية من 1.5 لكى يكون دائما التردد هو 50 هرتز.



الصورة التاليه توضح باختصار الشرح السابق.




واللى لقاء قريب لشرح كود الميكرو سى

والسلام عليكم و رحمة الله و بركاتة.
رد مع اقتباس
  #6  
قديم 08-14-2011, 06:41 AM
الصورة الرمزية عمرو عبد الرحمن
عمرو عبد الرحمن عمرو عبد الرحمن غير متواجد حالياً
استاذ الكترونيات
 
تاريخ التسجيل: Jul 2011
الدولة: مصر - المنوفية
المشاركات: 354
معدل تقييم المستوى: 14
عمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to all
افتراضي رد: شرح التحكم فى السيرفو موتور

درس رااااااااااائع
بارك الله فيك ورزقك العلم

وفى انتظارك
رد مع اقتباس
  #7  
قديم 08-14-2011, 07:34 AM
الصورة الرمزية عمرو عبد الرحمن
عمرو عبد الرحمن عمرو عبد الرحمن غير متواجد حالياً
استاذ الكترونيات
 
تاريخ التسجيل: Jul 2011
الدولة: مصر - المنوفية
المشاركات: 354
معدل تقييم المستوى: 14
عمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to all
افتراضي رد: شرح التحكم فى السيرفو موتور

فى انتظار بعض التفاصيل عن سرعة السيرفو لينتقل من زاوية الى اخرى
رد مع اقتباس
  #8  
قديم 08-14-2011, 10:23 AM
الصورة الرمزية eng_a_sayed
eng_a_sayed eng_a_sayed غير متواجد حالياً
استاذ ومشرف اليكترونيات
 
تاريخ التسجيل: Jun 2008
الدولة: India in next Dec
المشاركات: 1,243
معدل تقييم المستوى: 23
eng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud ofeng_a_sayed has much to be proud of
افتراضي رد: شرح التحكم فى السيرفو موتور

درس أكثر من رائع

وقبل أن تنتقل الى شرح الكود

أسمح لى لتعم الفائدة سأنقل بعض المعلومات الهامة لتعم الفائدة
1- محرك السيرفو



تعريفها:
هي عبارة عن محركات تيار مستمر عادية DC مزودة بعلبة سرعة ميكانيكية مدمجة تؤمن العزم المطلوب للتحريك و تحوي علي تشكيلة كهر بائية تؤمن للمحرك التغذية العكسية Feedback .
استعمالاتها:
تستعمل محركات ال RcServos في تطبيقات الروبوتات الصغيرة و الميكانيزمات التي تتطلب دقة في التحريك و ذلك لما تمتاز به هذه المحركات من عزوم قوية و سهولة و دقة في التحكم.

آلية عملها:
لمحرك ال RcServo ثلاثة أقطاب الأول يغذى ب 5 أو 6 فولت و الثاني هو الجهد المرجعي GND أما القطب الأخير فهو قطب التحكم. يمرر إلى قطب التحكم نبضات متغيرة العرض PWM ذات عروض ضمن المجال 1 – 2 ms التي توافق دوران للمحرك من 0 – 180 درجة, هذه النبضات تطبق بشكل مستمر على المحرك و بتردد 40 – 50 هرتز (لا يعمل المحرك بدون نبضات التحكم) , و تجدر الإشارة إلى أهمية حدود عرض النبضة و التردد الملازم لها لأن أي خروج عن المجالات المذكورة يؤدي إلى إتلاف المحرك.

ميزاتها:
إستجرار ضعيف للتيار نسبياً مقارنةً مع المحركات الخطوية.
عزوم قوية يمكن أن تصل إلى 40 Kg.cm وذلك لوجود علبة السرعة الميكانيكية المدمجة.
التوافر بأحجام مختلفة لتلائم جميع التطبيقات (الروبوتات الحشرية و الروبوتات البشرية).
إمكانية العمل لفترات طويلة دون ارتفاع في الحرارة.حساسية كبيرة لتغيرات عرض النبضة المطبقة الأمر الذي يتطلب دقة هائلة في التحكم.صغر دارة القيادة مقارنةً مع غيرها من المحركات.


2- اصنع بنفسك سيرفو موتور
ما هو السيرفو موتورServo motor ؟
السيرفو موتور ما هو إلا نظام تحكم مغلقClosed loop control system لموتور DC عادي و يوضح الرسم التخطيطي التالي ما أعني :

Resized to 100% (was 636 x 186) - Click image to enlarge


نظرية العمل :

يقوم الـPIC بقراءة قيمة المقاومة وعلى هذا الأساس يقوم بتحريك الموتور حتى يتوقف عند زاوية معينة شاملا بذلك التحرك يمينا أو يسارا أو التوقف
وكمثال بسيط فإن البرنامج الذي سوف نستخدمه يقوم بضبط وضع الموتور بحيث يستقر عند 90 درجة مهما كانت الزاوية الأساسية ، وأنا اعتبرت أن الوضع 90 درجة هو الوضع الذي تكون عليه قيمة المقاومة المتغيرة 12 ك أوم

المكونات المطلوبات
1.الجزء الميكانيكي:
مجموعة تروس على الأقل 3 تروس ، ولاحظوا الاختلاف في الحجم حيث يجب أن تتدرج الأحجام من الأصغر (القريب من الموتور ) إلى الأكبر ( البعيد عن الموتور) وذلك لخفض السرعة



عدد 1 مقاومة متغيرة 50 ك اوم



عدد 1 موتور DC 9 فولت



2.الجزء الاليكتروني:
*مكونات قنطرة H :
عدد 4 ترانزستور TIP31
عدد 2 ترانزستور TIP32
عدد 6 مقاومة 1 ك اوم
عدد 2 مقاومة 200 اوم

Resized to 97% (was 658 x 508) - Click image to enlarge


*مكونات دائرة تحكم الـ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=%00000001

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 وهكذا ، فليس من الهندسة أن نجعل لكل سيرفو متحكم ونجعل للروبوت متحكم تاني (ده يبقى كتير أوي :s )

وهاتان النقطتان تم نقلهم لتعم الفائدة

تحياتى للجميع
__________________
رد مع اقتباس
  #9  
قديم 08-14-2011, 03:06 PM
الصورة الرمزية عمرو عبد الرحمن
عمرو عبد الرحمن عمرو عبد الرحمن غير متواجد حالياً
استاذ الكترونيات
 
تاريخ التسجيل: Jul 2011
الدولة: مصر - المنوفية
المشاركات: 354
معدل تقييم المستوى: 14
عمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to allعمرو عبد الرحمن is a name known to all
افتراضي رد: شرح التحكم فى السيرفو موتور

شرح اكتر من رائع يا باشمهندس احمد ان شاء الله هقرى الدرس اكتر من مرة لتأكيد الفهم

بخصوص الجزئين

اقتباس:
لا توصل دائرة التحكم والقنطرة بمصدر جهد واحد فقد يؤدي هذا لحرق أحد المكونات الاليكترونية وخصوصا الـpic فهو حساس جدا لقيمة التيار المار فيه ، وكما تعلمون فإن الموتور يسحب تيار عالي في بداية تشغيله و / أو إذا كان محمل ، والحمل هنا هو حمل ميكانيكي (دوران المقاومة)
ممكن توضحها اكتر
بمعنى فى حالة اننا موصلين الميكروكنترولر على مصدر ومن نفس المصدر موصلين على ماتور
مايضر الميكروكنترلر فهو لن يصل اليه تيار اعلى مما يحتاج


جزاك الله خيرا
رد مع اقتباس
  #10  
قديم 08-14-2011, 08:02 PM
الصورة الرمزية اشرف كمال
اشرف كمال اشرف كمال غير متواجد حالياً
استاذ الكترونيات
 
تاريخ التسجيل: Jun 2011
الدولة: القاهرة -مصر
المشاركات: 89
معدل تقييم المستوى: 9
اشرف كمال will become famous soon enoughاشرف كمال will become famous soon enough
افتراضي رد: شرح التحكم فى السيرفو موتور

اضافه جميله منك مهندس سيد تثرى الموضوع

جزيت خيرا وفطرت طيرا
رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

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

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة



الساعة الآن 08:42 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
الحقوق محفوظة لمنتديات الاليكترونيات العصرية

Security team

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77