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

   

guhdar
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2013
الدولة: العراق/دهوك
المشاركات: 60
نشاط [ guhdar ]
قوة السمعة:
قديم 29-10-2017, 03:38 PM المشاركة 9   
افتراضي



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

أيضا لم تذكر ما معنى كلمة "ما يشتغل"
هل لا تعمل كافة الريلايات أم بعضها فقط أم ذات ال 15 ريلاى تعمل

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

كود:
for (int i=0;i<65,i++)     // لم تحدد مجال عمل الدورة بالقوس {}
    DigitalWrite(i,1);
    Delay(1000);
             For (int i=0; i<65;i++)     //    هذا خطأ لتكرار ذات الدورة بذات المتغير قبل الإنتهاء من الأولى و أيضا بدون  {}

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

اعلانات

ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 11,652
نشاط [ ماجد عباس محمد ]
قوة السمعة:
قديم 29-10-2017, 04:26 PM المشاركة 10   
افتراضي


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

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

المتوقع من الكود هذا

فى السطر 1 سينشىء الدورة ويكون i =0
السطر 2 سيكتب منطق 1 على المخرج رقم صفر
السطر 3 ينتظر 1000 مللى ثانية
السطر 4 يعيد إنشاء ذات الدورة مرة أخرى و يجعل i =0 من جديد
السطر 5 سيكتب منطق 0 على المخرج رقم صفر
السطر رقم 6 سينتظر
ثم لا احد يعلم هل أردوينو سيعتبر دورة For الثانية صحيحة ؟ لو صحيحة سيستمر فيها بكتابة أصفار على باقى المخارج فى الدورة و ينتظر ثانية ثم يكتب صفر و ينتظر ثانية وفى نهاية 65 ثانية يعود من جديد للدورة الأساسية ليكمل حيث I اصبح الآن 65 فيخرج منها
أما لو اعتبرها غير صحيحة و تنتهى عند نهاية نص السطر 4 لغياب الأقواس فببساطة سيبدأ من الأول
اكتب الكود هكذا وجرب


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

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

guhdar
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2013
الدولة: العراق/دهوك
المشاركات: 60
نشاط [ guhdar ]
قوة السمعة:
قديم 29-10-2017, 08:27 PM المشاركة 11   
افتراضي


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

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

المتوقع من الكود هذا

فى السطر 1 سينشىء الدورة ويكون i =0
السطر 2 سيكتب منطق 1 على المخرج رقم صفر
السطر 3 ينتظر 1000 مللى ثانية
السطر 4 يعيد إنشاء ذات الدورة مرة أخرى و يجعل i =0 من جديد
السطر 5 سيكتب منطق 0 على المخرج رقم صفر
السطر رقم 6 سينتظر
ثم لا احد يعلم هل أردوينو سيعتبر دورة For الثانية صحيحة ؟ لو صحيحة سيستمر فيها بكتابة أصفار على باقى المخارج فى الدورة و ينتظر ثانية ثم يكتب صفر و ينتظر ثانية وفى نهاية 65 ثانية يعود من جديد للدورة الأساسية ليكمل حيث I اصبح الآن 65 فيخرج منها
أما لو اعتبرها غير صحيحة و تنتهى عند نهاية نص السطر 4 لغياب الأقواس فببساطة سيبدأ من الأول
اكتب الكود هكذا وجرب


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


محمد إلياس
:: مهندس جيد ::
تاريخ التسجيل: Jan 2017
المشاركات: 229
نشاط [ محمد إلياس ]
قوة السمعة:
قديم 29-10-2017, 10:02 PM المشاركة 12   
افتراضي


السلام عليكم...
قمت بربط ٦۵ريلي ۵فولت باردينو ميكا وعند اعطي امر بتشغيل جيع ريلي ما يشتغل وعند اعطي امر بتشغيل ۱۵ريلي يشتغل علما استغدمت الباور الخارجي لتشغلي الريليات ...فارجو المساعدة..
السلام عليكم
1- ريلهات 5 فولت تتطلب تغذية 5 فولت وليس 24 فولت كما في الدائرة.
2- إضافة إلى ملاحظة الأخ ماجد حول قيمة التيار المطلوب لتشغيل 65 ريليه 5 فولت دفعة واحدة، فإن 220 أوم كقيمة للمقاومة على كل قاعدة ترانزيستور قيمة صغيرة تسحب تيارا كبيرا يفوق بكثير قيمة التيار المسموح به وهو تقريبا 200 أمبير.
ممكن ترجع لداتا شيت المتحكم atmeg2560 للتعرف على القيمة القصوى لتيار الخروج مجتمعة.
جرب تعدل القيمة من 220 أوم إلى 1 كيلو على الأقل .


التعديل الأخير تم بواسطة : محمد إلياس بتاريخ 29-10-2017 الساعة 10:19 PM

guhdar
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2013
الدولة: العراق/دهوك
المشاركات: 60
نشاط [ guhdar ]
قوة السمعة:
قديم 29-10-2017, 11:16 PM المشاركة 13   
افتراضي


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


محمد إلياس
:: مهندس جيد ::
تاريخ التسجيل: Jan 2017
المشاركات: 229
نشاط [ محمد إلياس ]
قوة السمعة:
قديم 30-10-2017, 12:08 AM المشاركة 14   
افتراضي


بالتوفيق أخي الكريم
وهذا ملخص تدخلي السابق من أجل توضيح أكثر:
1- تختار مصدر تغذية خارجي بجهد 5 فولت و قادر على تزويد الريلهات ال 65 بتيار قيمته على الأقل :
تيار واحد ريليه x عدد الريلهات الكلي وهو 65.
مثال: لو كل ريليه يطلب 40mA فإن مجموع التيار المطلوب سيكون :
40mA*65= 2.6Amperes..
معناه تختار مصدر خارجي 5 فولت وبتيار 3 أمبير كحد أدنى، والافضل فهو اختيار 5 أمبير.
2- تضع مقاومة 1.5k أوأكثر قليلا على قاعدة كل ترانزيستور يتحكم في الريليه.


التعديل الأخير تم بواسطة : محمد إلياس بتاريخ 30-10-2017 الساعة 12:24 AM

ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 11,652
نشاط [ ماجد عباس محمد ]
قوة السمعة:
قديم 30-10-2017, 07:54 AM المشاركة 15   
افتراضي


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


guhdar
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2013
الدولة: العراق/دهوك
المشاركات: 60
نشاط [ guhdar ]
قوة السمعة:
قديم 30-10-2017, 08:42 AM المشاركة 16   
افتراضي


بالتوفيق أخي الكريم
وهذا ملخص تدخلي السابق من أجل توضيح أكثر:
1- تختار مصدر تغذية خارجي بجهد 5 فولت و قادر على تزويد الريلهات ال 65 بتيار قيمته على الأقل :
تيار واحد ريليه x عدد الريلهات الكلي وهو 65.
مثال: لو كل ريليه يطلب 40mA فإن مجموع التيار المطلوب سيكون :
40mA*65= 2.6Amperes..
معناه تختار مصدر خارجي 5 فولت وبتيار 3 أمبير كحد أدنى، والافضل فهو اختيار 5 أمبير.
2- تضع مقاومة 1.5k أوأكثر قليلا على قاعدة كل ترانزيستور يتحكم في الريليه.
أشكرك أخي العزيز على المساعدة ... قمت بتغير المقاومة ب 1.5k و تغير المصدر الخارجي مثل ما قلت وتم تشغيل...



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