# صناعة محرك سيرفو خطوة بخطوة



## zamalkawi (2 مايو 2011)

السلام عليكم

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

صناعة محرك سيرفو خطوة بخطوة

فماذا أقصد بهذا؟
القصد هو أنني أنوي بإذن الله صناعة محرك سيرفو، ولكني لم أبدأ بعد، وقررت أن تكون البداية هذا الأسبوع بإذن الله

وفكرت في أن أشارككم في ما أقوم به خطوة بخطوة، وبالتالي هذا الموضوع قد يستمر لعدة أشهر، فأنا سأعمل فقط في أوقات الفراغ، وكل فترة أضيف تقريرا قصيرا عما قمت به، وكيف قمت به، وما هي النتائج التي وصلت إليها

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

المشاركة التالية بإذن الله ستكون مقدمة نظرية، نتفق فيها على بعض التعريفات والمفاهيم، وبعدها أبدأ في عرض الجانب العملي إن شاء الله

في انتظار تفاعلكم، وأتمنى ألا يكون التفاعل في صورة مشاركات اجتماعية لا فائدة منها مثل عبارات الشكر والمديح والثناء، فمن يرى أنه استفاد أو قد يستفيد من الموضوع ليس عليه وضع عبارة شكر، وإنما يكفي دعاؤه لي وللمشاركين الآخرين بظهر الغيب

لذا أرجو أن تكون كل المشاركات بناءة، مثل أن تحتوي المشاركة على اقتراح أو تصحيح لمفهوم أو نقد بناء أو أفكار إلى آخره

وإلى اللقاء في المشاركة القادمة بإذن الله

أرجو عدم وضع اى عبارات شكر او دعاء كرد على الموضوع والاكتفاء فقط بالردود التى تخص الموضوع من مناقشات وغيرها
فدعوة بظهر الغيب تكفينى

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


----------



## zamalkawi (2 مايو 2011)

والآن نأتي إلى التعريفات والمفاهيم

مصطلح محرك سرفو servo motor يطلق على عدة أشياء، ولكن ما أقصده هنا هو المحرك الكهربي الذي يمكن التحكم في موضعه أو سرعته أو عزمه، ونجده في ماكينات الإنتاج (مثلا في محاور ماكينات التفريز والخراطة السي إن سي) أو في الروبوتات الصناعية وغيرهم

يظن البعض أن المحرك السرفو هو نوع معين من المحركات، ولكن هذا ليس دقيقا تماما
فالمحرك السرفو هو أي محرك كهربي يتم قياس متغيرات الحالة له، ليتم بهذا القياس غلق حلقة التحكم، وبالتالي يتم التحكم في أحد متغيرات الحالة state variables
متغيرات الحالة في المحرك السيرفو هي الموضع والسرعة والعجلة (التسارع) والعزم
ليس بالضرورة أن يتم قياس كل تلك المتغيرات، ولكن أحيانا يكفي قياس أحد هذه المتغيرات أو بعضها من أجل التحكم. واختيار المتغير(ات) التي يتم قياسها يعتمد بالطبع على خوارزم التحكم control algoritm المزمع تنفيذه والأداء الديناميكي المطلوب
من هذا التعريف يتضح أن أي محرك يتم التحكم فيه من خلال حلقة تحكم مغلقة closed control loop هو محرك سرفو
رغم هذا، توجد أنواع من المحركات مفضلة أكثر من غيرها لعمل نظام سرفو، وربما أشهر هذه الأنواع هي
- محرك التيار المستمر التقليدي ذو الفحمات brushed dc motor
- محرك التيار المستمر بدون فحمات brushless dc motor
- المحرك المتزامن ثلاثي الطور three-phase synchronous motor

في هذا المشروع سأقصر العمل على محرك التيار المستمر ذو الفحمات (المرحلة الأولى) وعلى المحرك المتزامن ثلاثي الطور (المرحلة الثانية)
محرك التيار المستمر ذو الفحمات يتميز بسهولة التحكم الكهربي فيه، ويتميز بسهولة فهمه وسهولة نمذجته، لذا سأبدأ به بإذن الله
بينما الدوائر المطلوبة للتحكم في المحرك المتزامن أصعب، وتحتاج إلى فهم أعمق، ولذا أجلته للمرحلة الثانية بإذن الله

التحكم في المحركات السرفو كان يتم قديما باستخدام قديما باستخدام المتحكمات التناظرية (أنالوج) حيث كان يتم تكوين جهاز التحكم من عناصر الإلكترونيات التناظرية كالمقاومات والمكثفات والمضخمات، ويتم ضبط بارمترات التحكم عن طريق تغيير قيم هذه المكونات، كتغيير قيم المقاومات مثلا
ولكن هذا قد أصبح الآن تاريخا، ولم يعد يستعمل في محركات السرفو
الآن يتم تنفيذ التحكم باستعمال المعالجات الدقيقة microprocessors لبرمجة وتنفيذ خوارزمات التحكم

جهاز التحكم في حد ذاته لا يمكنه تشغيل الموتور، فهو يصدر فقط إشارات تحكم control signals، وهذه الإشارات تكون عادة إشارات كهربية ضعيفة غير قادرة على تشغيل المحرك. هذه الإشارت يتم من خلالها التحكم في مجموعة من إلكترونيات القوى power electronics، وتسمى هذه المجموعة مرحلة القدرة power stage. عن طريق إشارات التحكم تقوم إلكترونيات القوى بفتح أو غلق بواباتها لتسمح بمرور التيار أو تمنعه بنمط معين، فيدور الموتور كما نريد

ذكرت أن غلق حلقة التحكم يتطلب قياس أحد أو بعض متغيرات الحالة، وربما يكون أهم متغير حالة يتم قياسه هو الموضع، أو زاوية الدوران، خاصة إذا كان الهدف من المحرك هو التحكم في الموضع
وإذا تحدثنا عن قياس الزاوية فنحن نتحدث عن إنكودر دوار rotary encoder إذ لا يوجد جهاز آخر ينافس هذا الجهاز الرائع لقياس زاوية دوران الموتور. توجد أجزة أخرى لقياس زاوية الدوران ربما أشهرها هو الريزولفر resolver ولكن الإنكودر بوجه عام أفضل وأدق 
والإنكودر ليس نوعا واحدا ولكن توجد عدة أنواع، ربما أتناولها لاحقا

من هنا يمكن تلخيص مكونات نظام السرفو في الأربعة أنظمة التالية:
- محرك كهربي
- معالج دقيق لتلقي قياسات متغير(ات) الحالة، وإجراء خوارزم التحكم، وإصدرا إشارات التحكم
- مرحلة القدرة وهي إلكترونيات القوى التي تتلقى إشارات التحكم وعلى أساسها تمرر التيار للمحرك
- أجهزة القياس، وأهمها هو الإنكودر لقياس الموضوع

بهذا أكون قد أنهيت الجزء النظري والتعريفات، وفي المشاركة القادمة بإذن الله سأبدا بالجوانب العملية للمشروع، وسأعرض بإذن الله خطة العمل، وبداية من المشاركة القادمة سأكون في أمس الحاجة لتعليقاتكم ومشاركاتكم كي أستفيد بآرائكم في تنفيذ المشروع

وإلى اللقاء في المشاركة القادمة إن شاء الله


----------



## zamalkawi (3 مايو 2011)

السلام عليكم
في المشاركات السابقة وضحت الفكرة العامة للمشروع، ووضعت تصوري للسرفو موتور الذي أنوي صنعه بإذن الله
في هذه المشاركة أبدأ النواحي العملية
بدءا من هذه المشاركة سأحتاج تفاعلكم معي بحيث نحقق الاستفادة المتبادلة
سأبدأ في هذه المشاركة بطرح المكونات التي أملكها وتلك التي أحتاجها ولم أحصل عليها بعد
بعدها سأبدأ في الحديث عن الخطوات التنفيذية في المشاركة القادمة بإذن الله

والآن بسم الله نبدأ

ذكرت سابقا أن نظام السرفو موتور يتكون من أربعة أشياء، هي الموتور والمعالج الدقيق ومرحلة القدرة وجهاز القياس (الإنكودر)
بالطبع هذه هي المكونات الأساسية، ولكن توجد مكونات ثانوية أخرى مطلوبة، مثل الأجزاء الميكانيكية ومكونات الدوائر الإلكترونية، وبعض المفاتيح وخلافه

ما أمتلكه الآن بالفعل هو الآتي
- المحرك الكهربي، وهو محرك تيار مستمر ذو فحمات ومغناطيس دائم. توجد أنواع من محركات التيار المستمر لا تعمل بمغناطيس دائم، وإنما بمغناطيس كهربي، ولكني أظن والله أعلم أن المحرك ذو المغناطيس الدائم أنسب
المحرك الذي أمتلكه صغير من شركة بولر Buehler وموديله هو 1.13.044.235 ومواصفاته تجدونها في هذا الرابط
رابط المحرك لا يعمل، حيث يتم تغيير أحد الكلمات في الرابط تلقائيا، ولا أعرف ما السبب
من مميزات هذا المحرك أنه صغير وبالتالي يحتاج مرحلة قدرة صغيرة (ورخيصة!) مما يساعدني على إجراء التجارب بسهولة
الميزة الأخرى في هذا المحرك هي أن عامود الدوران الخاص به يمتد من الأمام ومن الخلف، وهذه ميزة كبيرة، لأنها تجعل تركيب الإنكودر من الخلف سهل للغاية

- الأجزاء الميكانيكية:
جعل موتور يدور بدون حمل، والتحكم فيه أمر سهل نسبيا، ولكن في الماكينات الحقيقية يوجد حمل ميكانيكي على الموتور. كذلك، يحتاج الموتور إلى بعض الأجزاء الميكانيكية من أجل تثبيت الإنكودر فيه وكذلك من أجل تثبيت الموتور للقاعدة
من أجل ذلك قمت بتصميم وتصنيع الأجزاء الميكانيكية اللازمة للتثبيت، وكذلك لإيجاد حمل ميكانيكي على الموتور
في المرفق تجدون صورة لتصميم المجمع الميكانيكي الذي صنعته
http://www.arab-eng.org/vb/uploaded2009/433548_11304418745.jpg
الثقوب في القرص الكبير الهدف منها إضافة أوزان لزيادة أو تقليل الحمل الميكانيكي
هذه الأجزاء تم تصنيعها بالفعل وموجودة في الحقيقة، ولكن لازلت أريد عمل بعض الإضافات عليها، مش التأثير عليها بقوة احتكاك، وإضافة بعض العناصر المرنة فيها

- الإنكودر: لدي إنكودر من شركة هايدنهاين موديله هو ROD426-1000 وهو إنكودر يصدر 1000 نبضة مربعة في اللفة
أستغل هذه الفرصة، وأقول أن هناك عدة أنواع من إشارات الإنكودر، وكذلك عدة أنواع من إشارات الاتصال بالإنكودر (لاحظ الفرق، إشارة الإنكودر، وإشارة الاتصال بالإنكودر!!)
يوجد نوعين شهيرين من إشارات الإنكودر (ويوجد غيرهما أيضا) وهما النبضات المربعة، وعادة تكون متوافقة مع الإشارة TTL وهذا يعني 5 فولت تعني واحد و0 فولت تعني صفر
النوع الثاني هو 1Vss وفيه تكون النبضة عبارة عن إشارة جيبية sinusoidal سعتها 1 فولت. ويتميز هذا النوع بدقته العالية جدا، إذ أن النبضة الواحدة يمكن التعامل معها كإشارة تناظرية ومن ثم تحويلها إلى إشارة رقمية، مما يضاعف الدقة بدرجة قد تتجاوز الألف مرة. المشكلة أن التعامل مع هذه الإشارة أعقد بعض الشيء من التعامل مع الإشارة المربعة
في هذا المشروع سأبدأ بالإشارة المربعة، وفي المرحلة الثانية سأحاول الحصول على إنكودر من النوع الثاني واستعماله
أما بخصوص إشارات الاتصال بالإنكودر، فأحيانا تكون إشارة الاتصال هي نفسها إشارة الإنكودر، ويتم نقلها إلى الدرايف drive (وكلمة درايف تشمل المعالج الدقيق والإلكترونيات الملحقة به، بالإضافة لمرحلة القدرة) ولكن المشكلة هنا أنه قد يحدث تشوه للإشارات إذا كانت المسافات طويلة أو كانت هناك مصادر ضجيج
وفي أحيان أخرى يستعمل بروتوكول اتصال خاص لنقل الإشارات، وأشهر هذه البروتوكولات هو EnDAT و Hyperface
في هذا المشروع في مرحلتيه الأولى والثانية لا أنوي استعمال أي بروتوكول للتخاطب مع الإنكودر، أي تكون إشارة الاتصال هي نفسها إشارة القياس
ولكن في المرحلة الثالثة من المشروع سأحاول أن أضيف بعض بروتوكولات الاتصال
والمرحلة الثالثة للمشروع هي مرحلة الإعداد للوصول لمنتج تجاري قابل للطرح في السوق بإذن الله

- المعالج الدقيق
المعالج الدقيق كما نعلم هو وحدة تقوم بإجراء العمليات الرياضية والمنطقية على الأعداد الثنائية الموجودة في سجلاته. ولكن المعالج الدقيق وحده لا يمكن الاستفادة به إلا عن طريق ربطه بوحدات خارجية، لإدخال وإخراج إشارات وبيانات، وللتخزين والذاكرة
وحيث أنني لست متمكنا من الإلكترونيات، ففضلت أن أستعمل متحكم دقيق مايكروكنترولر microcontroller بدلا من معالج دقيق. والفرق هو أن شريحة المايكروكنترولر يكون مدمجا عليها وحدات أخرى مثل الذاكرة والإدخال والإخراج، بالإضافة للمعالج الدقيق. أي أن المياكروكنترولر عبارة عن معالق دقيق زائد وحدات إضافية، وكل هذه الأشياء مدمجة على شريحة واحدة. ولكن عادة تكون قدرات المعالج الموجود بداخل المايكروكنترولر أقل من المعالجات المنفردة. ولكن بعض المايكروكنترولرز الحديثة لها إمكانيات عالية جدا، تشبه إمكانيات المعالجات التي كانت موجودة منذ 10 أو 15 سنة، وهذا يعني أن لها قدرة عالية جدا
أحيانا تكون العمليات الحسابية في أنظمة التحكم معقدة جدا، فحلقة التحكم تشبه إلى حد كبير الفلاتر المطبقة في معالجة الإشارات. لذا بعض الدرايفز التجارية الاحترافية لا تستعمل معالجات دقيقة عادية، وإنما تستعمل معالجات إشارات رقمية digital signal processor DSP
وهي معالجات مزودة بإمكانيات كبيرة لإجراء العمليات الحسابية بدقة عالية
ولكن التعامل مع هذه المعالجات أصعب من التعامل مع المعالج العادي أو المايكروكنترولر
ولكن في السنوات الأخيرة ظهرت في الأسواق مايكروكنترولرز مزودة بمحرك معالجة إشارات رقمية، ويطلق على هذه المايكروكنترولرز متحكم إشارات رقمية Digital Signal Contriller DSC وبهذا نكون قد جمعنا بين مميزات المايكروكنترولر والدي إس بي والمايكروبروسيسور كل هذا في شريحة واحدة
لهذا السبب اخترت أن أعمل بمايكروكنترولر من هذا النوع، واخترت الشريحة 
dsPIC33FJ128MC804
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en532303
هذه الشريحة بها إمكانيات عالية، وأظن أنها تكفي لهذا المشروع. وقد يقول البعض أنها أكثر بكثير مما قد أحتاجه لهذا المشروع، وهذا قد يكون صحيحا، وتوجد مئات أو آلاف من مشاريع سيرفو موتور قام بها هواة وموجودة على الإنترنت، وتستعمل مايكروكنترولرز أبسط بكثير. ولكني لا أريد أن يكون هذا المشروع مجرد مشروع هواة آخر، وإنما أتمنى أن أصل به لدرجة من الاحترافية بحيث يصبح منتجا تجاريا فيما بعد

وتتميز هذه الشريحة بأنها تقرأ إشارات الإنكودر مباشرة، وبها مدخلين للإنكودر، وهذا يعني أنه يمكن التحكم بموتورين بهذه الشريحة، أو موتور واحد به 2 إنكودر
بالمناسبة، في كثير من الماكينات يكون لكل محور موتور واحد و 2 إنكودر، وسأتحدث عن هذا لاحقا

ولكن لكي يعمل هذا المايكروكنترولر يحتاج إلى دوائر إلكترونية إضافية. وحيث أنني ضعيف في الإلكترونيات قررت أشتري لوحة تطوير development board جاهزة، بحيث لا أضيع وقتا كبيرا في الإلكترونيات، وأركز أكثر في البرمجة والتحكم
لوحة التطوير لم أشترها بعد، ولكني أنوي وضع أمر الشراء اليوم أو غدا على أكثر تقدير بحيث أحصل عليها هذا الأسبوع وأبدأ العمل في عطلة نهاية الأسبوع بإذن الله
ولوحة التطوير التي قررت شراءها تجدونها على هذه الصفحة
http://www.mikroe.com/eng/products/view/430/lv-24-33-v6-development-system/
اللوحة سأشتريها الآن أما المعالج فسأشتريه بعد أسبوعين تقريبا بعد أن أعمل قليلا على اللوحة والتي يأتي معها متحكم دقيق آخر ولكنه غير مناسب للتطبيق
وبالنسبة للبرمجة، قررت استعمال لغة مايكرو سي MikroC
http://www.mikroe.com/eng/products/view/231/mikroc-pro-for-dspic30-33-and-pic24/

- مكونات إلكترونية أخرى
بالطبع سأحتاج بعض المكونات الأخرى مثل كابلات ومقاومات ومكثفات وموصلات وغيرهم، لدي بالفعل بعض الأشياء، والباقي سأشتريه وقت الحاجة، حيث أنه من الصعب تقدير المتطلبات الآن

والآن وقد عرضت ما أمتلك، أنتظر آراءكم. هل يصلح هذا كنقطة بداية؟ هل لديكم آراء أو اقتراحات؟

في المشاركة القادمة بإذن الله سأضع خطوات العمل، والتي أتمنى أن تساعدوني في تعديلها وتنقيحها

وإلى اللقاء في المشاركة القادمة إن شاء الله


----------



## zamalkawi (3 مايو 2011)

في المشاركة السابقة نسيت أن أذكر مكونا هاما، وهو مرحلة القدرة
أشهر أنواع مرحلة القدر في محركات التيار المستمر هي ما يسمى قنطرة H-bridge
وقد أخذت اسمها هذا بسبب توزيع إلكترونيات القوى فيها على شكل شبيه بحرف H

لدي H-bridge بالفعل وهي عبارة عن متكاملة شهيرة اسمها L298 وهي تصلح كبداية، ولكن الهدف هو صنع قنطرة خاصة بي من عناصرها الأساسية، أو أن أجد دائرة H-bridge أخرى جاهزة بسعر مناسب، وهذا بإذن الله سيكون في خلال المرحلة الأولى
لمزيد من المعلومات عن ال H-bridge
http://en.wikipedia.org/wiki/H_bridge

أما في المرحلة الثانية فإن ال H-bridge لا تصلح، حيث أنوي استعمال محرك متزامن ثلاثي الطور


----------



## zamalkawi (3 مايو 2011)

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

والآن إلى الخطوات


- شراء لوحة التطوير والمايكروكنترولر
كما ذكرت سابقا سأضع أمر الشراء غدا غالبا بإذن الله

- عمل برامج بسيطة بالمايكروكنترولر للتدريب عليه، مثل إنارة ليد أو ما شابه

- تشغيل المحرك بواسطة ال PWM والقنطرة H-bridge
ولمن لا يعرف ما هو ال PWM هو اختصار عبارة pulse width modulation وتعني تعديل عرض النبضة، وهو تكنيك يتبع للتحكم في الفولتية الداخلة للمعدة الكهربية، عن طريق إصدار نبضات بعرض يتم التحكم فيه، وبالتالي يتم التحكم في زمن فتح البوابات في إلكترونيات القوى، وبالتالي يكون الفولت المتوسط متناسبا مع عرض النبضة
ملحوظة: هذه الخطوة لا تشمل حلقة التحكم المغلقة بعد! هذه تأتي في مرحلة لاحقة

- قراءة الإنكودر: عمل دوائر اتصال الإنكودر بالمايكروكنترولر، وكتابة برنامج قراءة الإنكودر، والتأكد من القراءة الصحيحة من خلال ال In Circuit Debugger الموجود في لوحة التطوير
in circuit debugger هو مكون يسمح بقراءة سجلات المايكروكنترولر على الكمبيوتر أثناء تشغيل البرنامج بدون أي برمجة إضافية

- الاتصال ببعض الوحدات الخارجية مثل شاشة العرض LCD وبطاقة التخزين SD-Card والاتصال بالحاسب عبر المنفذ التسلسلي

- تنفيذ خوارزم تحكم تناسبي تكاملي تفاضلي PID بسيط
ورغم أن استعمال خوارزم PID ليس هو هدفي، فأنا أريد استخدام خوارزم تحكم مختلف بعض الشيء (سأعود له لاحقا)، إلا أنه يصلح كبداية لاختبار قدرتي على برمجة خوارزمات التحكم بوجه عام

- تحسين مرحلة القدرة: كما ذكرت في المشاركة السابقة أن هدفي النهائي ليس العمل بالمتكاملة L298 لذا فسأحاول هنا أن أنمي مهارتي في التعامل مع إلكترونيات القوى لبناء مرحلة قدرة أفضل
جدير بالذكر أن هذه الخطوة تشمل إضافة بعض مكونات الحماية للدائرة، والتعامل مع حالة كبح المحرك، وهي أمر لا أظنه شديد السهولة رغم أن كبح (فرملة) المحرك قد يبدو سهلا للوهلة الأولى

- تنفيذ حلقات تحكم متداخلة cascade control loop
هذا هو خوارزم التحكم المستعمل في الدرايفز التجارية، وسأحاول أن أنفذه بصورة احترافية قدر الإمكان
هذه المرحلة تشمل محاولة الوصول لبارامترات التحكم المثلى

- إضافة قارن ميكانيكي مرن flexible mechanical coupling
الهدف من هذا هو اختبار قدرة المتحكم على التحكم في الهياكل المرنة، حيث أن هذه هي الحالة العامة في الماكينات. والمرونة قد تؤدي إلى عدم استقرار النظام في حالة التحكم بالحلقة المغلقة. لذا سيكون هذا تدريبا جيدا على ضبط بارامترات التحكم

​>>>>>>>>>>>> نهاية المرحلة الأولى <<<<<<<<<<<<

فما رأيكم في هذه الخطة؟ وهل هي قابلة للتحقيق؟ وهل لديكم أي اقتراحات أو تعديلات؟
بالمناسبة، الخطة لا تشمل الزمن، هي فقط خطوات العمل القادمة بإذن الله
أثناء وبعد تنفيذ كل خطوة سأشارككم في ما فعلت في النتائج التي وصلت لها بإذن الله​


----------



## zamalkawi (4 مايو 2011)

حيث أن رابط مواصفات الموتور لم يعمل، أرفقت ملف الداتا شيت
وموديل الموتور هو 1.13.044.235


----------



## maMar (5 مايو 2011)

السلام عليكم
خطة رائعة وأنا أحيك من كل قلبي على هذا الموضوع الرائع.
ولكن هناك سؤال هل يتم التحكم السيرفو كما يتم التحكم بالستبر أى بمعنى أدق؛
هل يتم التحكم عن طريق الStep & Direction ؟
وكيف يتم ربطه بالبارلل بورت.


----------



## zamalkawi (5 مايو 2011)

أشكرك على الاهتمام أخي مامار
المحرك السيرفو يختلف عن الستبر
درايف الستبر كما تعلم يتلقى إشارات stp/dir فيحولها إلى تتابع معين يفتح به البوابات فيدخل التيار للمحرك فيدور خطوة
ومعدل النبضات يعتمد على السرعة، فكلما زادت السرعة زاد معدل النبضات والعكس بالعكس
أما في المحرك السيرفو فالأمر يختلف
فالدرايف يتلقى أوامر الحركة بمعدل زمني ثابت ويعمل على تحقيقها من خلال حلقة التحكم
بمعنى أنه كل فترة زمنية معينة يمكن أن نطلق عليها زمن الدورة (ولتكن 1 ميللي ثانية مثلا) يتلقى الدرايف أمر حركة جديد (بمعنى زاوية جديدة) وبمقارنة قياس الزاوية الفعلية من خلال الإنكودر مع أمر الحركة يتم غلق حلقة التحكم
فالسؤال هو: كيف يتلقى الدرايف أمر الحركة؟؟
من الممكن أن يتلقى الدرايف أمر الحركة من خلال إشارات stp/dir حيث يعد الدرايف عدد النبضات التي تلقاها في زمن الدورة، ويضيفها على أمر الحركة السابق لتصبح أمر الحركة الجديد
توجد درايفز لمحركات سيرفو مجهزة بالفعل لتلقي إشارات خطوة/اتجاه، والميزة هنا أنه يمكن استعمال هذه الدرايفز مع البرامج التي تصدر هذه الإشارات مثل EMC2 و Mach3
ولكن أجهزة السي إن سي الاحترافية مثل زيمنس وهايدنهاين وريكسيروت وبيكهوف لا تدعم إشارات خطوة/اتجاه (على حد علمي) وتستعمل بروتوكولات اتصال احترافية
وأشهر هذه البروتوكولات Sercos و profibus و etherCAT وغيرهم
وقديما كان الاتصال يتم من خلال إشارات أنالوج، ولكن هذا أصبح جزء من الماضي
في هذا المشروع أنوي إضافة خاصية تلقي إشارات خطوة/اتجاه وذلك كي يتسنى لي اختبار الدرايف مع برنامج مثل Mach3، ولكني لن أهتم بهذا الأمر في المرحلة الأولى، وسأكتفي بالتخاطب مع الدرايف من خلال المنفذ التسلسلي
في المرحلة الثالثة بإذن الله (وهي كما سبق أن ذكرت مرحلة الإعداد لتحويل المشروع إلى منتج تجاري) سأحاول أن أوفر أكبر عدد ممكن من بروتوكولات الاتصال الشهيرة، وغالبا ستكون إشارات خطوة/اتجاه أحد البروتوكولات التي سأطبقها


----------



## maMar (7 مايو 2011)

أعتقد أن مبدأ العمل هذا يشابه الHobby servo على حسب شرحك.
يتم التحكم به بعرض النبضة, ويحتوي على مقارن وقاومة متغيرة مربوطة مع علبة تروس تقوم بتعديل عرض النبضة الداخلية للمقرن لكي تتساوى مع عرض النبضة الداخلة


----------



## zamalkawi (7 مايو 2011)

mamar قال:


> أعتقد أن مبدأ العمل هذا يشابه الhobby servo على حسب شرحك.
> يتم التحكم به بعرض النبضة, ويحتوي على مقارن وقاومة متغيرة مربوطة مع علبة تروس تقوم بتعديل عرض النبضة الداخلية للمقرن لكي تتساوى مع عرض النبضة الداخلة


لم أفهم ماذا تقصد
فأنا لم أذكر أي مقاومة متغيرة في مشروعي


----------



## zamalkawi (7 مايو 2011)

أخواني، لو الشرح غير واضح، أنا على استعداد للإجابة عن أي أسئلة
بالمناسبة، لقد استلمت أمس لو حة التطوير والحمد لله، وأقوم الآن بالتدريب عليها كي أتقن التعامل معها قبل أن أبدأ بالتحكم في الموتور، والله المستعان


----------



## zamalkawi (9 مايو 2011)

قررت أن أعدل الخطة قليلا
حيث قررت أن أضع خطوة الاتصال بالمحيطات (مثل الشاشة وبطاقة التخزين والمنفذ التسلسلي) قبل خطوة قراءة الإنكودر

قبل أن أوضح الهدف من التعديلات، سأذكر نبذة عن عمل نظام السرفو

ربما درس الكثير منكم نظم التحكم الآلي، وتعرفون أن الخرج من النظام output يتم التحكم فيه من خلال قياسه، ومقارنته بالأمر، ويتم إدخال الفرق إلى المتحكم الذي يخرج إشارة التحكم التي تتحكم في النظام
في نظم التحكم الميكانيكية والإلكترونية التناظرية analog يكون كل النظام مستمر contineous بمعنى أنه في أي لحظة يوجد قياس ويوجد تحكم وتوجد إشارة التحكم
هذه الاستمرارية مستحيلة في الأنظمة الرقمية digital systems، حيث لا يستطيع المعالج الرقمي أن يعمل بصورة مستمرة، وإنما يعمل بصورة متقطعة discrete
وهذا معناه أنه يجب "تقطيع" الإشارات على فترات زمنية متساوية تسمى زمن الدورة cycle time أو فترة التمثيل sampling period
زمن الدورة يجب أن يكون ثابتا من أجل أداء أفضل لحلقة التحكم
فكيف يتم ذلك؟
يقوم المتحكم بقراءة القياسات، ثم يقوم بإجراء الحسابات اللازمة، ثم يقوم بإصدار إشارات التحكم، وكل هذا (القراءة، والحسابات، وإصدار الإشارات) يجب أن يتم في زمن أقل من زمن الدورة
وهذا ما يسمى التحكم في الزمن الحقيقي real-time control
المقصود بالزمن الحقيقي هنا أن التحكم يتم أونلاين، مباشرة، بمعنى أن نتائج الحسابات يتم إصدارها مباشرة، أي أن الحسابات لو لم تتم في الزمن المطلوب لما تم التحكم
الزمن الحقيقي لا يعني أن الفارق الزمني يساوي صفرا، أو أن زمن الحسابات أقل ما يمكن، ولكن يعني أن الدورة تتم بمعدل زمني ثابت، وأن كل الحسابات يجب أن تتم في أثناء زمن الدورة ولا تتخطاها

فكيف يتم ذلك في المايكروكنترولر أو المايكروبروسيسور؟
في أنظمة المايكروبروسيسور يوجد ما يسمى بالمقاطعة interrupt حيث يمكن مقاطعة سير البرنامج ، وتنفيذ كود معين، وبعد الانتهاء من التنفيذ يعود البرنامج الأصلي من النقطة التي توقف عندها
هذه الخاصية الرائعة هي ما تجعل حساب الزمن الحقيقي سهلا
فيمكن إصدار إشارات المقاطعة على فترات زمنية متساوية، وبالتالي كلما تأتي إشارة المقاطعة يتم تنفيذ دورة التحكم، وينتظر المايكروبروسيسور إلى أن تأتي إشارة المقاطعة القادمة، أو حتى يقوم بتنفيذ برامج أقل أهمية (حيث أن أهم ما يجب تنفيذه هو حلقة التحكم) وعندما تأتي إشارة المقاطعة القادمة يتم تنفيذ الدورة القادمة وهكذا

يوجد مصدران للمقاطعة، إما مقاطعة خارجية external interrupt وإما مقاطعة داخلية internal interrupt
المقاطعة الخارجية ما هي إلا إشارة تأتي إلى أحد مداخل المايكروكنترولر، وعندما تتفير الإشارة (مثلا من واحد إلى صفر أو العكس) تحدث المقاطعة. ولو أردنا استخدام المقاطعة الخارجية فما علينا إلى أن نوصل أحد مداخل المايكروكنترولر لمولد نبضات خارجي pusle generator or clock generator حيث يصدر المولد إشارات رقمية بمعدل ثابت يساوي معدل التمثيل أو زمن الدورة الذي نريده
المقاطعة الداخلية هي إشارة يصدرها المايكروكنترولر بنفسه عندما يحدث أمرا ما داخل المايكروكنترولر، مثلا عندما يصل عداد معين إلى القيمة العظمى له
وإذا أردنا أن نستخدم المقاطعة الداخلية من أجل الحساب في الزمن الحقيقي، فما علينا إلا أن نعرف عدادا يعد مع ساعة المايكروكنترولر، وعندما يصل هذا العداد لعدد معين يصدر إشارة المقاطعة

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

في انتظار ملاحظاتكم وتعليقاتكم


----------



## د.محمد باشراحيل (9 مايو 2011)

الأخ زملكاوي 
السلام عليكم .. فكرة مميزة .. وخطوة مبدعة .. 
إطلعت بسرعة .. وقد درست جزئيات عن هذا الموضوع في مادة automatic control 

جهد طيب .. وفقك الله.


----------



## zamalkawi (9 مايو 2011)

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

بالمناسبة: هناك خطوات لم أذكرها في الخطة، حيث أنها متضمنة في خطوات أخرى، وسآتي لها في حينها، مثل تعريف النظام system identification وفلاتر حلقات السرعو التيار، وتخطيط المسار trajectory planning وغيرها من المواضيع الشيقة، هي مواضيع شيقة بالنسبة لي على الأقل


----------



## zamalkawi (10 مايو 2011)

حيث أن العمل سيكون في المرحلة الأولى على محرك تيار مستمر ذو فحمات وذو مغناطيس دائم permanent magnet brushed DC motor، فسأشرح نبذة مبسطة عن هذا المحرك والقوانين الحاكمة له
فكرة هذا المحرك تعتمد على ظاهرة فيزيائية وهي أنه إذا مر تيار في موصل (سلك) وكان هذا السلك واقعا في مجال مغناطيسي، فإن المجال المغناطيسي يولد قوة على السلك
ولقد تمت صياغة هذه الخاصية الفيزيائية في ما يعرف بقانون لورنتس، وهذا القانون في أبسط صوره يقول
F = I x L x B
حيث F هي القوة، I هي شدة التيار، و L هي طول السلك، و B هي شدة المجال المغناطيسي
http://en.wikipedia.org/wiki/Lorentz_law
لو تم وضع السلك في مجال مغناطيسي بحيث يمكن للسلك الدوران حول محور ثابت في منتصف المجال المغناطيسي، فإن القوة تولد عزما دورانيا، وبهذا يدور السلك
عندما يتم السلك نصف دورة، ينعكس اتجاه المجال بالنسبة لاتجاه التيار، وبالتالي ينعكس اتجاه العزم، ولا يستطيع الموتور أن يكمل دورانه
حيث أن المجال المغناطيسي ثابت (لأننا نستعمل محرك ذو مغناطيس دائم) لذا يجب عكس اتجاه التيار، ويتم هذا عن طريق الفحمات، ومن هنا جاء اسم المحرك: محرك تيار مستمر ذو فحمات
فما هي الفحمات؟؟
هي وسيلة ميكانيكية لربط ملفات المحرك بمصدر التيار الكهربي، وعندما يتم المحرك نصف دورة تنعكس أقطاب الملفات المتصلة بالفحمات، وبالتالي ينعكس اتجاه التيار
ليس الهدف هنا هو شرح تفصيلي للمحرك، وإنما الأساسيات فقط، ولمزيد من المعلومات عن محركات التيار المستمر طالعوا هذا الرابط
http://en.wikipedia.org/wiki/Brushed_DC_electric_motor

يوجد في قلب الملفات قلب حديدي لزيادة شدة المجال المغناطيسي

من الشرح السابق يتضح أن العزم الدوراني للمحرك يتناسب مع شدة التيار، ومن هنا تأتي سهولة التحكم في هذا المحرك، حيث يمكن القول أن العزم يساوي
T = Kt x I
حيث T هو العزم، I هي شدة التيار، و Kt هو ثابت التناسب ويطلق عليه ثابت العزم torque constant

سأعود لهذه العلاقة لاحقا عندما أتحدث عن نمذجة المحرك، أي وضع نموذج رياضي له

نعود إلى بنية المحرك. قلت أن توصيل التيار للملفات يتم من خلال وسيلة ميكانيكية وهي الفحمات، وهذا يؤدي إلى عيبين رئيسيين في هذا النوع من المحركات
الأول هو تآكل الفحمات نتيجة احتكاكها المستمر، وبالتالي يجب صيانة المحرك على فترات أقل من المحركات الأخرى
الثاني هو أن هذا الاتصال الميكانيكي قد يؤدي لانبعاث شرارة مما قد يشكل خطورة في حالة العمل في مكان به مواد قابلة للاشتعال
هذا المحرك به عيب ثالث، وهو أنه نتيجة طبيعة تصميمه، فإن الملفات تقع على الجزء الدوار rotor بداخل المحرك، بينما في أنواع أخرى من المحركات تكون الملفات في الجزء الثابت stator والذي يقع في الجسم الخارجي للمحرك. وحيث أن التيار يمر في هذه الملفات فإنها تسخن بطبيعة الحال، ووجودها بالداخل يجعل تبريدها مشكلة، خاصة في حالة الأحمال العالية التي تسحب تيارا كبيرا

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

كنت أود أن أتحدث هذه المرة عن نمذجة المحرك، ولكن سأضع النموذج الرياضي للمحرك في مشاركة لاحقة عندما أبدا في الحديث عن تعريف النظام system identification

في المشاركة القادمة سأتحدث بإذن الله عن إشارة تعديل عرض النبضة pulse width modulation PWM، حيث أن هذه هي الإشارة التي تستعمل لإدخال التيار للمحرك
وفي المشاركة بعد القادمة سأتحدث عن دائرة القنطرة H-bridge

إلى اللقاء


----------



## zamalkawi (10 مايو 2011)

بالمناسبة يا إخواني
أنا أحاول ألا يكون الشرح عمليا فقط وإنما أحاول أن أشرح النظرية أولا، كي لا يكون الأمر مجرد "توصيل أسلاك"، فنحن مهندسون ويهمنا في المقام الأول فهم الجوانب العلمية والهندسية حتى نستطيع أن نصمم وليس مجرد أن نركب ونجمع

أحببت ذكر هذه الملحوظة حتى لا تملون من الشرح النظري الذي أضعه من آن لآخر
بالمناسبة، أعلم أن الشرح ربما لا يكون شيقا، فأنا لا أستعمل الصور والألوان ولا أغير الفونت، ولكن إدخال صور وتغيير الألوان سيأخذ مني مجهودا كبيرا في الكتابة، فأرجو أن تسامحوني على هذا
ولكني سأحاول أن أضع مزيدا من الصور في المشاركات القادمة إن شاء الله

وإلى اللقاء في المشاركة القادمة حيث سأتحدث عن تعديل عرض النبضة pwm


----------



## zamalkawi (12 مايو 2011)

والآن أتناول إشارة تعديل عرض النبضة pwm حيث أنها الوسيلة التي أنوي اتباعها للتحكم في الجهد الداخل للمحرك

توجد عدة طرق للتحكم في الجهد الداخل للمحرك، ولكن أشهرهم، والأكثر شيوعا واستخداما هي طريقة PWM، ولذا لن أتناول الطرق الأخرى

لتوضيح طريقة PWM فلننظر إلى الشكل التالي









حيث V هو مصدر تيار مستمر بجهد قدره V و S هو مفتاح و M هو المحرك الكهربي
نعلم جميعا أنه بمجرد توصيل المفتاح يتم غلق الدائرة ويسري تيار في الحرك
وبقطع المفتاح تفتح الدائرة وينقطع التيار

والآن لنتصور أننا قمنا بتوصيل المفتاح وقطعه بصورة مستمرة، فمثلا قمنا بتوصيل المفتاح لمدة نصف ثانية وقطعنا لمدة نصف ثانية، سنجد أن الفولت الذي نؤثر به على المحرك يساوي V لمدة نصف ثانية وصفر لمدة نصف ثانية
وبالتالي يكون الفولت المتوسط يساوي V/2
وبهذا نكون قد تحكمنا في الفولت
وبالتالي لو أردنا مثلا إدخال قيمة للفولت مقدارها 0.9V فما علينا إلا توصيل المفتاح لمدة 0,9 ثانية وقطعه لمدة 0,1 ثانية
وهذا هو تحديدا المقصود بتعديل عرض النبضة PWM

في تعديل عرض النبضة تسمى النسبة بين فترة توصيل المفتاح إلى فترة الدورة الكاملة "دورة الأداء" duty cycle حيث في المثال الأول (نصف ثانية توصيل ونصف ثانية قطع) كانت دورة الأداء 50% وفي المثال الثاني كانت دورة الأداء 90%

ولكن كما وضحت سابقا، ما يعنينا في المحرك هو التيار المار به حيث أن عزم الدوران يتناسب مع التيار
T = Kt x i
فكيف نحسب قيمة التيار؟
نفترض أن ملفات المحرك يمكن أن نعبر عنها بمقاومة R
هذا الفرض غير صحيح لأن ملفات المحرك لها قيمة حثية ولكن لنفترض أن الملفات لها مقاومة فقك
وقتها يكون التيار يساوي ببساطة
i = V/R
وبالتالي عزم المحرك يساوي
T = Kt x V/R
وهذا يعني أن العزم يساوي صفرا لمدة نصف ثانية ويساوي Kt x V/R لمدة نصف ثانية
هذا يجعل أداء المحرك سيئا، لأنه يعني أن العزم يساوي إما صفر وإما القيمة العظمي، وهذا يؤدي إلى اهتزازات في الماكينة

ولكن لحسن الحظ هذا لا يحدث بسبب الحث الموجود في الملفات، حيث يؤدي الحث إلى ممانعة زيادة التيار، وبالتالي لا يحدث تغير لحظي في قيمة التيار، وإنما تغير تدريجي، وبالتالي يتم "تنعيم" التيار المار في المحرك
وجود مقاومة مع حث يجعل المحرك نظام من الدرجة الأولى first order system ثابته الزمني يساوي L/R حيث L هي قيمة الحث

لا أريد أن أدخل في تفاصيل النظام من الدرجة الأولى، ومن يريد معرفة أي معلومات عنه عليه الرجوع لأي كتاب يتحدث عن التحكم الآلي، ولكن باختصار هو نظام به عنصر واحد فقط لتخزين الطاقة، وهذا العنصر هنا هو الحث

معادلة هذا النظام تساوي
i.R = V - L di/dt
وهي معادلة تفاضلية يجب حلها لمعرفة استجابة النظام مع الزمن، ولن أدخل في تفاصيل حلها، فهي موجودة في أي كتاب يتحدث عن التحكم الآلي

قلت سابقا أن الثابت الزمني يساوي L/R والثابت الزمني هو الزمن المطلوب لتصل استجابة النظام للتغير اللحظي للدخل input إلى حوالي 63% من قيمة الدخل

وبالتالي كي نحصل على تنعيم مناسب يجب أن يكون زمن دورة ال PWM أقل من الثابت الزمني بدرجة كافية

والآن انظروا للمنحنيات التالية





هذه المنحنيات تمثل استجابة النظام في حالة دورة أداء 80% ودورة أداء 50% ودورة أداء 20% لنظام ثابته الزمني 2 ثانية، وزمن دورة الPWM نصف ثانية

والآن نعود مرة أخرى للدائرة
ما هو المفتاح؟؟
المفتاح قد يكون مفتاح ميكانيكي نفتحه ونغلقه يدويا
ولكن هذا بالطبع غير مناسب للأداء في نظام تحكم آلي
وقد يكون ريليي relay يتم التحكم في فتحه وغلقة بواسطة إشارة كهربية، وهذا مناسب للتحكم به من خلال مايكروكنترولر، ولكنه غير مناسب للترداد العالية، حيث أن معدل وصل وقطع التيار في تطبيقات المحركات يصل إلى عدة كيلو هرتس
لذا يتم عادة استخدام إلكترونيات القوى power electronics، وهي عناصر إلكترونية مثلها مثل العناصر الإلكترونية المستخدمة في الإلكترونيات الرقمية، ولكنها تختلف عنها في قدرتها على تحمل تيارات أكبر
ربما أدخل في بعض تفاصيل إلكترونيات القوى لاحقا، ولكن ليس الآن، ولكن يكفي الآن أن أقول أن عناصر إلكترونيات القوى تشبه عناصر الإلكترونيات العادية فهناك power diode و power transistor وهناك power MOSFET وهناك IGBT وغيرهم
وكما قلت لن أدخل في تفاصيلهم الأن، خاصة أن معلوماتي ليست قوية في هذا المجال
بالمناسبة، دائرة L298 والتي أنوي استعمالها كمرحلة قدرة قائمة هي عبارة عن مجموعة من الترانزيستورات التي تم ترتيبها على هيئة قنطرة H-bridge والتي سأشرحها لاحقا بإذن الله
والترانزيستور هو عنصر يمكن السماح بتمرير تيار عبره من خلال إدخال إشارة تحكم صغيرة
وبالتالي يمكن استخدامه كمفتاح لفتح وغلق الدائرة الموضحة أعلاه

والآن بقيت نقطة هامة في الدائرة، أغفلتها في البداية من أجل تبسيط الشرح
لو لاحظنا أنه أثناء غلق الدائرة سيمر تيار عبر الموتور، بينما أثناء فتح الدائرة لا يوجد أي مسار ليكمل التيار دورته، ومع وجود حث للملف لا يمكن قطع التيار لحظيا، وبالتالي سيتولد جهد عالي جدا عبر المفتاح (الترانزيستور) مما قد يؤدي لانهيار الدائرة، كذلك يجب السماح للتيار بالمرور لسبب آخر وهو كما ذكرت سابقا تنعيم التيار
لذا فالحل هو إضافة مقوم تيار diode على التوازي مع المحرك، والديود هو كما تعلمون مكون إلكتروني يسمح بمرور التيار في اتجاه واحد، وبالتالي يغلق الدائرة حول الموتور (مع قطع الدائرة من ماحية مصدر التيار) وبالتالي يظل التيار يمر عبر الموتور أثناء فتح الدائرة
هذا التعديل ترونه في الصورة التالية





بالطبع الدائرة الفعلية ستكون أعقد بعض الشيء من هذا، ولكن هذه هي الفكرة العامة

بقيت نقطة أخيرة، وهي أن الدائرة بصورتها الحالية لا تسمح إلا بمرور التيار في اتجاه واحد، وهذا بالطبع غير مناسب لمحركات السيرفو والتي يتطلب التحكم بها التحكم في اتجاهين، وهنا يأتي الاحتياج للقنطرة H-bridge والتي سأتناولها بالشرح في المشاركة القادمة بإذن الله


----------



## المغترب63 (13 مايو 2011)

جهد مميز و رائع ونافع, وأنا من المتابعين لهذا المشروع , وفقك الله لأكماله.لا أريد أن أحضر خالي اليدين فقد أقتبست بعض المعلومات للفائدة :

Speed=Kv*V……………………………………..(1)
Kv::: ثابت
V ::::: جهد الدائرة المتكاملة التى تتحكم فى الترانزسنور (غالبا 5 فولت).
لكن هذا القانون غير دقيق لان الموتور يحتوى على مقاومة داخلية R 
هذه المقاومة تتسبب فى فقد فى الجهد مقداره (I*R) حسب قانون اوم
اذن القانون الامثل هو 
*Speed=Kv(V-I*R)……………………………………..(1)*
اذن اذا كان لدينا موتور بالمواصفات التالية 
Rated 12 V
Rated 120 Rpm
فاذا غذينا الموتور بجهد 12 فولت فالسرعة لن تكون 120 بل اقل من ذلك
بسبب الفقد فى الجهد.

ايضا العلاقة بين العزم Torque))(القوة التى تنتج دوران الموتور) 
والتيار المسحوب علاقة طرية ايضا بمعنى كلما تتطلب الامر عزما
كبيرا زاد التيار المسحوب والعكس صحيح اى 
*Torque=Kt*I …………………………………….(2)*
Kt::: ثابت
I ::: التيار المسحوب من المصدر 
ولكن ليس كل التيار المسحوب من المصدر سيتسبب فى هذا العزم 
هناك فقد فى القدرة سببه تيار اخر هو Io تيار اللاحمل هو التيار 
المسحوب عندما لا يكون هناك عزم على الموتور او بمعنى اخر لا يوجد حمل. 
وبنفس الطريقة القانون الامثل هو 
*Torque=Kt(I-Io) …………………………………….(2*
سنحتاج الى هاتين المعادلتين اذا اردنا ان نتحكم فى الموتور.



transistor H-bridge





و هو يعمل بال darlington transistor
=======================================================
--- يمكننا من استعمال هذا النوع من الترانسسترات ويوجد غيرها أيضا حيث تحتوي بداخلها على دايود مما يغنينا عن أستعمال الدايود الخارجي
--- بعض الترانسسترات التي تحتوي على دايود داخلي Built in Diode
TIP120 - 3A/80V
TIP31
MOSFET: IRF510-IRF530(N-channel) and TRF9520/IRF9530(P-channel)


----------



## zamalkawi (13 مايو 2011)

شكرا أخي المغترب63 على المشاركة القيمة
كنت قد بدأت في الحديث عن محركات التيار المستمر، ولكني أوقفت الحديث عنها، حيث كنت أنوي وضع شرح أكثر تفصيلا عن معادلات المحرك في حالة الحركة عند تناول نمذجة المحرك
بالمناسبة، لو اخترت الوحدات المناسبة، ستجد أن Kv تساوي تماما 1/Kt
والعلاقة speed = Kv * V لا أحبذ استعمالها لأنه كما قلت هذه العلاقة تتأثر بالتيار، والتيار يعتمد على العزم، وبالتالي مع أي تغير في الحمل لا نستطيع الاعتماد على هذه العلاقة لأي تحكم دقيق
أما بخصوص تيار اللاحمل Io فأنا لا أفضل استخدام هذا المصطلح
فالعلاقة T = Kt . I علاقة ثابتة، ولكن العزم T هنا هو العزم الكلي، وينقسم إلى قسمين
الأول هو العزم المفيد Kb
والثاني هو عزم الاحتكاك في الموتور Kf، وهذا العزم هو الذي يجب التغلب عليه من أجل الحصول على الحركة
والعزم الكلي يساوي مجموع العزمين T = Tb + Tf
وعزم الاحتكاك Tf هو المسبب لتيار اللاحمل، فلو لا يوجد احتكاك على الإطلاق ولا يوجد حمل، لكان Io يساوي صفر
وسبب عدم تفضيلي لاستعمال مصطلح تيار اللاحمل أنه عند عدم وجود حمل يدور المحرك بسرعة معينة، ويوجد عزم احتكاك معين
ولكن عزم الاحتكاك يعتمد على السرعة، وبالتالي عزم الاحتكاك (والذي يؤدي إلى تيار اللاحمل) له قيمة فقط عند سرعة اللاحمل، بينما مع تغير السرعة يوجد عزم احتكاك آخر
وهذه النقطة سأوضحها مكررا عندما آتي للحديث عن نمذجة المحرك
والنمذجة من أهم الخطوات اللازمة لتصميم نظام تحكم سليم كما تعلم
بينما العلاقات المبسطة تسمح بعمل نظام تحكم سهل ومبسط، ولكنه ليس بالضرورة دقيق
والهدف هو صنع محرك سيرفو كالذي نجده في ماكينات الإنتاج كالمخارط والفرايز

في انتظار تعليقك ومشاركتك

في المشاركة القادمة بإذن الله سأتحدث عن القنطرة H-bridge
وللتذكرة، القنطرة التي أنوي استعمالها في البداية هي المتكاملة L298 ولكن بإذن الله سأحاول استعمال قنطرة أكثر تطورا فيما بعد أثناء المرحلة الأولى من المشروع


----------



## zamalkawi (13 مايو 2011)

المغترب63 قال:


> transistor h-bridge
> 
> 
> 
> ...


بالمناسبة، أنا معلوماتي ضعيفة في إلكترونيات القوى، ولكني ميال لاستعمال igbt ولكني لا أعلم السبب 
على كل حال عندما أصل لمرحلة تطوير القنطرة، سأفكر مليا في ما يمكن عمله، ولن تكون الاختيارات قائمة على الميل، وإنما على الموضوعية


----------



## المغترب63 (14 مايو 2011)

zamalkawi قال:


> بالمناسبة، أنا معلوماتي ضعيفة في إلكترونيات القوى، ولكني ميال لاستعمال igbt ولكني لا أعلم السبب
> على كل حال عندما أصل لمرحلة تطوير القنطرة، سأفكر مليا في ما يمكن عمله، ولن تكون الاختيارات قائمة على الميل، وإنما على الموضوعية


 
IGBT( Insulated Gate Bipolar Transistor هو يجمع بين مميزات ترانسستر الBipolar (جهد وتيار عالي) و بين ال MOSFET (سرعة التوصيل , و بطاقة تحكم قليلة)
هذا جدول يبين الفرق بين اليكترونيات الطاقة

Thyristor -FastThyristor - BipolarTransistor-- IGBT-----GTO --------------
Tension(V) = 6000V ----- 1500V--------------- 1400V ---------- 1200V - 4500V 
Current(A)== 5000A ------ 1500A ---------------- 500A ----------- 400A -- 3000A
Frequency= 1KHz --------3KHz----------------- 5KHz ----------20KHz --1KHz

- بعد ذلك نستطيع أن نحدد أي مكون أليكتروني بحسب المحرك الذي نستخدمه , مع مراعات الأرخص
- ال Thyristor هنا قد يسمى أيضا ب Static Relay وهو يستعمل بدل ال Contactor حيث يكون عديم الضوضاء


----------



## zamalkawi (14 مايو 2011)

أشكر لك متابعتك أخ كهرباء مصر
وأتمنى أن تستفيد من العرض والنقاش، وأتمنى أكثر أن تشارك في النقاش، خاصة أن تخصصي هو ميكانيكا وميكاترونكس، وبالتالي لست خبيرا في الكهرباء، وأريد أن نحقق استفادة متبادلة من هذا الموضوع

والآن أتناول القنطرة H-bridge

في المشاركة السابقة عرضت كيفية التحكم في الجهد الداخل للمحرك عن طريق تعديل عرض النبضة PWM، وعرضت دائرة بسيطة لإدخال التيار في اتجاه واحد
وأقصد باتجاه واحد أن أحد طرفي الموتور يظل سالبا، والطرف الآخر يظل موجبا
بالطبع مثل هذه الدائرة غير مناسبة للتحكم في المحركات السيرفو حيث يتطلب التحكم في المحركات السيرفو إدخال التيار في الاتجاهين

وللقيام بذلك تستعمل القنطرة H-bridg، والتي سأشرحها الآن
ومصطلح H-bridge لا يطلق فقط على دوائر المحركات، ولكن يطلق على عدة أشياء، منها قنطرة المقومات diodes التي تقوم التيار المتغير أحادي الطور، وتطلق على قنطرة المقاومات resistors التي تستعمل في بعض الحساسات كمعيار الانفال strain gauge وغيرهم
ولكن في سياق هذا الموضوع أعني ب H-bridge دائرة قيادة محرك التيار المستمر

والأن كيف تقوم الدائرة بإدخال التيار في الاتجاهين؟
الدائرة تتكون من 4 مفاتيح (وكما ذكرت سابقا المفتاح قد يكون ترانزيستور وقد يكون IGBT أو Mosfet أو حتى ريليي)
وللتحكم في الاتجاه يتم وصل مفتاحين من الدائرة وقطع مفتاحين كما يتضح من الصورة التالية





نلاحظ أنه بتوصيل المفتاحين 1 و4 يتم وصل المحرك باستقطاب معين، وبوصل المفتاحين 2 و 3 يتم وصل المحرك في الاستقطاب الآخر
وهذه هي الفكرة الرئيسية لطريقة عمل القنطرة H-bridge

كما ذكرت في المشاركة السابقة، سنحتاج لإضافة مقومات diodes كي يمر منها التيار أثناء قطع التيار
كذلك المقومات نحتاجها أثناء وضع الإيقاف، حيث أن الترانزيستورات تسمح بمرور التيار في اتجاه واحد، وبالتالي نحتاج للمقومات للسماح للتيار بالمرور في الاتجاه العكسي

وضع الإيقاف يكون بوصل المفتاحين 1 و3 أو 2 و4
وكما ترون يتم في هذا الوضع قصر الدائرة بين طرفي المحرك، فيقوم الجهد العكسي المتولد عن دوران الموتور (سأتحدث عنه لاحقا) يقوم بتوليد عزم معاكس لاتجاه الدوران فيقف المحرك بسرعة

في الصورة التالية ترون مخطط للمتكاملة L298 والتي أنوي استخدامها بصورة مبدئية





وفي الصورة التالية ترون جدول الحقيقة truth table الخاص بالمتكاملة، وصورتها، ومخطط توصيلها بالموتور






ترون على اليسار كيفية توصيل المقومات، حيث أن هذه المتكاملة ليس بها مقومات
بعض المتكاملات يكون الديود موجودا بها، ولا نحتاج لإضافته خارجيا
الداتا شيت الخاص بالمتكاملة L298 تجدونها على الرابط التالي
http://www.st.com/stonline/books/pdf/docs/1773.pdf
هذه المتكاملة بالتأكيد ليست هي الأفضل، ولكنها منتشرة ورخيصة وسهلة الاستخدام

أنوي أن أقوم اليوم وغدا بإذن الله بتركيب الموتور مع القنطرة مع المايكروكنترولر، وسأقوم بإذن الله بأول تجربة للتحكم في الموتور بال PWM وسأوافيكم بالنتائج بإذن الله


----------



## zamalkawi (16 مايو 2011)

السلام عليكم
أثناء تحاوري مع أحد الأعضاء قال لي أن هناك مشكلة في العرض، وهي أن الصورة الكاملة للنظام غير واضحة
في الواقع، من المفترض أن قارئ هذا الموضوع لديه معرفة ولو مبدئية بالتحكم الآلي، ولذا افترضت أن الصورة المتكاملة للنظام موجودة في ذهن القارئ، وكل ما علي هو الحديث عن المكونات المختلفة للنظام ومن ثم عن التطبيق وتنفيذ المشروع

وكما كنت قد وعدت، فقد كان من المفترض أن أقوم في خلال اليومين الماضيين بتركيب الموتور مع القنطرة H-bridge ومع المايكروكنترولر ثم أقوم بكتابة برنامج لتجربة ال PWM ثم أوافيكم بالنتائج
ولكن حيث أنني لم أنته بعد من التركيب ولا كتابة البرنامج، وحيث أنني اليوم مرهق قليلا من لعب الكرة ولا أنوي أن أعمل، لذا فقد قررت أن أستغل اليوم في عرض بعض مبادئ التحكم الآلي حتى يتسنى لمن لم يدرسوا التحكم الألي متابعة الموضوع معنا، وكذلك لكي أزيل أي لبس لمن لديه علم بالتحكم الآلي من حيث أين تقع مكونات النظام المختلفة في نظام التحكم

نظام التحكم الألي هو نظام يهدف للتحكم في متغير فيزيائي معين من متغيرات النظام، وهذا المتغير الذي يتم التحكم فيه يسمي الخرج output
فما هو هذا الخرج الذي نتحكم فيه؟ هو ببساطة متغير معين نريده أن يكون له قيمة معينة
فمثلا قد نريد التحكم في درجة حرارة فرن
أو نريد أن نتحكم في شدة إضاءة مصباح كهربي
أو نريد التحكم في زاوية دوران طبق استقبال قمر صناعي
أو نريد التحكم في مستوى السائل في خزان
إلى آخره من التطبيقات
لاحظوا في جميع هذه الأمثلة، يوجد متغير فيزيائي يتم التحكم فيه (درجة الحرارة، شدة الإضاءة، زاوية، ارتفاع سائل)

فكيف نتحكم في الخرج؟ ببساطة عن طريق التحكم في الدخل input
فلو أدخلنا للنظام طاقة معينة في صورة دخل input ستحدث تغيرات في المتغيرات الفيزيائية في النظام (تسمى عادة متغيرات الحالة state variables) وبالتالي سيتغير الخرج

يمكن تقسيم التحكم إلى نوعين (توجد تقسيمات أخرى حسب الزاوية التي ننظر بها للأمور)
التحكم بالحلقة المفتوحة، والتحكم بالحلقة المغلقة

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

أما التحكم بالحلقة المغلقة فهو كما يدل اسمه يعني أن حلقة التحكم يتم غلقها، ولكن ماذا يعني هذا؟ وكيف يتم غلق الحلق؟
الحلقة يتم غلقها بقياس الخرج، ومقارنته بالقيمة المطلوبة الوصول إليها، ومن ثم يتم تعديل الدخل الداخل للنظام
لاحظوا العناصر التي تم ذكرها في هذه الجملة البسيطة
- قياس الخرج، وهذا يعني حساس للقياس
- مقارنة الخرج بالقيمة المطلوبة، وهذا يعني وسيلة لقراءة القيمة من الحساس، وهذا يعني واجهة interface بين المتحكم والحساس وكذلك إمكانية لإجراء عملية المقارنة
- تعديل الدخل، وهذا هو لب التحكم الآلي، حيث يتم داخل المتحكم controller عملية تعديل الدخل. والهدف الأساسي من دراسة هندسة التحكم، هو الوصول للتصميم الأمثل للمتحكم بحيث يصدر الدخل السليم للنظام

الكلام لن يوضح شيئا، لذا طالعوا هذه الصورة






لو لا زالت الأمور غير واضحة بعد عرض هذه الصورة، لا تشعروا بالحرج من السؤال

ولكن ما علاقة هذا كله بمشروع السرفو موتور؟
العلاقة وثيقة جدا، فما المحرك السرفو إلا نظام حلقة تحكم مغلقة
هذه المرة لن أتحدث كثيرا وسأترك الصورة القادمة هي التي تتحدث





لاحظوا أن هذه الصورة هي نفس الصورة السابقة، ولكني أضفت عليها المصطلحات الخاصة بالسرفو موتور
كذلك، وضعت مكان المتحكم controller كلمة "مايكروكنترولر"، حيث أن المتحكم يتم برمجته وتنفيذه بداخل المايكروكنترولر

كما ذكرت سابقا الهدف الأساسي من دراسة هندسة التحكم هو الوصول للتصميم الأنسب للمتحكم
قد يقول البعض، وما المشكلة في هذا؟ سنقرأ الإنكودر ونقارنه بالقيمة المطلوبة، وعلى أساسها ندخل فولت للمحرك
جميل، ولكن كيف؟
فلننظر إلى المحرك والنظام الميكانيكي
هذا النظام به عناصر تخزين طاقة (كتل، مرونة، حث، وغيرهم) معنى هذا أنه معرض للاهتزاز، ومعنى هذا أنه بإضافة تغذية راجعة feedback (والتغذية الراجعة، الفيدباك، هي قياس الخرج وإدخاله إلى المتحكم) قد يصل النظام إلى عدم الاستقرار وبالتالي يخرج عن السيطرة تماما. أعلم أن هذه العبارة الأخيرة صعبة الفهم، ولكن أطلب ممن لا يعرف هندسة تحكم آلي أن يصدقني ولو مؤقتا، فإثبات هذه العبارة معقد بعض الشيء ويحتاج فهما أعمق للرياضيات، ويحتاج مهارات أكبر في الشرح
وبالتالي يجب تصميم المتحكم بحيث يحافظ على استقرار النظام وعدم خروجه عن السيطرة
من ناحية أخرى التصميم السيء للمتحكم قد يؤدي إلى أن يكون النظام مستقرا ولكنه بطييييء وغير دقيق، وبالتالي لا يحقق الأداء المرجو منه

وكل هندسة التحكم تدور حول كيفية تصميم المتحكم، وهذا لن أتناوله الأن
ومن أهم الخطوات التي تسهل تصميم المتحم هي النمذجة، بمعني وضع نموذج رياضي للنظام (في حالتنا الموتور والنظام الميكانيكي) وفي حالة تعذر وضع هذا النموذج فعلى الأقل يجب معرفة أداء النظام الميكانيكي عند الترددات المختلفة ويسمى هذا الاستجابة الترددية frequency response
هذه الأمور معقدة بعض الشيء لمن لم يدرس التحكم الآلي، ولن أتناولها الآن، ربما فيما بعد أثناء تناول النمذجة وتصميم المتحكم

بقيت نقطة أخيرة أود الحديث عنها في هذه المشاركة، وهي أن المشروع له شقين...
شق هندسة التحكم الآلي، وهو يعني الأمور التي تناولتها في السطور السابقة، من حيث النمذجة وتصميم المتحكم
والشق الثاني هو الناحية التطبيقية التنفيذية، مثل توصيل الموتور بمرحلة القدرة والمكونات الإلكترونية المطلوبة للدائرة، وبرمجة المتحكم في المايكروكنترولر، وقراءة الإنكودر في المايكروكنترولر، إلى آخره من النواحي التنفيذية

وفي هذا المشروع أنوي بإذن الله القيام بالشقين، وبالتالي يكون المشروع متكامل، نظري وعملي، وأرجو منكم المساعدة وإبداء الرأي وعرض الاقتراحات والأفكار والنقد والمشاركة

وشكرا، وإلى اللقاء في المشاركة القادمة التي بإذن الله سأعرض فيها نتائج تجربة المحرك مع القنطرة H-bridge مع المايكروكنترولر


----------



## zamalkawi (19 مايو 2011)

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

ثانيا
انتهيت من توصيل الموتور (أعني محرك التيار المستمر الذي أعمل عليه في المرحلة الأولى) انتهيت من توصيله بالقنطرة L298 وأيضا بالمايكرو كنترولر، وكتبت برنامج بسيط يقوم بزيادة دورة الأداء duty cycle خطوة خطوة، بحيث أبدأ ب 10% ثم 20% وهكذا حتى 100% ثم تتناقص دورة الأداء مرة أخرى من 100% إلى 90% ثم 80% وهكذا حتى 0%
ثم أكرر نفس العملية في اتجاه الدوران العكسي

والحمد لله أدى البرنامج بصورة جيدة ودار المحرك كما أردت إلى حد ما، ولكن النتائج لم تكم مرضية تماما فقد لاحظت شيئين لم أتوقعهما نظريا

الشيء الأول هو أنه عند الترددات العالية لنبضة ال PWM لا يعمل المحرك إلا عند دورة أداء عالية، فمثلا مع تردد 16 كيلو هرتس لا يبدأ المحرك بالحركة إلا عندما تصل دورة الأداء إلى حوالي 40% وعند تردد 25 كيلوهرتس لا يدور المحرك إلا مع دورة أداء 50%
بينما مع تردد 1 كيلوهرتس، فيبدأ الدوران بمجرد أن تصل دورة الأداء 10%
وهذا سلوك غير مفهوم، فمن المفترض أنه كلما زاد تردد ال PWM يكون الأداء أكثر نعومة، ولكن لا علاقة لهذا (نظريا) بأن يدور المحرك عند دورة أداء أكبر
بينما من المفترض (نظريا) أن يدور المحرك بمجرد أن يصل الفولت (وبالتالي التيار) لقيمة معينة كافية للتغلب على عزم الاحتكاك
الأمر الثاني الذي لاحظته هو أنني قررت أن أفصل الديودات من الدائرة وجربت مرة أخرى، ولم ألاحظ أي تغير يذكر في الأداء

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

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

شكرا وإلى اللقاء


----------



## zamalkawi (20 مايو 2011)

السلام عليكم
في هذه المشاركة أضع الكود الذي كتبته كي أختبر تعديل عرض النبضة PWM
ويتم تغيير قيمة التردد في السطر التالي
#define pwmFreq 8000
حيث أضع القيمة التي أريدها ثم أضع البرنامج من جديد على المايكروكنترولر
في المثال السابق قيمة التردد هي 8 كيلوهرتس

غدا بإذن الله سأذهب لأجري بعض القياسات على التيار والفولت في أماكن مختلفة من الدائرة لأعرف سبب الخلل


----------



## zamalkawi (3 يونيو 2011)

شكرا لكل المتابعين، ولكن أتمنى ألا سكون الأمر متابعة فقط، فتحقيق استفادة متبادلة يتطلب المشاركة وإبداء الرأي والتعليق والتصحيح والسؤال عما هو غير واضح
فهذا الموضوع ليس كتابا يقرأ، وإنما موضوع تفاعلي
لو كنت قد انتهيت بالفعل من صنع الموتور ثم وضعت النتائج موثقة هنا، لكان الأمر مختلف، ولما كانت المشاركة لها ذات الأهمية بالنسبة لي
ولكن حيث أنني أصنع الجهاز خطوة بخطوة، لذا أتوقع منكم المشاركة
فمن لديه معلومات ويبخل بها، فلماذا يتابع؟
ومن قرأ فقط ليتعلم، وليس لديه ما يضيفه، فهل كل المكتوب واضح؟ لا أظن فأنا لا أمتلك موهبة الكتابة، وبالتأكيد هناك أسئلة واستفسارات، لذا مجرد المتابعة بدون أي مشاركة، لن تحقق الاستفادة المأمولة

ومرة أخرى أكرر...
لا أريد مشاركات عبارة عن مجرد شكر أو دعاء، فالدعاء بظهر الغيب يكفيني
فإما أن تضيف المشاركة للموضوع، سواء بإضافة معلومة، أو بطرح نقاش، أو باستفسار، أو ما شابه، وإما فعدم المشاركة أفضل

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

وكذلك بدأت في القراءة عن شيئين في برمجة المايكروكنترولر، وهما كيفية التعامل مع بطاقة التخزين SD-Card وكيفية البرمجة في الزمن الحقيقي real time programming حيث أن التحكم يجب أن يتم في الزمن الحقيقي
ولكني لا زلت في مرحلة القراءة ولم أنفذ بعد

بالمناسبة، نسيت أن أذكر أن لغة البرمجة المستخدمة هي مايكروسي MikroC Pro for dsPIC وهي من إنتاج شركة مايكروإلكترونيكا Mikroelektronika وتتميز هذه اللغة بسهولتها ووفرة المكتبات بها، مما ييسر على المبرمج الكثير من العمل
ولكن بوجه عام، للمحترفين يفضل إما استعمال لغة التجميع Assembly language أو لغة C30 التي تنتجها شركة مايكروشيب

ملحوظة: مايكرو سي وسي30 قائمتان على لغة سي القياسية ANSI C ولكن توجد بعض الاختلافات، خاصة في المكتبات libraries الملحقة بكل لغة


----------



## محمود عثمان الغول (3 يونيو 2011)

السلام عليكم يا اخوي انا اشتغلت على نفس الموضوع هذا بمشروع التخرج ...تفسير اللي صار معاك عل الاغلب ببسبب صغر قيمة التيار الواصل للماتور ...جرب غير الشاحن او البور سبلي المستخدم....لانو pwm عبارة عن قدرة لذا لا يكفي الجهد لتحديد الاداء...مع انتظار الرد على ملاحظتي..
وشكرا


----------



## zamalkawi (3 يونيو 2011)

محمود عثمان الغول قال:


> السلام عليكم يا اخوي انا اشتغلت على نفس الموضوع هذا بمشروع التخرج ...تفسير اللي صار معاك عل الاغلب ببسبب صغر قيمة التيار الواصل للماتور ...جرب غير الشاحن او البور سبلي المستخدم....لانو pwm عبارة عن قدرة لذا لا يكفي الجهد لتحديد الاداء...مع انتظار الرد على ملاحظتي..
> وشكرا


شكرا أخي على المشاركة والمساعدة
ولكني لم أفهم قصدك
أنا توصلت بالحسابات النظرية أن السبب غالبا هو صغر التيار الداخل للموتور خلال فترة التوصيل، فلا يرتفع جهد المقاومة الأومية بصورة كافية للتغلب على جهد فتح الدايود في الاتجاه المعاكس أثناء غلق التيار

ولكني لم أفهم شيئين في مشاركتك
الأول هو تغيير الباور صابلاي، فما الذي سأستفيده؟ ولو غيرته فما هو النوع الذي يجب أن أستخدمه؟ بمعنى ما هو الشيء الموجود في مصدر القدرة الذي أستخدمه والذي يتسبب في هذه المشكلة، بينما لن يكون موجودا في مصدر القدرة الآخر الذي سأسبدله بما أستعمله حاليا؟؟

الثاني هو قولك بأن pwm عبارة عن قدرة لذا لا يكفي الجهد لتحديد الأداء، لم أفهم هذه العبارة، هل يمكنك إيضاحها؟


----------



## رضا كامل (10 يونيو 2011)

عفوا للتدخل ، الذي فهمته هو أن تردد معدل عرض النبضة ارتفع فضعفت استجابة الموتور عند ثبات قيمة دورة التشغيل بما يعني ضرورة رفع قيمة دورة التشغيل كي يبدأ المحرك بالحركة .

السبب هو عدم وصول التيار في ملف الموتور لقيمة كافية لبدء الحركة خلال فترة التوصيل لذلك احتجت لزيادة نسبة فترة التوصيل الى فترة الفصل خلال زمن النبضة المعدلة .

و هذا ناتج عن وجود حث ذاتي للملفات فتزداد قيمة ممانعة الملف بازدياد التردد فيقل معدل نمو التيار المار بالملف فتكون قيمته القصوى أقل من اللازم.

علاج ذلك هو التحكم في جهد التغذية بحيث عند الترددات العالية يكون الجهد عاليا بما يكفي لتأمين معدل نمو تيار كاف خلال الملفات .

أي انشاء علاقة جهد ـ تردد مناسبة حسب قيمة حث الملف و التردد المستخدم و التيار اللازم لبدء الحركة .

و على حد علمي فهذا الأسلوب متبع في دوائر الانفرتر .

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

و من الممكن استخدام هذه الطريقة مع التحكم في التيار بدلا من التحكم في الجهد لأنه أكثر سهولة .

و فقكم الله لما يحب و يرضى .


----------



## zamalkawi (11 يونيو 2011)

السلام عليكم أخ رضا


رضا كامل قال:


> عفوا للتدخل


لماذا تقول عفوا؟ إنني لم أفتح هذا الموضوع لأكلم نفسي، لذا سأكون سعيدا بأي مشاركة، طالما أنها تضيف للموضوع وتثريه




رضا كامل قال:


> علاج ذلك هو التحكم في جهد التغذية بحيث عند الترددات العالية يكون الجهد عاليا بما يكفي لتأمين معدل نمو تيار كاف خلال الملفات .
> 
> أي انشاء علاقة جهد ـ تردد مناسبة حسب قيمة حث الملف و التردد المستخدم و التيار اللازم لبدء الحركة .


ولكن كيف يتم هذا، بينما يتم استخدام مصدر تيار مستمر يصدر جهدا ثابتا؟؟




رضا كامل قال:


> و من الممكن استخدام هذه الطريقة مع التحكم في التيار بدلا من التحكم في الجهد لأنه أكثر سهولة .


التحكم في التيار كنت أنوي يكون أحد الخطوات، وكنت سأتحدث عنه عند الحديث عنه عند الحديث عن حلقات التحكم
ولكني لا زلت أحتاج للقراءة أكثر عن التحكم في التيار
فهلا وضحت كيف يتم التحكم في التيار؟


----------



## رضا كامل (11 يونيو 2011)

zamalkawi قال:


> السلام عليكم أخ رضا



و عليكم السلام و رحمة الله و بركاته أخي الفاضل



zamalkawi قال:


> ولكن كيف يتم هذا، بينما يتم استخدام مصدر تيار مستمر يصدر جهدا ثابتا؟؟



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



zamalkawi قال:


> التحكم في التيار كنت أنوي يكون أحد الخطوات، وكنت سأتحدث عنه عند الحديث عنه عند الحديث عن حلقات التحكم
> ولكني لا زلت أحتاج للقراءة أكثر عن التحكم في التيار
> فهلا وضحت كيف يتم التحكم في التيار؟



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


----------



## zamalkawi (11 يونيو 2011)

رضا كامل قال:


> منظم جهد chopper بنظام تعديل عرض النبضة مع فلتر مناسب و تغذية راجعة مناسبة لضبط قيمة الجهد المطلوبة


معذرة أخي، لم أفهم، ما الفارق بين هذا وبين ما أقوم به بالفعل؟ فالتحكم في المحرك (حتى هذه المرحلة من المشروع) يتم عن طريق التحكم في الفولت، والذي يتم بدوره عن طريق تعديل عرض النبضة
هل يمكنك إيضاح قصدك؟ وما الفارق بين ما تقول وبين ما أفعله بالفعل؟ لو أنهم مختلفان، فما الحاجة لوجود تعديل عرض النبضة مرتين؟؟




رضا كامل قال:


> التحكم في التيار يستدعي قياسه أولا ،
> و تبعا لقيمة التيار نحدد الطريقة المتبعة في القياس ،
> و أظن أنه في حالتنا هذه يكون التيار محدود القيمة في حدود أمبير واحد لى خمسة أمبيرات مثلا
> فيمكن استخدام مقاومة صغيرة القيمة ( الأوم ) عالية القدرة ( الوات ) ،
> ...


شكرا أخي، هذا ما كنت أنوي عمله بالفعل، فشكرا على التأكيد




رضا كامل قال:


> أرجو مراجعة داتا شيت المتكاملتين l297 و l298 ( جزئية التحكم في التيار) فهما تعملان معا بهذه الطريقة في دوائر الاستيبر .


ماذا تقصد؟ أتعني أن أطلع على داتا شيت l297 لأرى كيف يتم تنفيذ قياس التيار؟
أنا لا أنوي استخدام l297 أصلا

بالمناسبة، هناك احتمال ألا أستعمل l298 أيضا، وأفكر في استعمال l6203، هي أغلى بعض الشيء، ولكنها أفضل
وفي الغالب فيما بعد سأصنع القنطرة بنفسي من عناصرها الأساسية، ولن أستعمل متكاملة جاهزة
على كل حال، الكهرباء هي أكبر نقطة ضعف لي في هذا المشروع، ولكني أحاول ولذا أحتاج تعاونكم بشدة


----------



## رضا كامل (11 يونيو 2011)

zamalkawi قال:


> معذرة أخي، لم أفهم، ما الفارق بين هذا وبين ما أقوم به بالفعل؟ فالتحكم في المحرك (حتى هذه المرحلة من المشروع) يتم عن طريق التحكم في الفولت، والذي يتم بدوره عن طريق تعديل عرض النبضة
> هل يمكنك إيضاح قصدك؟ وما الفارق بين ما تقول وبين ما أفعله بالفعل؟ لو أنهم مختلفان، فما الحاجة لوجود تعديل عرض النبضة مرتين؟؟



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




zamalkawi قال:


> شكرا أخي، هذا ما كنت أنوي عمله بالفعل، فشكرا على التأكيد



هناك بالمناسبة طرق أخرى منها محول التيار current transformer و حساسات تأثير هال hall effect 
و لعلك لو بحثت عن أي منهما على النت لأستمتعت كثيرا بما ستقرأه من العلم الجميل عنهما .



zamalkawi قال:


> ماذا تقصد؟ أتعني أن أطلع على داتا شيت l297 لأرى كيف يتم تنفيذ قياس التيار؟
> أنا لا أنوي استخدام l297 أصلا


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



zamalkawi قال:


> بالمناسبة، هناك احتمال ألا أستعمل l298 أيضا، وأفكر في استعمال l6203، هي أغلى بعض الشيء، ولكنها أفضل
> وفي الغالب فيما بعد سأصنع القنطرة بنفسي من عناصرها الأساسية، ولن أستعمل متكاملة جاهزة
> على كل حال، الكهرباء هي أكبر نقطة ضعف لي في هذا المشروع، ولكني أحاول ولذا أحتاج تعاونكم بشدة



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

أما عن نقاط الضعف فهي لدينا جميعا و حدث و لا حرج فقد نجد لدينا منها الكثير في تخصصنا نفسه ، لذلك نلجأ للإستعانة ببعضنا البعض و الله هو الموفق في النهاية فتوكل عليه و لا تشغل بالك فهو خير معين سبحانه .


----------



## zamalkawi (12 يونيو 2011)

رضا كامل قال:


> حسن يا أخي ، إن ما أذكرة عن الشوبر الغرض منه عمل منظم جهد يتبعه فلتر و الناتج هو تحويل مصدر التغذية الثابت إلى مصدر تغذية يمكن تغييرقيمة خرجه ، و الناتج منه ليس نبضات معدلة بل جهد مستمر تم فلترته و تنعيمه ، بخلاف معدل عرض النبضة الخاص بك فهو لا يحتوي على فلتر و يوصل التيار الى ملف الموتور بشكل متقطع تتحكم فيه بحسب ما تريد لكي تتحكم في الموتور .
> غرضنا من تغيير جهد التغذية هو السماح بمعدل سريع و محدد لنمو التيار خلال الملف أثناء فترة الوصل بغض النظر عن نسبة فترة التشغيل الى فترة الغلق أو تردد التعديل .
> تثبيت معدل نمو التيار عند قيمة عالية بما يكفي يخرج تأثير جهد التغذية من معادلتك بشكل كبير و يجعل الإستفادة من تغيير نسبة الفصل الى الوصل أكثر اعتمادية و دقة


أخي، إن الهدف من تعديل عرض النبضة مع الموتور ليس الحصول على تيار متقطع، وإنما الهدف هم تماما مثل الشوبر الذي ذكرته، وهو الحصول على تيار مستمر ثابت (أو شبه ثابت) تتناسب قيمته مع قيمة دورة الأداء، فمثلا لو كانت المقاومة 1 أوم، والجهد 10 فولت، وكانت دورة الأداء 10% نحصل على تيار 1 أمبير، ومع دورة أداء 30% تيار 3 أمبير، وهكذا
والسبب في هذا هو أن هناك فلتر بالفعل، وليس لا يوجد فلتر كما تقول، فالفلتر هنا هو المحرك ذاته، والذي يعمل كفلتر من الدرجة الأولى (أي ذو قطب واحد) لاحتوائه على حث ومقاومة، ويقوم هذا الفلتر بتنعيم التيار

راجع المشاركة رقم 17
http://www.arab-eng.org/vb/t261643-2.html#post2185267
وبها محاكاة لأداء هذا الفلتر

على حد علمي، فهذا الفلتر "الطبيعي" يكفي عادة لتنعيم التيار في المحركات، وأذكر أثناء قراءتي في أحد كتالوجات الدرايف بوش ريكسروت، ذكروا شيئا عن قياس حث المحرك ولو قل عن قيمة معينة يجب إضافة جزء معين للدائرة، لا أذكر التفاصيل، ولكن أظن أن هذا له علاقة بتنعيم التيار
سأحاول قراءة هذا الجزء من الكتالوج مرة أخرى

للأسف نتيجة صعوبة إجراء القياسات، لم أستطع تحديد الثابت الزمني للمحرك بدقة، فربما يكون السبب في سوء الأداء هو عدم توافق قيمة الثابت الزمني
سأحاول إجراء بعض القياسات مرة أخرى، ولكني الآن أركز على البرمجة في الزمن الحقيقي وعلى القراءة من الإس دي كارد

بعد إجراء القياسات سأفكر في كيفية تحسين أداء الفلتر، ربما بإضافة مكثف على التوازي أو أي شيء آخر، ولكن أيضا سأقرأ أكثر عن دوائر القيادة

تصوري الشخصي عن السبب (على افتراض أن السبب ليس التنعيم أو الفلتر) هو انخفاض جهد المصدر
فأنا أستعمل محرك، الجهد الاسمي له 12 فولت، ومصدر جهد مستمر 12 فولت
ومن المعروف أن الترانزيستورات والدايودات يفقد بها بعض الجهد، وحيث أن الدرايف عبارة عن مجموعة من الترانزيستورات والداتيودات على التوالي، لذا فهناك جهد أدنى يفقد بها قيمته ربما تتراوح من 1 إلى 2 فولت، لذا، فعند قطع التيار لو لم يصل التيار إلى قيمة مناسبة، فسينقطع التيار تماما، ولم يكمل دورته عبر الديودات
وهذا وارد جدا حدوثه عند دورة أداء صغيرة وتردد عالي، فهذا معناه أن يتم وصل التيار لمدة صغيرة جدا، فلا يرتفع التيار لقيمة كافية، وبالتالي عند قطع التيار، تهبط قيمة التيار إلى الصفر، ولا يكمل التيار دورته عبر الديودات (راجع المشاركة 17، فبها شرح لهذه النقطة)
بينما في الدرايفز الصناعية، تكون قيمة الجهد المستمر عدة مئات الفولتات، فمثلا درايف بوش ريكسروت يعمل بحوالي 600 فولت، وتوجد درايفز أخرى رأيتها تعمل ب200 فولت، وبالطبع المواتير التي تعمل بهذه الدرايفز تكون قيمة الجهد الاسمي لها في نفس الحدود، وبالتالي قيمة ال2 فولت اللازمة لمرور التيار عبر الديودات تكون قيمة مهملة بالنسبة للجهد، وبالتالي لا تظهر هذه المشكلة إلا عند دورة أداء شديدة الانخفاض، أقل من 1% مثلا

فما رأيك في هذا التحليل؟ هل تراه دقيق؟ هل لديك اقتراحات أخرى؟ أنا لا زلت أبحث في هذا الأمر، ولكني كما قلت أركز حاليا مع أمور أخرى، وأحاول تجميع كل الأفكار والآراء الممكنة لهذه المشكلة، كي أحلل هذه الآراء وأتأكد منها نظريا ثم بالقياسات فيما بعد، فلا تبخل علي بآرائك


----------



## رضا كامل (12 يونيو 2011)

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

لحظات لاستعيد استجماع افكاري و استكمل التوضيح ان شاء الله تعالى


----------



## رضا كامل (12 يونيو 2011)

سنقوم الآن بتكرار التجربتين مع زيادة تردد معدل عرض النبضة فقط و ترك باقي القيم على حالها .
زيادة تردد المعدل معناه على الفور تقليل فترة الوصل و فترة الفصل حتى لو ظلت النسبة بينهما ثابتة .
و النتيجة : تقليل قيمة التيار المار بالحمل الحثي لأن فترة النمو سوف تستغرق معظم زمن فترة الوصل ،
بينما في حالة الحمل الاومي البحت ، تظل قيمة التيار كما هي لعدم وجود فترة نمو للتيار.

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

لذلك نحتاج الى دائرة قياس و تحديد الحد الأقصى للتيار المار في الملف .
و لعل هذا الرسم البسيط يوضح أكثر


----------



## zamalkawi (12 يونيو 2011)

أشكرك جدا أخي على اهتمامك وعلى مساعدتك

ولكن استوقفتني هذا النقاط في مشاركتك وأود التعقيب عليها



رضا كامل قال:


> المحرك لا يدور بفعل الجهد حقا بل بفعل التيار الناشيء عن هذا الجهد


هذه نقطة لا خلاف عليها، فالمحرك يدور بسبب العزم، والعزم يتولد بسبب التيار



رضا كامل قال:


> نأتي الى نوع الحمل ،
> فلنضع مقاومة بحتة لا تتضمن سعة و لا حث ذاتي ، سنجد علاقة التيار أيضا خطية مع الجهد طبقا لقانون أوم و بالتالي خطية مع نسبة دورة التشغيل ( نسبة زمن الوصل الى زمن الفصل ) أيضا


اسمحلي أن أختلف معك هنا
فلو أن الحمل أومي تماما، وكان الجهد يتم التحكم فيه بتعديل عرض النبضة، فرغم أن القيمة الظاهرة للفولت ستكون كما قلت متناسبة مع دورة الأداء، إلا أن القيمة الفعلية اللحظية للفولت ستكون إما قيمة عظمى وإما صفر
ولأن الحمل أومي تماما، فالتيار أيضا سيكون إما صفر وإما قيمة عظمى محسوبة من قانون أوم، التيار سيساوي القيمة العظمى للجهد مقسوما على المقاومة




رضا كامل قال:


> ثم فلنضع ـ بدلا من المقاومة البحتة ، ملفا له حث ذاتي و مقاومة ، لو راجعنا الشكل الموجي للتيار المار عبر الملف ( التيار و ليس الجهد) ، سنرى أن التيار يحتاج الى فترة زمنية معينة ينمو فيها من الصفر إلى قيمته العظمى ( النهائية ) .
> هذه الفترة تعتمد في قيمتها على قيمة جهد التغذية و على قيمة الحث الذاتي و المقاومة الأومية للملف
> ثم يثبت التيار عند قيمة عظمى يحددها جهد التغذية و المقاومة الأومية للملف ( بدون تدخل للحث هنا ) .
> أي أن فترة الوصل تنقسم الى جزئين ، جزء ينمو أثناءه التيار ، و جزء يثبت أثناءه التيار عند قيمة عظمى


وماذا لو أن فترة الوصل أساسا أقل من الفترة اللازمة لنمو التيار؟
هذه الفرضية ليست من الخيال، وإنما هذا هو الطبيعي، أن يكون فترة تردد تعديل عرض النبضة أصغر من الثابت الزمني للمحرك، بل على العكس، كلما زاد تردد الPWM كلما كان أفضل في الأداء، ولكن لا يمكن الوصول لترددات عالية جدا لاعتبارات تكنولوجية
للتدليل على كلامي، طالع كتالوج محركات زيمنس في الرابط الموجود بالمرفق
ثم ابحث عن عبارة
Electrical time constant
ستجد أن أصغر قيمة للثابت الزمني هي 560 مايكروثانية، وتصل في بعض المحركات إلى 40 ميلليثانية
بينما في الدرايفز تجد أن فترة دورة الPWM تتراوح بين 62.5 مايكروثانية إلى 250 مايكروثانية (من 4 إلى 16 كيلوهرتس)
وهذا يعني أن الطبيعي أن يكون ال PWM أسرع بدرجة ملحوظة من ديناميكية الموتور
وهذا هو ما عبرت عنه في المشاركة رقم 17، والتي أرجو أن تطلع عليها

المهم، عودة لسؤالي: ماذا لو أن تردد الPWM عالي بحيث كان فترته الزمنية أقل من الثابت الزمني للموتور؟
في هذه الحالة لن تتكون فترة الوصل من فترة نمو وفترة ثبات، وإنما ستكون، فقط فترة نمو، أليس كذلك؟؟




رضا كامل قال:


> ثم فلنضع ـ بدلا من المقاومة البحتة ، ملفا له حث ذاتي و مقاومة ، لو راجعنا الشكل الموجي للتيار المار عبر الملف ( التيار و ليس الجهد) ، سنرى أن التيار يحتاج الى فترة زمنية معينة ينمو فيها من الصفر إلى قيمته العظمى ( النهائية ) .
> هذه الفترة تعتمد في قيمتها على قيمة جهد التغذية و على قيمة الحث الذاتي و المقاومة الأومية للملف


معذرة، لي تصحيح بسيط هنا
ففترة النمو للوصول إلى القيمة العظمى لا تعتمد على جهد التغذية، وإنما فقط على الحث والمقاومة


----------



## zamalkawi (12 يونيو 2011)

أشكرك جدا أخي على مجهودك وعلى الرسوم التوضيحية
في الواقع وجهة نظرك وصلت من المشاركة السابقة، ولكني أختلف مع وجهة النظر تلك
فوصول التيار لقيمته العظمى ثم هبوطه للصفر ثم قيمة عظمي ثم صفر وهكذا له تأثير سيء جدا جدا على الماكينة، فهذا يشبه أن تمسك بشاكوش وتطرق به على الماكينة
وهذا سيؤدي إلى اهتزازات في الماكينة، بالإضافة لقصر عمرها نتيجة الطرق المستمر
ولذا وجب تنعيم التيار

بينما لو كانت فترة الpwm قصيرة جدا، أقصر كثيرا من الثابت الزمني للمحرك فرغم أن التيار لن يصل إلى قيمته العظمى، إلا أنه من المفترض أن يصل التيار إلى قيمته المتوسطة بعد عدة دورات pwm
فلو كانت قيمة التيار في البداية صفر، وكانت القيمة العظمي، ولنقل 10 أمبير، ودورة الأداء 50%، أي أن القيمة المتوسطة المطلوبة للتيار هي 5أمبير
ففي حالة أن فترة النمو قصيرة جدا (كما تقترح أنت) فسيصل التيار إلى 10 أمبير، ويثبت ثم يهبط فجأة إلى صفر، ثم ينمو فجأة إلى 10 أمبير، ثم صفر، وهكذا، وهو أمر مجهد جدا للماكينة كما قلت

أما لو كانت فترة النمو كبيرة، فسيصل التيار في بعد أو فترة وصل إلى مثلا 2 أمبير، ثم في نهاية فترة القطع الأولى يصل إلى مثلا 1.5 أمبير، ثم في نهاية فترة الوصل الثانية مثلا 3 أمبير، وفي نهاية فترة القطع الثانية مثلا 2.3 أمبير، وهكذا بعد عدة دورات سيصل إلى 5 أمبير

راجع مشاركة رقم 17 للتوضيح، فهي تشرح هذا الأمر بالتفصيل



رضا كامل قال:


> سنقوم الآن بتكرار التجربتين مع زيادة تردد معدل عرض النبضة فقط و ترك باقي القيم على حالها .
> زيادة تردد المعدل معناه على الفور تقليل فترة الوصل و فترة الفصل حتى لو ظلت النسبة بينهما ثابتة .
> و النتيجة : تقليل قيمة التيار المار بالحمل الحثي لأن فترة النمو سوف تستغرق معظم زمن فترة الوصل ،
> بينما في حالة الحمل الاومي البحت ، تظل قيمة التيار كما هي لعدم وجود فترة نمو للتيار.
> ...


----------



## رضا كامل (13 يونيو 2011)

عفوا لعدم الاستكمال بالأمس فقد كنت عائدا للتو من العمل و شديد الارهاق و "فصلت شحن" كما يقولون و غلبني النوم .
الآن بعد أن قرأت الردود وجدت نقطة هامة هي سبب عدم الاتفاق بيننا في الرأي .
وجدت أنك يا أخي تنظر بعين مهندس الميكانيكا الى شأن كهربي ( التذبذبات والإجهاد ) حيث تقول :
{ *فوصول التيار لقيمته العظمى ثم هبوطه للصفر ثم قيمة عظمي ثم صفر وهكذا له تأثير سيء جدا جدا على الماكينة، فهذا يشبه أن تمسك بشاكوش وتطرق به على الماكينة
وهذا سيؤدي إلى اهتزازات في الماكينة، بالإضافة لقصر عمرها نتيجة الطرق المستمر
ولذا وجب تنعيم التيار }
أنا لست مهندسا ميكانيكيا لأستطيع المناقشة في هذه الأمر معك ( vibrations ) فهو موضوع دقيق للغاية بالنسبة إلي و لا أمتلك ناصيته مثلك ، 
بل أن دوري هنا يتوقف عند حد التلقي منك و محاولة الفهم و الإستيعاب ، 
و لكن : على حد علمي فإن هذا هو ما يحدث فعليا في محركات الإحتراق الداخلي ، مع فارق الإنخفاض الشديد في التردد مقارنة بدوائر الكهرباء ، و حيث يوضع ترس الحداف ( الفولان) الثقيل ليعمل كمخزن ـ مصرف للطاقة الميكانيكية و كوسيلة لتنعيم تقطع دفقاتها و الحصول منها على قيمة متوسطة تقع بين الصفر و القيمة العظمى و تحافظ على استمراية الدوران .
فكيف يعمل هذا النظام ؟ 
ما أعرفه ـ و أرجو التصحيح ان أخطأت ـ هو أن الكتلة الثقيلة للترس تتلقى و تخزن الباقي من كمية كبيرة من الطاقة الحركية المتولدة في لحظة تفجر شحنة الوقود ـ الهواء بداخل غرفة الاحتراق ( السلندر ) ، 
و هي كمية تفوق بكثير ما يحتاجه المحرك ليدور ، تتولد في فترة قصيرة للغاية ثم تنقطع .
فالمحرك يقدم طاقة ضخمة أكثر من اللازم لفترة قصيرة جدا ، 
فيؤخذ منها ما يلزم لتدوير المحرك في هذه اللحظة ، بينما يخزن الباقي في الحداف بوزنه الثقيل ، 
ثم يفقد المحرك قدرته الدافعة ، و يتحول من قائد إلى مقود يستمد مايلزم لإستمرار دورانه من الطاقة الباقية المخزنة بترس الحداف ،
فيستمر في الدوران حتى يصل الى نقطة حدوث انفجار شحنة وقود ـ هواء جديدة في السلندر التالي ،
ليستمد منها دفقة جديدة مركزة من الطاقة و يستمر في الدوران .
و هنا نلاحظ أن ترس الحداف **يقوم** بوظيفة (البطارية الميكانيكية) ، 
فهو يخزن الطاقة الزائدة ، ليعود فيقدمها للنظام عند الحاجة إليها .
و سأنتظر منك بداية تقييما لمعلوماتي هل هي سليمة أم بها خطأ حتى أستطيع الإستكمال .
*


----------



## رضا كامل (13 يونيو 2011)

zamalkawi قال:


> معذرة، لي تصحيح بسيط هنا
> ففترة النمو للوصول إلى القيمة العظمى لا تعتمد على جهد التغذية، وإنما فقط على الحث والمقاومة



فاتك يا أخي أن التيار ناشيء عن القوة الدافعة لجهد التغذية 
و هذا يعني أن خواص التيار سوف تختلف ـ و لابد ـ باختلاف قيمة الجهد .
فتفضل بمراجعة المعادلة كما هي مبينة بالصورة .
و مع ملاحظة أن معدل نمو التيار هو سرعة التزايد في قيمته بالنسبة للزمن .
يتضح لنا أن معدل نمو التيار يتناسب طرديا مع جهد التغذية .
و لا تنشغل بالإشارة السالبة لأنها لا تتعلق هنا بالقيمة بل باتجاهات مرور التيار و تزايد أو نقصان المجال المغناطيسي الناشيء حول الملف نتيجة تغير قيمة التيار المار به لحظيا سواء بالزيادة أو بالنقصان .


----------



## zamalkawi (13 يونيو 2011)

أخي، أنا فعلا مستمتع بالحوار معك، شكا جزيلا على الاهتمام

سأبدأ بهذ المشاركة أولا، ثم أرد على المشاركة السابقة لها



رضا كامل قال:


> فاتك يا أخي أن التيار ناشيء عن القوة الدافعة لجهد التغذية
> و هذا يعني أن خواص التيار سوف تختلف ـ و لابد ـ باختلاف قيمة الجهد .
> فتفضل بمراجعة المعادلة كما هي مبينة بالصورة .
> و مع ملاحظة أن معدل نمو التيار هو سرعة التزايد في قيمته بالنسبة للزمن .
> ...



يبدو أن الاختلاف، كالعادة، ليس اختلاف معلومات، وإنما اختلاف وجهة نظر
فحسب وجهة نظري، القيمة العظمي للتيار تساوي v/r
ومع ثبات r و l سينمو التيار أسرع مع جهد أكبر، هذا لا خلاف عليه
ولكن زمن الوصول للتيار الأعظم v/r يعتمد فقط على الثابت الزمني والثي يساوي l/r، أي أنه كما تعلم سيصل التيار إلى 63% من قيمته العظمى بعد مرور فترة زمنية تساوي l/r
حيث v هي حهد التغذية، r هي المقاومة، وl هي الحث
الأمر تماما مثل سيارة سرعتها 80 كيلومتر في الساعة، ومطلوب منها أن تقطع 20 كيلومتر، ستقطعها في ربع ساعة، وسيارة أخرى سرعتها 40 كم/س ومطلوب منها قطع 10كم، فستقطعا أيضا في نفس الزمن، ربع ساعة، رغم أنها أبطأ من السيارة الأولى

بالمناسبة، لم تخبرني، هل طالعت المشاركة رقم 17؟ فلو طالعتها سنوفر وقتا في النقاش ونقرب وجهات النظر


----------



## zamalkawi (13 يونيو 2011)

رضا كامل قال:


> الآن بعد أن قرأت الردود وجدت نقطة هامة هي سبب عدم الاتفاق بيننا في الرأي .
> وجدت أنك يا أخي تنظر بعين مهندس الميكانيكا الى شأن كهربي ( التذبذبات والإجهاد ) حيث تقول :
> { *فوصول التيار لقيمته العظمى ثم هبوطه للصفر ثم قيمة عظمي ثم صفر وهكذا له تأثير سيء جدا جدا على الماكينة، فهذا يشبه أن تمسك بشاكوش وتطرق به على الماكينة
> وهذا سيؤدي إلى اهتزازات في الماكينة، بالإضافة لقصر عمرها نتيجة الطرق المستمر
> ولذا وجب تنعيم التيار }*


*

الأمر ليس فقط لأنني مهندس ميكانيكا، وإنما لأن هذا هو مجال عملي، فأداء الماكينات السي إن سي (الفرايز مثلا) من حيث الدقة والثبات وعمرها الافتراضي هي جزء لا يتجزأ من عملي
كما أنني مهندس ميكاترونكس الآن، ولم أعد مهندس ميكانيكا صرف




رضا كامل قال:



على حد علمي فإن هذا هو ما يحدث فعليا في محركات الإحتراق الداخلي ، مع فارق الإنخفاض الشديد في التردد مقارنة بدوائر الكهرباء ، و حيث يوضع ترس الحداف ( الفولان) الثقيل ليعمل كمخزن ـ مصرف للطاقة الميكانيكية و كوسيلة لتنعيم تقطع دفقاتها و الحصول منها على قيمة متوسطة تقع بين الصفر و القيمة العظمى و تحافظ على استمراية الدوران .
فكيف يعمل هذا النظام ؟ 
ما أعرفه ـ و أرجو التصحيح ان أخطأت ـ هو أن الكتلة الثقيلة للترس تتلقى و تخزن الباقي من كمية كبيرة من الطاقة الحركية المتولدة في لحظة تفجر شحنة الوقود ـ الهواء بداخل غرفة الاحتراق ( السلندر ) ، 
و هي كمية تفوق بكثير ما يحتاجه المحرك ليدور ، تتولد في فترة قصيرة للغاية ثم تنقطع .
فالمحرك يقدم طاقة ضخمة أكثر من اللازم لفترة قصيرة جدا ، 
فيؤخذ منها ما يلزم لتدوير المحرك في هذه اللحظة ، بينما يخزن الباقي في الحداف بوزنه الثقيل ، 
ثم يفقد المحرك قدرته الدافعة ، و يتحول من قائد إلى مقود يستمد مايلزم لإستمرار دورانه من الطاقة الباقية المخزنة بترس الحداف ،
فيستمر في الدوران حتى يصل الى نقطة حدوث انفجار شحنة وقود ـ هواء جديدة في السلندر التالي ،
ليستمد منها دفقة جديدة مركزة من الطاقة و يستمر في الدوران .
و هنا نلاحظ أن ترس الحداف يقوم بوظيفة (البطارية الميكانيكية) ، 
فهو يخزن الطاقة الزائدة ، ليعود فيقدمها للنظام عند الحاجة إليها .
و سأنتظر منك بداية تقييما لمعلوماتي هل هي سليمة أم بها خطأ حتى أستطيع الإستكمال .

أنقر للتوسيع...

*للأسف لا أستطيع أن أفتي، هل معلوماتك هذه سليمة أم لا، فآخر تعامل لي مع محركات الاحتراق الداخلي كان أثناء الدراسة منذ 11 عاما

ولكن أظن أن كلامك سليم، فعلى حد معلوماتي هذا هو ما يحدث بالفعل

ولكن أرى أن التناظر بين النظامين غير موجود، فلا يمكن مقارنة السيارة مع اهتزازها وعدم دقتها، بماكينة دقيقة جدا كالفريزة

لا يمكن مقارنة ماكينة يمكنك بسهولة أن ترى بعينك المجردة اهتزازاتها وعدم دقتها، وبين ماكينة لا يمكن أن ترى اهتزازاتها وعدم دقتها إلا بأدوات قياس دقيقة جدا

وحيث أن كلينا لا نملك الكثير من المعلومات عن محركات الاحتراق الداخلي، وحيث أن التشابه بينها وبين المحركات الكهربية قليل إلى حد كبير، أرى أن نغلق النقاش حولها ونركز مع المحرك الكهربي


----------



## رضا كامل (13 يونيو 2011)

zamalkawi قال:


> أخي، أنا فعلا مستمتع بالحوار معك، شكا جزيلا على الاهتمام
> 
> سأبدأ بهذ المشاركة أولا، ثم أرد على المشاركة السابقة لها
> 
> ...



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

بخصوص المشاركة 17 ( صارت لدي كإسم علم  ) قرأتها و استمتعت بها جدا و صنعت منها ملف pdf لرغبتي في الإحتفاظ بها كمحتوى علمي جميل . فقط الصور احتاجت لعملية ضبط للاضاءة و التباين لأنها ظهرت عندي شديدة الاظلام .


----------



## zamalkawi (13 يونيو 2011)

رضا كامل قال:


> رائع جدا .
> نحن نعلم هنا أنها تبلغ 63 بالمائة من القيمة القصوى .
> فكم تبلغ القيمة القصوى ؟؟
> و هل ستظل ثابتة عند تغيير الجهد مع ثبات المقاومة الأومية للملف ؟
> ...



حسنا، االحمد لله وصلنا لنقطة اتفاق
نعود للموضوع الأصلي

أنا الآن فهمت منك شيئين مختلفين
الأول...
أنت تقول أن أستعمل تردد منخفض في ال PWM الخاص بدرايف المحرك، وذلك حتى يكون هناك وقت كاف ليصل التيار إلى "القيمة العظمى" له، والتي اتفقنا انها ستعتمد على قيمة الجهد المغذي للدرايف، وقيمة هذا الجهد يتم التحكم فيها من خلال شوبر يعمل أيضا ب PWM
فما الميزة في هذا؟ طالما أنني من خلال الشوبر، والذي بطبيعة الحال سيعمل بتردد عال، أستطيع أن أصل إلى جهد مستقر، فلماذا لا أقوم بنفس الشيء مباشرة على الدرايف باستخدام تردد عال؟
معذرة هذه النقطة غير واضحة تماما بالنسبة لي

أما الشيء الثاني الذي فهمته، هو أنك تقول أن نترك جهد المصدر كما هو، وذلك حتى ينمو التيار سريعا، ولكننا نراقب التيار، بحيث لو وصل للقيمة العظمى المطلوبة نقوم بتثبيته، ويتم هذا من خلال محدد تيار

فأي الشيئين هو الذي قصدته؟؟

بالمناسبة، في الدرايفز التجارية، لم أر أي من الشيئين
ففي الدرايفز الاحترافية التجارية نرى أن هناك جهد مستمر يسمى عادة رابط التيار المستمر DC link، وهذا الجهد يتم تقطيعه بواسطة الPWM من أجل إدخال الجهد المطلوب للمحرك
فعادة يتم إدخال جهد المصدر (تيار متردد) إلى الدرايف، ثم يتم تقويمه (وتنعيمه طبعا)، والجهد الخارج من التقويم هو ما يسمى DC Link وهذا الجهد هو ما يتم تقطيعه بالPWM 
اطلع على هذه الصورة لتدرك ماذا أقصد


----------



## رضا كامل (13 يونيو 2011)

zamalkawi قال:


> حسنا، االحمد لله وصلنا لنقطة اتفاق
> نعود للموضوع الأصلي
> 
> أنا الآن فهمت منك شيئين مختلفين



ما قصدته تحديدا هو استخدام أحد أسلوبين لتفادي تأثير بطء معدل نمو التيار على التشغيل في حالةاستعمال تردد عال أو تطبيق دورة تشغيل ( نسبة وصل ـ فصل ) صغيرة أو كليهما معا .



zamalkawi قال:


> الأول...
> أنت تقول أن أستعمل تردد منخفض في ال pwm الخاص بدرايف المحرك، وذلك حتى يكون هناك وقت كاف ليصل التيار إلى "القيمة العظمى" له، والتي اتفقنا انها ستعتمد على قيمة الجهد المغذي للدرايف، وقيمة هذا الجهد يتم التحكم فيها من خلال شوبر يعمل أيضا ب pwm
> فما الميزة في هذا؟ طالما أنني من خلال الشوبر، والذي بطبيعة الحال سيعمل بتردد عال، أستطيع أن أصل إلى جهد مستقر، فلماذا لا أقوم بنفس الشيء مباشرة على الدرايف باستخدام تردد عال؟
> معذرة هذه النقطة غير واضحة تماما بالنسبة لي



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



zamalkawi قال:


> أما الشيء الثاني الذي فهمته، هو أنك تقول أن نترك جهد المصدر كما هو، وذلك حتى ينمو التيار سريعا، ولكننا نراقب التيار، بحيث لو وصل للقيمة العظمى المطلوبة نقوم بتثبيته، ويتم هذا من خلال محدد تيار



هذا هو الأسلوب الثاني ، و هو عبارة عن استخدام محدد للتيار مع مصدر جهد مرتفع أصلا لضمان سرعة معدل نمو تيار الملف مع عدم تجاوز التيار الأقصى للقيمة الآمنة ، و تغيير تردد المعدل كما نرغب مع الحفاظ على علاقة تحكم قريبة جدا من الخطية .



zamalkawi قال:


> فأي الشيئين هو الذي قصدته؟؟
> بالمناسبة، في الدرايفز التجارية، لم أر أي من الشيئين
> ففي الدرايفز الاحترافية التجارية نرى أن هناك جهد مستمر يسمى عادة رابط التيار المستمر dc link، وهذا الجهد يتم تقطيعه بواسطة الpwm من أجل إدخال الجهد المطلوب للمحرك
> فعادة يتم إدخال جهد المصدر (تيار متردد) إلى الدرايف، ثم يتم تقويمه (وتنعيمه طبعا)، والجهد الخارج من التقويم هو ما يسمى dc link وهذا الجهد هو ما يتم تقطيعه بالpwm
> اطلع على هذه الصورة لتدرك ماذا أقصد




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

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


----------



## zamalkawi (13 يونيو 2011)

رضا كامل قال:


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


معذرة أخي، لم أفهم هذه النقطة، هل يمكن أن تضع رسم تخطيطي، بعيدا عن المعادلات والتعقيدات، فقط أريد أن أفهم الفكرة العامة



رضا كامل قال:


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


أعلم تماما أنه يتم قياس التيار، والصورة التي وضعتها قصدت منها فقط توضيح الفكرة العامة، ويمكنني وضع صورا أكثر تفصيلا لو تحب
بالتأكيد لن أستطيع الوصول إلى صور تحوي كل التفاصيل، فهذه من أسرار الصناعة التي لن تعلن على الملأ، ولكن رغم هذا لدي صورا من المحاضرات أو من الإنترنت أكثر توضيحا تبين قياس التيار وأساسيات التحكم المتجهي vector control للمحركات المتزامنة
وفي حالة محرك التيار المستمر، لا أعلم هل سأقيس التيار للتحكم أم لا، هذا سيعتمد على الأداء الديناميكي المطلوب
فلو يمكن الوصول لأداء ديناميكي جيد بدون قياس التيار، فلن أقيسه، ولكن لو وجدت أن قياس التيار سيحسن الأداء الديناميكي بدرجة كبيرة فسأقيس التيار



رضا كامل قال:


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


لا أدري لماذا تصر على وجود تحديد للتيار!
ما يطبق في الدرايفز هو "تحكم" في التيار وليس "تحديد" للتيار
بالتأكيد يوجد تحديد للتيار ولكن بغرض الحماية ليس إلا، فلو كان المحرك تياره الاسمي مثلا 10 أمبير، فيمكن أن يحدد الدرايف قيمة التيار بحيث (مثلا) لا تزيد مثلا عن 20 أمبير لفترة قصيرة
أما تحديد التيار كجزء من التحكم، فهذا غير موجود (على حد علمي)
أما التحكم في التيار فشيء آخر
فالتحكم في المحركات السرفو عالية الأداء (وليس أنظمة السيرفو الأي كلام كما نقول في مصر) يتم عن طريق ثلاث حلقات تحكم متداخلة cascade control loop هذا بالإضافة للتغذية الطردية feedforward وفلاتر أخرى، ليس مجال ذكرها هنا
ولكن الأساس هو 3 حلقات تحكم، الحلقة الخارجية تكون للتحكم في الموضع، والوسطى للسرعة، أما الداخلية فهي ما تعنينا هنا وهي حلقة التحكم في العزم، وفيها يتم التحكم في التيار (أي التحكم في العزم) بحيث نصل للعزم المطلوب بسرعة ودقة
وأكرر: هذه الحلقة يتم فيها "التحكم" في التيار، وليس "تحديد" التيار


----------



## رضا كامل (13 يونيو 2011)

zamalkawi قال:


> معذرة أخي، لم أفهم هذه النقطة، هل يمكن أن تضع رسم تخطيطي، بعيدا عن المعادلات والتعقيدات، فقط أريد أن أفهم الفكرة العامة



تفضل بمراجعة الرسم المرفق ، و لو أننا قد توافقنا سابقا على إمكان إدماج هذه الوظيفة ضمن تحكم معدل عرض النبضة مما يوفر في الهاردوير على حساب السوفت وير .








zamalkawi قال:


> أعلم تماما أنه يتم قياس التيار، والصورة التي وضعتها قصدت منها فقط توضيح الفكرة العامة، ويمكنني وضع صورا أكثر تفصيلا لو تحب
> بالتأكيد لن أستطيع الوصول إلى صور تحوي كل التفاصيل، فهذه من أسرار الصناعة التي لن تعلن على الملأ، ولكن رغم هذا لدي صورا من المحاضرات أو من الإنترنت أكثر توضيحا تبين قياس التيار وأساسيات التحكم المتجهي vector control للمحركات المتزامنة
> وفي حالة محرك التيار المستمر، لا أعلم هل سأقيس التيار للتحكم أم لا، هذا سيعتمد على الأداء الديناميكي المطلوب
> فلو يمكن الوصول لأداء ديناميكي جيد بدون قياس التيار، فلن أقيسه، ولكن لو وجدت أن قياس التيار سيحسن الأداء الديناميكي بدرجة كبيرة فسأقيس التيار



و لكن ستكون هناك حاجة أكيدة لقياس التيار من أجل الحماية على الأقل ، فلندع الأمر لوقته و سنعرف بما نحتاجه من واقع التجربة العملية.



zamalkawi قال:


> لا أدري لماذا تصر على وجود تحديد للتيار!
> ما يطبق في الدرايفز هو "تحكم" في التيار وليس "تحديد" للتيار
> بالتأكيد يوجد تحديد للتيار ولكن بغرض الحماية ليس إلا، فلو كان المحرك تياره الاسمي مثلا 10 أمبير، فيمكن أن يحدد الدرايف قيمة التيار بحيث (مثلا) لا تزيد مثلا عن 20 أمبير لفترة قصيرة
> أما تحديد التيار كجزء من التحكم، فهذا غير موجود (على حد علمي)
> ...



لن نختلف على المسمى فمسمى التحكم يستخدم لوصف الأمر على مدى العملية .
أما مسمى التحديد فهو يستخدم على مستوى القيمة اللحظية أي عند لحظة معينة .
فلا تنزعج فنحن لم نختلف هنا أيضا .


----------



## zamalkawi (13 يونيو 2011)

رضا كامل قال:


> و لكن ستكون هناك حاجة أكيدة لقياس التيار من أجل الحماية على الأقل ، فلندع الأمر لوقته و سنعرف بما نحتاجه من واقع التجربة العملية.
> 
> لن نختلف على المسمى فمسمى التحكم يستخدم لوصف الأمر على مدى العملية .
> أما مسمى التحديد فهو يستخدم على مستوى القيمة اللحظية أي عند لحظة معينة .
> فلا تنزعج فنحن لم نختلف هنا أيضا .


جيد، إذا فنحن فقط مختلفين في الاسم وليس في المسمى
الفكرة هي أن كلمة "تحديد" تعني حسب فهمي لها limiting أي تأمين عدم تخطي القيمة الفعلية لقيمة محددة سلفا

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

المشكلة أنني حتى الآن لم أتأكد من سبب المشكلة، أو لنقل الظاهرة، فكما قلت سابقا، تفسيري هو أن الفولت الذي أستعمله (12 فولت) ليس كبيرا مقارنة بالفولت المطلوب لمرور التيار عبد الدايودات والترانزيستورات (من 1 إلى 2 فولت)، وبالتالي لا يكفي زمن الفتح لتوليد جهد معاكس كافي لتمرير التيار في حالة القطع

فما رأيك في هذا التفسير؟ وما اقتراحك للحل؟


----------



## رضا كامل (13 يونيو 2011)

zamalkawi قال:


> جيد، إذا فنحن فقط مختلفين في الاسم وليس في المسمى
> الفكرة هي أن كلمة "تحديد" تعني حسب فهمي لها limiting أي تأمين عدم تخطي القيمة الفعلية لقيمة محددة سلفا
> 
> بالنسبة لقياس التيار من عدمه، فأنا أظن أنه في تطبيق بسيط مثل محرك تيار مستمر، فربما يكفي التحكم في التيار بحلقة مفتوحة بدون فيدباك، فبعض النمذجة والبرمجة قد تغني عن القياس الفعلي، خاصة أن التيار هو الحلقة الداخلية وليس الخارجية، لذا فالخطأ فيه سيتم تصحيحه في الحلقات الخارجية (السرعو والموضع) وكذلك أظن أن الصعوبات البرمجية وتعقيدات الهاردوير المصاحبة لقياس التيار وتنفيذ التحكم فيه ستكون كبيرة إلى حد ما، لذا سأؤجل تنفيذ التحكم في التيار إلى أن أرى هل الأداء يحتاج إلى قياس التيار أم لا، وهل سأحسن الأداء بدرجة ملحوظة بقياس التيار أم لا
> ...



هل توجد دائرة معينة يمكن مشاهدتها ؟؟
لأني في الواقع لست قادرا على تخيل الوضع بدون مشاهدة الدائرة و معرفة اماكن الحمل و الديودات و الترانزستورات بالنسبة لبعضها البعض .
أيضا الفولت المستخدم لا يمكن الحكم عليه بدون معرفة مواصفات المحرك نفسه من حيث المقاومة و الحث .
مصدر التغذية أيضا و مقدرته على الإمداد بالتيار اللازم له تأثير لا ينكر .
دعنا نبدأ من جديد ببعض المعلومات ، بعد أن توافقت المفاهيم بيننا ، و أظننا سنعرف الحل معا إن شاء الله .
فقليل من المعلومات قد تساعد ان شاء الله .


----------



## zamalkawi (14 يونيو 2011)

السلام عليكم
المحرك موجود في المشاركة رقم 6
أما التوصيل فهو كالصورة الأخيرة في المشاركة رقم 22
الدايودات لا أذكر رقمها الآن، ولكنها كانت دايودات سريعة schottky وتتحمل حتى 20 أمبير
أما مصدر القدرة فهو باور صابلاي خاص بالكمبيوتر، 12 فولت


----------



## zamalkawi (30 يونيو 2011)

السلام عليكم
والآن عودة بعد غياب
للأسف كنت مشغولا في أشياء خاصة بعيدة عن المشروع
أما بخصوص المشروع، فقد انشغلت في الفترة الماضية بشيئين
الأول هو محاولة برمجة إطار للعمل في الزمن الحقيقي، وهذا لم أكمله بعد بسبب بعض المعوقات البرمجية
الثاني هو محاولة معرفة سبب اختلاف أداء المحرك مع اختلاف تردد تعديل عرض النبضة وثبات دورة الأداء
وأنا هنا الآن للحديث عن الشيء الثاني

في الواقع كنت أنوي تحليل سبب المشكلة من خلال إجراء بعض القياسات، ولكني للأسف لم أقم بهذه القياسات بعد ولكني لازلت أنوي القيام بها، للتأكد من النظرية عمليا

ما قمت به هو بعض الحسابات النظرية، والتي لم أجربها عمليا بعد

الحسابات النظرية سأعرضها عليكم في المشاركة القادمة إن شاء الله، ولكن قبلها سأضع لكم في مرفق هذه المشاركة فصل من أحد الكتب، يشرح الأساس النظري الذي بنيت عليه حساباتي النظرية

الكتاب من تأليف Takashi Kenjo وهو ياباني، واسم الكتاب هو
power electronics for the microprocessor age
الكتاب قديم نوعا، إذ يرجع لعام 1990، ولكن أظن أنه يكفي في المرحلة الحالية

الفصل المرفق هو الفصل الرابع من الكتاب، وللمهتمين بالمشكلة وأسبابها، فإن الأساس النظري الذي استندت عليه في حساباتي النظرية موجود في النقطة 4.3 وتحديدا من الصفحة 126 وحتى الصفحة 134 من الكتاب، لذا من يهتم بالأمر ربما يفيده أن يطلع على هذه الصفحات قبل قراءة مشاركتى القادمة، والتي سأطلعكم فيها على ما توصلت له بإذن الله


لم أستطع في البداية إرفاق الملف، ولكن تم بحمد الله رفع الملف، معذرة، اضطررت لتقليل جودته كي أتمكن من رفعه


----------



## abadazah (3 يوليو 2011)

ممكن نشوف جزء من كود اليرنامج للتحكم في المحركات وهل ممكن تشرحه لنا لا موضوعك جدا شيق ويستحق التركيز فيه على الجزء البرمجي .
شكرا


----------



## zamalkawi (4 يوليو 2011)

abadazah قال:


> ممكن نشوف جزء من كود اليرنامج للتحكم في المحركات وهل ممكن تشرحه لنا لا موضوعك جدا شيق ويستحق التركيز فيه على الجزء البرمجي .
> شكرا


أخي، شكرا على الاهتمام
بالنسبة للكود فهو موجود بالفعل في المشاركة 25
ولكنه ليس كودا هاما، هو فقط كود لتجربة إشارة تعديل عرض النبضة
ربما أضيف مزيدا من التعليقات على الكود في المشاركة 25 لجعله أكثر وضوحا، ولكنه سيظل كودا قليل الأهمية
فالكود الأساسي لم أكتبه بعد
الكود الذي أعمل عليه الآن (وهو أيضا ليس الكود الأساسي) هو برنامج لعمل إطار للتشغيل في الزمن الحقيقي

بالنسبة للتركيز على الشق البرمجي، فأنا أرى الشق البرمجي ما هو إلا وسيلة، مجرد أداة للتنفيذ
أما الأساس في المشروع فهو الشق الهندسي، مثل الجزء الكهربي من دوائر وخلافه، وكذلك شق هندسة التحكم، وحلقات التحكم وتحديد بارامترات التحكم، فهذه الأمور أكثر أهمية، ومن وجهة نظري أكثر تشويقا

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


----------



## abo yasser 91 (6 يوليو 2011)

سؤال أخي العضو المتميز جدا انا قرأت بداية هذا المشروع و تشجعت ولكن انا طالب سنة ثانية ميكاترونيكس في جامعة البعث في سوريا و ليس لدي خبرة في المايكروكنترولر ولدي بعض الاطلاع في الالكترونيات هل أستطيع ان امضي في هذا المشروع 
وهل يمكن ان اتعامل مع c++ في البرمجة
و انا أول مرة بسمع ب الانكودر هل تسطيع المساعدة


----------



## ahmed es (6 يوليو 2011)

السلام عليكم

انا مهتم بنفس الموضوع من فترة طويلة وكنت ناوى بعد انهاء مشروع هذه السنة ان ابدا فى تصميم سيرفوا

المهم 

انا قرأت الموضوع من الأول "تهت قليقا بسبب خروجكم عن الموضع الأصلى"

لكن اليك بعض الملاحظات 

فى الصور المرسومة بالمات لاب هل انت متأكد انك قمت بعمل modeling دقيق للموتور

لأن فى duty cycle 20% كان التيار فى الملف يرتفع وهذا غير وارد لأن أى شحنة يشحنها الملف فى زمن الوصل سيفرغها بالكامل فى زمن القطع وسيثبت على الصفر بعد التفريغ حتى زمن الوصل القادم) فأنا لا اعرف كيف ارتفع معك الخرج بهذه الطريقة ( انا اعتقد ان الرسمة المدرجة هى ل DC-DC converter وليست لتطبيقك وهذه ممكن فيه DC-DC لان الثابت الزمنى فى الشحن أقل منه فى التفريغ )

الملاحظة الثانية وهى جدالكم حول تثبيت التيار وسرعة الصعود
إذا إستخدمت جهد أعلى من الجهد ال rated للمحرك سيقل زمن الصعود لكن ستأخذ نفس المدة الزمنية للوصول مثلا 94% من التيار الأقصى "settling time " لكنك فى حال زيادة الجهد لا تريد ان يصل التيار الى القيمة العظمى لكن ان يصل الى القيمة القديمة وهذا معناه انك قللت فى زمن الشحن لكن هذه العملية تحتاج الى مراقبة التيار اى عمل حلقة مغلقة على التيار

الملاحظة الثالثة الخاصة بتغير أداء المحرك مع تغير التردد
كلما ارتفع التردد قل الزمن الدورى وبالتالى يقل الزمن المخصص للشحن والمفترض نظريا ان يرتفع الجهد على المحرك بدون أى تأثير 

لكن اريد ان ألفت وجهة نظرك ان المحرك وهو ساكن هناك ثابت احتكاك السكون وهو يتلاشى مع شروع المحرك فى الحركة وهذا يحتاج الى وقت كاف لكى يبدا المحرك فى الحركة 

هذا ينعكس على الدائرة الكهربية كحمل بداية الحركة بمقاومة = مقاومة الملفات 

أى ان ال starting torque يقابلة فى الدائرة الكهربية starting current
واذا لم يصل التيار اللحظى فى الملفات لتلك القيمة لن يدور المحرك وهو ما لا يتثنى للتيار ان يصل اليه بسبب التردد العالى



أخر ملاحظة على ال pwm بوجه عام
انت استخدمت ال pwm control على محرك لو كنت استخدمته على ملف على توالى مع مقاومة ستجد العلاقة ممتازة وخطية بين جهد الخرج وال duty cycle

لكن انت استخدمتها على محرك وهذا يعنى ان الدائرة البسيطة السابقة ستكون المقاومة الداخلية لها متخيرة ( قيمة مقاومة عند كل سرعة أو حمل زائد ) لذلك اذا اصريت على إستخدام تلك الطريقة على محرك يجب عليك مراقبة التيار وإدخاله فى حلقة التحكم ( أى ان يتحكم التيار فى قيمة ال duty cycle ) وتابع مع التسلسل التالى

فى البداية التيار = 0 تكون قيمة ال duty cycle = 100% 
يبدأ التيار فى الزيادة ومعه تقل قيمة ال duty cycle
حتى يتخطى التيار قيمة ال setpoint وهى القيمة ال rated لتيار المحرك تقل قيمة ال duty cycle عن النصف حتى يعود للقيمة ال rated وتظل هكذا ليثبت التيار عند تلك القيمة لتتأرجح قيمة ال duty cycle حول 50%

هذه الطريقة لا تتأثر بجهد الدخل بل نظريا كلما زاد جهد التغذية زاد ال response للنظام لكن لا تزيده للدرجة التى تجعل ال actuator غالى ومكلف وربما غير عملى


أخيار الطريقة التى كنت افكر انا فيها تعتمد على اخراج دائرة ال chopper عن ملفات المحرك بحيث توضع خلفة لتعتطى للمحرك قيمة الجهد ثابتة ولا يتأثر هو بال switching action

وهى تعتم على ال modern control theory بإستخدام ال state space
بحيث يكون ال input أو ال control signal هى الجهد الداخل اما عن طريق inverter أو عن طريق DC-DC converter فى حالتى ال Ac synchronous & DC motors respectively 

وان تكون ال states المقاسة هى السرعة والعجلة والإزاحة ويمكن توليد كل تلك الإشارات عن طريق ال encoder مع timer و DAC وستكون سهلة إذا استخدمت معالج مع استخدام طرق التفاضل والتكامل العددى فى اخراج الإشارات

ال state الأخيرة هى التيار والتى تعطى قياس مباشر عن الحمل الميكانيكى او العزم وانا تركتها للآخر لانه يمكن قياسها فى المحركات الصغيرة لكن فى المحركات الكبيرة سيكون قياسها مكلف حتى لو إستخدمت hall effect لذلك يفضل عمل emulation لها بإستخدام closed loop state observer 

أعتقد اذا تم عمل modeling بالطريقة التى اتخيلها سنتلافى المشاكل التى ظهرت معك وافضل فى تصميم ال controller ساعتها هتختار ال poles بكل يسر للتحكم فى رد النظام


----------



## zamalkawi (6 يوليو 2011)

السلام عليكم أخ أحمد، وشكرا كثيرا على تشريفك لموضوعي وعلى مشاركتك القيمة



ahmed es قال:


> انا قرأت الموضوع من الأول "تهت قليقا بسبب خروجكم عن الموضع الأصلى"


شكرا على صبرك على قراءة الموضوع من أوله رغم طوله
معذرة للخروج عن الموضوع، وأنا أحاول قدر الإمكان تلافي الخروج عن الموضوع
ولكني لم أفهم ماذا تقصد بالخروج عن الموضوع، فكل النقاشات الدائرة تدور حول الموضوع




ahmed es قال:


> فى الصور المرسومة بالمات لاب هل انت متأكد انك قمت بعمل modeling دقيق للموتور


هذه الرسومات ليست لنموذج المحرك أساسا 
هذه الرسومات لنظام من الدرجة الأولى first order system وله دالة نقل معروفة transfer function وهي (1+G = 1/(ts حيث t هي الثابت الزمني
أما علاقتها بالموتور، فهذه هي دالة النقل لملفات المحرك، حيث ويسمى الثابت الزمني لها: الثابت الزمني الكهربي electrical time constant ويساوي ببساطة L/R حيث أن المحرك يمكن تمثيله بمقاومة وحث على التوالي
الغرض من هذه المنحنيات هو بيان استجابة المنظومة من الدرجة الأولى (والتي تتبعها ملفات المحرك) لإشارة تعديل عرض النبضة




ahmed es قال:


> لأن فى duty cycle 20% كان التيار فى الملف يرتفع وهذا غير وارد لأن أى شحنة يشحنها الملف فى زمن الوصل سيفرغها بالكامل فى زمن القطع وسيثبت على الصفر بعد التفريغ حتى زمن الوصل القادم) فأنا لا اعرف كيف ارتفع معك الخرج بهذه الطريقة ( انا اعتقد ان الرسمة المدرجة هى ل DC-DC converter وليست لتطبيقك وهذه ممكن فيه DC-DC لان الثابت الزمنى فى الشحن أقل منه فى التفريغ )


كلامك هذا صحيح، وسيفرغ الشحن، في حالة وجود فقدان في الجهد في الدايود والترانزيستور، وبالطبع هذه هي الحالة العملية بالفعل، وأظن أنها سبب المشكلة التي كنت أتناقش فيها مع الأخ رضا كامل
أما في وجود حالة مثالية، بمعنى أن المنظومة خطية، ولا يوجد فقد في الجهد عبر الدايود والترانزيستور، فمعذرة كلامك خطأ، ولن يهبط التيار للصفر في زمن القطع، وسيظل التيار في صعود تماما كما في الرسم المرفق في المشاركة 17
أما بالنسبة لل DC converter فلا أعلم ماذا تقصد، ولكن على حد علمي هذا المحول فكرة عمله قريبة جدا من فكرة عمل درايف تعديل عرض النبضة في محركات التيار المستمر، وكذلك على حد علمي فإن "الثابت" الزمني "ثابت" سواء في حالة الشحن أو التفريغ
على كل حال بعيدا عن ال dc converter فإن التيار سيستمر في الصعود تماما كما في الرسم، على افتراض حالة مثالية خطية بالطبع



ahmed es قال:


> الملاحظة الثانية وهى جدالكم حول تثبيت التيار وسرعة الصعود
> إذا إستخدمت جهد أعلى من الجهد ال rated للمحرك سيقل زمن الصعود لكن ستأخذ نفس المدة الزمنية للوصول مثلا 94% من التيار الأقصى "settling time " لكنك فى حال زيادة الجهد لا تريد ان يصل التيار الى القيمة العظمى لكن ان يصل الى القيمة القديمة وهذا معناه انك قللت فى زمن الشحن لكن هذه العملية تحتاج الى مراقبة التيار اى عمل حلقة مغلقة على التيار


لم يكن جدلا بالمعنى المفهوم، فلقد اكتشفنا أننا نتحدث عن نفس الشيء، ولكن فقط ننظر له من زاوية مختلفة
كذلك لعب اختلاف المصطلحات التي تعبر عن نفس الشيء دورا في أن يبدو الأمر وكأنه جدل



ahmed es قال:


> الملاحظة الثالثة الخاصة بتغير أداء المحرك مع تغير التردد
> كلما ارتفع التردد قل الزمن الدورى وبالتالى يقل الزمن المخصص للشحن والمفترض نظريا ان يرتفع الجهد على المحرك بدون أى تأثير
> 
> لكن اريد ان ألفت وجهة نظرك ان المحرك وهو ساكن هناك ثابت احتكاك السكون وهو يتلاشى مع شروع المحرك فى الحركة وهذا يحتاج الى وقت كاف لكى يبدا المحرك فى الحركة
> ...


ما اكتشفته عند نمذجة فقد الجهد في الدايود وفي الترانزيستور هو أنه للحصول على نفس قيمة التيار الثابت، يجب زيادة دورة الأداء عند الترددات العالية، والسبب في هذا مشروح بالتفصيل في الملف المرفق في المشاركة رقم 51
كنت أنوي أن أضع ملف السيميولينك الذي به هذا النموذج، ولكنني انشغلت في الأيام الماضية
ولكني استطعت حساب قيمة دورة الأداء المطلوبة عند كل تردد للحصول على تيار معين، وجربتها في المحاكاة والنتيجة كانت دقيقة تماما
ولكن بعيدا عن انخفاض الجهد في الترانزيستور والدايود، فلو أننا نظرنا للحالة المثالية لوجدنا أنه من المفترض أنه مع زيادة التردد يكون الاداء أفضل لأن التيار يكون أنعم
بالمناسبة، عندما قمت بقياس تيار البدء المطلوب للتغلب على الاحتكاك وجدته صغيرا، ربما في حدود 0,3 أمبير، ويتحقق فقط ب 0,16 فولت
المشكلة على ما أظن هي أنني أهملت الفقد في الجهد عبر الترانزستور والدايود، مما يجعل قيمة التيار صغيرة جدا عند الترددات العالية




ahmed es قال:


> أخر ملاحظة على ال pwm بوجه عام
> انت استخدمت ال pwm control على محرك لو كنت استخدمته على ملف على توالى مع مقاومة ستجد العلاقة ممتازة وخطية بين جهد الخرج وال duty cycle
> 
> لكن انت استخدمتها على محرك وهذا يعنى ان الدائرة البسيطة السابقة ستكون المقاومة الداخلية لها متخيرة ( قيمة مقاومة عند كل سرعة أو حمل زائد ) لذلك اذا اصريت على إستخدام تلك الطريقة على محرك يجب عليك مراقبة التيار وإدخاله فى حلقة التحكم ( أى ان يتحكم التيار فى قيمة ال duty cycle )


في كل الشرح السبق كنت اتحدث عن حالة الثبات
بالتأكيد في حالة الدوران يجب إدخال الدوران في الحسبان
أما مسألة قياس التيار من عدمه أتركها لوقتها
فلو كان الأداء الديناميكي مرضيا بدون قياس التيار فلن أقيسه
لاحظ أن السرعة سيتم قياسها، وهذا يعني أن قيمة التيار يمكن مراقبتها بنمذجة بسيطة، ولكني ساترك هذا لوقته




ahmed es قال:


> وتابع مع التسلسل التالى
> 
> فى البداية التيار = 0 تكون قيمة ال duty cycle = 100%
> يبدأ التيار فى الزيادة ومعه تقل قيمة ال duty cycle
> ...


لم أفهم هذه الطريقة أخي




ahmed es قال:


> أخيار الطريقة التى كنت افكر انا فيها تعتمد على اخراج دائرة ال chopper عن ملفات المحرك بحيث توضع خلفة لتعتطى للمحرك قيمة الجهد ثابتة ولا يتأثر هو بال switching action
> 
> وهى تعتم على ال modern control theory بإستخدام ال state space
> بحيث يكون ال input أو ال control signal هى الجهد الداخل اما عن طريق inverter أو عن طريق DC-DC converter فى حالتى ال Ac synchronous & DC motors respectively
> ...


تفاصيل التحكم لم أدخل إليها بعد
بل أن أحد أهم الأهداف المرحلية للمشروع هو صنع منصة platform صالحة لإجراء تجارب التحكم عليها، ومن ثم تجربة هياكل مختلفة للتحكم
أنا الآن في مرحلة تجهيز الهاردوير وتجربته ومعرفة ما ينقصه، حتى أكون جاهزا لتنفيذ التحكم لاحقا بإذن الله


----------



## ahmed es (7 يوليو 2011)

> شكرا على صبرك على قراءة الموضوع من أوله رغم طوله
> معذرة للخروج عن الموضوع، وأنا أحاول قدر الإمكان تلافي الخروج عن الموضوع
> ولكني لم أفهم ماذا تقصد بالخروج عن الموضوع، فكل النقاشات الدائرة تدور حول الموضوع


أقصد فى خروجكم لموضوع الإحتراق الداخلى والحدافات وكلامكم عن التيار وتثبيته

لا يهم



> هذه الرسومات ليست لنموذج المحرك أساسا
> هذه الرسومات لنظام من الدرجة الأولى first order system وله دالة نقل معروفة transfer function وهي (1+G = 1/(ts حيث t هي الثابت الزمني
> أما علاقتها بالموتور، فهذه هي دالة النقل لملفات المحرك، حيث ويسمى الثابت الزمني لها: الثابت الزمني الكهربي electrical time constant ويساوي ببساطة L/R حيث أن المحرك يمكن تمثيله بمقاومة وحث على التوالي
> الغرض من هذه المنحنيات هو بيان استجابة المنظومة من الدرجة الأولى (والتي تتبعها ملفات المحرك) لإشارة تعديل عرض النبضة


نعم وهنا المشكلة
أين أخذت الخرج
من الدالة التى وضعتها انا استنتج انك اخذت الخرج عبارة عن جهد واخذته من على المقاومة الموصلة على التوالى مع الملف

لتكون ال tf = 1/((l/r)s+1) وهذه هى المشكلة انك اخذت الخرج من على المقاومة وهو يمثل الطاقة الضائعة فى المقاومة أى انك اذا اردت ان ترى الجهد على المفات ستجد المنحنى مقلوب

بالمناسبة ايضا الجهد على الملفات ليس له اهمية ميكانيكية

لذلك نعم armature controlled dc motor هو معادلة من الدرجة الأولى لكن ليست هذه المعادلة ابدا واى إستنتاجات تبنى عليها هى خاطئة

لأنك ببساطة لم تدخل معها تأثير ال back emf وهى الجهد الممثل للسرعة والذى يحد كثيرا من تيار الدخل والجهد الواقع على المقاومة



> كلامك هذا صحيح، وسيفرغ الشحن، في حالة وجود فقدان في الجهد في الدايود والترانزيستور، وبالطبع هذه هي الحالة العملية بالفعل، وأظن أنها سبب المشكلة التي كنت أتناقش فيها مع الأخ رضا كامل
> أما في وجود حالة مثالية، بمعنى أن المنظومة خطية، ولا يوجد فقد في الجهد عبر الدايود والترانزيستور،


المفاقيد على الإلكترونيات ليست مشكلة ملحوظة من الأساس
الدايود سيفقد عليه تقريبا 0.7 والترانزيتور فى حالة الموتور الصغير الذى تستدمه حوالى 0.4 أذا ويتبقى لك تقريبا 11 فولت من المصدر

والحالة الخطية لن تتأثر كل هذا يؤثر فى رفع المنحنى او خفضه بتلك النسب



> فمعذرة كلامك خطأ، ولن يهبط التيار للصفر في زمن القطع، وسيظل التيار في صعود تماما كما في الرسم المرفق في المشاركة 17


نعم معك حق فى هذه النقطة انا تخيلت فى رأى الجهد على الملف هى من سيهبط للصفر دائما



> أما بالنسبة لل DC converter فلا أعلم ماذا تقصد، ولكن على حد علمي هذا المحول فكرة عمله قريبة جدا من فكرة عمل درايف تعديل عرض النبضة في محركات التيار المستمر،


نعم كما تقول عدا ان الملف المستخدم هو ملف خارج المحرك لذلك لا يتأثر المحرك بعملية القطع



> وكذلك على حد علمي فإن "الثابت" الزمني "ثابت" سواء في حالة الشحن أو التفريغ


فى معظم المحولات فى عملية الشحن ينقطع الملف عن الحمل ويشحن من البطارية فقط لذلك يكون الثابت الذمنى يعتمد على المقاومة الداخلية فقط
اما التفريغ فيدخل ثابت الحمل معه



> على كل حال بعيدا عن ال dc converter فإن التيار سيستمر في الصعود تماما كما في الرسم، على افتراض حالة مثالية خطية بالطبع


لكن بعد عمل modeling للمحرك ادخل التجربه معه سأفعل ذلك اذا وجدت وقت فراغ



> ولكن بعيدا عن انخفاض الجهد في الترانزيستور والدايود، فلو أننا نظرنا للحالة المثالية لوجدنا أنه من المفترض أنه مع زيادة التردد يكون الاداء أفضل لأن التيار يكون أنعم


نعم فعلا زيادة التردد سيؤدى لخف ال ripples بمعنى التنعيم

لكن هذه على حالة ال tf التى وضعتها اذا احتوت على zeros ستجد ال response مختلف تماما
ففى حالة زيادة التردد لدرجة معينة ربما لن تجد حتى الموتور قادر على بدئ الحركة



> لم أفهم هذه الطريقة أخي


سأحاول شرحها لاحقا

لن استطيع الإستمرار كثير حالما انتهى من المشروع الموجود فى يدى


----------



## zamalkawi (7 يوليو 2011)

ahmed es قال:


> نعم وهنا المشكلة
> أين أخذت الخرج
> من الدالة التى وضعتها انا استنتج انك اخذت الخرج عبارة عن جهد واخذته من على المقاومة الموصلة على التوالى مع الملف
> 
> ...


ما يعنيني في المقام الأول هو التيار المار في الملف، أو بصيغة أخرى، الجهد على المقاومة الأومية في الدائرة المكافئة
بالمناسبة، الموتور الذي لدي ذو مغناطيس دائم
لم أفكر في استعمال محرك تيار مستمر من نوع آخر، أولا لسهولة استعمال النوع ذو المغناطيس الدائم، ثانيا أنه وفقا لما قرأت، فإن هذا النوع هو المستعمل عادة في منظومات السرفو، ولا أعرف السبب
هذا يعني أن المجال المغناطيسي ثابت، ومعادلات العزم كما هي موجودة في المشاركحة رقم 15

بالنسبة للجهد العكسي back EMF فلم أدخله "بعد" في حساباتي، حيث كل الحسابات والنمذجة التي قمت بها حتى الآن متعلقة بوضع السكون
على كل حال، تأثير الجهد العكسي عبارة عن مصدر جهد يضاف للدائرة، بحيث يكون الجهد الكلي في حالة الوصل Vi-Vb وفي حالة القطع يكون Vb- 



ahmed es قال:


> المفاقيد على الإلكترونيات ليست مشكلة ملحوظة من الأساس
> الدايود سيفقد عليه تقريبا 0.7 والترانزيتور فى حالة الموتور الصغير الذى تستدمه حوالى 0.4 أذا ويتبقى لك تقريبا 11 فولت من المصدر
> 
> والحالة الخطية لن تتأثر كل هذا يؤثر فى رفع المنحنى او خفضه بتلك النسب


عندما يكون جهد المصدر 12 فولت فقط، وعندما يكون الفقد في الجهد حوالي 1,5 فولت (كما في الداتا شيت) فإنه لا يجب إهمال هذه المفاقيد
في محركات السرفو التجارية تكون جهود مصدر التيار المستمر عدة مئات الفولتات، فوقتها 1,5 فولت أو 2 فولت أو حتى 5 فولت لن تصنع فارقا لأنها صغيرة جدا ويمكن إهمالها
أما في حالتي هذه، فنحن نتحدث عن فقد في حدود 10%، وهي قيمة كبيرة لا ينبغي إهمالها
طالع الملف المرفق، وفيه محاكاة للدائرة مع مراعاة للمفاقيد الإلكترونية، ولكني للتبسيط مفترض أن الفقد في دائرة الوصل يساوي الفقد في دائرة القطع
سيكون عليك إدخال قيم للمتغيرات التالية:
Vce وهو فقد الجهد في كل من دائرة الوصل ودائرة القطع بالفولت
f وهو تردد تعديل عرض النبضة بالهرتس
duty وهو قيمة دورة الأداء، وهو رقم من صفر إلى واحد



ahmed es قال:


> فى معظم المحولات فى عملية الشحن ينقطع الملف عن الحمل ويشحن من البطارية فقط لذلك يكون الثابت الذمنى يعتمد على المقاومة الداخلية فقط
> اما التفريغ فيدخل ثابت الحمل معه


ربما، لا أعلم، فأنا لم أدرس دوائر محولات الدي سي بتمعن




ahmed es قال:


> لكن بعد عمل modeling للمحرك ادخل التجربه معه سأفعل ذلك اذا وجدت وقت فراغ


إدخال التجربة والحمل الميكانيكي في النمذجة أمر ضروري، ولكني لم أقم به بعد
على كل حال إدخال الجزء الميكانيكي في النمذجة أمر بسيط، وقمت به من قبل في سياق آخر




ahmed es قال:


> نعم فعلا زيادة التردد سيؤدى لخف ال ripples بمعنى التنعيم
> 
> لكن هذه على حالة ال tf التى وضعتها اذا احتوت على zeros ستجد ال response مختلف تماما
> ففى حالة زيادة التردد لدرجة معينة ربما لن تجد حتى الموتور قادر على بدئ الحركة


من أين سيأتي هذا الصفر؟ تقصد بعد إضافة الشق الميكانيكي؟
على كل حال سأكمل النمذجة، وأرى ان احتوت دالة النقل على أصفار


----------



## ahmed es (11 يوليو 2011)

> *لم أفكر في استعمال محرك تيار مستمر من نوع آخر، أولا لسهولة استعمال النوع ذو المغناطيس الدائم، ثانيا أنه وفقا لما قرأت، فإن هذا النوع هو المستعمل عادة في منظومات السرفو، ولا أعرف السبب*


اذا تحكمت فى المجال المغناطيسى ستنيتج دالة نقل من الدرجة الثانية اصعب فى التحكم
وسيكون الفرق بين السرعة والعزم كبير جدا بحيث انك اذا اهملت العزم وقللت تيار ملف المجال ستجد السرعة تذداد تربيعيا مع مع نقصان التيار ( قانون التربيع العكسى ) لكن القد فى عزم الخرج كبير

فى الحالات التجارية يثبت تيار ملف المجال على قيمة محددة للمجال لتنتج فئة معينة من المحركات ( ستجدها فى جداول NEMA ) ويتم التحكم فى ملفات المنتج 



> *بالنسبة للجهد العكسي back EMF فلم أدخله "بعد" في حساباتي، حيث كل الحسابات والنمذجة التي قمت بها حتى الآن متعلقة بوضع السكون
> على كل حال، تأثير الجهد العكسي عبارة عن مصدر جهد يضاف للدائرة، بحيث يكون الجهد الكلي في حالة الوصل Vi-Vb وفي حالة القطع يكون Vb- *


اذا اخترت التردد بحيث يكون أعلى من الثابت الزمنى الميكانيكى
أى انه بعد حالة ال transient يمكن اعتبار ال Back emf ثابتة فى حالة الوصل والقطع ( اى استبدالها ببطارية ) ساعتها يمكن تطبيق معادلة النقل من الدرجة الأولى بالضبط على التيار والذى يمثل ال torque المتولد من الموتور ( ال ripples سيتم تنعيمها فى الحمل الميكانيكى بسبب الثابت الزمنى الكبير ) لكن اذا نزلت بالتردد لقيم صغير سيدخل ال mechanical system dynamics فى النموزج وساعتها ستجد الموتور يهتز بدرجة كبيرة

لكن كل ما سبق هو الحالة فى ال steady state أو الإستقرار ماكن اتحدث عنه فى حالة الإنتقال transient

فهذه هى اهم الحالات لانها يترتب عليها سرعة الرد للنظام لإشارات التحكم

كان لى تجربة فى السابق مع تردد معين لم يقم المرحك للحركة اصلا ( كان تردد صغير ) ظل يهتز فقط لكن اذا اعطيته دفعة بيدك كان يتحرك بشكل طبيعى وهذه هى الحالة التى كنت اتحدث عنها وانت لم تدرسها ما التيار المتولد فى مراحل ال chopping وهل هذا التيار كافى لينقل المحرك من السكون للحركة

بمعنى اخر ما هو ال steady state output وما مقدار ال error الناتج عن الدائرة وهى دالة من الدرجة الأولى النوع الأول without integrators يكون الخطأ كبير غالبا


سأحاول أعطاء مثال على ما سبق وشرحه مرة أخرى

نفترض مثلا انك معك مرحك DC له المواصفات التالية

يعمل على 8 فولت
مقاومته الداخل مثلا 2 أوم
وسنفترض انك اخترت التردد متناسب مع قيمة ال inductance والمقاومة ( الثابت الزمنى الكهربى )

اردت ان يعمل الموتور على سرعة 12.5 % من سرعته القصوى
أى انك ستعمل ب duty cycle 12.5 % من الموجة

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

فلنأخذ هذا النصف امبير فى حالتين

حالة المحرك وقد وصل لحالة الإستقرار نعم ستنتج عن هذة القيمة عزم يحافظ على سرعة المحرك الحالية والتى يتلاشى معها عزم المحرك مع عزم الحمل

الحالة الثانية وهى حالة بدئ الحركة اى ان المحرك فى حالة سكون

فربما ال .5 امبير بعد ضربها فى ثابت العزم غير كافية لبدئ الحركة لانها غير كافية للتغلب على ال starting torque وستجد المحرك يهتز

ما قصدة ان دالتك وهى من الدرجة الأولى غير كافية لانها تمثل ال open loop control
لكن بعد عمل modeling وعمل ال control design وبسبب حلقات التغذية العكسية ستظهر poles و zeros كثيرة أخرى

ولا تقل لى انك فى المرحة الأولى وستأجد هذا 
لانى اقول لك ان تلك المرحلة لا تحتاج كل هذا الجدال والوقت فاذا أمسكت ال shaft ومنعته من الحركة وطبقت ترددات مختلفة ستحصل على نفس ال response كما حصلت عليه فى simulink بالضبط 

لكن يجب عليك اول التفكير فى شكل الدالة بعد تصميم الكنترولر وهى ما يتم عمل التجارب عليها

انا آسف انى لم اوصل وجه نظرى تلك من البداية لكن الأمر كان يحتاج واحد فايق وفنجان قهوة



> *عندما يكون جهد المصدر 12 فولت فقط، وعندما يكون الفقد في الجهد حوالي 1,5 فولت (كما في الداتا شيت) فإنه لا يجب إهمال هذه المفاقيد
> في محركات السرفو التجارية تكون جهود مصدر التيار المستمر عدة مئات الفولتات، فوقتها 1,5 فولت أو 2 فولت أو حتى 5 فولت لن تصنع فارقا لأنها صغيرة جدا ويمكن إهمالها*


لا تهتم كثير بمفاقيد الألكترونيات حتى فى الجهود الصغيرة

لان التغزية العكسية ستدخل تلك المفاقيد فى هامش الخطأ العام للنظام ليتم تصحيه دوريا

انا انتهيت أول امس من تصميم نوعين ل stepper motor drivers والمفاقيد على ترانزستورات bjt كبيرة لكن ما يهمنى ما يصل للمحرك وهة مظبوط 100% بعد قياسه



> *من أين سيأتي هذا الصفر؟ تقصد بعد إضافة الشق الميكانيكي؟
> على كل حال سأكمل النمذجة، وأرى ان احتوت دالة النقل على أصفار*


على ما أذكر لا لكن سيأتى حتما مع نمازج تحكم كثيرة وهذا ما قصدتة لكنى فهمت انك كنت تتحدث عن ال open loop control


----------



## zamalkawi (16 يوليو 2011)

السلام عليكم
معذرة اخي أحمد على تأخري في الرد
كنت أرغب في مناقشتك في مشاركتك السابقة القيمة جدا، ولكني انشغلت في الفترة الماضية
كل ما قمت به في افترة الماضية هو بعض التحسينات على نموذج السيميولينك، وأظن أن النموذج الآن يؤدي بشكل جيد
أرغب الآن في تنحية المحاكاة جانبا، والعمل على الهاردوير مرة أخرى
سأحاول أولا تحسين الوصلات وجعلها أكثر استقرارا
وبعدها سأستطيع القيام ببعض القياسات لتحسين النموذج
أما الخطوة الكبرى بعدها فهي قراءة الإنكودر، لأنها لو تمت بصورة سليمة يمكن المضي قدما بإذن الله


----------



## ahmed es (17 يوليو 2011)

لا عليك انا ايضا كنت مشغول فى الفترة الماضية

سأنتهى يوم الأربعاء

وسأبدا التنفيذ العملى لكن سأشترى encoder مبدأيا 

لكن سأعمل على ميكروكنترولر مختلف وأعتقد انه لن يكون DSP


----------



## zamalkawi (17 يوليو 2011)

ahmed es قال:


> لا عليك انا ايضا كنت مشغول فى الفترة الماضية
> 
> سأنتهى يوم الأربعاء
> 
> ...



في كل أو معظم المشاريع الموجودة على الإنترنت يتم استعمال مايكروكنترولر بسيط، 8 بت، عادي جدا
بينما في الدرايفز التجارية يستعملون DSP مخصص
وحيث أنني أرغب في الوصول لمنتج تجاري، وحيث أن التحكم ما هو إلا فلاتر، لذا قررت أن أستعمل DSC رغم أنني حتى هذه المرحلة لا أعلم كيف سأستعمله، كما أنني لم يسبق لي التعامل مع ال DSP's

وبما أنك تنفذ نفس المشروع، ما رأيك في أن نتكامل؟


----------



## zamalkawi (17 يوليو 2011)

abo yasser 91 قال:


> سؤال أخي العضو المتميز جدا انا قرأت بداية هذا المشروع و تشجعت ولكن انا طالب سنة ثانية ميكاترونيكس في جامعة البعث في سوريا و ليس لدي خبرة في المايكروكنترولر ولدي بعض الاطلاع في الالكترونيات هل أستطيع ان امضي في هذا المشروع
> وهل يمكن ان اتعامل مع c++ في البرمجة
> و انا أول مرة بسمع ب الانكودر هل تسطيع المساعدة



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

لو تريد أي معلومات إضافية أو لديك استفسارات أخرى، أرجو وضعها في موضوع جديد حتى لا يتشتت النقاش


----------



## zamalkawi (17 يوليو 2011)

ahmed es قال:


> المفاقيد على الإلكترونيات ليست مشكلة ملحوظة من الأساس
> الدايود سيفقد عليه تقريبا 0.7 والترانزيتور فى حالة الموتور الصغير الذى تستدمه حوالى 0.4 أذا ويتبقى لك تقريبا 11 فولت من المصدر
> 
> والحالة الخطية لن تتأثر كل هذا يؤثر فى رفع المنحنى او خفضه بتلك النسب


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

شروط وصول التيار للصفر من عدمه تجدها في الملف المرفق في المشاركة رقم 51 من هذا الموضوع


----------



## ahmed es (18 يوليو 2011)

الكلام الإرتجالى لا يوضح شيئا 

لم افهم ماذا تقصد ارجو ان تزودنى ببعض الصور عن الحالة التى تتحدث عنها

لكن مبدئيا التيار على الملف سيصل للسالب وسيمر من خلال ال diode الموصل على التوازى مع الترانزستور

هذا اذا كانت قياساتك كلها مرجعيتها الأرضى

وربما تجد ثابت زمنى مختلف فى حالة الوصل عنها فى حالة القطع لانه ربما تجد مقاومة الترانزستور مختلفة عن مقاومة الدايود لكن بالمقارنة لمقاومة المحرك لن تؤثر فى شئ

ما قصده ان المنحنى فى الحالتين سيتبع دالة ال exponential لا يوجد non linearity ملحوظة فى هذا الخصوص

واذا كان التردد عال فلن يهبط التيار للصفر وسظل قيم فرق الجهد أعلى من المفاقيد على الإلكترونيات

ومع ذلك انتظر الصور منك والمنحنيات


بالنسبة لل DSP فالغرض هو تصميم موديل مبدئى

شئ مهم تعلمته من معظم مشاريعى السابقة ان تبدا بالبسيط حتى تتقنه

لو إستخدمت DSP لأول مرة فى مشروع كهذا ستتداخل الأخطاء الناتجة عن ال DSP مع أخطار النظام وستنتهى ب system failure و complex system لا تستطيع حله


لذلك انا اقترح اى متحكم به موديول PWM Generator
و 16 bit timer
و وحدة ALU قوية للحسابات

وانا عن نفسى سأعمل على عائلة AVR انا اتقن التعامل معها وهى سريعة نسبيا ورخيصة وتوفر معظم هذه الأمكانيات

وتأتى مع وحدات ذاكرة عالية سأحتاجها فى عمليات التفاضل والتكامل لبناء ال tf


----------



## zamalkawi (18 يوليو 2011)

ahmed es قال:


> الكلام الإرتجالى لا يوضح شيئا
> 
> لم افهم ماذا تقصد ارجو ان تزودنى ببعض الصور عن الحالة التى تتحدث عنها
> 
> ...



السلام عليكم
لتوضيح قصدي طالع الصور التالية
الصور التالية لمحرك ثابت (لا يدور) والملف مقاومته 0,5 أوم، وحثه 0,5 ميللي هنري
مصدر التيار 12 فولت، والفقد في الترانزيستور يساوي الفقد في الدايود يساوي 2 فولت
تردد تعديل عرض النبضة 1 كيلو هرتس
محور سين هو الزمن بالثانية، ومحور صاد هو التيار بالأمبير
في الصورة الأولى، دورة الأداء تساوي 0,5
في المنحنى العلوي تم إهمال المفاقيد الإلكترونية، وفي الحالة الثانية تم أخذها في الاعتبار
والأداء متشابه في الحالتين، ولكن قيمة التيار في المنحنى الثاني أقل
وأظن أن الحالتين خطيتين







أما في الصورة الثانية، فدورة الأداء تساوي 0,18، وباقي المعطيات كما هي
في الحالة الأولى تم إهمال المفاقيد الإلكترونية
في الحالة الثانية تم أخذ المفاقيد الإلكترونية في الاعتبار، وتم السماح للتيار بالوصول للقيم السالبة، ولكن هذا مستحيل لسببين، أولا لأن مصدر الجهد المستخدم لا يسمح بتلقي تيارات سالبة، لأنه ليس بطارية وإنما SMPS
والسبب الثاني هو ببساطة أن الدايود في حالة القطع ليس مصدر تيار معاكس (بعكس حالة الجهد الحثي العكسي back EMF الناتج عن دوران المحرك) وبالتالي يؤدي إلى فقد في الجهد، وليس إنشاء جهد، وبالتالي لا يمكن أن يولد تيارا في الاتجاه السالب. وبالتالي ما أن يصل التيار إلى الصفر يظل عند قيمة صفر
وهذا هو ما تبينه الحالة الثالثة






بالمناسبة
الصورة الأخيرة موجود مثلها في الكتاب المرفق في المشاركة رقم 51، في الصفحة رقم 129 من الكتاب، وهي الصفحة رقم 9 من الملف، ويمكنك قراءة الشرح عليها



ahmed es قال:


> بالنسبة لل DSP فالغرض هو تصميم موديل مبدئى
> 
> شئ مهم تعلمته من معظم مشاريعى السابقة ان تبدا بالبسيط حتى تتقنه
> 
> لو إستخدمت DSP لأول مرة فى مشروع كهذا ستتداخل الأخطاء الناتجة عن ال DSP مع أخطار النظام وستنتهى ب system failure و complex system لا تستطيع حله



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

أما بالنسبة لل DSP فهو موجود في المتحكم، وإن كانت إمكانياته أقل من الإمكانيات الموجودة في ال DSP الشهيرة مثل عائلة TMS من TI مثلا
المهم، هو موجود، ولكن ليس بالضرورة يجب علي أن أستعمله
المهم أن أجده وقت أن أحتاجه، ووقتها سأنتبه للأخطار المصاحبة له
أعلم أن التعامل معه أصعب من برمجة المايكروكنترولر العادي (إن استعملته أساسا) ولكنه ليس مستحيلا
بالمناسبة أنا مقتنع أن النظام الاحترافي ربما يكون نظام موزع distributed system به عدة معالجات، ولكن هذا سابق لأوانه



ahmed es قال:


> لذلك انا اقترح اى متحكم به موديول PWM Generator
> و 16 bit timer
> و وحدة ALU قوية للحسابات
> 
> ...



كل هذه الأشياء موجودة في المتحكم الذي أنوي استعماله، وكذلك توجد به وحدة لقراءة الإنكودر مباشرة دون الحاجة لبرمجة العدادات أو استعمال إلكترونيات إضافية
لذا أرى أنه لا مشكلة في البدء مباشرة بمتحكم عالي، فكما قلت سابقا، المتحكم الأعلى يمكنه القيام بما يقول به المتحكم الأدنى، بينما العكس غير صحيح، وفروق الأسعار ليست كبيرة


----------



## ahmed es (19 يوليو 2011)

سأبدأ بالشق الأخير فى مشاركتك الخاص بال DSP

اذا كانت هذه هى الحالة عندك
يمكنك ان تعمل على ما اشتريت ولكن لا تستخدم كل إمكانيات المتحكم مرة واحدة فقط جزئهم لكى تتقن التعامل معهم

اما


> *ولا يوجد معنى للبدء بشيء بسيط، ثم ألقيه في القمامة بعد أن أتقنه، ثم أشتري شيء متوسط ثم ألقيه في القمامة بعد أن أتقنه، ثم أشتري شيء متقدم ليكون هو المنتج النهائي*


لن يرمى شئ فى القمامة انت تتعامل مع نفس العائلة والخبرة والتجارب تراكمية وكل مرة ستتجنب أخطاء الماض 
انا لم اقصد شارء متحكم متواضع لكن اقصد تجزيئ التعامل مع امكانياته ان كانت له اصدارات اصغر



> *وخاصة أنني لأنني لست متمكنا من الإلكترونيات، فقد اشتريت لوحة تطوير (وهي ليست رخيصة) ولوحات التطوير للأنظمة البسيطة غير ملائمة للأنظمة المعقدة، والعكس بالعكس. لذا فقد اشتريت متحكم متقدم، ولوحة التطوير الخاصة به، والمتحكمات البسيطة لا تعمل على هذه اللوحة*


هذه النقطة انا لا احتاجها بل تمثل عائق
افضل ان انفذ الدائرة الخاصة لكل مشروع

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

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

وربما الكود ايضا "مع بعض التعديلات " اعلم انك سوف تستخدم ال C فى البرمجة

_________________________________________________________

نأتى للجزئ الخاص بالمنحنيات لا زلت لا استطيع مناقشتك لانك لم ترفق الدائرة وأين اخذت قيم الجهود والتيارات

بمعنى اين وضعت ال scope وما هو ال reference الذى يقاس بالنسبة إليه


----------



## zamalkawi (19 يوليو 2011)

ahmed es قال:


> لن يرمى شئ فى القمامة انت تتعامل مع نفس العائلة والخبرة والتجارب تراكمية وكل مرة ستتجنب أخطاء الماض
> انا لم اقصد شارء متحكم متواضع لكن اقصد تجزيئ التعامل مع امكانياته ان كانت له اصدارات اصغر


جميل، هذا يعني أننا متفقان
فأنا لا أقصد إلقاء الخبرة في القمامة، وإنما إلقاء الهاردوير الذي كلفني مالا
وكذلك سأبدأ بالبسيط ثم الأعقد



ahmed es قال:


> هذه النقطة انا لا احتاجها بل تمثل عائق
> افضل ان انفذ الدائرة الخاصة لكل مشروع


أنا فضلت شراء لوحة تطوير development board حتى أوفر على نفسي وقتا وجهدا كبيرا في الإلكترونيات، فأنا الآن للأسف أعمل وحيدا
كنت أعمل مع صديق متمكن من الإلكترونيات، ولكنه ترك مدينته التي كانت تبعد عني 120 كيلومتر، وذهب إلى مدينة أخرى تبعد عني 650 كيلومتر، وهذا يعني أنني سأعمل وحيدا في الإلكترونيات
كذلك سألت بعض زملائي الذين يعملون في الإلكترونيات، في أنظمة احترافية، وكلهم نصحوني بشراء لوحة تطوير
وهذا أيضا ما تقوم به الشركات لتطوير منتجاتها
ربما الفارق بيننا وبين الشركات هو أن عامل الوقت عند الشركات أهم من ثمن الهاردوير
فثمن الهاردوير كله ربما أقل من راتب مهندس في شهر واحد فقط، لذا، توفير وقت التطوير أهم من توفير ثمن الهاردوير
وكذلك الوقت يعني مالا، لأنهم محكومون بالمنافسة، وكلما نزل المنتج إلى السوق مبكرا كلما زاد المكسب
المهم...
الاعتبارات مختلفة، وكلها وجهات نظر، وكل له اعتباراته، ولكني فضلت شراء لوحة تطوير وفقا لظروفي



ahmed es قال:


> اما وحدة قراءة الأنكودر جيد ان تجدها كل موديول جاهز سيوفر عليك سطور فى البرمجة
> 
> فى هذه الحالة انا وانت لن نستطيع التشارك بالكود لكن بالتجربة وبالخوارزميات
> 
> وربما الكود ايضا "مع بعض التعديلات " اعلم انك سوف تستخدم ال C فى البرمجة


جميل جدا، ولكن هل يمكنك وضع بعض المعطيات عن السرفو الذي تطوره
مثلا داتا شيت الموتور
ومثلا هل تنوي بناء قنطرة H-bridge؟ وما هي العناصر التي تستخدمها؟ أم ستشتري قنطرة؟ وما هي؟
ما هو الإنكودر الذي ستستعمله؟

آه، ونقطة أخرى، هل تفضل أن نتبادل النقاش والمعلومات هنا كي تعم الفائدة؟ أم نتناقش في رسائل خاصة؟



ahmed es قال:


> نأتى للجزئ الخاص بالمنحنيات لا زلت لا استطيع مناقشتك لانك لم ترفق الدائرة وأين اخذت قيم الجهود والتيارات
> 
> بمعنى اين وضعت ال scope وما هو ال reference الذى يقاس بالنسبة إليه



المنحنيات كما ذكرت فيها قيمة التيار المار في الملف
ربما يسهل النقاش أن أضع لك نموذج السيميولينك
حسنا سأضعه مساء إن شاء الله بعد أن أعود للمنزل


----------



## zamalkawi (19 يوليو 2011)

السلام عليكم
ملف السيميولينك موجود في المرفق
سيكون عليك إدخال قيم للمتغيرات التالية:
duty وهو دورة الأداء، وهو رقم يتراوح من الصفر للواحد
Kt وهو ثابت الموتور، ويمكنك إدخال أي قيمة، بوحدات نيوتن متر للأمبير
f وهو قيمة التردد بالهرتس
m وهو عزم القصور الذاتي بالكيلوجرام متر^2
radps2rpm وهو تحويل السرعة من راديات في الثانية إلى لفة في الدقيقة وقيمته 30÷ط
بعض هذه المتغيرات لن تحتاجها لو المحرك لا يدور، ولكن عليك إدخالها كي لا تحصل على رسالة خطأ، أو عليك حذف البلوكات الخاصة بها
في هذا النموذج أستعمل مولد نبضات مربعة كمصدر لإشارة PWM وذلك لسهولة استعماله، أما عندما أقوم بنمذجة التحكم، فلن يصلح هذا البلوك، وسأستعمل شيئا آخر
في البلوك Gain من المفترض أن تكون قيمة التضخيم 1/m ولكني ضربتها في صفر كي أمنع المحرك من الدوران. لجعل المحرك يدور، ما عليك إلا أن تحذف الصفر
البلوك Vce يحوي المفاقيد الإلكترونية، وللتبسيط اعتبرت المفاقيد متساوية في حالة الوصل وحالة القطع
دالة الانتقال Transfer fcn الداخل لها هو الفولت والخارج منها هو التيار الساري في الملف
الموديل في صورته الحالية لا يسمح بمرور التيارات السالبة، ولكن للسماح بمرور التيارات السالبة ما عليك إلا فتح البلوك switch وإدخال أي قيمة سالبة كبيرة (مثلا سالب 20) في خانة ال threshold
للحصول على دقة عالية أستعمل variable step size مع maximum step size تساوي 0.0000001
هذا يجعل المحاكاة بطيئة جدا، ولكن على كل حال مدة المحاكاة فقط 7 ميللي ثانية، لذا هي ليست مشكلة كبيرة، ولكن لك أن تغير هذا البارامتر كما يحلو لك


----------



## ahmed es (20 يوليو 2011)

أدخلت القيم

لكن الغيت التورك الخارج )kt=0)

سؤال أين مفاقيد الإلكترونيات فى هذا النموزج


----------



## zamalkawi (20 يوليو 2011)

ahmed es قال:


> سؤال أين مفاقيد الإلكترونيات فى هذا النموزج





zamalkawi قال:


> البلوك Vce يحوي المفاقيد الإلكترونية، وللتبسيط اعتبرت المفاقيد متساوية في حالة الوصل وحالة القطع



القيمة الموجودة في البلوك Vce في الملف المرفق هي صفر
كل ما عليك هو إدخال قيمة الثابت في هذا البلوك، بقيمة المفاقيد الإلكترونية بالفولت
وللتبسيط، افترضت أنت المفاقيد متساوية في حالة الوصل وفي حالة القطع


----------



## zamalkawi (20 يوليو 2011)

ahmed es قال:


> لكن الغيت التورك الخارج )kt=0)


السلام عليكم
عليك الانتباه إلى أنك لو جعلت Kt = 0 فالمحرك سيدور أيضا بسبب وجود البلوك resistance torque، حيث هذا البلوك يمثل بصورة مبسطة جدا عزم مقاومة، وليكن عزم احتكاك
هذا سيؤثر على السرعة، ولكنه لن يؤثر على الفولت الداخل للملف، وذلك لأن ثابت ال back EMF يساوي Kt وبالتالي يساوي صفر، وبالتالي لا يوجد جهد عكسي متولد نتيجة الدوران
ولكن عليك الانتباه أنك لو لم تجعل عزم المقاومة يساوي صفرا، قد تزيد السرعة إلى أرقام فلكية مع زيادة زمن المحاكاة

بالمناسبة، هذا النموذج بالطبع مبسط جدا، وأنوي زيادة تفاصيله وتعقيده لاحقا، خاصة عندما أبدأ في الكنترول، ولكن بصورته الحالية، هل لديك اقتراحات لتحسين النموذج؟

نقطة أخرى، ولكنها سابقة لأوانها، وهي فرملة المحرك...
أسهل طريقة لفرملة المحرك هي قصر الدائرة بين مدخلي المحرك، وبالتالي يولد ال back EMF تيارا عكسيا يولد عزما يوقف المحرك بسرعة، والطاقة الحركية يتم استهلاكها في مقاومة ملفات المحرك...
ولكن أظن أن هذا لا يصلح "للتحكم" في إيقاف المحرك، فإيقاف المحرك يعني بصورة مجردة سحب الطاقة الحركية من المحرك، وتحويلها إلى صورة أخرى، وهذا يجب أن يتم التحكم فيه، بحيث يكبح المحرك بمعدل التباطؤ المرغوب فيه، بتحكم بحلقة مغلقة، وليس مجرد فرملة والسلام
وحيث أن مصدر التيار الكهربي لا يقبل دخول تيار إليه، لذا لا يمكن هنا إرجاع الطاقة للمصدر، ويجب التخلص منها بصورة أخرى
في الأنظمة الاحترافية يستعملون ما يسمى بمقاومة الكبح أو مقاومة الفرملة braking resistor، ولكني لا أعرف أي شيء عنه
فهل تعرف كيف يتم التحكم في الدرايف بحيث يتم تبديد الطاقة "بصورة متحكمة" في هذه المقاومة؟ هل هي مكون نشط أم غير نشط؟ بمعنى هل يتم التحكم فيه بصورة نشطة، أم أنه يتم تركيبه بصورة معينة في الدائرة بحيث يعمل أوتوماتيكيا بدون سيطرة من جهاز التحكم؟ وهل في التطبيقات ذات الطاقة الحركية الصغيرة (مثلا الكتل الصغيرة، التي طاقتها الحركية بالتالي صغيرة) يكفي تركيب مكثف بطريقة معينة، بحيث يمتص طاقة الفرملة دون الحاجة لمقاومة؟ وهل في هذه الحالة يجب التحكم في مرور التيار للمكثف بصورة نشطة؟؟
الخلاصة، أظن أن الكبح ليس مسألة بسيطة، ويجب التفكير فيها وحسابها جيدا، وسؤالي هو، هل لديك معلومات عنها؟ وعلى كل حال هو أمر سابق لأوانه


----------



## zamalkawi (20 يوليو 2011)

بالمناسبة، ربما تكون الوسيلة التي حددت بها التيار بحيث لا يقل عن الصفر غير واضحة أو غير مفهومة
كذلك لا أدري إن كانت هي أفضل وسيلة
ولكن يمكنني أن أشرح لك كيف يعمل التكنيك الذي اتبعته، وهو من أفكاري، لذا أظن أنه توجد وسائل أكثر كفاءة ودقة في تحديد التيار
بالمناسبة، التحديد من خلال البلوك saturation لا يكفي، لأنه يحدد الخرج بعد خروجه، ولا يحدد القيمة الفعلية الخارجة


----------



## ahmed es (20 يوليو 2011)

أسلوبك لتمثيل المفاقيد الإلكترونية غير دقيق بالمرة

فأنت تقوم بعملية جمع قيمة ثابتة فى كلا الحالتين وهذا غير دقيق بالمرة

ففى حالة ان يكون التيار المار فى الملف فى الإتجاه الموجب يكون الجهد الواقع على الترانزستور مماثل فى القطبية لجهد المصدر

اما فى حالة القطع يحاول الملف عكس القطبية للجهد الواقع عليه وبالتالى يقع على الموحد جهد صغير سالب ليمرر التيار فى الإتجاه المعاكس

لكن فى الملف الخاص بك انت ثبت قيمة جهد للدخل تطرح دائما من إشارة جهد المصدر "أى انك اضفت مصدر جهد آخر وليس حمل " وفى هذه الحالة يتم عمل shifting لجهد المصدر لأسفل بقيمة ال VCE أى انه لم يعد المفتاح فى حالة وصل وقطع بل فى حالة وصل دائما فى اتجاهين متضادين وهذه حالة مختلفة تماما


اما موضوع ال breaking فبه شقين وهو التحكم فى عملية ال breaking نفسها
والشق الثانى الطاقة المتولدة من العملية "الطاقة الحركية فى الحمل الميكانيكى"

سأبدأ بالشق الثانى الخاص بالطاقة

هناك انظمة طاقة "power systems" يمكنك ارجاع الطاقة بها فى نفس أتجاه جهد وتيار المصدر اما ان يتم تغزية احمال اخرى بها "مثل انظمة القطارات الكهربية يتم إرجاع الطاقة للمصدر" أو تخزينها مؤقتا "لحظيا لتستخدم لاحقا"
أبسط طريقة هى استخدام مكثفات يتم تفريغ الشحنة بها

وطريقة اخرى فى الأحمال الصغيرة "مثل تجربتك لضمان الخروج من التعقيد" يمكن تبديدها فى المقاومات

اما التحكم فى ال breaking فهو سهل اذا قمت بعمل حلقة تحكم فى الوضع "position" فإذا تخطى المحرك النقطة المطلوب الصول لها سيتكفل النظام بفرملته عن طريق عكس القطبية على الملفات ووضع جهد عكسى عال جدا لحظيا ثم ينقص مع نقصان الخطأ

سرعة رد النظام كالعادة تعتمد على بعد ال poles من ال imaginary axis لكن اذا بنيت نظامك بسرعة رد عالية "فرملة قوية" ستحتاج لبناء actuator تتحمل طاقة عالية لذلك وجب الحرص فى التصميم


----------



## ahmed es (20 يوليو 2011)

اريد ان اسألك سؤال

انا لست محترف فى المات لاب

لذلك اريد ان اعرف كيف يعمل block ال switch عندك


----------



## zamalkawi (21 يوليو 2011)

ahmed es قال:


> أسلوبك لتمثيل المفاقيد الإلكترونية غير دقيق بالمرة
> 
> فأنت تقوم بعملية جمع قيمة ثابتة فى كلا الحالتين وهذا غير دقيق بالمرة
> 
> ...


أخي، أنا أقوم بالطرح وليس بالجمع
وفي جميع الأحوال، الفقد يكون في عكس اتجاه التيار
حيث أنني لن أكون متمكنا من الشرح، راجع الشرح في الكتاب المرفق في المشاركة رقم 51




ahmed es قال:


> لكن فى الملف الخاص بك انت ثبت قيمة جهد للدخل تطرح دائما من إشارة جهد المصدر "أى انك اضفت مصدر جهد آخر وليس حمل " وفى هذه الحالة يتم عمل shifting لجهد المصدر لأسفل بقيمة ال vce أى انه لم يعد المفتاح فى حالة وصل وقطع بل فى حالة وصل دائما فى اتجاهين متضادين وهذه حالة مختلفة تماما


معذرة، لم أفهم




ahmed es قال:


> هناك انظمة طاقة "power systems" يمكنك ارجاع الطاقة بها فى نفس أتجاه جهد وتيار المصدر اما ان يتم تغزية احمال اخرى بها "مثل انظمة القطارات الكهربية يتم إرجاع الطاقة للمصدر" أو تخزينها مؤقتا "لحظيا لتستخدم لاحقا"
> أبسط طريقة هى استخدام مكثفات يتم تفريغ الشحنة بها


حيث أنني لا أرغب حاليا في التفوق على الشركات الكبرى (ربما في مرحلة لاحقة) فسأحاول تقليدهم مبدئيا، وحيث أنه في كل الأنظمة التي رأيتها للشركات الكبرى لا يتم استرجاع الطاقة وإنما يتم تبديدها، لذا سأسعى مبدئيا لتبديد الطاقة




ahmed es قال:


> اما التحكم فى ال breaking فهو سهل اذا قمت بعمل حلقة تحكم فى الوضع "position" فإذا تخطى المحرك النقطة المطلوب الصول لها سيتكفل النظام بفرملته عن طريق عكس القطبية على الملفات ووضع جهد عكسى عال جدا لحظيا ثم ينقص مع نقصان الخطأ
> 
> سرعة رد النظام كالعادة تعتمد على بعد ال poles من ال imaginary axis لكن اذا بنيت نظامك بسرعة رد عالية "فرملة قوية" ستحتاج لبناء actuator تتحمل طاقة عالية لذلك وجب الحرص فى التصميم


معذرة، لم أفهم


----------



## zamalkawi (21 يوليو 2011)

ahmed es قال:


> اريد ان اسألك سؤال
> 
> انا لست محترف فى المات لاب
> 
> لذلك اريد ان اعرف كيف يعمل block ال switch عندك



ببساطة بلوك الswitch يمرر الدخل العلوي لو تخطى الدخل في المنتصف قيمة معينة threshold ويمرر الدخل السفلي لو قل الدخل في المنتصف عن حد ال threshold أي أن الدخل في المنتصف هو الذي يحدد أي الدخلين يتم تمريره

في النموذج لدي، أجمع التيار مع قيمة الفولت الخارج من تعديل عرض النبضة (وهو إما 12 وإما صفر)
وهذا الجمع ليس له أي معنى فيزيائي، لأنني أجمع فولت مع تيار، وهذا ليس له معنى فيزيائي
المهم...
ناتج الجمع يدخل على الدخل الأوسط في السويتش، وبالتالي هو ما يحدد الخرج
قيمة الthreshold تساوي صفر
وفي حالة الوصل يكون ناتج الجمع دائما موجب (على افتراض أن التيار لا يهبط إلى أقل من سالب 12)، وبالتالي يمر دائما 12 فولت مطروحا منها Vce (بافتراض عدم دوران الموتور)
أما في حالة القطع، فلو التيار أكبر من صفر، فسيكون الدخل يساوي قيمة الفقد فقط، أي سالب Vce
أما لو التيار قل لحظيا عن الصفر، فسيختار السويتش الدخل السفلي، وقيمته ثابتة صفر
وفي دالة الانتقال تلك، عندما يكون الدخل يساوي صفر، والقيمة اللحظية للخرج تساوي صفر، فسيظل الخرج عند صفر

كما ذكرت، ربما توجد طريقة أفضل لمنع التيار من الوصول للصفر، ولكن هذه هي الطريقة التي تفتق عنها ذهني، أو بالتعبير العامي، هذه هي الطريقة التي افتكستها


----------



## ahmed es (21 يوليو 2011)

> أخي، أنا أقوم بالطرح وليس بالجمع


ما قصدته الجمع الجبرى بشقية الطرح والجمع "دائما يفترض انها عملية واحدة فى المعالجات الدقيقة"



> وفي جميع الأحوال، الفقد يكون في عكس اتجاه التيار
> حيث أنني لن أكون متمكنا من الشرح، راجع الشرح في الكتاب المرفق في المشاركة رقم 51


مازلت مصر انه قد جانبك الصواب فى هذه النقطة

انت "طرحت" قيمة ثابتة من اشارة الدخل 

انظر بعد ان وضعت scope بعد بلوك الطرح كيف هى الإشارة الداخلة لدالة النقل






لم تعد الإشارة حالتين بين الوصل والقطع بل اشارة مربعة بشقيها الموجب والسالب وعندما تقيس بالنسبة للصفار اشارة الخرج ستجدها مختلفة كثيرا


بالنسبة للسويتش فهمته شكرا لك

واعتقد انك قصدت منه تصحيح اشارة ال pwm بعد إضافة قيمة ثابتة لها Vce 

وجعلت جمع التيار الخارج مع جهد الدخل يحدد ايهما يدخل للدالة "فإذا هبط مجموع التيار مع الجهد عن الصفر يتحول جهد الدخل للصفر" لا اعرف من أين اتيت بهذا لكن اعتقد ان هذا هو سبب تشوه الإشارة لديك وليست مفاقيد الإلكترونيات

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

يمكنك اللجوء الى مكتبة تسمى simulate power system لتبتعد عن كل هذا



> التي افتكستها


بلاش إفتكاسات وخليك فى المضمون هههههههههه



> اقتباس:
> المشاركة الأصلية كتبت بواسطة ahmed es
> 
> 
> ...







انا استخدمت المفتاح لإدخال نوعين من اشارات التحكم

النوع الأول اشارة التحكم فى السرعة وهذا عند العمل الطبيعى

النوع الثانى اشارة التحكم فى الإزاحة وهى عن طريق طرح خرج الإزاحة من القيمة المراد الوصول إليها وتغذية النظام بإشارة الخطأ فإذا تخطاها سيتكفل المتحكم بإرجاع المحرك لتلك النقطة وسيتولى هو فرملته


----------



## zamalkawi (21 يوليو 2011)

أخ أحمد
لا أعلم هل طالعت الملف المرفق في المشاركة 51 أم لا
لو لم تطالعه رجاء طالعه، ففيه ستجد أن الجهد الداخل للنظام يكون بالفعل جهد سالب في حالة القطع

بالنسبة لمكتبة أنظمة القوى، سأحاول أن أنظر فيها

معذرة، ليس لدي وقت الآن، حاول مطالعة المرفق في المشاركة 51، وسأضع ردا أكثر تفصيلا فيما بعد
كذلك لم أفهم بعد قصدك من التحكم في الفرملة، سأقرؤه بتمعن أكبر ونتناقش

بالمناسبة، لم تخبرني بعد بتفاصيل مشروعك


----------



## zamalkawi (21 يوليو 2011)

ahmed es قال:


> وجعلت جمع التيار الخارج مع جهد الدخل يحدد ايهما يدخل للدالة "فإذا هبط مجموع التيار مع الجهد عن الصفر يتحول جهد الدخل للصفر" لا اعرف من أين اتيت بهذا لكن اعتقد ان هذا هو سبب تشوه الإشارة لديك وليست مفاقيد الإلكترونيات


رد سريع على هذه النقطة...
الجمع هنا كما قلت سابقا ليس له أي معنى فيزيائي
المعنى هنا هو إيجاد شرط يتم الاختيار على أساسه، أي شرط لبلوك السويتش
ففي حالة الوصل سيتم دائما تمرير Vi-Vce
أما في حالة القطع سيتم تمرير سالب Vce فقط لو التيار لم يهبط للصفر
أما لو وصل التيار للصفر، فسيتم تمرير الدخل الآخر وهو صفر

ماذا يحدث لو لم أجمع؟ بمعنى لو أدخلت التيار مباشرة كشرط للسويتش؟
في البداية سيعمل جيدا، ولكن لو وصل التيار للصفر في حالة القطع، فلن يتم أبدا تمرير الدخل الأول حتى في حالة الوصل، وذلك لأن التيار سيكون صفرا، وبالتالي سيظل السويتش يمرر الدخل الثاني، ولن يمرر أبدا الدخل الأول

لا أدري هل الشرح واضح أم لا، وكما قلت، ربما أجد أشياء أفضل في مكتبة أنظمة القوى

ولي عودة لاحقا إن شاء الله


----------



## zamalkawi (21 يوليو 2011)

ahmed es قال:


> ياخى الكريم مفاقيد الإلكترونيات ماهى الا احمال وليست مصادر طاقة ولا تمثل بتلك الطريقة المعقدة


أعلم أنها أحمال
ولكن ما يعنيني هنا ليس كونها أحمال أم مصادر طاقة
ما يعنيني هنا هو النقص في الجهد الداخل للملف بسببها



ahmed es قال:


> _اما التحكم فى ال breaking فهو سهل اذا قمت بعمل حلقة تحكم فى الوضع "position" فإذا تخطى المحرك النقطة المطلوب الصول لها سيتكفل النظام بفرملته عن طريق عكس القطبية على الملفات ووضع جهد عكسى عال جدا لحظيا ثم ينقص مع نقصان الخطأ
> 
> سرعة رد النظام كالعادة تعتمد على بعد ال poles من ال imaginary axis لكن اذا بنيت نظامك بسرعة رد عالية "فرملة قوية" ستحتاج لبناء actuator تتحمل طاقة عالية لذلك وجب الحرص فى التصميم_
> 
> ...



مرة أخرى لم أفهم!!
أنا لا أتحدث عن أداء المتحكم أو الأكتويتور
أنا أتحدث عن المسار الذي ستسلكه الطاقة المهدرة

وإذا كنت في حيرة في البداية، فحيرتي ازدادت في النهاية
فالمحركات التي تعمل بحلقة تحكم في الموضع تتسارع وتفرمل أيضا وهي في حلقة تحكم في الموضع
والمحركات التي تعمل بحلقة تحكم في السرعة تتسارع وتفرمل أيضا وهي في حلقة تحكم في السرعة
لم أسمع بعد عن درايف ينتقل من وضع التحكم في السرعة إلى وضع التحكم في الموضع كي يفرمل، رغم تعاملي مع 3 أنواع درايف شهيرة على الأقل

أرجو التوضيح أكثر
وكذلك أرجو توضيح هل هذه فكرة من عندك (افتكاسة يعني :77 أم أنك قرأتها في مكان أو رأيتها في منتج، أو درستها في دراستك


----------



## ahmed es (21 يوليو 2011)

> أما في حالة القطع سيتم تمرير سالب Vce فقط لو التيار لم يهبط للصفر


وهنا يكون الخطأ

على شرحك وكما وضحت اكثر من مرة ان الإلكترونيات هى أحمال

يجب ان تمرر للدالة موجب Vce أو موجب v diode يفضل ان تفصلهم

وذلك لانه فى حالة التفريغ يصبح الملف هو مصدر التغزية ويحاول امرار التيار فى الإتجاة المعاكس للتيار الأصلى ولن يجد مسار الا الدايود والدايود القطبية له معكوسة عن قطبية الترانزستور أى ان الجهد الواقع عليه = -Vd

وحيث انه فى هذه الحالة جهد الدخل = 0 اذا تكون المحصلة =
Vin= 0 - (-Vd) = +Vd

هل وصلت المعلومة ؟

بالنسبة للتحكم فى الإزاحة هى افتكاسة لكن احببت ان اوضح بها وجه نظرى ان breaking يمكن التحكم فيه بحيث ان تتحكم فى الإزاحة

لكن اذا اردت أى فرملة والسلام ولا يهمك اين يقف الموتور يمكنك فقط قصر اطراف المحرك أو عكس القطبية لحظيا ثم قصر الأطراف لكنها لن تكون عملية فى حالات قصور زاتى مختلفة


----------



## zamalkawi (21 يوليو 2011)

ahmed es قال:


> وهنا يكون الخطأ
> 
> على شرحك وكما وضحت اكثر من مرة ان الإلكترونيات هى أحمال
> 
> ...


معذرة، فرغم أنني لست متخصص إلكترونيات، فأنا مهندس ميكانيكا أساسا، إلا أنني أشك بشدة في هذا الكلام
أولا إنظر إلى المرفق الأول، المعادلة 4.40b والمعادلة 4.41b وهما مقتبسان من المرفق في المشاركة 51 والذي طلبت منك أن تطالعه، وستجد بوضوح أنه في حالة القطع، فإن Vd تكون سالبة بالنسبة للملف

ثانيا، نعم،قطبية الدايود معكوسة عن الترانزيستور، ولكن فقط بالنسبة لمصدر التيار الكهربي، أما بالنسبة للملف، فالقطبية واحدة، انظر المرفق الثاني للتوضيح
معذرة لسوء حال الرسم، المهم، الخط الأحمر يوضح اتجاه التيار، وتوجد علامات توضح القطبية
ستجد أن قطبية الترانزيستور بالنسبة للملف (في حالة الوصل) هي نفسها نفس قطبية الدايود بالنسبة للملف (في حالة القطع) وقطبية مصدر التيار عكسهما بالنسبة لقطبية الملف

وفي المثال الموضح في الصورة، لا يمكن أن يمر عبر الملف تيار سالب أبدا، لا في حالة الوصل ولا في حالة القطع




ahmed es قال:


> بالنسبة للتحكم فى الإزاحة هى افتكاسة لكن احببت ان اوضح بها وجه نظرى ان breaking يمكن التحكم فيه بحيث ان تتحكم فى الإزاحة
> 
> لكن اذا اردت أى فرملة والسلام ولا يهمك اين يقف الموتور يمكنك فقط قصر اطراف المحرك أو عكس القطبية لحظيا ثم قصر الأطراف لكنها لن تكون عملية فى حالات قصور زاتى مختلفة



المشكلة هي أنني بحثت في عدة كتب تتناول الدرايفز وإلكترونيات القوى والتحكم في المحركات، وكل ما وجدته متعلقا بمقاومة الفرملة كان عبارة عن فقرة واحدة على الأكثر، ولا يقولون فيها أكثر مما قيل في هذا النقاش، من أن المقاومة تستعمل للتبديد الطاقة الحركية وأن مصادر التيار عادة لا تستقبل طاقة عكسية، وبالتالي الطاقة الحركية يجب أن يتم تبديدها إلى آخر هذا الكلام العام، بدون أي تفاصيل

على كل حال، سأترك هذه النقطة لوقتها


----------



## ahmed es (22 يوليو 2011)

لذلك يا أخى الكريم انا طلبت اكثر من مرة رسمة مخطط كهربى للدائرة

انا كان كل كلامى السابق على ترانزستور يوصل الدايود معه على التوازى وليس مع المحرك على التوازى "ك free weeling diode" 




فى هذه الحالة كلامك صحيح

لكن مازلت لا اعرف اين التشوه الذى يحدث فى الدائرة بسبب الإلكترونيات هل لأن التيار لا يهبط لقيمة سالبة أم ماذا؟

اما بالنسبة لإرجاع الطاقة للمصدر هذا كلام انا ناقلة من كتاب لإلكترونيات القوى لمزيدى

DC converters can be used in regenerative braking of dc motors to return energy back into the supply. and this feature results in energy saving for transportation systems with frequent stops.

انا لسة ناقل الفقرة السابقة من كتاب

Power Electronics Muhammad H.Rashid


وأتذكر انى قرأتها فى اماكن اخرى لنفس المعنى لكن لا املك المصدر الآن واتذكر انى سمعتها فى احد البرامج الوثائقية التى كانت تتحدث عن القطارات فى نيويورك

على العموم انت كمصمم لك مطلق الحرية وخصوصا ان محركك لن يضيع طاقة عالية فى الفرملة


----------



## ahmed es (22 يوليو 2011)

بالمناسبة فى الرسمة الثانية فى الصورة polarity عندك خطأ وهو قطبية المحرك فى حالة القطع يجب عكسها لتتساوى مع قطبية الدايود "لن تغير شئ فى المعادلات" لكن وجب التنبيه


----------



## zamalkawi (22 يوليو 2011)

لهذا السبب طلبت منك الاطلاع على المرفق في المشاركة 51، فكل الدوائر المرسومة فيه يكون الدايود على التوازي مع الموتور

وبالنسبة للفرملة، فقررت تأجيل التفكير فيها الآن

وشكرا على تصحيح الخطأ

ماذا عن مشروعك، ألا تنوي مشاركتنا ببعض الأفكار عما تنوي عمله؟


----------



## ahmed es (22 يوليو 2011)

مشروعى لا يختلف كثيرا عما تنوى فعله
غير انى انوى ارجاع اكثر من حلقة تغذية عكسية "كلها وهمية" اى انها بداخل المتحكم وهى مبدئيا السرعة والإزاحة

لا اعرف ان كنت سأستخدم switching power supply منفصل ام سأستخدم طريقتك بعد لتغذية المحرك بإشارات بداية الحركة لكن فى كلا الحالتين عرض النبضة سيكون متغير مع حالات المحرك المختلفة 

نأتى للأجزاء العلملية 

انا عندى اكثر من micro controller
اكبرهم فى الإمكانيات AVR ATMEGA128
AVR ATMEGA16
AVR AT90S1200
Intel 8051 familly

وانا اتقن التعامل مع كل ما سبق
وايضا املك PIC16F877
PIC16F628

تعاملت مع PIC قديما لكن لا اتذكر منه الكثير لكن بالنسبة لى الدخول على اى نوع من انواع الكنترولر ليس بمشكلة فأنا تخصصى اصلا هو هندسة تحكم

عندى محرك DC مماثل للحجم الذى عرضته انت وبه صندوق تروث لكن لا اعرف تفاصيله الكهربية سأقيسها لانه مستعمل

لم اشترى بعد shaft encoder لا اجده فى مصر لكن سأبحث عنه


----------



## zamalkawi (22 يوليو 2011)

ahmed es قال:


> مشروعى لا يختلف كثيرا عما تنوى فعله
> غير انى انوى ارجاع اكثر من حلقة تغذية عكسية "كلها وهمية" اى انها بداخل المتحكم وهى مبدئيا السرعة والإزاحة


معذرة، لم أفهم ماذا تقصد بحلقات تغذية راجعة وهمية؟؟؟
كل حلقات التحكم في كل الدرايفز تكون داخل المتحكم (أو المعالج الدقيق أو معالج الإشارات، حسب ما الذي يستخدم) ولكنها ليست حلقات وهمية
فماذا تقصد بهذا المصطلح؟



ahmed es قال:


> لا اعرف ان كنت سأستخدم switching power supply منفصل ام سأستخدم طريقتك بعد لتغذية المحرك بإشارات بداية الحركة لكن فى كلا الحالتين عرض النبضة سيكون متغير مع حالات المحرك المختلفة


لم أفهم هذه العبارة، ولم أفهم ما هي طريقتي التي تقصدها
فطريقتي هي SMPS يغذي الترازيستور (أو للدقة القنطرة H) ويتم التحكم في القنطرة باستخدام PWM
فماذا تقصد؟



ahmed es قال:


> وانا اتقن التعامل مع كل ما سبق
> وايضا املك PIC16F877
> PIC16F628


لدي أيضا هذان المتحكمان، وكنت بالفعل بدأت باستعمال واحد منهما (وقت كنت أعمل مع صديقي المتخصص في الإلكترونيات) ونجحنا بالفعل في تشغيل المحرك باستخدام L298 مع PWM بدون تغذية راجعة وبدون تحكم، وكان المفترض أن نكمل به، ثم وجدنا أن العائلة PIC18 بها متحكمات تقرأ الإنكودر، فققرنا استعمالها، فوجدنا أن المبرمج لدينا لا يبرمجها، فقلنا بما أننا في كل الأحوال سنشتري مبرمج، فلنرتق بالمعالج قليلا ففكرنا في dsPIC وبالفعل اشتريت الهاردوير اللازم ل dsPIC33



ahmed es قال:


> لم اشترى بعد shaft encoder لا اجده فى مصر لكن سأبحث عنه


ربما يمكنني أن أجد لك إنكودر جيد مستعمل، ولكن لا أعدك
أنا أيضا الإنكودر الذي معي مستعمل، حيث سألت زميل قديم لي في العمل إن كنا لدينا واحد، فوجد لي واحدا لم نعد في حاجة إليه
كذلك يمكنني أن أساعدك في شراء واحد من على ebay
وعلي حد علمي، الصين تصنع إنكودرز جيدة بأسعار أقل بكثير من الأنواع الأوروبية والأمريكية، كنت وجدتها مرة على الإنترنت، يمكن أن أبحث عنها وأبعث لك الروابط
بالمناسبة، هل سألت في النخيلي وراديوشاك ورام؟


----------



## ahmed es (22 يوليو 2011)

> معذرة، لم أفهم ماذا تقصد بحلقات تغذية راجعة وهمية؟؟؟
> كل حلقات التحكم في كل الدرايفز تكون داخل المتحكم (أو المعالج الدقيق أو معالج الإشارات، حسب ما الذي يستخدم) ولكنها ليست حلقات وهمية
> فماذا تقصد بهذا المصطلح؟


هذا المسطلح ليس اكاديمى من ضمن الإفتكاسات

قصدت ان كل بيانات المحرك سيتم ارجاعها الى المتحكم وهو من سيقوم بعمل مسارات التغزية العكسية "اى انها ليست مسارات فيزيائية مطبوعة على اللوحة"



> *لم أفهم هذه العبارة، ولم أفهم ما هي طريقتي التي تقصدها
> فطريقتي هي SMPS يغذي الترازيستور (أو للدقة القنطرة H) ويتم التحكم في القنطرة باستخدام PWM
> فماذا تقصد؟*


قصدت استخدام SMPS منفصل
انا اعرف اننا سنعمل على ترانسفورمر لذلك يمكنك اخذ جهد متغير منه عن طريق تقطيع الموجة الجيبية التى تخرج منه
أو ان تقوم بعمل DC-DC converter بإستخدام ملف غير ملف المحرك للتزويد بجهود متغيرة
أو كطريقتك بإستخدام ملف المحرك فى ال switching لكن انا قلق من تأثير الترددات على العزم الخارج لكن جربت طريقة مشابهة مع ال stepper motors ولم اجد مشاكل بها


> *لدي أيضا هذان المتحكمان، وكنت بالفعل بدأت باستعمال واحد منهما (وقت كنت أعمل مع صديقي المتخصص في الإلكترونيات) ونجحنا بالفعل في تشغيل المحرك باستخدام L298 مع PWM بدون تغذية راجعة وبدون تحكم، وكان المفترض أن نكمل به، ثم وجدنا أن العائلة PIC18 بها متحكمات تقرأ الإنكودر، فققرنا استعمالها، فوجدنا أن المبرمج لدينا لا يبرمجها، فقلنا بما أننا في كل الأحوال سنشتري مبرمج، فلنرتق بالمعالج قليلا ففكرنا في dsPIC وبالفعل اشتريت الهاردوير اللازم ل dsPIC33
> *


متحكمات البك هى آخر ما افكر به انا املك الشب لكن لا املك الخبرة بالبك "إكتسابها ليس مشكلة لكن سيضيع بعض الوقت" ربما استقر على ATMEGA16


> *ربما يمكنني أن أجد لك إنكودر جيد مستعمل، ولكن لا أعدك
> أنا أيضا الإنكودر الذي معي مستعمل، حيث سألت زميل قديم لي في العمل إن كنا لدينا واحد، فوجد لي واحدا لم نعد في حاجة إليه
> كذلك يمكنني أن أساعدك في شراء واحد من على ebay
> وعلي حد علمي، الصين تصنع إنكودرز جيدة بأسعار أقل بكثير من الأنواع الأوروبية والأمريكية، كنت وجدتها مرة على الإنترنت، يمكن أن أبحث عنها وأبعث لك الروابط*


هناك محل فى شبرا يبيع تلك القطع مستعملة لم ازره حتى الآن لكن اتوقع ان اجد عنده إنكودر لكن لا اعرف كم الدقة التى يبيعها فيه وكيف هى حالته



> *بالمناسبة، هل سألت في النخيلي وراديوشاك ورام؟*


لا اتوقع ان يبيعها النخيلى وراديو شاك فى يوم من الأيام

رام من الممكن لكنه لم يقم بإستيرادهم حتى هذه اللحظة وإن فعل اتوقع ان تكون اسعارة مرتفعه جدا

انا قمت بفك صندوق التروس من المحرك وسأحاول قياس قيمة ال inductance l لكن افكر فى طريقة سأستخدم فيها احد المتحكمات


----------



## zamalkawi (22 يوليو 2011)

ahmed es قال:


> هذا المسطلح ليس اكاديمى من ضمن الإفتكاسات
> 
> قصدت ان كل بيانات المحرك سيتم ارجاعها الى المتحكم وهو من سيقوم بعمل مسارات التغزية العكسية "اى انها ليست مسارات فيزيائية مطبوعة على اللوحة"


هذا هو العادي في الدرايفز
بل هذا هو العادي في أي جهاز تحكم حتى لو كان PLC
أعني طبعا المتحكمات الرقمية
المتحكمات الأنالوج أصبحت تاريخا الآن!



ahmed es قال:


> قصدت استخدام SMPS منفصل
> انا اعرف اننا سنعمل على ترانسفورمر لذلك يمكنك اخذ جهد متغير منه عن طريق تقطيع الموجة الجيبية التى تخرج منه
> أو ان تقوم بعمل DC-DC converter بإستخدام ملف غير ملف المحرك للتزويد بجهود متغيرة
> أو كطريقتك بإستخدام ملف المحرك فى ال switching لكن انا قلق من تأثير الترددات على العزم الخارج لكن جربت طريقة مشابهة مع ال stepper motors ولم اجد مشاكل بها


في الدرايفز التجارية، الدرايف يعمل على جهد مستمر ثابت، وليكن 500 فولت مثلا، ويسمى عادة DC Link، المهم أنه يكون ثابتا، ويتم عادة إدخال قيمة الفولت كبارامتر للداريف
وفي بعض الدرايفز يكون هناك مراقبة لقيمة الفولت للتعويض والتصحيح
ولكن الأصل هو أن الجهد ثابت
وكما قلت سابقا، أنا لا أنوي أن أخترع، على الأقل في المرحلة الحالية، لذا أحاول تقليد ما أراه
ولذا سأعمل على جهد ثابت، وهو في هذه المرحلة 12 فولت من SMPS باور صابلاي كمبيوتر
أما التحكم فيه، فيتم مباشرة عن طريق التحكم في القنطرة
طالع هذه الصورة




هذه الصورة لدائرة قيادة محرك تزامني ثلاثي الطور، ولكن المبدأ واحد في حالة المحرك الدي سي
وهذا هو المستعمل في معظم (وربما كل) الدرايفز التي رأيتها، لذا لا أرى سببا يدعوني لاستخدام طريقة أخرى




ahmed es قال:


> متحكمات البك هى آخر ما افكر به انا املك الشب لكن لا املك الخبرة بالبك "إكتسابها ليس مشكلة لكن سيضيع بعض الوقت" ربما استقر على ATMEGA16


ما هو تحفظك على البك؟ أم أن تحفظك الوحيد هو أنك لا تريد إضاعة الوقت في اكتساب خبرة به؟
بالمناسبة، أنا سبب اختياري للبك هو انتشاره وبالتالي كثرة المعلومات المتوفرة عنه من المستخدمين على الإنترنت
ولهذا السبب لم أختر متحكما أفضل منه كثيرا من شركة TI ولكنه أصعب كثيرا بالنسبة لمبتدئ مثلي، وبالتأكيد لن أجد الكثير من الدعم على الإنترنت




ahmed es قال:


> هناك محل فى شبرا يبيع تلك القطع مستعملة لم ازره حتى الآن لكن اتوقع ان اجد عنده إنكودر لكن لا اعرف كم الدقة التى يبيعها فيه وكيف هى حالته


لو تريد، قل لي ال resolution المطلوب، ونوع الإشارة (مثلا TTL) وأبحث لك عن عروض وأرسل لك العروض لتختار الأنسب لك، أو تخبرني مسبقا بالميزانية المخصصة للإنكودر
ما رأيك؟
اتطمن، مش حعمل عليك شغل  أنا حبعتلك عروض من على ebay والحاجات اللي زي كدة


----------



## ahmed es (22 يوليو 2011)

انا لم اضطلع على درايفرات تجارية
فكله مجرد تفكير من عندى

بالنسبة للإنكودر سأرى مسبقا الموجود فى مصر قبل الشراء من الخارج
وبالتأكيد الإشارة ستكون TTL والرسليوشن ربما 0.36 أو 0.72

اما موضوع البك فهو الخبرة فقط

فأنا من يومين لسة منهى مشروع على الأتمل "روبوت صناعى" وكتبت عليه كثير خبرت معظم تهنيجاته وملحقاته فلا اجد سبب مقنع لإنتقال للبك 

هذا الفيديو لآخر مشروع قمت بعمله بإستخدام AVR ATMEGA32 مع AT89S52 فى التحكم

http://www.youtube.com/watch?v=K5ZxDHK-dTc

قريبا سأصمم دائرة لقياس بارامترات المحرك الغير معروفة


----------



## zamalkawi (22 يوليو 2011)

ahmed es قال:


> بالنسبة للإنكودر سأرى مسبقا الموجود فى مصر قبل الشراء من الخارج
> وبالتأكيد الإشارة ستكون ttl والرسليوشن ربما 0.36 أو 0.72


هل تقصد ب 0.36 أنه مئة نبضة في اللفة أم 25 نبضة في اللفة؟
في كلتي الحالتين أتوقع أن تجد مثل هذا الإنكودر بسهولة بسعر رخيص


----------



## ahmed es (23 يوليو 2011)

إيه يا عمى انت بتحسب إزاى lol
ده لو 25 أو حتى مئة كنت صنعته بنفسى هههه
بحسبة بسيطة اما 1000 نبضة فى اللفة أو 500 نبضة فى اللفة

على فكرة راجعت اكثر من طريقة لعمل braking

لكن كل عملية فرملة ترجع الطاقة "regenerative braking" للمصدر لن تفيدنا لانه اعتقد انك ستستخدم مصدر طاقة لكل مرحك ولن يكون هناك اكثر من حمل على نفس مصدر التغذية فلن يتم ارجاع الطاقة الى الترانسفورمر

اعتقد جرب اولا قصر طرفى المحرك معا ربما يقوم بالغرض لكن لا يعد بالكثير خصوصا اذا كان عزم القصور الزاتى للحمل عال

ربما عكس طرفى المحرك فى المحركات الصغيرة فى عملية تسمى plugging لكنها خطرة فى المحركات الكبيرة "ستؤدى الى سحب تيار عال جدا من النظام"

على العموم انا نازل اليوم لشراء الإنكودر


----------



## zamalkawi (23 يوليو 2011)

معذرة خلطت بين 0.36 وبين 3.6
على كل حال يكفيك 250 نبضة في اللفة
او 125 نبضة في اللفة في حالة 0.72


----------



## zamalkawi (23 يوليو 2011)

معذرة خلطت بين 0.36 وبين 3.6
على كل حال يكفيك 250 نبضة في اللفة
او 125 نبضة في اللفة في حالة 0.72


----------



## saifalshalchy (23 يوليو 2011)

جهودك مشكورة جدا ..لكن ممكن المحاضرة تكون بي دي أف


----------



## ahmed es (24 يوليو 2011)

متأسف عن التأخر فى الرد

لم استطع الدخول امس من خارج المنزل "نسيت كلمة المرور"

المهم اشتريت انكودر لكن لم اجد انكودر برزليوشن عال اكبر واحد وجدته 72 نبضة فى اللفة الواحدة بمعدل 5 درجات فى النبضة وطبعا هذا رزليوشن سيئ جدا بالنسبة لى

أفكر فى طباعة واحد على ورق شفاف وسأستفيد من السينسور الذى إشتريته

وسأفك واحد آخر من طابعة قديمة "اسخرجت منه من قبل انكودر لكنه كان خطى" سأستخدمه فى تحديد الإتجاه

لا أعرف مدى دقه ما سأفعله لكنها تستحق المحاولة على أى حال


----------



## zamalkawi (24 يوليو 2011)

ahmed es قال:


> متأسف عن التأخر فى الرد
> 
> لم استطع الدخول امس من خارج المنزل "نسيت كلمة المرور"
> 
> ...



72 نبضة في اللفة تعني أنك ممكن أن تحصل على ريزوليوشن 1.25° وهو أقل من ضعف ما كنت تريده سابقا وهو 0.72° أي أنه ليس سيئا جدا كما تتصوره

على كل حال لو وجدت في مكان عملي إنكودر قديم إشارته ttl ولا يحتاجونه سأحاول الحصول عليه وإعطاءك إياه
ولكني لا أعدك بالطبع


----------



## ahmed es (24 يوليو 2011)

سؤال فقط يبدو غبى بالنسبة لى لانى احس انى اتكلم فى ناحية وانت من اخرى

كيف تحسب الرزليوشن ؟

اما بخصوص اشارة الخرج فكما قلت لك عندى السنسور الخاص به وهو عبارة عن optocoupler بسيط استطيع الحصول منه على ttl أو cmos ليست هذه هى المشكلة

لكن كما قلت لك لو نفعت تجربة طباعة القرص يكون هذا انجاز كبير

انا افكر فى إستخدام C++ أو Vbasic لرسم القرص والمناطق الغامقة والفاتحة 

لكن سيحتاج هذا الى كتابة سطور كثيرة وخاصة انك ستريد فى النهاية طباعة الخرج

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


----------



## zamalkawi (25 يوليو 2011)

ahmed es قال:


> سؤال فقط يبدو غبى بالنسبة لى


توجد قاعدة تقول أنه لا يوجد سؤال غبي ولكن توجد إجابة غبية 



ahmed es قال:


> كيف تحسب الرزليوشن ؟


الريزليوشن (أصغر زاوية يمكن قياسها بالدرجة) تساوي 360 مقسومة على عدد النبضات في اللفة مقسومة على 4
وبالتالي مع 72 نبضة في اللفة، يكون أصغر زاوية يمكن قياسها 360/72/4 = 1.25°

ربما يكون السؤال الآن، من أين أتت ال4
الإجابة ببساطة هو أن الإشارة تتكون من إشارتين A و B وكل واحدة منهما عبارة عن نبضة مربعة، ونصف طول الدورة يكون واحد والنصف الآخر صفر، ويوجد فرق طور بين الإشارتين مقداره 90°
وبالتالي يمكن تقسيم النبضة الواحد لأربع قطاعات متساوية في الطول:
A = 1; B = 1
A = 1; B = 0
A = 0; B = 0
A = 0; B = 1

وباستخدام الإلكترونيات المناسبة، و/أو الخوارزم المناسب يمكنك الحصول على هذا الريزوليوشن الإضافي

بالمناسبة، من مميزات استعمال متحكم به خاصية قراءة الإنكودر أنه عادة يمكنه قراءة الإنكودر 4x كما وضحت سابقا، حيث تكون عملية ال decoding مبنية داخليا في المتحكم، والمبرمج يختار، هل يريد ريزوليوشن 1x أو 2x أو 4x



ahmed es قال:


> لكن كما قلت لك لو نفعت تجربة طباعة القرص يكون هذا انجاز كبير
> 
> انا افكر فى إستخدام C++ أو Vbasic لرسم القرص والمناطق الغامقة والفاتحة
> 
> ...



أظن أن أفضل شيء هو استعمال برنامج للرسم الهندسي مثل الأوتوكاد
لأن هذه البرامج الطباعة فيها تكون دقيقة جدا، خاصة لو استعمل طابعات احترافية، ولكن حتى لو استعملت الطابعات المنزلية العادية فستحصل على دقة طباعة معقولة
أما بالنسبة للرسم، فهذه البرامج سهل جدا أن تنفذ فيها ما تريد
كل ما عليك هو أن ترسم المنطقة الغامقة أو الفاتحة بالأبعاد والشكل الذي تريده، ثم تقوم بعمل pattern دائري بالعدد المطلوب (وليكن مثلا 200 على الدائرة الكاملة) قيتم نسخ الشكل الذي رسمته بعدد 200 مرة على الدائرة على مسافات متساوية تماما
وخاصية ال pattern الدائري موجودة تقريبا في كل برامج الرسم الهندسي أو الرسم الميكانيكي
ولكني أقترح الأوتوكاد بسبب انتشاره حيث ستجده بسهولة في معامل الكلية عندكم (لو أنك لا زلت طالبا) وكذلك بسبب سهولة أن تجد من يجيد التعامل معه من دارسي ومهندسي الميكانيكا


----------



## zamalkawi (25 يوليو 2011)

يو هوووو
رمية من غير رام 
كنت ذكرت في بداية عرضي للمشروع أن الهدف النهائي من المشروع هو الوصول لمنتج تجاري، وكان من ضمن الخطوات اختيار معالج دقيق يصلح لأجرب عليه التحكم، وفي نفس الوقت يمكن أن يكون هو المعالج المستخدم في المنتج النهائي
ووقع اختياري على معالج من العائلة dsPIC33F
حيث أنه مزود بمعالج إشارات رقمية، وإمكانياته جيدة، وكذلك رخيص الثمن وسهل الاستعمال
ولم أكن أعلم هل هو جيد أم لا

المهم...
الآن وأثناء قراءتي لبعض الأوراق البحثية، وجدت ورقة بحثية عن منتج طورته إحدى الشركات، وأقتبس لكم هذه الفقرة...

A. Brushless compact drives (MC series)
Feedback from customers showed that, besides the MSA
series with sinusoidal commutation and multi-turn absolute
encoders, the market also demands cost optimized drive
solutions. Therefore, GEFEG-NECKAR developed a new
electronic platform controlled by a cost effective yet powerful
DSP controller (dsPIC33F). The 24V power module is based
on SMD-MOSFET transistors.

معنى هذا أن شركة ألمانية من الشركات المعروفة في السوق في هذا المجال اختارت العمل بمعالج من نفس العائلة التي أعمل بها في الدرايف قليل التكاليف الخاص بهم

رمية من غير رام، ولكنها تطمئنني على أن الاختيار يصلح بإذن الله
وهذه مرة من المرات النادرة (وربما تكون الوحيدة حتى الآن) التي أرى فيها إحدى الشركات تعلن عن نوع المعالج المستخدم في الدرايفز الخاصة بهم. كلهم في مقالاتهم عن منتجاتهم لا يقولون أكثر من أن المعالج المستخدم هو معالج إشارات DSP ولا يقولون أكثر من هذا


----------



## zamalkawi (25 يوليو 2011)

saifalshalchy قال:


> جهودك مشكورة جدا ..لكن ممكن المحاضرة تكون بي دي أف


شكرا لمرورك أخي
هذه ليست محاضرة، وإنما محاولة لصنع محرك سيرفو خطورة بخطوة
وسبب عرضها هنا على المنتدى هو أن يتفاعل الأعضاء مع كل خطوة ويقولوا آراءهم ونتناقش حولها وبذلك تحدث استفادة متبادلة

ربما بعد الانتهاء من إعداد المحرك أجمع كل شيء في كتاب وأعرضه في المنتدى أو أطرحه في السوق
ولكن هذه خطوة سابقة لأوانها
حتى الآن لا يوجد بي دي إف للنقاشات هنا، ولا توجد نية لهذا في المرحلة الحالية


----------



## zamalkawi (25 يوليو 2011)

zamalkawi قال:


> لو تريد، قل لي ال resolution المطلوب، ونوع الإشارة (مثلا TTL) وأبحث لك عن عروض وأرسل لك العروض لتختار الأنسب لك، أو تخبرني مسبقا بالميزانية المخصصة للإنكودر
> ما رأيك؟
> اتطمن، مش حعمل عليك شغل  أنا حبعتلك عروض من على ebay والحاجات اللي زي كدة


انتهى منذ قليل مزاد على ebay لإنكودر ب5000 نبضة في اللفة (اللهم صل على النبي، يعني ريزوليوشن 0.018°!)، جديد لم يستعمل، ومختبر ومجرب، وكان سعره في نهاية المزاد شامل الشحن فقط 39 يورو، رغم أن سعره من المحلات 160 يورو!
لو لم يكن لدي إنكودر بالفعل، ربما كنت اشتريته لنفسي، ولو كنت أعطيتني ضوءا أخضر ربما كنت اشتريته لك
على كل حال، كما قلت لك، سأحاول (بدون وعد) أن أجد لك واحدا مستعملا عندي في عملي
ولكن أظن أنه سيكون صعبا بعض الشيء، إذ أنه في عملي نفضل الإنكودرز ذات الإشارة sin-cos ولا نستعمل ال TTL إلا قليلا


----------



## ahmed es (25 يوليو 2011)

بالنسبة للرزليوشن ها هى المشكلة

الإنكودر الغبى الذى إشتريته لا يحتوى على صفين ليعطينى اشاراتين A,B لذا اضرب الرزليوشن الذى حصلت عليه فى 4 أى انه 5 درجات لكل نبضة ولن استطيع الحصول على الإتجاه :86:












اما بخصوص الإنكودر الذى وجدته على النت فللأسف حاليا هو خارج الميزانية ربما فى مرات قادمة

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

بخصوص ال DSP سأحاول البحث عن ATMEL يدعمه ولكن سأعمل الآن على ما ذكرته لك

انا أقرأ الآن كتاب فى الكترونيات القوى "اراجع على بعض الأمور" وهو يذكر التحكم فى محرك DC على سبيل المثال ربما اخرج بمعلومات جديدة منه

نرجع مرة أخرى للإنكودر انا عندى طابعتين فى المنزل واحدة ليزر وواحدة نفاثة حبر "وثالثة فككتها :20:" وعندى نسخة من Autocad 2002 لكن لم اتعامل معه من قبل قط "انا تخصصى فى الكهرباء كما تعلم " هل رسم هذا القرص بالأمر الصعب بالنسبة لمبتدئ ام ابحث عن برنامج آخر والسلام


----------



## zamalkawi (25 يوليو 2011)

ahmed es قال:


> بالنسبة للرزليوشن ها هى المشكلة
> 
> الإنكودر الغبى الذى إشتريته لا يحتوى على صفين ليعطينى اشاراتين a,b لذا اضرب الرزليوشن الذى حصلت عليه فى 4 أى انه 5 درجات لكل نبضة ولن استطيع الحصول على الإتجاه :86:



هممم
غريب
ومن الواضح أن له 3 أرجل، وهذا يعني غالبا، واحدة لمصدر الجهد، وواحدة للأرضي، وواحدة للإشارة
على الأقل يمكنك استعماله للتحكم في السرعة وليس الموقع، وتفترض أن السرعة في نفس اتجاه الفولت الداخل 
ولن يصلح هذا للتحكم في الموضع لأن النظام سيصل لعدم الاستقرار بسهولة تامة 
ويمكنك الحصول على ريزليوشن ×2 إذا كانت فترة الواحد تساوي فترة الصفر، وتجعل العداد يعد مع الحد الصاعد والحد الهابط




ahmed es قال:


> نرجع مرة أخرى للإنكودر انا عندى طابعتين فى المنزل واحدة ليزر وواحدة نفاثة حبر "وثالثة فككتها :20:" وعندى نسخة من autocad 2002 لكن لم اتعامل معه من قبل قط "انا تخصصى فى الكهرباء كما تعلم " هل رسم هذا القرص بالأمر الصعب بالنسبة لمبتدئ ام ابحث عن برنامج آخر والسلام


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


----------



## ahmed es (25 يوليو 2011)

أستطيع الحصول على sensor آخر من الطابعة ووضع الإثنين بجانب بعضهما بعضا مع فارق زاوية 90 درجة كهربية واستطيع الحصول على ضعف الرزليوشن يعنى 2.5 degree فى النبضة الواحدة



> ومن الواضح أن له 3 أرجل، وهذا يعني غالبا، واحدة لمصدر الجهد، وواحدة للأرضي، وواحدة للإشارة


نعم هو عبارة عن ليد اشعة تحت حمراء وترانزستور ضوئى موصلان معا من ناحية الكاثود وال emitter وطرف ثان للأنود وثالث لل collector أغذى الأنود بجهد معين واحصل على الإشارة من على ال collector اذا احس الترانستور بضوء يكون فى حالة on وأحصر من على ال collector صفر فولت



> على الأقل يمكنك استعماله للتحكم في السرعة وليس الموقع، وتفترض أن السرعة في نفس اتجاه الفولت الداخل


لو وضعت سنسور آخر بنفس الموجود فى الصورة الثانية على بعد 90 درجة كفربائية يمكننى الحصول على اشارتى A , B نظريا وساعتها استطيع تحديد الإتجاه




> ويمكنك الحصول على ريزليوشن ×2 إذا كانت فترة الواحد تساوي فترة الصفر، وتجعل العداد يعد مع الحد الصاعد والحد الهابط


أحس ان الثقوب والمناطق المصمتة غير متساوية فى الماسحة هل تتفق معى فى هذا بمجرد النظر "سأقوم بالقياس لاحقا كهربيا وبالمسطرة

اذا وجدتهم مقسومة على 2 استطيع ساعتها الحصول على 1.25 درجة رزليوشن كما تقول

بخصوص وحدة قراءة الإنكودر استطيع بناء hardware خارجى يستخلص الإتجاه ويخرج 4 نبضات فى إشارة الإنكودر الواحدة ويبقى على المتحكم العد فقط

اما وحدات الحساب والمنطق فى ال DSP اذا كانت سرعة المتحكم اعلى كثيرا جدا من تردد إشارة ال pwm الخارجة مازلت استطيع عمل جميع عمليات التكامل فى الزمن الحقيقى ستأخذ منى نعم وقت أطول فى البرمجة لكن النتائج ربما تكون جيدة

المتحكم الذى انوى العمل عليه يمكنه يعمل على سرعة قصوى 16 ميجا هيرتز وكل تعليمة تقريبا تأخذ واحد نبضة لإتمامها عدا تعليمات الكتابة فى الذاكرة والقفز تأخذ من 2 الى 4 execution cycle وانا اعتقد انه سريع نبيا بالنسبة لإشارة الخرج واستطيع تعديل اشارة ال pwm فى الزمن الحقيقى وخصوصا ان له موديول جيد جدا لإخراج اكثر من نوع من ال pwm

مازلت اقرأ فى موضوع ال DC servo وبالمناسبة إستخدام اكثر من حلقة تغذية خلفية " سرعة عجلة وإزاحة " التى إفتكستها :12: وجدتهم يستخدمونها ويتم التبديل بينهم

أحاول بناء النظام فى رأسى أولا ثم بعدها بناء الدائرة وبعدها أٌقوم بالتنفيذ

سؤال أخير انا وضعت الإنكودر الغريب فى الأعلى على ال shaft الذى يخرج من صندوق التروث وسبحان الله الحسنة الوحيدة انه fitted تماما وكأنه مصنع له لكن هل من الأفضل ان اضعه على shaft المحرك 

المحرك الذى استخدم هو هذا بالضبط

http://cgi.ebay.com/GEAR-HEAD-DC-24V-40-RPM-MOTOR-FH6-1241-DGM-0080-2A-/120540796927

خرجه 40 rpm بعد صندوق التروث ولا اعرف نسبة ال reduction 

دخل صندوق التروث عبارة عن ترث دودة worm gear أى انى فى هذا النموزج لن احتاج الى الفرملة عمليا لكن مازلت اريد بنائها

المحرك يعمل على 24 فولت لكنى سأستخدم حلقة تغذية لتيار ال armature ربما استطيع ان ارتفع بالجهد فوق ال rating


----------



## zamalkawi (25 يوليو 2011)

ahmed es قال:


> أحس ان الثقوب والمناطق المصمتة غير متساوية فى الماسحة هل تتفق معى فى هذا بمجرد النظر "سأقوم بالقياس لاحقا كهربيا وبالمسطرة


أقترح أن يكون القياس كهربيا فقط، فالاعتماد على النظر أو حتى القياس الميكانيكي ربما يكون مضللا



ahmed es قال:


> بخصوص وحدة قراءة الإنكودر استطيع بناء hardware خارجى يستخلص الإتجاه ويخرج 4 نبضات فى إشارة الإنكودر الواحدة ويبقى على المتحكم العد فقط


هذا فعلا هام للغاية
توجد قطع إلكترونية جاهزة (دوائر متكاملة) تقوم بهذه الوظيفة مباشرة، ولكني أذكر أني وجدتها بحوالي 20 يورو
المهم ألا تستخدم المقاطعة interrupt لبرمجة قراءة الإنكودر (وهي بالفعل أحد الطرق المستخدمة) وذلك لأنه عند السرعات العالية لو كان الريزوليوشن عالي فسيكون التحميل كبير جدا على المعالج

وأرى أن تحاول أن تصمم الدائرة بحيث يكون لها خرجان، كل منهما متصل بعداد، واحد للدوران في اتجاه والآخر في الاتجاه الآخر، بحيث يعمل أثناء الدوران يمين يقوم أحد العدادات بالعد، ولا يعد العداد الآخر أي شيء، والعكس في حالة الدوران يسار
توجد application note من مايكروشيب تشرح كيفية تنفيذ هذا في حالة 1x أما في حالة 4x فليس عندي أي فكرة كيف يتم تنفيذها



ahmed es قال:


> مازلت اقرأ فى موضوع ال DC servo وبالمناسبة إستخدام اكثر من حلقة تغذية خلفية " سرعة عجلة وإزاحة " التى إفتكستها :12: وجدتهم يستخدمونها ويتم التبديل بينهم
> 
> أحاول بناء النظام فى رأسى أولا ثم بعدها بناء الدائرة وبعدها أٌقوم بالتنفيذ


طريقة استخدام أكثر من حلقة هي الطريقة الستاندرد المتبعة، وإن كانت لا توجد حلقة تحكم في العجلة وإنما في العزم
ولكن لم أفهم ماذا تقصد بـ "يتم التبديل بينهم"؟
أما التحكم بحلقة PID فهو أسلوب يتبع في مشاريع الهواه والدرايفز البسيطة
وأظن أن الأفضل هو أن تبني النظام على ورق قبل التنفيذ وليس في رأسك فقط



ahmed es قال:


> سؤال أخير انا وضعت الإنكودر الغريب فى الأعلى على ال shaft الذى يخرج من صندوق التروث وسبحان الله الحسنة الوحيدة انه fitted تماما وكأنه مصنع له لكن هل من الأفضل ان اضعه على shaft المحرك
> 
> المحرك الذى استخدم هو هذا بالضبط
> 
> ...


أظن أن الأفضل هو أن توصله مباشرة بالمحرك، فهذا أفضل من عدة جوانب
أولا لأن الإنكودر عندك له ريزوليوشن قليلة نوعا
ثانيا لأن هذا أفضل للتحكم، حيث أن وجود الخلوصات backlash سيضعف أداء التحكم، وقد يؤدي إلى عدم الاستقرار
ثالثا أن حلقة التحكم في السرعة يجب أن يتم القياس فيها من على محور الموتور مباشرة، لأن أي عناصر مرنة ستؤدي إلى عدم استقرار النظام حيث يؤدي إلى ضعف رفض الاضطرابات poor disturbance rejection
لا أعرف السبب في هذا ولكني رأيته على محاكاة لنموذج بنيته، وكذلك رأيته عمليا على محرك سيرفو جعلت قياس السرعة فيه يتم من عند الحمل وليس عند المحرك، فأخذ يهتز بجنون

ولكن، لو لا يوجد حل آخر فما باليد حيلة
بالمناسبة، هل جربت فتح الغطاء الخلفي للمحرك؟ ربما يمكنك فتحه والوصول مباشرة للناحية الأخرى من عمود الدوران

المحرك الذي أستعمله به عمود الدوران من الناحيتين، لذا أوصل ناحية بالحمل والأخرى بالإنكودر


----------



## ahmed es (25 يوليو 2011)

> توجد قطع إلكترونية جاهزة (دوائر متكاملة) تقوم بهذه الوظيفة مباشرة، ولكني أذكر أني وجدتها بحوالي 20 يورو


نعم استخدام دوائر متكاملة جاهزة سيوفر فى التصميم ويصغر من ال pcb لكنه غال نسبيا

بخصوص


> *المهم ألا تستخدم المقاطعة interrupt لبرمجة قراءة الإنكودر (وهي بالفعل أحد الطرق المستخدمة) وذلك لأنه عند السرعات العالية لو كان الريزوليوشن عالي فسيكون التحميل كبير جدا على المعالج*


هل تقصد ان تدخل النبضات على أحد أطراف ال interrupt بالطبع لا

يمكننى فقط 


> *وأرى أن تحاول أن تصمم الدائرة بحيث يكون لها خرجان، كل منهما متصل بعداد، واحد للدوران في اتجاه والآخر في الاتجاه الآخر، بحيث يعمل أثناء الدوران يمين يقوم أحد العدادات بالعد، ولا يعد العداد الآخر أي شيء، والعكس في حالة الدوران يسار*


هذه لن تكون عملية
يمكننى إستخدام العدادات من داخل الميكرو كنترولر بحيث ان يقوم بالعد بناء على إشارة خارجية وإتجاة الدوران هو الذى يوصل على interrupt ليحدد اتجاة الدوران

الميكرو الذى استخدمه يحتوى على أربع عدادات فلا احتاج الى عدادات خارجية


> *طريقة استخدام أكثر من حلقة هي الطريقة الستاندرد المتبعة، وإن كانت لا توجد حلقة تحكم في العجلة وإنما في العزم*


ما تعلمته انه يجب عليك ان تكون Open minded لأى حل حتى لو غريب لأى مشكلة تقابلك
سأشرح بعد التالى


> *ولكن لم أفهم ماذا تقصد بـ "يتم التبديل بينهم"؟*


بما ان النظام يمكن بنائه بالكامل داخل microcontroller فأنت تملك من المرونة لتغير ال topology لل control system كما تريد

فمثلا فى عملية ال speed transient لا تتركها هكذا بل اجعل التحكم فى العجلة حتى تحصل على السرعة المطلوبة بعجلة محددة وبعدها انقل نظام التحكم على التحكم فى السرعة وعند الإقتراب من النقطة المراد الوصول إليها انقل التحكم الى ال position control ليتم بعدها عمل breaking بأقصى قدرة للنظام وتصحيح اى خطأ ينتج عن تخطى المحرك للنقطة المرات التوقف عندها



> *أما التحكم بحلقة PID فهو أسلوب يتبع في مشاريع الهواه والدرايفز البسيطة*


لا يوجد شئ يتبع فى اسلوب الهواة وتكنيك آخر يتبع مع المحترفين ال PID controller يمكن إستخدامه مع النظم الإحترافية اذا اردت ذلك واذا تطلب النظام هذا 

على العموم انا انوى مبدأيا إستخدام ال P controller فقط ب Gain عال جدا لتقليل الخطأ بقدر الإمكان

وبما أن النظام من الدرجة الأولى "اذا اخذنا فارق الثابت الذمنى الكبير بين الجزئ الميكانيكى والكهربى أى ان ال poles الخاصة بالنظام الميكانيكى بعيدة جدا عن المحور التخيلى ولن تأثر على ال system dynamics كثيرا " فلا يوجد مخاطرة من خروج النظام عن الإستقرار مع اللعب كثيرا فى الكسب Gain

انا اخطط لتصميم النظام فى ال state space domain "time domain" .

كل هذا تصور مبدئى لا أعرف أين سينحرف هذا المسار مع التجربة



> *وأظن أن الأفضل هو أن تبني النظام على ورق قبل التنفيذ وليس في رأسك فقط*


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



> *أظن أن الأفضل هو أن توصله مباشرة بالمحرك، فهذا أفضل من عدة جوانب
> أولا لأن الإنكودر عندك له ريزوليوشن قليلة نوعا
> ثانيا لأن هذا أفضل للتحكم، حيث أن وجود الخلوصات backlash سيضعف أداء التحكم، وقد يؤدي إلى عدم الاستقرار
> ثالثا أن حلقة التحكم في السرعة يجب أن يتم القياس فيها من على محور الموتور مباشرة، لأن أي عناصر مرنة ستؤدي إلى عدم استقرار النظام *


نعم نقطة ضعفى الوحيدة هى الميكانيكا وخصوصا ان الشافت ليس طويلا من ناحية المحرك سأحاول حتى لو لحمته

اقترح عليك ان تسبقنى انت ولا تنتظر


> بالمناسبة، هل جربت فتح الغطاء الخلفي للمحرك؟ ربما يمكنك فتحه والوصول مباشرة للناحية الأخرى من عمود الدوران


نعم الجزئ الخلفى ظاهر لكن قصير جدا لدرجة انه بالكاد يخرج من الخلف ولن استطيع تركيب كوبلن عليه ربما الحمة بألى لحام بلاستيك


----------



## zamalkawi (25 يوليو 2011)

ahmed es قال:


> هل تقصد ان تدخل النبضات على أحد أطراف ال interrupt بالطبع لا
> 
> يمكننى فقط
> هذه لن تكون عملية
> يمكننى إستخدام العدادات من داخل الميكرو كنترولر بحيث ان يقوم بالعد بناء على إشارة خارجية وإتجاة الدوران هو الذى يوصل على interrupt ليحدد اتجاة الدوران



معذرة، لا أفهم!!
كيف تقول أنك لن تدخل النبضات على الإنتربت، ثم تعود وتقول أنك ستدخل إشارة الاتجاه على الإنتربت؟
أظن أن هذا لن يكون عمليا




ahmed es قال:


> الميكرو الذى استخدمه يحتوى على أربع عدادات فلا احتاج الى عدادات خارجية


ومن ذكر عدادات خارجية؟




ahmed es قال:


> ما تعلمته انه يجب عليك ان تكون Open minded لأى حل حتى لو غريب لأى مشكلة تقابلك


هي وجهات نظر
فأنا أعلم أنني ستواجهني بالفعل عقبات تنفيذية كبيرة، وهذه أوفر لها ال open mindedness التي أملكها
ولا أريد أن أزيد الصعوبة بالاختراع
لذا أحاول أن أنفذ ما هو موجود بالفعل لأنني أعرف أن في طريقي للوصول إليه سألاقي الكثير من العقبات
لذا فليس من الحكمة أن أزيد من العقبات من أجل الاختراع، خصوصا أن هدفي هو الوصول لمنتج تجاري
بعد أن أحصل على منتج يعمل بصورة مرضية، يمكنني أن أستعمله كمنصة لتجريب كل ما أريد
مع العلم أنني بحكم عملي على اطلاع بما هو مستعمل في السوق، وكذلك بخوارزمات التحكم التي لا زالت في طور البحث وينفق عليها الكثير
فليس من الحكمة أن أفترض أنني بهذه الإمكانيات البسيطة سأتفوق على أبحاث ينفق عليها ملايين، بدون أن أتقن أولا ما هو موجود ومجرب ومثبت بالفعل




ahmed es قال:


> بما ان النظام يمكن بنائه بالكامل داخل microcontroller فأنت تملك من المرونة لتغير ال topology لل control system كما تريد


بالضبط، وهذا هو ما أنوي فعله
بالمناسبة، هناك أبحاث تحاول الوصول لما هو أعمق، وهو تنفيذ التحكم على FPGA وبالتالي لا يكون مصمم النظام محكوما ببنية المعالج، بل يبني التحكم كما يريد بالهاردوير
ولكن هذا لا يزال في طور البحث




ahmed es قال:


> فمثلا فى عملية ال speed transient لا تتركها هكذا بل اجعل التحكم فى العجلة حتى تحصل على السرعة المطلوبة بعجلة محددة وبعدها انقل نظام التحكم على التحكم فى السرعة وعند الإقتراب من النقطة المراد الوصول إليها انقل التحكم الى ال position control ليتم بعدها عمل breaking بأقصى قدرة للنظام وتصحيح اى خطأ ينتج عن تخطى المحرك للنقطة المرات التوقف عندها


تفكير جيد
ولكن لو عرفت ما هو مستخدم بالفعل فستعرف أن هذا غير عملي، وهذا هو ما أقصده
ليس عليك اختراع العجلة
وإلا فستستغرق عقودا لتصل إلى ما وصله الآخرون
لذا قليل من التعلم يوفر عليك الكثير




ahmed es قال:


> لا يوجد شئ يتبع فى اسلوب الهواة وتكنيك آخر يتبع مع المحترفين ال PID controller يمكن إستخدامه مع النظم الإحترافية اذا اردت ذلك واذا تطلب النظام هذا


أنا أتحدث عما أراه بالفعل !!
فأنظمة الهواة تستخدم PID وكذلك الدرايفز الرخيصة
ولو أنك قرأت خطة العمل في المشاركة رقم 5 ستجد أنني سأبدأ بتنفيذ PID وبعدها بإذن الله سأطور التحكم لأستعمل حلقات تحكم متداخلة cascade control loops كما هو في النظم الاحترافية

أما وجود تكنيك للهواة وآخر للمحترفين، فهذا ليس فقط في هندسة التحكم وإنما في كل المجالات
يمكنك بسهولة إدراك هذا لو شاهدت فيلم صوره مجموعة من الهواة، ثم شاهدت بعدها فيلم سينيمائي بإنتاج ضخم




ahmed es قال:


> وبما أن النظام من الدرجة الأولى "اذا اخذنا فارق الثابت الذمنى الكبير بين الجزئ الميكانيكى والكهربى أى ان ال poles الخاصة بالنظام الميكانيكى بعيدة جدا عن المحور التخيلى ولن تأثر على ال system dynamics كثيرا " فلا يوجد مخاطرة من خروج النظام عن الإستقرار مع اللعب كثيرا فى الكسب Gain


ماذا؟؟؟؟
أقطاب الجزء الميكانيكي بعيدة عن المحور التخيلي؟
كيف وهو بطيء؟




ahmed es قال:


> نعم الجزئ الخلفى ظاهر لكن قصير جدا لدرجة انه بالكاد يخرج من الخلف ولن استطيع تركيب كوبلن عليه ربما الحمة بألى لحام بلاستيك


أظن أن عليك أن تسعى بكل قوة لتركيب الإنكودر من الخلف، فهذا أظن أنه أفضل كثيرا


----------



## ahmed es (26 يوليو 2011)

> معذرة، لا أفهم!!
> كيف تقول أنك لن تدخل النبضات على الإنتربت، ثم تعود وتقول أنك ستدخل إشارة الاتجاه على الإنتربت؟
> أظن أن هذا لن يكون عمليا


انت لم تفهمنى

ما تتصوره انت ان تدخل كلا من phase A,B كل واحدة على interrupt منفصل ليقوم المتحكم بمقارنة زاوية الطور بين كل فاز ليحدد هو الإتجاه

لكن انا اتحدث عن دائرة منطقية خارجية تقيس هى زاوية الطور بين الإشارتين فإذا حدث تغير فى الطور بين الإشارتين تنشئ مقاطعة للمتحكم ليقوم بعمل update لمتغيرات التحكم بالداخل "تحديدا الإتجاة

لكن طالما الإشارة لم تتغير فى الطور "النبضات مستمرة لكن زاوية الطور لم تتغير لن تقوم الدائرة بعمل interrupt للمتحكم" أى ان المتحكم لن يقاطع الا مع تغير اتجاة الحركة وهذا قليلا جدا ما يحدث وبهذا لن أشغله

بخصوص عد النبضات سأدخلها مباشرة على عداد داخل المتحكم وهو المسؤول عن العد بالنسبة للزمن "سيؤخذ من الكريستال الخاص بالمتحكم " وسيخرج السرعة والعجلة ومشتقاتهم وبهذه الطريقة ايضا لن يشغل المتحكم كثيرا وخصوصا انا سرعته مازالت أعلى ب order 1000 على الأقل من أى مقاطعة محتملة من تلك الدائرة

خلاصة القول سيكون هناك هاردوير خارجى مختص بتلك الأشياء والمتحكم لن يشغل الا بالتغيرات القليلة والحساسة والمهمة


> هي وجهات نظر
> فأنا أعلم أنني ستواجهني بالفعل عقبات تنفيذية كبيرة، وهذه أوفر لها ال open mindedness التي أملكها
> ولا أريد أن أزيد الصعوبة بالاختراع


الأفكار التى آتى بها اجد اشباه لها فى الكتب وبما ان كل ما سيتغير هو السوفتوير فلن تكون العملية صعبة
وانا أعلم بالمناسبة تماما ما تتحدث عنه "جربته كثيرا فى مشاريع سابقة " لا اريدك فقط ان تتخيل ان اشطح بتفكيرى لن أترك المجال لأفكار يمكنها ان تغرق المشروع منذ بدايته



> أنا أتحدث عما أراه بالفعل !!
> فأنظمة الهواة تستخدم PID وكذلك الدرايفز الرخيصة


ال PID نفسه كتقنية للتحكم يستخدم فى معظم انظمة التحكم

لا تختزل ال PID على انه ال Standard PID controller الذى يوصل على التوالى مع الموتور لتكون اشارة التحكم الداخلة له هى اشارة الخطأ "ناتج طرح اشارة السرعة المرتجعة واشراة السرعة المراد الوصول لها" ويكون خرجة هى الإشارة التى تذهب مباشرة لل Actuator 

يمكن لل PID بمكوناته الثلاثة أو بأحد مكونات ان يستخدم فى إحدى الحلقات الداخلية أو ان يستخدم ك compansator للنظام لكن فى كل انظمة التحكم ستستخدم التفاضل والتكامل والتكبير وال saturation و ال filters و ال limiters أتمنى ان تكون وصلت وجهة نظرى



> ماذا؟؟؟؟
> أقطاب الجزء الميكانيكي بعيدة عن المحور التخيلي؟


انا اريدك ان تعطينى تقريب لل order of magnitude للثابت الزمنى الميكانيكى ربما إلتبس عندى الأمر


----------



## zamalkawi (26 يوليو 2011)

ahmed es قال:


> لكن انا اتحدث عن دائرة منطقية خارجية تقيس هى زاوية الطور بين الإشارتين فإذا حدث تغير فى الطور بين الإشارتين تنشئ مقاطعة للمتحكم ليقوم بعمل update لمتغيرات التحكم بالداخل "تحديدا الإتجاة
> 
> لكن طالما الإشارة لم تتغير فى الطور "النبضات مستمرة لكن زاوية الطور لم تتغير لن تقوم الدائرة بعمل interrupt للمتحكم" أى ان المتحكم لن يقاطع الا مع تغير اتجاة الحركة وهذا قليلا جدا ما يحدث وبهذا لن أشغله



هذا هو ما فهمته
ولكني لا أراه الأسلوب الأمثل
لاأن عند اثبات يتأرجح الاتجاه كثيرا، ولكن المشكلة الأكبر في التوقيت، فلو تأخر توقيت عكس اتجاه العداد عن توقيت عكس اتجاه الدوران، ولو لواحد مايكروثانية أو حتى أقل فأنت في مشكلة كبيرة

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



ahmed es قال:


> ال pid نفسه كتقنية للتحكم يستخدم فى معظم انظمة التحكم
> 
> لا تختزل ال pid على انه ال standard pid controller


أنا أتحدث تحديدا عن الدرايفز
واعلم أن pid يستخدم بكثرة في الصناعة
ولكن في الدرايفز لا يستخدم إلا في مشاريع الهواة والدرايفز الرخيصة، وهنا أقصد الشكل الكلاسيكي منه

ولكن في الدرايفز، فانت على حق، لا يستعمل الشكل الكلاسيكي منه وإنما تستخدم الحلقات المتداخلة، وأشهر المستخدم هو p/pi/pi
بمعنى pi لحلقة العزم وpi لحلقة السرعة و p لحلقة الموضع




ahmed es قال:


> انا اريدك ان تعطينى تقريب لل order of magnitude للثابت الزمنى الميكانيكى ربما إلتبس عندى الأمر



هذا يعتمد على تعريفك للثابت الزمني الميكانيكي
عرفه لي أولا كي يكون هناك اتفاق على المعنى، ثم نتناقش حوله
بحيث لا يحدث كما حدث عند النقاش عن اتجاه فقد الجهد في الدايود، ثم اكتشفنا أننا نتحدث عن دائرتين مختلفتين


----------



## zamalkawi (26 يوليو 2011)

zamalkawi قال:


> * اقتباس:
> المشاركة الأصلية كتبت بواسطة ahmed es
> 
> 
> ...


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

فقط أود أن أذكرك أنني قلت أن أحد أهداف المشروع هو أن يكون منصة لاختبار عدة هياكل مختلفة للتحكم
سأبدأها غالبا بال pid الكلاسيكي، ثم بعدها p/pi/pi، ثم بعدها ربما أجرب أي شيء آخر
ولكن أظن أن هناك اتفاق في الرؤى بيننا، فالهاردوير ما هو إلا منصة اختبار، وسأحاول أن أجعله جيدا قدر المستطاع، أما السوفتوير، فأستطيع أن ألعب به كما أريد، ولكن مع وضع عيني على أن الهدف هو الوصول لمنتج تجاري


----------



## zamalkawi (26 يوليو 2011)

أخ أحمد، بما أنك تفضل الأتمل، ما رأيك في هذا المتحكم
AT32UC3C0512C
فهو 32 بت، سريع، 66 ميجاهرتس، ذاكرته كبيرة، 512 كيلوبايت، به عدد كبير من الأرجل للإدخال والإخارج، به ADC و DAC وPWM
وفوق كل هذا فيه مدخلين للإنكودر، وهذا يعني أنه يمكنك التحكم في موتورين كل بإنكودر واحد، أو موتور واحد فيه 2 إنكودر

توجد أنواع أخرى من الأتمل تدعم مداخل الإنكودر، ولكن هذا هو ما وجدته ببحث سريع، ولفت نظري إمكانياته الكبيرة
وكونه 32بت، سيجعل تنفيذ الفلاتر وتحليل الإشارات وحلقات التحكم أسهل، حتى لو لا يحتوي على محرك معالجة إشارات DSP engine كالبيك الذي أستعمله

فكر وقرر

البحث كان من خلال هذه الصفحة
http://www.atmel.com/dyn/products/param_table.asp?category_id=163&family_id=607&subfamily_id=2138


----------



## ahmed es (26 يوليو 2011)

> هذا هو ما فهمته
> ولكني لا أراه الأسلوب الأمثل
> لاأن عند اثبات يتأرجح الاتجاه كثيرا،


هل يتأرجح الإتجاة بمعدل مثلا 5 ميجا هيرتز هذا هو حافة الخطر لى "اذا تأرجح ب 10 هيرتز يكون انجاز له" بالإضافة سيكون هناك filter لا تقلق



> ولكن المشكلة الأكبر في التوقيت، فلو تأخر توقيت عكس اتجاه العداد عن توقيت عكس اتجاه الدوران، ولو لواحد مايكروثانية أو حتى أقل فأنت في مشكلة كبيرة


من أين أتيت بالواحد مايكرو ثانية هذه
ومع ذلك نعم سيتم عكس الإتجاة فى زمن تقريبا 80 نانو ثانية

وشيئ آخر لماذا يتم عكس إتجاة العد فى العداد
العداد سيعد من 0 إلى 0xFFFF دائما اما اشارة السرعة الخارجة سيتولاها المتحكم فى حساباته
ولكى يعكس المحرك إتجاهه يجب (فيزيائيا) أن يمر على السرعة 0 فما هى المشكلة من مسح كل الخانات القديمة وبداية الكتابة بالسرعات السالبة مع الإحتفاظ بنفس اتجاه العد

بمعنى ان العداد لن يعد مرة up scale ومرة down scale فهذا غير عملى



> أنا اخترت أيسر الطرق وهو استعمال معالج يتعامل مع إشارات الإنكودر مباشرة، وربما أكتشف بعدها أن استعمال دائرة خارجية أفضل


نعم هذه هى الأفضل لكن ان لم تملك واحد مدمج يجب عليك ان تنشئ آخر
وبالطبع الداخلى أفضل لا تقلق



> أنا أتحدث تحديدا عن الدرايفز
> واعلم أن pid يستخدم بكثرة في الصناعة
> ولكن في الدرايفز لا يستخدم إلا في مشاريع الهواة والدرايفز الرخيصة، وهنا أقصد الشكل الكلاسيكي منه
> 
> ...


إتفقنا إذا



> هذا يعتمد على تعريفك للثابت الزمني الميكانيكي
> عرفه لي أولا كي يكون هناك اتفاق على المعنى، ثم نتناقش حوله
> بحيث لا يحدث كما حدث عند النقاش عن اتجاه فقد الجهد في الدايود، ثم اكتشفنا أننا نتحدث عن دائرتين مختلفتين


الثابت الزمنى الذى يعتمد على inertia & friction وهو على ما اذكر j/B


> فقط أود أن أذكرك أنني قلت أن أحد أهداف المشروع هو أن يكون منصة لاختبار عدة هياكل مختلفة للتحكم
> سأبدأها غالبا بال pid الكلاسيكي، ثم بعدها p/pi/pi، ثم بعدها ربما أجرب أي شيء آخر
> ولكن أظن أن هناك اتفاق في الرؤى بيننا، فالهاردوير ما هو إلا منصة اختبار، وسأحاول أن أجعله جيدا قدر المستطاع، أما السوفتوير، فأستطيع أن ألعب به كما أريد، ولكن مع وضع عيني على أن الهدف هو الوصول لمنتج تجاري


اذا استطعت ان انهى الدرايفر فى وقت قليل أستطيع إستخدامة فى احد المشاريع قريبا



> أخ أحمد، بما أنك تفضل الأتمل، ما رأيك في هذا المتحكم
> AT32UC3C0512C
> فهو 32 بت، سريع، 66 ميجاهرتس، ذاكرته كبيرة، 512 كيلوبايت، به عدد كبير من الأرجل للإدخال والإخارج، به ADC و DAC وPWM
> وفوق كل هذا فيه مدخلين للإنكودر، وهذا يعني أنه يمكنك التحكم في موتورين كل بإنكودر واحد، أو موتور واحد فيه 2 إنكودر
> ...


نعم

waaaaaaaaaaaaaay too much than I need 

ملحقات كثيييييرة جدا لا أحتاجها ك 7 موديول للإتصال بال RS232 و موديول ethernet و channels كثيرة لل ADC وال DAC 12 بت وكثير وكثير ستجعل من المتحكم غالى جدا 

ما يمكن ان احتاجة فى هذا المتحكم هو وحدة ال ALU العالية جدا 32 بت وساعتها من الممكن ان اعمل على microprocessor أو اشترى DSP أوفر لكن الأفضل ان ابدأ بما هو عندى الآن فما زلت مقتنع بالفكرة التى قلتها لك فى السابق


----------



## zamalkawi (26 يوليو 2011)

هو غالي بالفعل، فثمنه أعتقد أنه يتعدى المئة جنيه، وربما يصل إلى 150
ولكن هناك أنواع بنفس الإمكانيات الحسابية، ولكنها أقل في الذاكرة وعدد الأرجل ووحدات الاتصال، إلى آخره، وربما هذه تكون أرخص
وربما تجد معالج به مدخل للإنكودر ويكون فقط 8 بت، وبالتالي يكون رخيصا
أظن أن المعالج الذي وضعته لك هو من أعلى المعالجات عندهم
ويمكنك اختيار الأقل


----------



## ahmed es (26 يوليو 2011)

ولا تنسى ان هذه المعالجات لا تأتى إلا فى صورة من صور التجميع السطحى tqfp ,qfp ,qfn ,هكذا اى انها تحتاج دقة عالية فى الهاردوير

انا عندى atmega128 بإمكانيات أعلى وهو 8 بت
لكن سأجل هذا الى وقت ان تحدث بالفعل مشكلة فى ما استخدم


----------



## ahmed es (26 يوليو 2011)

انا وجدت ان ضبط الإنكودر سيعطلنى لذا قررت ان استعين بواحد من زمايلى تخصص ميكانيكا وبدأت مع التميم الكارت الإلكترونى

بخصوص موضوع قراءة إشارات قررت أخيرا ان تكون وحدة قراءة الإنكودر خارجية 

وحدة قراءة التغير فى الإتجاه كانت سهلة جدا فى التصميم

الإشارة A ستكون الدخل الخاص ب D flip flop ولن تظهر على الخرج direction out إلا عند وجود نبضة صاعدة من الإشارة B والتى ستكون هى على طرف clock ل D flipflop 

وفى حالة مثلا الإتجاه CW ستكون دائما وأبدا الإشارة الصاعدة عندما تكون A فى حالة 0 فولت وهو ما سيظهر دائما فى الخرج كما هو موضع فى ال schematic





أما لو غير المحرك إتجاهه ستكون النبضة الصاعدة من الإشارة B عندما تكون الإشارة A high وهو المرة الوحيدة التى سيحدث عندها تغير فى الخرج والمرة الوحيدة أيضا التى سيحدث عندها interrupt للمتحكم

بالنسبة للنبضات نفسها والتى ستمثل الزيادة فى الموضع يجب الحصول من أى تغير منطقى فى حالة اما A أو B على نبضة ليعدها العداد داخل المتحكم

فكرت فى شئ ان يكون هناك register خارجى يحمل الحالة السابقة لإشارتى A , B ومقارن يقارنهم دائما بالحالة الآنية لهم فإذا حدث أى تغير فى أى وقت لحالتهم سيتغير خرج المقارن والذى سيصدر إشارة ليعدها العداد داخل المتحكم وفى نفس الوقت سيحمل ال register بالحالة الجديدة ل A,B ليتم مقارنتهم مرة أخرى

عذرا لم اقم برسم schematic للحالة الثانية حتى تتبلور الفكرة وأتأكد منها سأقوم بذلك

_________________________________

وهناك فكرة أخرى ان استخدم متحكم صغير AT90s1200 ك co-processor ليهتم فقط بكل شئ يخص ال encoder لكن لن ألجأ الى هذا الا اذا تعقدت الفكرة السابقة


----------



## المهندس ابوروان (28 يوليو 2011)

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


----------



## ahmed es (31 يوليو 2011)

بعد عناء مع الأوتوكاد
صممت هذا الإنكودر موجود فى ملف pdf فى المرفقات

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




غريب بعض الشئ

وصممت له مكتبة على برنامج رسم الدوائر الإلكترونية eagle وطبعته على pcb لكن حتى الآن لم انجح فى الحصول على إشاراته

صورة ال pcb 





المهم سأبلغك اذا حصلت على نتائج

لكنى اتفقت مع واحد من زملائى مهندس ميكانيكا انه سيصنع الإنكودر عندما انتهى منه ويركبه على الموتور


----------



## zamalkawi (31 يوليو 2011)

عليك بعد التجميع أن تتأكد من أن الإشارة تكون 50% 1، و50% صفر
ولو لم تكن النسبة هكذا، فعليك أن تفكر في طرق كهربية إلكترونية لضبطها، أو إعادة التصميم الميكانيكي


----------



## ahmed es (31 يوليو 2011)

إذا كانت الإزاحة واحدة فى جميع النبضات يمكن ضبطها فى البرنامج لكن إن لم يكن كذلك فلا أستطيع أن افعل شيئا

على العموم دع الأمر لاوانه لكن انت الى أين وصلت


----------



## zamalkawi (31 يوليو 2011)

كنت قد توقفت في الفترة الأخيرة بسبب الانشغال في بعض الأمور الخاصة
الانشغال قل الآن (أو بمعنى أدق بعد يوم الثلاثاء بإذن الله) ولكن لا أعرف إن كنت سأعمل في رمضان، حيث أن الوقت في رمضان يكون عادة محدودا للغاية


----------



## zamalkawi (31 يوليو 2011)

ahmed es قال:


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



لو تتعامل مع الإشارة كإشارة أنالوج نعم يمكن التعامل معها من البرنامج
ولكن على حد علمي أنك ستتعامل معها كإشارة ديجيتال، والحد الصاعد والحد الهابط سيكونان هما من يحرك العدادات
لذا لو أنك ستحاول استخدام الإنكودر في نظام ×4 فيجب ضبطها جيدا


----------



## ahmed es (31 يوليو 2011)

تذكر انى قلت لك انه ليس عندى وحدة لقراءة الإنكودر وانى سأبنيها يمكن أخذ هذه فى الإعتبار


----------



## zamalkawi (31 يوليو 2011)

ahmed es قال:


> تذكر انى قلت لك انه ليس عندى وحدة لقراءة الإنكودر وانى سأبنيها يمكن أخذ هذه فى الإعتبار


بوجه عام، أرى أن تحدد أولوياتك
فمثلا بالنسبة لي، أنا أريد أن أبني الدرايف، شاملا مرحلة القدرة، وشاملا تجربة عدة خوارزات تحكم، والهدف النهائي الوصول لمنتج تجاري
لذا لن ألجأ لصنع إنكودر إلا مضطرا، فليس تصنيع الإنكودر من أهدافي، والحمد لله لم أضطر لهذا
لذا أرى أن تضع أهدافك أولا، وتحاول تلافي كل ما هو ليس ضروريا، لأن التعقيدات في ما هو ضروري كافية!


----------



## ahmed es (1 أغسطس 2011)

أولا كل عام وانت طيب بمناسبة شهر رمضان

ثانيا تجربة إستخراج اشارات من الحساسات بائت بالفشل
سأنتقل لتصنيع الحساس من ليدات تحت الحمراء و photo transistors لعل وعسى



> *لذا لن ألجأ لصنع إنكودر إلا مضطرا، فليس تصنيع الإنكودر من أهدافي، *


معك حق لكن بالنسبة لى ما باليد حيلة


----------



## zamalkawi (1 أغسطس 2011)

ahmed es قال:


> أولا كل عام وانت طيب بمناسبة شهر رمضان
> 
> ثانيا تجربة إستخراج اشارات من الحساسات بائت بالفشل
> سأنتقل لتصنيع الحساس من ليدات تحت الحمراء و photo transistors لعل وعسى



أولا كل عام وأنت وكل القراء والمشاركين، وكل المسلمين بخير

ثانيا، ما رأيك في أن تضع مخطط للدائرة التي لم تعمل؟ الإلكترونيات ليست تخصصي، ولكن اثنين يفكران خير من واحد وحده


----------



## ahmed es (1 أغسطس 2011)

ليس هناك دائرة الكترونية بمعنى دائرة معقدة

المشكلة فى الهندسة العكسية للسنسور الذى يأتى مع القرص












جربت معظم الإطراف لكن لم احصل على إشارة خرج منه

انا فقدت الأمل فيهم اصلا فخروج إشارة منهم لا يستحق العناء وخصوصا مع بساطة عمل السنسور

انا عندى led infrared و 2 photo transistors وهذا ما احتاجة بالضبط
وسأعمل على تكوين الإنكودر منهم

لكن انتظر من واحد صديق لى ان يحضل لى bearing لتثبيته فى احد العلب ويدور الإنكودر عليه


----------



## zamalkawi (15 أغسطس 2011)

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


----------



## علي ظاهر (20 سبتمبر 2011)

جزاك الله كل خير مع اني وصلت متأخرا الى هذا الموضوع الشيق الا اني اعتقد اني استفدت كثيرا منه 
علما اني اعمل في مجال الكهرباء الصناعية ولي سؤال
اعتقد ان هذا المشروع قريب جدا من الانفيرتر المتحكم في سرعة المحراكات فهل يمكن صناعة الانفيرتر بنفس الطريقة


----------



## zamalkawi (3 أكتوبر 2011)

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

بالنسبة لهذه الملحوظة:


علي ظاهر قال:


> جزاك الله كل خير مع اني وصلت متأخرا الى هذا الموضوع الشيق الا اني اعتقد اني استفدت كثيرا منه
> علما اني اعمل في مجال الكهرباء الصناعية ولي سؤال
> اعتقد ان هذا المشروع قريب جدا من الانفيرتر المتحكم في سرعة المحراكات فهل يمكن صناعة الانفيرتر بنفس الطريقة



بالفعل هناك تشابه كبير بين الدرايف والإنفرتر، ولكني للأسف لا أعرف الكثير عن الإنفرتر، لذا لن أستطيع أن أفتيك


----------



## الزير911 (12 فبراير 2012)

*السلام عليكم*

موضوع اكثر من رائع بالتوفيق

عندي ملحوظ ممكن انها تفيدنا 
وهي هل ممكن ان نستخدم الماوس بدل من الانكودر عن طريق برنامج معين لان فكرة الماوس عباره عن محورين x و y يتحركان على سطح المكتب ممكن انها تفيدنا كثيرا


----------



## م.مؤمن الديراوي (13 فبراير 2012)

مشكور جداً على المعلومات القيمة 
مع تحياتي م.مؤمن الديراوي


----------



## مجد درويش (11 أبريل 2012)

مشكوووووووور


----------



## adison2000 (14 أبريل 2014)

للرفع ..


----------



## miltronique (31 أكتوبر 2014)

السلام عليكم
بارك الله فيكم على الموضوع الشيق ولكن كالعادة لا يكتمل عمل قط عند العرب
نبدأ بطاقة كبيرة وننتهى بطاقة متبددة


----------



## miltronique (31 أكتوبر 2014)

اريد أن أعرف هل وجدت حل للمشكل


----------



## شوقي حسن (24 يوليو 2015)

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

‏


----------

