ammarroza

صناعة وبرمجة الروبوت

108 ردود في هذا الموضوع

اعتقد ان قصدة من BEC

هي اختصار لكلمة Because

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
اعتقد ان قصدة من BEC

هي اختصار لكلمة Because

احيانا لازم الواحد ما يفكر كتير :unsure:

ولا يشتغل وهو نعسان

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

Serial port

لا اريد التحدث عنه كثيرا ولذلك سأختصر موضوع الهاردوير, وسيتمركز حديثي عن software

لان هدف الموضوع في النهاية الروبوت وما يخدمه فقط

يوجد عدة انواع واشكال لل serial port ولذلك سيتركز حديثي عما يسمى DE-9 والمبين بالصورة التالية

post-23774-1249200017_thumb.jpg

ان serial port يتكون من 9 pins موضحة بالجدول التالي

post-23774-1249200151_thumb.jpg

نحن نحتاج في عملنا كل من pin # 2,3, and 5, ولذلك لا اريد ان ادخل بشرح الباقي لاننا سندخل بال DTE & DCE ولا اعتقد اننا سنحتاج الى باقي pins في موضوعنا

فعند توصيل الدائرة نستخدم رقم 2 لاستقبال المعلومات

ورقم 3 يستخدم لارسال المعلومات

اي انه عندما نريد ان نرسل المعلومات, فاننا نعتبر في توصيلنا ان (pin # 3) هو القطب الموجب, و(pin # 5) هو القطب السالب

ان ال serial port يقوم باخراج المعلومات من pin واحد, ولذلك يقوم باخراجهم بشكل تسلسلي كل bit لحال, اما parallel port فانه يقوم باخراج ال bits مع بعض بشكل متوازي, كما هو موضح بالصورة

post-23774-1249200260_thumb.jpg

ولمزيد من المعلومات زوروا الرابطة التالية

RS-232

اما بالنسبة للكود

   System.IO.Ports.SerialPort serialPort1 = new System.IO.Ports.SerialPort();
serialPort1.PortName = "COM1";
serialPort1.Open();
serialPort1.Write("a");
serialPort1.Close();

System.IO.Ports.SerialPort serialPort1 = new System.IO.Ports.SerialPort();

هنا نقوم بتعريف object من نوع SerialPort

serialPort1.PortName = "COM1";

هنا نقوم بوضع اسم البورت’ وهو عادتا ما يكون COM1, COM2, etc

ويمكن ان تعرفوا ارقام البورت المتوفر لديكم من device manager كما بالصورة التالية

post-23774-1249200211_thumb.jpg

ملاحظة: COM4 هو عبارة عن USB-to-Serial converter device

			serialPort1.Open();

هنا نقوم بفتح البورت لارسال او استقبال الداتا

			serialPort1.Write("a");

هنا نقوم بارسال string من خلال البورت, وفي هذه الحالة a , وحرف a يحول الى ASCII ثم الى binary

اي انه يرسل 1100001 من البورت الى الجهاز المتصل اليه بشكل تسلسلي كما شرح سابقا

			serialPort1.Close();

هنا نقوم بأغلاق البورت

ستجدون في المرفقات برنامج يقوم بمراقبة serial port ويقوم باظهار جميع المعلومات المطلوبة والتناقل

المعلومات التي تحصل على بورت معين

free-serial-port-monitor

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

Parallel_port2.rar

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

usb

بالنسبة لل usb لم استطع الى الآن ان ابرمجه او اقوم بعمل اجهزة لاوصلها عليه, وذلك لانه يستخدم بروتوكول معين, وبه header خاص به, ولذلك هو يرسل المعلومات ك serial بعد اضافة ال header ولكن بطريقة مختلفة.

ولذلك لا اجد سبب لشرحه ك hardware اذا لم استطع ان ابرمجه او ان اقدم دوائر له, سأبحث على الانترنت ان شاء الله اكثر عن هذا الموضوع, وحين توفر المعلومات سأعرضها لكم

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

Ports converters

ستجدون اجهزة كثيرة تقوم بالتحويل من USB to Serial and USB to parallel port

وذلك لان اغلب الاجهزة الحديثة لا تأتي ب serial or parallel port

وهذه الانواع من الاجهزة (او الوصلات) عند شرائها تأتي مع تعريف, بعد تعريفها ستتعامل معها على انها serial or parallel وليس USB, لان الكمبيوتر في هذه الحالة هو الذي سيقوم بالتحويل ووضع ال header وهكذا

وهذه بعض الاجهزة

serial to USB converter

post-23774-1249200670_thumb.jpg

Link 1

Link 2

Link 3

parallel to USB converter

post-23774-1249200686_thumb.jpg

Link 1

Link 2

Link 3

في المرة القادمة سأبدأ بوضع تطبيقات على serial and parallel port وبعض الدوائر الالكترونية وطرق التوصيل والتحكم, وسأبدأ ان شاء الله بعمل برامج بشكل جدي قليلا, لانو بيكفي لعب :D

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

ونتمى لك التوفيق وكذلك التوفيق في ماتريد طرحه

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكرآ لك أخي على الموضوع الرائع

وأتمنى افادتي في بعض التساؤلات

1/ هل سنحتاج إلى تركيب كمبيوتر داخل الروبوت (معالج , لوحة أم , رامات , جرافيك كارد ... إلخ) ام اننا سنقوم بصناعه لوح الكتروني خاص بالروبوت .؟

2/ مشروعي في الروبوت يتطلب اتصال بشبكة الجوال (الهاتف المحمول) عن طريق شريحة SIM للوصول إلى الإنترنت عن طريق خدمات الجيل الثالث 3g ليكون التحكم بالوربوت عن طريق الانترنت بالكامل

كيف استطيع ان أبدأ ؟ وماهي الأدوات التي أحتاجها ؟ مثلا وصلة USB TO SERIAL OR PARALLEL غير متوفرة بالرياض هل هي متوفره في مصر وأين (أعرف شخص مسافر هناك) وما النوع ال1ي احتاجه SERIAL OR PARALLEL..؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكرا جزيلا على دعمك اخ نبيل, صراحة احتاجه :D

هل سنحتاج إلى تركيب كمبيوتر داخل الروبوت (معالج , لوحة أم , رامات , جرافيك كارد ... إلخ) ام اننا سنقوم بصناعه لوح الكتروني خاص بالروبوت .؟

سأقوم بشرح ثلاثة طرق ان شاء الله,

الاولى: ان تتحكم بشكل لاسلكي (وسلكي) بالروبوت من كمبيوتر بعيد, وسأشرح ان شاء الله طريقة صنع الدائرة الالكترونية من الصفر (سهلة) مع عمل البرنامج على الكمبيوتر.

ويمكنك وضع لابتوب داخل الروبوت اذا كان حجم الروبوت كبير

ثانيا: وضع وبرمجة بعض الاجهزة مثل network relay , ويمكن التحكم بها عن طريق الكمبيوتر او عن طريق PDA

ثالثا: التحكم عن طريق embedded system وهو عبارة عن كمبيوتر صغير (فالنعتبره كذلك) يمكن وضعه داخل الروبوت وبرمجته.

مشروعي في الروبوت يتطلب اتصال بشبكة الجوال (الهاتف المحمول) عن طريق شريحة SIM للوصول إلى الإنترنت عن طريق خدمات الجيل الثالث 3g ليكون التحكم بالوربوت عن طريق الانترنت بالكامل

ستستطيع (ان شاء الله) ان تتحكم بالروبوت عن طريق الانترنت (سواء موبايل او كمبيوتر) او حتى عن طريق الاتصال الهاتفي. ولكن اتمتى ان يتاح الوقت لذلك.

ويجب ان تعمل حساب الكاميرا اذا كان التحكم عن طريق شركة الموبايل, لانني لم اجربها

كيف استطيع ان أبدأ ؟ وماهي الأدوات التي أحتاجها ؟ مثلا وصلة USB TO SERIAL OR PARALLEL غير متوفرة بالرياض هل هي متوفره في مصر وأين (أعرف شخص مسافر هناك) وما النوع ال1ي احتاجه SERIAL OR PARALLEL..؟

لقد ذكرة سابقا في الموضوع

يجب ان يحدد الشخص عند عمل الروبوت بعض الاشياء الهامة مثل:

مهام الروبوت

مواصفاته, حجمه, شكله المناسب

امكانياته

نوع التكنولوجيا المستخدمة في التحكم (Computer, microcontroller, embedded system, PDA, etc)

لغة برمجته (Java, .net, assembly, C++, etc )

نوع الاتصال (wire or wireless)

هل يحتاج الى اضافات (Camera ,sensors, ARM )

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

فارجو ان توضح الفكرة كاملة قبل ان تبلش, ولكي استطيع ان اساعدك

وبالنسبة لبعض القطع, يجب عليك ان تعمل حسابك لشراء بعض القطع من الانترنت, لانك لن تجدها لا بالسعودية ولا مصر ولا الوطن العلربي كله احيانا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

فالنبدأ ببعض التطبيقات البسيطة على parallel port

اولا LED

ان مخارج الكمبيوتر تخرج 5V من الكهرباء, سواء كانت LPT, Serial, or USB. ولذلك يمكننا توصيل LED بشكل مباشر بها, دون اي خطر على الكمبيوتر.

ويمكن توصيل القطب الموجب في PIN 2 to PIN 9 حسب ال PIN المراد التحكم به.

اما القطب السالب فيمكن توصيله باي PIN من 18 الى 25 , لا يوجد فرق لانهم فعليا موصولين ببعض وكلهم GND

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

التحكم ب relay عن طريق LPT

ستجدون هذه الدائرة المستخدمة للتحكم بال relay, ويمكن ان نصل بهذا ال relay اي شيء نريد تشغيله عن طريق الكمبيوتر مثل لمبة, مروحة, ثلاجة, او اي اجهزة اخرى تعتمد على كهرباء AC or DC سواء كان 12V او 220V.

او يمكننا وصل اي سلكين ببعض كما سنرى لاحقا.

post-23774-1249806842_thumb.gif

post-23774-1249806278_thumb.gif

- Diod 1 يستخدم لحماية LPT من التيارات العكسية

- 10k resistance هذه المقاومة تستخدم لحماية الترانزيستور

- 2N3904 transistor عند استقبال 5V من الكمبيوتر يقوم بتمرير المصدر الثاني للكهرباء وهو هنا 12V وذلك لتشغيل ملف ال relay

- Diod 2 لحماية الترانزستزر من التيارات العكسية, كما انه يحمي الجهاز عند ضعف Amp في مصدر الطاقة الثاني 12V في حال كان بطارية

- Relay عند استقبال التيار الكهربائي (هنا 12V) يقوم بجذب الذراع الداخلي به, فيتصل طرفيه ببعض ليسمح بمرور التيار, مثل الصورة التالية (انظروا للخط الاحمر وهو التوصيل)

post-23774-1249757981_thumb.gif

ويجب التنبيه هنا انه يوجد اختلاف بين ال relays, فالملفات تعمل بتيارات مختلفة مثل 6,9,12V, ولذلك يرجى الانتباه لذلك عند شراء ال relay لكي لا تقم بتخريب الملف الداخلي به.

وبالنسبة للكود فلا نحتاج الا ان نخرج 1 من PIN 6

Bin[5]=1;
Output(0x378, Bin[0]);

ويمكنكم الاستعانة بالجزء السابق من الموضوع لفهم الكود والذي يدعى "التحكم بال parallel port "

والبرنامج الموجود هناك كافي لتشغيل LED or relay

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

التحكم بال Stepper motor

لقد تحدثت سابقا عن ال stepper motor وطريقة عمله, وهنا سأتحدث عن طريقة التحكم به عن طريق LPT

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

ستجدون الدائرة المستخدة في الصورة

هنا نستخدم IC يدعىULN2003

والذي يقوم بتمرير فرق جهد خارجي قدره من 12 الى 24 فولت, ويجب الانتباه هنا انه يتحمل 500 ملي امبير فقط. (اذا ارتم امبير اعلى يمكنكم استخدام relay)

وهذه هي Datasheet الخاصة بال ULN2003

post-23774-1249758072_thumb.jpg

هنا ستجدون في هذه الدائرة انه عندما ندخل 1 يخرج 0

وعندما ندخل 0 يخرج 1

كما هو موضح بالصورة NOT gate

ولذلك سيتم عكس الارقام المخرجة من البرنامج

post-23774-1249758146_thumb.jpg

ستجدون ثلاثة طرق للتحكم بالمحرك الخطوي:

Single Stepping

كل خطوة تحرك المتور 7.5 درجة, ونحتاج لتكرارها 12 مرة ليدور دورة كاملة

post-23774-1249758171_thumb.gif

High Torque Stepping

ايضا كل خطوة تحرك المتور 7.5 درجة, ونحتاج لتكرارها 12 مرة ليدور دورة كاملة

ولكن هنا يكون العزم اكبر من الطريقة الاولى

post-23774-1249758248_thumb.gif

Half Stepping

ايضا كل خطوة تحرك المتور 3.75 درجة, ونحتاج لتكرارها 24 مرة ليدور دورة كاملة

وهذه تستخدم لدقة اكبر في المسافة

post-23774-1249758239_thumb.gif

ولكن البرنامج التالي للتحكم بالطريقة الاولى

switch (Step)
{
case 1:
Pin2.BackColor = System.Drawing.Color.Green;
Pin5.BackColor = System.Drawing.Color.White;
OutFromLPT(1, 0);
OutFromLPT(4, 1);
Step = 2;
break;
case 2:
Pin3.BackColor = System.Drawing.Color.Green;
Pin2.BackColor = System.Drawing.Color.White;
OutFromLPT(2, 0);
OutFromLPT(1, 1);
Step = 3;
break;
case 3:
Pin4.BackColor = System.Drawing.Color.Green;
Pin3.BackColor = System.Drawing.Color.White;
OutFromLPT(3, 0);
OutFromLPT(2, 1);
Step = 4;
break;
case 4:
Pin5.BackColor = System.Drawing.Color.Green;
Pin4.BackColor = System.Drawing.Color.White;
OutFromLPT(4, 0);
OutFromLPT(3, 1);
Step = 1;
break;
}

فالنأخذ جزء من الكود وهو

case 1:
Pin2.BackColor = System.Drawing.Color.Green;
Pin5.BackColor = System.Drawing.Color.White;
OutFromLPT(1, 0);
OutFromLPT(4, 1);
Step = 2;
break;

case 1:

لتحريك الملف الاول

Pin2.BackColor = System.Drawing.Color.Green;
Pin5.BackColor = System.Drawing.Color.White;

يستخدم هذا الكود لتلوين ال button المستخدم باللون الاخضر, والذي يدل على الملف المراد تحريكه (اخراج الكهرباء له)

واللون الابيض اي انه غير مستخدم

OutFromLPT(1, 0);

يقوم باخراج 0 من البورت الاول (وهو فعليا رقم 2), وتحدثت سابقا ان القيمة معكوسة بسبب الدائرة ULN200, وهنا ليصل الكهرباء للملف الاول

OutFromLPT(4, 1);

يقوم باخراج 1 من بورت 4 (وهو الملف السابق), وهنا لفصل الكهرباء عن الملف الرابع (الذي يسبقه)

Step = 2;

للانتقال للخطوة الثانية

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

يوجد دوائر جاهزة للتحكم بال relay عن طريق parallel port يمكنكم شرائها من الانترنت, وبالنسبة لبرمجتها هو نفس الكود الموجود بالشرح في الاعلى, ولكنها دوائر جاهزة

تدعى LPT relay board

ان شرائها اضمن من بنائها, ولكن بنائها ارخص

post-23774-1249759268_thumb.jpg

واين التعلم وال fun اذا بدنا نشتري كل شيء ؟ :P

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

نسيت وضع البرنامج

Parallel_port3.rar

تم تعديل بواسطه ammarroza
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

نتمى التوفيق

تم تعديل بواسطه نبيل سيد طه
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

عذرا للتأخير وسأقوم باكمال الموضوع قريبا ان شاء الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

ولهذا اقول لك من حقك الراحة كما نحن الان نطلبها لانفسنا

وفقك الله

تم تعديل بواسطه نبيل سيد طه
0

شارك هذا الرد


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

شكرا اخي العزيز

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

ولذلك سأعود ان شاء الله لاكمال هذا الموضوع عندما انتهي من المشروع

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اخي هل من الممكن ان تبين كيف وصلت لتحديد عدد النبضات ليدور المحرك دورة كاملة ؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

خطئي كان

Single Stepping

كل خطوة تحرك المتور 7.5 درجة, ونحتاج لتكرارها 12 مرة ليدور دورة كاملة

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

عدد النبضات اللازمة لدورة واحدة= ((360) مقسوم على (مقدار الدرجة التي يدورها المحرك بالنبضة الواحدة) )

المحرك يكتب عليه نوعه ودرجتة مثال( 7.5)درجة

اي كل (1) نبضة تاتي لتجعل المحرك يدور (7.5)درجة اما عدد الملفات تذكر ليتبين الامر اي نوع من القيادات تستخدم لقيادته

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

ولكن يحسب كالتالي الدورة الكاملة هي (360) درجة قم بالتقسيم 360 على مقدار الدرجة المكتوبة على المحرك 7.5 تحصل على نتيجة 48 نبضة

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

ما كتب على المحرك 7.5 مقسومة على اثنان اي مقدار الدرجة صارت (3.75) ويحتاج المحرك لدورة كاملة 96 نبضة

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

فشكرا جزيلا اخ نبيل على تصحيح خطئي وعلى الاهتمام بالموضوع من اجل العلم

تم تعديل بواسطه ammarroza
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

الدعم واطلاق كلمة اخ عليك بكل المعاني

وفقك الله لما تريد

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

في انتظارك اخي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

اعتذر عن التأخير, وسأكمل الموضوع ولكن ببطيء قليلا الى انتهاء رمضان ان شاء الله

بعد الانتهاء من parallel port وبرمجته ودوائره الاساسية, سأكمل حديثي عن serial port

صراحة لم استخدمه كثيرا لاعتمادي على parallel port وكنت اريد ان اتعلم microcontroller لعمل مشروع يقوم بأخذ المعلومات data من serial port ويخرجها ك parallel ولكنني لم اكمل المشروع, والذي كان سيحل مشاكل الكثير من الناس بما فيهم انا لعدم توافر parallel port في اغلب اجهزة الكمبيوتر الحديثة

وبالنسبة لمشكلة عدم توافر serial في الاجهزة الحديثة فانه يوجد وصلة للتحويل من USB to Serial موجودة في محلات الكمبيوتر وعلى الانترنت, وسعرها حوالي 6$ وقد اشتريت واحدة لتجربتها منذ يومين

طبعا في استخدامنا لل serial port غالبا ما يكون باحدى وسيلتين للسهولة:

1. استخدام serial relay (كما بالصورة) وهو عبارة عن دائرة جاهزة ترسل اليها data معينة ليشغل relay معين, وطبعا تقوم هذه الدائرة فعليا بتحويل ال serial to parallel لتحدد ال relay المراد تشغيله

كما ويمكن توصيل serial port بهذا الجهاز (او بالذراع) بشكل لاسلكي وذلك ما سأتحدث عنه لاحقا في مكانه المناسب

2. للتحكم في الذراع ARM المتصل بالروبوت

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

post-23774-1251573379_thumb.jpg

اعذروني اخواني على التأخير وعلى ترتيب الموضوع ولكنني احاول ان اضع كل شيء في مكانه المناسب.

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

بالنسبة لل USB كما ذكرت سابقا لم استطع الى الآن برمجته او التعامل معه لان له protocol خاص به ولذلك يضيف للمعلومات header قبل ارسالها وهكذا, ولذلك لم استطع عمل دوائر له او حتى برمجته, ويمكن استخدام الدوائر الجاهزة ايضا مثل ARM and USB relay

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

القسم الثالث التحكم control

سأتحدث عن التحكم في الروبوت, ولكنني سأغير ترتيب انواع التحكم المذكورة في اول الموضوع

الدوائر الجاهزة

LPT relay

عندما قمت بتصميم وبناء LPT relay (راجع التطبيقات البسيطة على parallel port في الصفحة الرابعة من الموضوع) تم تصميمه على اساس التحكم الكامل من الكمبيوتر, فاذا وجدة اشارة (1) فان relay يعمل

واذا اخرج (0) فان relay يفصل, ولذلك اذا اغلق الكمبيوتر او فصل الكيبل منه فان جميع ال relays ستفصل

وعندما عملت في مشروع آخر استخدمة relay قمت بالتعرف على ic يقوم بتخزين آخر حالة للاشارة

فاذا فصلت الكيبل او انقطع الكهرباء عن الكمبيوتر فان وضع relays سيضل كما هو.

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

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

كما ان هذه الاجهزة يأتي معها manual و cd به مثال للكود.

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

Serial relay

بالنسبة لل Serial relay فان برمجته تعتمد على ال data المرسلة الى الجهاز, وهذه ال data عادتا ما تكون موجودة بالكتالوج الموجود مع الجهاز.

وهذا الكود في الاسفل هو للتحكم بال serial relay من انتاج هذه الشركة http://www.controlanything.com/

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

هذا الكود (باستخدام C#.net) للتحكم ب ProXR نقلا عن الموقع مع تعديل بسيط

//ProXR
serialPort1.Open();
Byte[] data = new byte[3]; //Define an array to hold data
data[0] = 254; //Data for entering command mode
data[1] = 108; //Data for turnning on relay 1
data[2] = 1; //Data for in relay bank 1
serialPort1.Write(data, 0, 3); //Write data to serial port
serialPort1.Close();

ويوجد في البرنامج في المرفقات طريقة التحكم بنوع R8X من نفس الشركة ايضا

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

لاحظوا ايضا ان ال Bound Rate للسيريال هو 38400 وليس 9600, وهو ما يذكر بالكتالوج ايضا

يمكنكم وضع ال serial relay والتحكم به بشكل لاسلكي وذلك بتوصيل احدى الاجهزة التي يمكن ان تنقل اشارة serial port بشكل لاسلكي وتدعى Wireless Serial Port Adapter ويستخدم عادتا bluetooth لنقل الاشارة ولكنكم تتحكمون به على اساس serial وليس bluetooth

post-23774-1252268006_thumb.jpg

Parallel_port4.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الاخ ammarzona

انا صادفت الموضوع بتاعك وانا ببحث عن الروبوتات

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

بارك الله فيك

وانا اشتركت مخصوص فى الموقع ده علشان الموضوع

انا متابع موضوعك ومستنى التكمله

جعله الله فى ميزان حسناتك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
الاخ ammarzona

انا صادفت الموضوع بتاعك وانا ببحث عن الروبوتات

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

بارك الله فيك

وانا اشتركت مخصوص فى الموقع ده علشان الموضوع

انا متابع موضوعك ومستنى التكمله

جعله الله فى ميزان حسناتك

شكرا جزيلا اخي العزيز واهلا في هذا المنتدى الرائع

واتمنى ان اكون عند حسن الظن

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

وكل عام وانتم بخير

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

التحكم بالروبوت باستخدام control الخاص بلعبة السيارة, التي نأخذ منه ال control and remote control

فنقوم بتوصيل control (المقصود هنا مستقبل الاشارة) في الروبوت (في حال نحن قمنا بصناعته)

وتوصيل remote control بالكمبيوتر

عادتا ما يكون جهاز التحكم يحتوي على 4 مفاتيح, تعمل هذه المفاتيح بسير السيارة للامام والخلف, يمين ويسار. (هذا ابسط انواع التحكم الذي نحتاجه)

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

مهمتنا هي وصل الطرفين المعدنيين بالكمبيوتر, وعندما نرسل اشارة من الكمبيوتر يقوم بوصل الطرفين, وعندما نفصل الاشارة يقوم بفصل الطرفين.

ولكي نبدأ بذلك يجب علينا فهم كيفية عمل remote control الذي نمتلكه.

يوجد شكلان مشهوران منه (كما بالصورة)

اما كبسة

post-23774-1253559238_thumb.jpg

او ذراع

post-23774-1253559262_thumb.jpg

وفي الحالاتان المبدأ واحد, وهو ملامسة الطرفين المعدنيين

سآخذ احدى المتحكمين كمثال هنا (الذراع), وسيمكنكم تطبيقه على المتحكم الآخر.

هذا شكل المتحكم من الداخل

post-23774-1253559317_thumb.jpg

بعد فصل الاذرع البيض من المتحكم

post-23774-1253559344_thumb.jpg

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

post-23774-1253559367_thumb.jpg

وهنا نلاحظ ان كل عمود كان متصل ب 3 اطراف معدنية

فاذا اخذنا العمود الاول ذو الارقام 1و2و3 فاننا نجد ان 2 دائما متصل بالعمود

وعندما نحرك العمود للاعلى فانه يقوم بتوصيل 2 مع 1, وتتحرك السيارة للامام

وعندما نحرك العمود للاسفل فانه يلامس الطرف 2 مع 3 فتتحرك السيارة للخلف

والعمود الثاني مثله

ولذلك مهمتنا هنا ان نقوم بعمل 4 دوائر صغيرة لوصل ال 4 اطراف مع بعضها البعض في الكمبيوتر (to parallel port)

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

post-23774-1253559419_thumb.jpg

ويفضل هنا ان نقوم بلحم اسلاك ملونة للتفرقة فيما بينها

طبعا يلاحظ في الصورة انه لم يتم لحم سلك في الطرف المعدني رقم 5, وذلك لان الطرفين 2و5 هما واحد, واذا تم فحصهما بال avometer ستجدون انهم متصلان من داخل الدائرة ببعض.

وهذا شكل دائرة المتحكم ذو الكبسات, وتلاحظون كما قلت انه متشابه مع المتحكم الآخر

post-23774-1253561170_thumb.jpg

نعود الى المتحكم ذو الذراع

يوجد طريقتان للدوائر لتوصيلهم بال LPT

اولا عن طريق relay

post-23774-1253559534_thumb.jpg

من غير relay

post-23774-1253559556_thumb.jpg

دائما افضل استخدام relay لزيادة الحماية للكمبيوتر

وهذه صورة اكثر توضيحا

post-23774-1253559596_thumb.jpg

طبعا هنا بما ان لدينا اربع متحكمات فاننا نحتاج الى 4 دوائر

ونقوم بتوصيلهم على PIN 2,3,4,and 5 في parallel port (او يمكنكم استخدام اي PIN من 2 الى 9)

اما بالنسبة للكود, فان الاكواد السابقة والخاصة بال LPT كافية للتحكم به, وللذين منضمين الينا حديثا فان هذه الاكواد بلغة c#.net

وهكذا تستطيعون التحكم بسيارة لاسلكية عن طريق الكمبيوتر.

ولاحقا في الموضوع سأشرح ان شاء الله طريقة توصيل المستقبل بروبوت من صناعتكم.

تم تعديل بواسطه ammarroza
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

جهد مبارك الله يجزيك الخير اخي....

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

حيث يتم نقل الفيديو بينهما

علما اني استطيع العمل على .NET(C#)

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

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

0

شارك هذا الرد


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

حيث يتم نقل الفيديو بينهما

علما اني استطيع العمل على .NET(C#)

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

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

لقد ارسلتي رسالة داخلية عن طريق المنتدى ورديت عليكي

وقمتي بارسال اميل بالامس وقمت بالرد عليكي ايضا

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

عذرا للتاخير

المستقبل

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

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

نحن نحتاج الى الاسلاك الخاصة بالماتورات, وذلك لتوصيل ماتوران dc motor او اكثر

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

فاذا كان لدينا دائرة مستقبل تعمل على 6V وماتورات تعمل على 12V فيمكنكم استخدام transestor or relay, وانا افضل الريلي لان التراسستور العادي لا يتحمل amp عالي, وفي حال قمتم بتوصيل 6 ماتورات مثلا (روبوت على شكل دبابة) فانني افضل استخدام ريلي.

وطريقة التوصيل هي باحضار ريلي 6V (حسب مخرج الدائرة) وتقومون بتوصيلها مباشرة على احدى اسلاك المستقبل, وفي الجهة الاخرى للريلي في الماتور والبطارية الجديدة (البطارية الاخرى 12V) وذلك كما موضح بالصورة

post-23774-1256568878_thumb.jpg

post-23774-1256569311_thumb.jpg

post-23774-1256569346_thumb.jpg

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

لقد تحدثت عن الحكم باستخدام بعض الدوائر الجاهزة وبرمجتها ومن اهمها serial relay and LPT relay

كما انني تحدثة عن صنع هذه بعض الدوائر وربطها بال LPT وربط rc control

ويوجد هنالك الكثير من التكنولوجيا التي يمكن استخدامها في التحكم في الروبوتات او الاجهزة الاخرى وهي:

GSM control

Bluetooth Relays

Ethernet Relays

Fiber Optic Relays

RS232 Relays

USB Relays

Wi-Fi Relays

Wireless Relays

ZigBee Relays

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

ويمكنكم مراجعة الرابطة التالية والتي تحتوي على اجهزة لهذه الانواع, وعادتا ما تأتي مع component, samples, and manual يساعدكم على برمجتها

Relay Controllers

وذلك يعتمد على الشركة المنتجة للجهاز

الى هذا الجزء تستطيعون بناء هيكل روبوت, توصيله بالكمبيوتر بشكل سلكي ولاسلكي, برمجته بالكامل.

اما الاجزاء بعد ذلك فهي لاكمال الحديث عن الروبوت والكاميرات والاذرع وغيره

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

تم تعديل بواسطه ammarroza
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

مشكور كل الشكر ....

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

أفدتنا و الله

وأتمنى أن تواصل الدورة

+

أرجو أن تحول الأكواد إلى لغة الدلفي

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

أخوك خيرالدين من الجزائر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

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



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .