منتدى الإلكترونيات قسم الالكترونكس لمناقشة الافكار والمعلومات المتعلقة بالهندسة الالكترونية للمبتدئين والهواة والفنيين - Electronics

   

الصورة الرمزية burai nuraldaem
burai nuraldaem
:: عضو فضى ::
تاريخ التسجيل: Nov 2015
الدولة: السودان
المشاركات: 501
نشاط [ burai nuraldaem ]
قوة السمعة:
قديم 27-07-2017, 02:35 PM المشاركة 25   
افتراضي



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

اعلانات

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


لو رجعت لقانون اوم لوفرت المشقة وعلمت ان التيار 5 مللى لا يكفى لتشغيل موتور

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

الصورة الرمزية burai nuraldaem
burai nuraldaem
:: عضو فضى ::
تاريخ التسجيل: Nov 2015
الدولة: السودان
المشاركات: 501
نشاط [ burai nuraldaem ]
قوة السمعة:
قديم 27-07-2017, 03:18 PM المشاركة 27   
افتراضي


دائما ما اغلط في القانون
شكرا اخي علي رحابه صدرك


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


هنا انت تعجلت الإجابة ولم تقرأ جيدا ما ذكرته
دائما ما اضع اكبر واصغر من القيمه لاكون في المدي لانك ذكرت ان القيم تقريبيه عند التعامل مع المحول adc
ما ذكرته هو خطأ 1% أو 2% طبقا للداتاشيت أو سماح فى تقدير القيم فى الحسابات
لكن ما قلته بخصوص البرنامج هو
"ايضا 1023 * 0.019= 19.4 ولن تصل 25"
أى انك تقيم القراءة بمدى أقصله 20 ثم تسأل هل هو اعلى من 25؟ من أين ستأتى
الخطأ الذى ذكرتع يعنى أن المحول سيقرأ نصف الفولت 510 بدلا من 511 أو حتى 500 لخطأ المقاومات
لكن لن يقرأ تحت أى ظرف أعلى من 1023 أى 3FF و بضربها فى 0.0196 ستعطى 20.0508 فكيف تقارنها ب 25 ستظل دوما اقل من 25


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


هل تقصد ذاكره البرامج
التي تكون علي شكل سطور كل سطر له عنوان محدد يتوجه من خلاله الي ذاكره البيانات ؟
أقصد الذاكرة التي سترسل لها برنامج تشغيل المتحكم لينفذ لك المهمات التي برمجتها في الكومبيلر .
بعد اختيار اللغة والكومبيلر (كمثال لغة C و على الكومبيلر Mikroc Pro) مراحل البرمجة الاساسية هي:
1- تكتب الكود في المكان المخصص له في الكومبيلر
مثال كود بسيط بالميكروسي:
كود:
void main() 
{
   CMCON=7;
   TRISB.F0 = 0; //RB0 Output PIN
 while(1) // حلقة لانهائية
   {
      PORTB.F0 = 1; //LED ON
      Delay_ms(1000); //1 Second Delay
      PORTB.F0 = 0; //LED OFF
      Delay_ms(1000); //1 Second Delay
   }
}
2- تضغط على مفتاح Build في الكمبيلر لينتج لك ملف Hex.
هذه الخطوة يمكن تسميتها بعملية ترجمة الكود الى بيانات "يفهمها "البيك.
3- إذا تمت الترجمة بنجاح ستحصل على ملف Hex والذي يتضمن كل التعليمات والتوجيهات التي يطلب من البيك تنفيذها .
مثال محتويات ملف هكس نتج عن ترجمة الكود السابق:
كود:
:020000001628C0
:0E0006008312031321088A00200882000800DC
:1000140003208A110A128000840AA00A0319A10A83
:08002400F003031D0A28080087
:10002C000730831203139F008316061083120614E5
:10003C000630FB001330FC00AD30FD00FD0B242816
:10004C00FC0B2428FB0B24280000000006100630B3
:10005C00FB001330FC00AD30FD00FD0B3328FC0B16
:0E006C003328FB0B3328000000001C283C2822
:02400E00182177
:00000001FF
4- هنا يمكنك نقل هذا الملف Hex بواسطة مبرمجة وكومبيتر إلى ذاكرة البرنامج (Program Memory ) في البيك وهنا بيت القصيد فهذه الذاكرة هي التي أقصد.
ملحوظة : يمكن طبعا الاكتفاء بالمحاكاة لكني لم أذكرها كمرحلة لأن الغرض هو توضيح المصطلح : ذاكرة البرنامج (أو الكود)


التعديل الأخير تم بواسطة : محمد إلياس بتاريخ 27-07-2017 الساعة 07:04 PM

الصورة الرمزية burai nuraldaem
burai nuraldaem
:: عضو فضى ::
تاريخ التسجيل: Nov 2015
الدولة: السودان
المشاركات: 501
نشاط [ burai nuraldaem ]
قوة السمعة:
قديم 28-07-2017, 12:02 PM المشاركة 30   
افتراضي


هنا انت تعجلت الإجابة ولم تقرأ جيدا ما ذكرته

ما ذكرته هو خطأ 1% أو 2% طبقا للداتاشيت أو سماح فى تقدير القيم فى الحسابات
لكن ما قلته بخصوص البرنامج هو
"ايضا 1023 * 0.019= 19.4 ولن تصل 25"
أى انك تقيم القراءة بمدى أقصله 20 ثم تسأل هل هو اعلى من 25؟ من أين ستأتى
الخطأ الذى ذكرتع يعنى أن المحول سيقرأ نصف الفولت 510 بدلا من 511 أو حتى 500 لخطأ المقاومات
لكن لن يقرأ تحت أى ظرف أعلى من 1023 أى 3FF و بضربها فى 0.0196 ستعطى 20.0508 فكيف تقارنها ب 25 ستظل دوما اقل من 25
هنا انت تعجلت الإجابة ولم تقرأ جيدا ما ذكرته

ما ذكرته هو خطأ 1% أو 2% طبقا للداتاشيت أو سماح فى تقدير القيم فى الحسابات
لكن ما قلته بخصوص البرنامج هو
"ايضا 1023 * 0.019= 19.4 ولن تصل 25"
أى انك تقيم القراءة بمدى أقصله 20 ثم تسأل هل هو اعلى من 25؟ من أين ستأتى
الخطأ الذى ذكرتع يعنى أن المحول سيقرأ نصف الفولت 510 بدلا من 511 أو حتى 500 لخطأ المقاومات
لكن لن يقرأ تحت أى ظرف أعلى من 1023 أى 3FF و بضربها فى 0.0196 ستعطى 20.0508 فكيف تقارنها ب 25 ستظل دوما اقل من 25
عذرا لكن بالفعل انا كتبت كود يعرض القيمه علي شاشه LCD وكانت النتيجه
5 تكافئ 1022.999
2.5 تكافئ 510.9999
طبعا 0 تكافي 0
وعلي هذا الاساس كانت كل المحاولات تدور بمدي حول الرقم 510 فجربت
كود:
 510.999/// 511
510 /// 511
509 /// 512
500 /// 513
A>0&&A<1022
كلها لم تفلح
حسبت ان التوصيل به خلل او ان برنامج المحاكاه به خلل كونه كراك
فكرت بما ان المطلوب فقط قيمتين متناظرتين للحصول علي المطلوب وفعلا انا املك القيمه الاولي 0 عدلت الدائره لتصبح هكذا بتغير نوع المفاتيح

عملت جزئيا بان اذا تم ضغط المفتاح تشتغل او تنطفئ حسب المفتاح المعني لكن كان لابد من امساك المفتاح بوضع الضغط واذا تم افلاته يعود المحرك للسكون تدريجيا فكان الحل ان وضعت مفتاح SPST وبه احافظ علي اكتمال الوصول للحركه القصوي ودوامها
كل شيئ الي هنا جيد لكن المطلوب اساسا ان يعمل المحرك ويفصل بمفتاح ضاغط .. !!! . ايضا SPST اذا كان المحرك يدور لا بد من تحرير مفتاح التشغيل ثم ضغط مفتاح الايقاف
ما ادور حوله بكلامي انني ابحث عن ماسك من نوع ما اما باضافته في الكود البرمجي او كعتاد في الدائره
هذا هو الكود
كود:
       float a;
void main() 
{ tris.b4=1;
  tris.b1=0;

   adc_init();
   
    while(1)
    {
    a=adc_read(3);

    if(a==0){ gpio.b1=1;}
else if(a>0) {gpio.b1=0;}


}}
وشكرا جزيلا


الصورة الرمزية burai nuraldaem
burai nuraldaem
:: عضو فضى ::
تاريخ التسجيل: Nov 2015
الدولة: السودان
المشاركات: 501
نشاط [ burai nuraldaem ]
قوة السمعة:
قديم 28-07-2017, 12:24 PM المشاركة 31   
افتراضي


أقصد الذاكرة التي سترسل لها برنامج تشغيل المتحكم لينفذ لك المهمات التي برمجتها في الكومبيلر .
بعد اختيار اللغة والكومبيلر (كمثال لغة C و على الكومبيلر Mikroc Pro) مراحل البرمجة الاساسية هي:
1- تكتب الكود في المكان المخصص له في الكومبيلر
مثال كود بسيط بالميكروسي:
كود:
void main() 
{
   CMCON=7;
   TRISB.F0 = 0; //RB0 Output PIN
 while(1) // حلقة لانهائية
   {
      PORTB.F0 = 1; //LED ON
      Delay_ms(1000); //1 Second Delay
      PORTB.F0 = 0; //LED OFF
      Delay_ms(1000); //1 Second Delay
   }
}
2- تضغط على مفتاح Build في الكمبيلر لينتج لك ملف Hex.
هذه الخطوة يمكن تسميتها بعملية ترجمة الكود الى بيانات &quot;يفهمها &quot;البيك.
3- إذا تمت الترجمة بنجاح ستحصل على ملف Hex والذي يتضمن كل التعليمات والتوجيهات التي يطلب من البيك تنفيذها .
مثال محتويات ملف هكس نتج عن ترجمة الكود السابق:
كود:
:020000001628C0
:0E0006008312031321088A00200882000800DC
:1000140003208A110A128000840AA00A0319A10A83
:08002400F003031D0A28080087
:10002C000730831203139F008316061083120614E5
:10003C000630FB001330FC00AD30FD00FD0B242816
:10004C00FC0B2428FB0B24280000000006100630B3
:10005C00FB001330FC00AD30FD00FD0B3328FC0B16
:0E006C003328FB0B3328000000001C283C2822
:02400E00182177
:00000001FF
4- هنا يمكنك نقل هذا الملف Hex بواسطة مبرمجة وكومبيتر إلى ذاكرة البرنامج (Program Memory ) في البيك وهنا بيت القصيد فهذه الذاكرة هي التي أقصد.
ملحوظة : يمكن طبعا الاكتفاء بالمحاكاة لكني لم أذكرها كمرحلة لأن الغرض هو توضيح المصطلح : ذاكرة البرنامج (أو الكود)
شكرا علي التوضيح اخي بان لي ما تقصد


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


أشعر كأننى أقول فى وادى و انت تفكر فى وادى آخر
ها انت تعيد الدائرة للوضع حيث يكون الدخول بدون توصيل و قراءته غير محددة
أعيد الدائرة كما كانت و الكود يمكن أن يكون هكذا
كود:
int a;
float b;
void main() 
{ tris.b4=1;
  tris.b0=0;
   
   adc_init();
   
    while(1)
    {
    a=ADC_Get_Sample (3);
    switch (a) {
        case > 1000:   break;		//    // الحاله بلا ضغط

        case >400 :  gpio.b0=0 ; break;   // حاله المفتاح يوصل للجراوند عبر المقاومتين
        case <5 :  gpio.b0=1;  break;	// حاله المفتاح يوصل الجراوند   
	   }
    }           
}
تركت لك المتغير b لو تريد كتابة النتيجة على شاشة
قد يكون النص ناقصا ; هنا أو هناك يمكنك تكملته

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



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