هنا شرح ال stepper motor نظرية عمله وطريقة برمجته بأكثر من لغة برمجية ! !

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

الموضوع غير منقول وغير مقتبس وعلى من أراد النقل ذكر المنتدى وإسم المؤلف

نتكلم بمشيئة الله تعالى عن المحرك الخطوى

STEPPER MOTOR
--------------------------------------

ا - شرح فكرة عمله الكهربية

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

1- المايكرو بيزيك

2- المايكرو سى

3- البيزيك بلس ( بروتون ) … … إحتمال

==========================

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

ولكن هيا بنا أولا نرى فكرة عمل المحرك الكهربائى بصفة عامة ،

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

[CENTER]والآن فإن هذه البرادة الحديدية أو أى معدن قابل للمغنطة مثل الحديد المطاوع فهو يتأثر بالمغنطة بقدر مقاطعته لخطوط المجال المغناطيسى وحسب موقعه من الملف ويصبح بالتالى قطعة من المغناطيس لها قطبان S , N

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

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

وبالتالى فيحدث تنافر وتجاذب بينها وبين المجال المتولد من الملف

فكرة الموتور عبارة عن تنافر وتجاذب حدث مع مجالان مغناطيسيان أحدهما ناتج من الملف والآخر ناتج من مغناطيس دائم أو مغناطيس كهربائى فى بعض الأحيان وعندما نجعل أحد الجزئان حر الحركة فإننا نسمح له بالتحرك بفعل التنافر والتجاذب وهذه تجربة عملية لفكرة إنتاج الحركة أو بما يسمى المحرك الكهربائى :-

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

وحتى ذلك الحين أستودعكم الله
والسلام عليكم ورحمة الله وبركاته
إعجاب واحد (1)

الموضوع منقول من منتدى القرية الإلكترونية
طبعا الكاتب انت

دعابة :slight_smile:

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

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

انتظرونا .

إعجاب واحد (1)

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

المحرك الخطوى ونظرية عمله الكهربائية

=====================

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

والفكرة تعتمد على التنافر والتجاذب

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

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

وهذه الصور لأربع خطوات باستخدام أربع أقطاب ونرى فيها أن كل خطوة للجسم الدوار تعتمد على تمرير تيار فى ملفان متقابلان فيعملان على جذب لأقطاب العضو الدوار ( الروتور) المخالفة وتنافر الأقطاب المتشابهه وقد ميزنا كل قطب بلون مختلف بغض النظر عن تسمية الأقطاب بالشمالى والجنوبى S , N

=========

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

=========

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

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

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

يتبع

إعجاب واحد (1)

ربنا يوفقك ويجزيك خيراً
واضح إن مستقبل المنتدى القادم هايكون في مجال التحكم لن منتدى المايكروكنترولر والمكياترنكس في سباق رائع

بصراحة اشك

النوم مش طبيعي فى القسم ده

[COLOR=#0e4982][FONT=Tahoma]

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

والله ولى التوفيق ،

==========================================

تكملة ،

وهنا نرى كل ملفان متقابلان تم تلوينهما بلون واحد ونرى كيف يتحرك الروتور خطوة خطوة :-

وهذه هى الطريقة الثانية التى شرحناها ويتحرك فيها الروتور خطوة خطوة أيضا مع عزم أقوى كما سبق وذكرنا :-

وأما هذه الطريقة فهى ذات العزم الأقوى والتى تستخدم نظام نصف الخطوة :-

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

وسنرى فى الحلقة القادمة بمشيئة الله طريقة إعداد البرمجة ،

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

[FONT=Arial][SIZE=4]وقبل أن نكمل موضوعنا أتوقف فى هذه الحلقة مع سؤال عن طريقة معرفة توزيع الملفات وتقسيمها لما لدينا من موتور لأنى أعتبر هذا السؤال سؤال هام جدا ورغم أن مع الموتور غالبا يكون الداتا شيت إلا أننا أحيانا نحصل على موتور دون داتا شيت مثل أى موتور مستعمل أو قديم ، وهنا أتوقع عدم استطاعتنا توقع طريقة توزيع الأطراف ! ! ! لماذا ؟

لأن طريقة القياس باستخدام الأوم لن تفلح !؟ وهذا يرجع لأسباب كثيرة يكفى أن أذكر منها سبب واحد فقط يحسم معنا الأمر وهو أنك لن تستطيع تحديد اى طرف من طرفان الملف هو الذى يحتاج موجب على سبيل المثال كى يتم تنظيم عملية الخطوات وترتيب اتجاهها أو يمكننا القول بمعنى آخر وهو ( يصعب تحديد اتجاه الملف بطرفان وتحديد أى ملف بجوار الآخر وهل من ناحية اليمين أم اليسار ) ،[/size][/font]

ولكن أذكر بعض الماركات وما يناسبها من ألوان نستنتج توزيعها حسب عدد الأطراف الخاص بكل نوع نستعين بالرسم التالى :-

الموديل كما هو مكتوب على الرسم

======

Japan ServoCopal Wiring Colors

JST Wiring Colors

NEMA 17-23-34 Wiring Colors

Vexta Wiring Colors

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

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

جزاك الله الف خير وجعلها في ميزان حسناتك وعقبال البرمجة

السلام عليكم

شكرا مهندس أحمد الديب ومهندس أبو أنس وأشكر جميع الإخوة ،

------------------------

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

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

1- نضغط على المفتاح رقم 1 وننظر كيف اتجهت أقطاب العضو الدوار

2- نضغط على المفتاح رقم 2 وننظر كيف اتجهت أقطاب العضو الدوار

3- نضغط على المفتاح رقم 4 وليس 3 وننظر كيف يسير القطب فى إتجاه منتظم ولكن نلاحظ أن فى كل خطوة يقفز العضو الدوار 90 درجة ويظهر لنا هذا على التدريج .

-----------------------

والآن نقوم بتجربة نصف خطوات ،

1- نضغط على النقطة الحمراء للمفتاح رقم 1 لتثبيت المفتاح وننظر كيف اتجه القطب

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

3- نضغط على النقطة الحمراء للمفتاح رقم 1 لتحريره وهنا يفقد الملف الأول المغنطة الكهربائية المؤقة بفعل التيار ويصبح الملف الثانى له القوة المؤثرة وحده وهنا لا يوجد سبب يجعل القطب الدوار ثابت بين الملفان ولكن يتجه كليا للملف الثانى بحركة 45 درجة وتتصف بنصف خطوة

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

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

وسنرى إن شاء الله فى الحلقة القادمة البرمجة التلقائية لهذه الفكرة .

يمكننا تحميل ملف البروتوس لتجربة الخطوات السابقة .

http://www.4shared.com/file/iH8VoEyC/steppermotor.html

وإلى اللقاء فى الحلقة القادمة والسلام عليكم ورحمة الله وبركاته

السلام عليكم

هذه هى الحلقة الأخيرة من هذا الموضوع الهام

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

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




البرمجة بلغة المايكرو بيزيك
================


البرنامج

program stepperMotor
Declarations section’
dim aa,motor as byte

:main
trisb = 0
trisa = 3
ANSEL = 0

motor = %11000011
:wleed
(while (porta.0=1
(portb = %0011 delayms(150
(portb = %0001 delay
ms(150
(portb = %1001 delayms(150
(portb = %1000 delay
ms(150
(portb = %1100 delayms(150
(portb = %0100 delay
ms(150
(portb = %0110 delayms(150
(portb = %0010 delay
ms(150
wend
(while( porta.1=1
(portb = %0011 delayms(200
(portb = %0110 delay
ms(200
(portb = %1100 delayms(200
(portb = %1000 delay
ms(200
(portb = %1001 delay_ms(200
wend
goto wleed
.end

[CENTER]

البرمجة بلغة المايكرو سى
================


البرنامج
[/center]

stepper motor//
;char aa,motor= 0b11000011
} ()void main
;portb = 0; ansel= 0
;trisb = 0; trisa =3
:wleed
} (while(porta.f0 == 1
;(portb = 0b0011; delay_ms(150
;(portb = 0b0001; delay_ms(150
;(portb = 0b1001; delay_ms(150
;(portb = 0b1000; delay_ms(150
;(portb = 0b1100; delay_ms(150
;(portb = 0b0100; delay_ms(150
;(portb = 0b0110; delay_ms(150
;(portb = 0b0010; delay_ms(150
{
} ( while( porta.f1 == 1
;(portb = 0b0011; delay_ms(200
;(portb = 0b0110; delay_ms(200
;(portb = 0b1100; delay_ms(200
;(portb = 0b1001; delay_ms(200
{
; goto wleed
{
================

الشرح

استخدمت لحضراتكم المتحكم الصغير
16f88

وبعد تحميل الملف المرفق وتشغيله نلاحظ شئ !

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

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

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

ونلاحظ أن فى كلا البرنامجان تم وضع كود الحركة الخاصة بالجهة اليمين هكذا
ملف يعمل 1000
الملف السابق مع الملف التالى على الترتيب 1100
الملف الأخير وحده 0100
الملف الأخير مع الذى يليه على الترتيب 0110
الملف الأخير وحده 0010
الملف الأخير مع الذى يليه على الترتيب 0011
الملف الأخير وحده 0001
الملف الأخير مع الملف الأول الذى بدأنا به 1001

إنتهت دورة الملفات كدورة كاملة 360 درجة بمجرد العودة للسطر الأول

ملاحظة :

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

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

زاوية الدوران للخطوة الواحدة 90 درجة وللنصف خطوة 45 درجة ،
الدرجة تحسب تبعا لتقسيم عدد الأقطاب للملفات على 360 درجة ،
ملف البروتوس والهيكس
http://www.4shared.com/file/vBuV1giM/steppermotor02.html
أتمنى أن أكون قد وفقت ، وما توفيقى إلا بالله عليه توكلت وإليه أنيب ،

الموضوع والشرح بالكامل غير منقول وغير مقتبس


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

إعجاب واحد (1)

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

يعطيك العافيه اخيي على الموضوع المميز

عندي استفسار
انا طلبت الموتور من برا … و طلبت الMicrocontroller

بس

شنو الkit اللي لازم استعمله عشان اقدر ابرمجه باللغات اللي ذكرتها ؟

انا اللي اعرفه Mplab ICD2 و توصل معاه target Board

لكن مايشتغل إلا على برنامج الMPLab و هذا بس حق لغة الأسمبلي و السي

انا ابي Kit اقدر ابرمج فيه الpic على لغة الMicroC وو ياريت تذكرلي البرنامج

و اكون شاكرلك من كل قلبي

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

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

أما هنا فأظن أن المشروع اتضح والله أعلم .

والسلام عليكم

الف شكر على المعلومات القيمة وارجوا المزيد:):slight_smile:

جزاك الله خيرا ً أخي الكريم ونفعنا الله وإياكم

بارك الله فيك اخ وليد

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

بارك الله فيك وجزاك الله خيرا على هذه المعلومات القيمة