قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

   

الصورة الرمزية noornader
noornader
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2007
المشاركات: 608
نشاط [ noornader ]
قوة السمعة:
قديم 05-06-2009, 12:09 PM المشاركة 569   
افتراضي



أخى/ احمد العراقى
حاول ان تجعل المتغيرات int بدلا من byte
وذلك عن طريق الضغط على Rename Variable
وهناك متغيرات تعرف فى لغة السى ب
float variable
يمكن ان تتعرف عليها أكثر من منتدى ماتريكس والموقع من
هنــا


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




اعلانات

زكي شاكر
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: المغرب
المشاركات: 2,945
نشاط [ زكي شاكر ]
قوة السمعة:
قديم 05-06-2009, 02:47 PM المشاركة 570   
افتراضي


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

أخي الكريم لا شكر على واجب.. وان شاء الله يقدرني على الرد على تساؤلاتك ..
1- الـ Volt المستخدم الموحد لجميع عناصر المشروع 24 فولت
ولكن فهمت ان الـ F84a16 مثلا لا يتحمل أعلى من 5 فولت فهل يكون الـ pic وسيلة للتحكم والتوصيل عن طريق ريليلهات فقط أما الـ 24 فولت تكون خارجية أم ماذا؟

كل أنواع البيك لا تخرج أكثر من +5 فولت ، أيضا الإدخال لا يتعدى +5فولت . كما ان أكبر تيار ممكن خروجه من البيك هو 20 ميلي أمبير تقريبا ..
و لابد من تقوية الخرج بإضافة مقاومة 1 كيلو + ترانزيستور + ريليه ..
وهذا الكلام يصدق على كثير من المتكاملات ومنها المتكاملة 4514
2- المشروع يحتوي على 32 عنصر والـ pic لا يحتوي سوى على 8 خرج فقط فهل هناك أنواع أخرى بها مخارج تكفي الـ 32 عنصر أم سأستخدم أربعة متحكمات ثم أربطهم على متحكم خامس رئيسي وإذا كانت الاجابة بنعم فكيف يتم ذلك؟

تحتاج ل PIC16F877 وتضيف على مخارجه 3 ديكودر من نوع : 4514
( 4-Line to 16-Line Decoders/Demultiplexers)
راجع الداتا شيت لتعرف كيف يعمل الديكودر المذكور: تعطيه رقم تنائيا على مداخله الأربع ، فيخرجه مفرقا ; كمثال :
اذا دخل الرقم 0111 وهو الرقم 7 عشري ستجد ان الخرج Q7 يعني رجل 4 ، هو الوحيد الذي به +5 فولت والباقي 0
3- وجدت أن الـ pic يشعر بالـ switch إذا كان on أو off ....أقصد OR
ولكن هل له أن يشعر بـ on و off ...بشكل أدق on ثم off ...أظنها and ؟

السويتش الواقعي له حالتان اما ON و إما OFF
إما يغلق دائرة كهربائية او يفتحها هذه وظيفته وفلوكود يحققها..
4- هل استخدام السنسور الـ LED به صعوبة.. لذلك الهروب الـ Switch العادي أفضل أم أنه يحتاج فقط لدوائر تكبير ولماذا قاموا باستخدامه طالما العادي يغني عنه ان لم يكن هناك فرق ف الاستجابة response خصوصا أن التحكم والإحساس بالورق يكون في سرعات عالية ؟

في برنامج العمل بفلوكود لا يوجد "مكون متحسس" لذلك تستعمل "مكون سويتش" عادي ترمز به للحساس اثناء التجارب.
وفي الدارة الحقيقية تستعمل الحساس الحقيقي .. لان عملهما من الناحية المنطقية واحد :
إما on أو off
وهنا مثال عن دائرتك المحتملة (طبعا الدارة غير كاملة ركزت على الجوانب المتعلقة بأسئلتك لكن يمكنك تطويرها بسهولة) :
http://filaty.com/i/906/81288/Propic.GIF
1/ اضافة 3 ديكودر 4514 :
حتى لا تزدحم الدارة اكتفيت برسم ما يجب ان يكون على كل خرج مشغل من 4514 (مقاومة + ترانزيستور + ريليه + ديود 1N4007)أما الليدات فهي اختيارية..
(وهو ما فعلت بالضبط في دائرة مشابهة موجودة بالمنتدى ..كنت قد وضعتها في منتدى آخر وحملتها الاقدار الى هنا بهذا المنتدى)
لاحظ ان المداخل عندما تساوي 0 فان الخرج 0 (رجل 11 في 4514) يكون به جهد +5 فولت (وليس 0 كما يمكن ان يتبادر الى الذهن)
لذلك الافضل تركه شاغرا في الديكودرات الثلاث. وسيبقى لك 14 مخرج في كل ديكودر تربطهما حسب العدد المطلوب من الريليهات..
2/ طريقتين لتوصيل سويتش :
ملا حظة: المداخل في البيك او في 4514 لا يجب ان تبقى شاغرة : اما ان تربط بمقاومة 10 كيلو (بحسب ما يناسب نوع الدخل المطلوب )الى الموجب او الى السالب
هذا بالنسبة للمداخل فقط وليس للمخارج
أتمنى ان تكون هذه الاجابات نافعة وتساعدك في اكمال الطريق ان شاء الله..
هذا جزء من البرنامج قمت بعمله على الفلوكود حيث قمت بالتكملة من احد البرامج الأخرى ووصلت لمبتغايا في شق صغير جدا وان شاء الله أصل للباقي
http://filaty.com/f/906/17048/collator.rar.html

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

وختاما ..
استودعكم الله
والسلام عليكم

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

3atefdata
:: موقوف ::
تاريخ التسجيل: Jun 2009
المشاركات: 14
نشاط [ 3atefdata ]
قوة السمعة:
قديم 05-06-2009, 05:33 PM المشاركة 571   
افتراضي


المهندس الجميل / زكي شاكر
الاجابات نافعة جدا وقربت الموضوع لي بشدة ...بارك الله فيك
قمت ببعض التبسيط لمستلزمات الماكينة لاكتساب الثقة
الملف هنا ....الرجاء إلقاء نظرة
http://filaty.com/f/906/17088/simple_collator.rar.html
وقمت بعمل هذا البرنامج ولكن واجهتني مشكلة بشأن إعادة اللوب مرة أخرى
والفكرة هنا هو عمل Sequence معتمد على ما قبله من Action
فعند بدء التشغيل
نضغط على Start Button......Switch A4 ....**لتبدأ B3 في العمل لمدة ثانية
ثم الضغط على A3 لتبدأ B2 في العمل لمدة ثانية
ثم الضغط على A2 لتبدأ B1 في العمل لمدة ثانية
ثم الضعط على A1 لتبدأ B0 في العمل لمدة ثانية
ثم نضغط على A0 لتبدأ مرة أخرى من عند النجمتين المذكورتين بالأعلى وهنا تكمن المشكلة فلا يمكنني أن أعرف كيفية عمل اللوبة هذه عند الضغط على A0 لتبدأ من عند B3 وتستمر
----------------------------------------------------------------------------------------
استفسار آخر:
فقد درست ذلك منذ سبع سنوات وبالكاد أحاول التذكر
هل 0111 هو الرقم العشري 7 كما وضحت حضرتك أم 14
واذا كان هو الرقم العشري 7 فماذا يكون 1110 ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟


التعديل الأخير تم بواسطة : 3atefdata بتاريخ 06-06-2009 الساعة 07:09 AM

الصورة الرمزية احمد العراقي
احمد العراقي
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2006
المشاركات: 147
نشاط [ احمد العراقي ]
قوة السمعة:
قديم 06-06-2009, 08:06 AM المشاركة 572   
افتراضي


----------------------------------------------------------------------------------------
استفسار آخر:
فقد درست ذلك منذ سبع سنوات وبالكاد أحاول التذكر
هل 0111 هو الرقم العشري 7 كما وضحت حضرتك أم 14
واذا كان هو الرقم العشري 7 فماذا يكون 1110 ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
السلام عليكم

اعتذر من لاخوا ن وساجيب على سؤالك

نظام تحويل العدد العشري الى ثنائي ليس صعباً ويمكنك الاعتماد على القاعدة التالية وهي

1 ـ 2 ـ 4ـ 8 ـ 16 ـ 32 ـ 64 ـ 128 ...................الخ

الرقم الثنائي 0111 بتطبق القاعد اعلاه يكون 1+2+4 +0 = 7 عشري

الرقم الثنائي 1110 ايضاً بتطبيق القاعدة يكون 0+ 2+4+8 = 14 عشري

وهكذا بقية الارقام مثلاً 10011011 عند تحويله الى عشري يكون هكذا

1+2+0+8+ 16+0+0+ 128 =155 عشري

ارجوا ان تكون الفكرة واضحة


الصورة الرمزية noornader
noornader
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2007
المشاركات: 608
نشاط [ noornader ]
قوة السمعة:
قديم 06-06-2009, 02:53 PM المشاركة 573   
افتراضي


السلام عليكم أعضاء دورة فلوكود الكرام

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

بوابة NOT
من هنا
بوابة NOR من هنا
بوابة NAND من هنا بوابة XNOR من هنا

وبالتوفق ان شاء الله


التعديل الأخير تم بواسطة : noornader بتاريخ 06-06-2009 الساعة 03:02 PM

الصورة الرمزية احمد العراقي
احمد العراقي
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2006
المشاركات: 147
نشاط [ احمد العراقي ]
قوة السمعة:
قديم 06-06-2009, 05:02 PM المشاركة 574   
افتراضي


السلام عليكم أعضاء دورة فلوكود الكرام

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

بوابة NOT
من هنا
بوابة NOR من هنا
بوابة NAND من هنا بوابة XNOR من هنا

وبالتوفق ان شاء الله

السلام عليكم

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


بالنسبة الى ماتقدمة به سابقاً

أخى/ احمد العراقى
حاول ان تجعل المتغيرات int بدلا من byte
وذلك عن طريق الضغط على Rename Variable
وهناك متغيرات تعرف فى لغة السى ب float variable
يمكن ان تتعرف عليها أكثر من منتدى ماتريكس والموقع من هنــا

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


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

وشكراً لك


الصورة الرمزية noornader
noornader
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2007
المشاركات: 608
نشاط [ noornader ]
قوة السمعة:
قديم 06-06-2009, 06:01 PM المشاركة 575   
افتراضي



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


3atefdata
:: موقوف ::
تاريخ التسجيل: Jun 2009
المشاركات: 14
نشاط [ 3atefdata ]
قوة السمعة:
قديم 07-06-2009, 12:18 AM المشاركة 576   
افتراضي


السلام عليكم

اعتذر من لاخوا ن وساجيب على سؤالك

نظام تحويل العدد العشري الى ثنائي ليس صعباً ويمكنك الاعتماد على القاعدة التالية وهي

1 ـ 2 ـ 4ـ 8 ـ 16 ـ 32 ـ 64 ـ 128 ...................الخ

الرقم الثنائي 0111 بتطبق القاعد اعلاه يكون 1+2+4 +0 = 7 عشري

الرقم الثنائي 1110 ايضاً بتطبيق القاعدة يكون 0+ 2+4+8 = 14 عشري

وهكذا بقية الارقام مثلاً 10011011 عند تحويله الى عشري يكون هكذا

1+2+0+8+ 16+0+0+ 128 =155 عشري

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



الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 05:16 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)