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

أدوات الموضوع

الصورة الرمزية hussien1995
hussien1995
:: عضو فضي ::
تاريخ التسجيل: Nov 2012
الدولة: syria
المشاركات: 765
نشاط [ hussien1995 ]
قوة السمعة:90
قديم 16-09-2014, 01:38 PM المشاركة 1   
ha ما الخطئ بهذا الكود Twitter FaceBook Google+



أخواني الكرام لقد صممت منظم كهرباء أتوماتيك بإستخدام البك 877A ولكن هناك مشكلة لاأجد لها حل وهي أن جزء من الكود لايعمل في الواقع مع أنهُ يعمل عند محاكاة الدارة بإستخدام برنامج بروتوس ولايظهر أي مشاكل والخطئ هوَ أنني واضع أربع ليدات لبيان حالة الكهرباء وهي normal,high,low,very low ولكنها لاتعمل في الواقع وإليكم صورة للدارة والكود.
[IMG][/IMG]
وهذا هوَ الكود
كود:
void main()
{trisa=3;trisb=0;trisc=0;trisd=0;trise=0;portb=0;portc=0;portd=0;porte=0;
delay_ms(2000);
while(1)
         {
         if(adc_read(0)<225)portb=0;
         else if(adc_read(0)<346)portb=128;
         else if(adc_read(0)<442)portb=64;
         else if(adc_read(0)<528)portb=32;
         else if(adc_read(0)<604)portb=16;
         else if(adc_read(0)<706)portb=8;
         else if(adc_read(0)<778)portb=4;
         else if(adc_read(0)<813)portb=2;
         else if(adc_read(0)<850)portb=1;
         else if(adc_read(0)<860)portb=0;
         if(adc_read(0)<225)portc=56;
         else if(adc_read(0)<346)portc=7;
         else if(adc_read(0)<442)portc=125;
         else if(adc_read(0)<528)portc=109;
         else if(adc_read(0)<604)portc=102;
         else if(adc_read(0)<706)portc=79;
         else if(adc_read(0)<778)portc=91;
         else if(adc_read(0)<813)portc=48;
         else if(adc_read(0)<850)portc=63;
         else if(adc_read(0)<860)portc=118;
         if(adc_read(1)<706)portd=8; //very low
         else if(adc_read(1)<778)portd=4; //low
         else if(adc_read(1)<850)portd=1; //normal
         else if(adc_read(1)<860)portd=2;//high
}

}

اعلانات

الصورة الرمزية hussien1995
hussien1995
:: عضو فضي ::
تاريخ التسجيل: Nov 2012
الدولة: syria
المشاركات: 765
نشاط [ hussien1995 ]
قوة السمعة:90
قديم 17-09-2014, 06:38 PM المشاركة 2   
افتراضي


أرجو الرد أيها الأخوة للضرورة القصوى

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

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 18-09-2014, 03:36 AM المشاركة 3   
افتراضي


أخواني الكرام لقد صممت منظم كهرباء أتوماتيك بإستخدام البك 877A ولكن هناك مشكلة لاأجد لها حل وهي أن جزء من الكود لايعمل في الواقع مع أنهُ يعمل عند محاكاة الدارة بإستخدام برنامج بروتوس ولايظهر أي مشاكل والخطئ هوَ أنني واضع أربع ليدات لبيان حالة الكهرباء وهي normal,high,low,very low ولكنها لاتعمل في الواقع وإليكم صورة للدارة والكود.
[IMG][/IMG]
وهذا هوَ الكود
كود:
void main()
{trisa=3;trisb=0;trisc=0;trisd=0;trise=0;portb=0;portc=0;portd=0;porte=0;
delay_ms(2000);
while(1)
         {
         if(adc_read(0)<225)portb=0;
         else if(adc_read(0)<346)portb=128;
         else if(adc_read(0)<442)portb=64;
         else if(adc_read(0)<528)portb=32;
         else if(adc_read(0)<604)portb=16;
         else if(adc_read(0)<706)portb=8;
         else if(adc_read(0)<778)portb=4;
         else if(adc_read(0)<813)portb=2;
         else if(adc_read(0)<850)portb=1;
         else if(adc_read(0)<860)portb=0;
         if(adc_read(0)<225)portc=56;
         else if(adc_read(0)<346)portc=7;
         else if(adc_read(0)<442)portc=125;
         else if(adc_read(0)<528)portc=109;
         else if(adc_read(0)<604)portc=102;
         else if(adc_read(0)<706)portc=79;
         else if(adc_read(0)<778)portc=91;
         else if(adc_read(0)<813)portc=48;
         else if(adc_read(0)<850)portc=63;
         else if(adc_read(0)<860)portc=118;
         if(adc_read(1)<706)portd=8; //very low
         else if(adc_read(1)<778)portd=4; //low
         else if(adc_read(1)<850)portd=1; //normal
         else if(adc_read(1)<860)portd=2;//high
}

}
السلام عليكم
لعل مشكله في تردد كرستاله يعني بالمشروع له تردد معين وفي تصميم واضع تردد كرستاله اخرى
ايضا كود يمكن أختصاره بهذه طريقه
كود:
void main()
{
 adcon1=0x84;// porta.f0 and porta.f1  and porta.f3 is anloge
 trisa=3;trisb=0;trisc=0;trisd=0;trise=0;portb=0;portc=0;portd=0;porte=0;
delay_ms(2000);
while(1)
         {
         if(adc_read(0)<225){ portb=0; portc=56;}
         else if(adc_read(0)<346){portb=128;portc=7;}
         else if(adc_read(0)<442){portb=64;portc=125;}
         else if(adc_read(0)<528){portb=32;portc=109;}
         else if(adc_read(0)<604){portb=16;portc=102;}
         else if(adc_read(0)<706){portb=8;portc=79;}
         else if(adc_read(0)<778){portb=4;portc=91;}
         else if(adc_read(0)<813){portb=2;portc=48;}
         else if(adc_read(0)<850){portb=1;portc=63;}
         else if(adc_read(0)<860){portb=0;portc=118;}
         if(adc_read(1)<706)portd=8; //very low
         else if(adc_read(1)<778)portd=4; //low
         else if(adc_read(1)<850)portd=1; //normal
         else if(adc_read(1)<860)portd=2;//high
}

}


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 18-09-2014, 03:46 AM المشاركة 4   
افتراضي


هذا مشروع منظم جهد (( لم يجرب عمليا بعد))
http://up.top4top.net/downloadf-top4...0c821-rar.html
حيث يمكنك ضبط القيم للحصول على جهد خرج ثابت وحيث سفن سكمنت توضح لك قيمه الخرج

حيث ذكرت ذلك في مشاركه 47 من هذا الرابط
http://www.qariya.info/vb/showthread...%CF#post834254


التعديل الأخير تم بواسطة : حسن هادي محمود بتاريخ 18-09-2014 الساعة 03:49 AM

الصورة الرمزية hussien1995
hussien1995
:: عضو فضي ::
تاريخ التسجيل: Nov 2012
الدولة: syria
المشاركات: 765
نشاط [ hussien1995 ]
قوة السمعة:90
قديم 18-09-2014, 06:53 AM المشاركة 5   
افتراضي


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


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 18-09-2014, 08:19 AM المشاركة 6   
افتراضي


ألف ألف شكر لك أخي حسن على الرد.
بالنسبة للكريستالة فليس هناك خطئ فالكرستالة المستخدمة 4ميغا وبالبرنامج 4ميغا,والكود يعمل بشكل كامل عدا الليدات التي تعمل أحيانا ولكن بشكل غير منتظم وكأن ليس لها علاقة بالدارة الموضوعة.
سأجرب الكود الذي كتبته حضرتك وأخبرك بالنتيجة.
هناك مشكلة أخرى ظهرت بطريقي وهي تذبذب مراحل الرفع رغم أني واضع مكثف 10ميكرو على كل ريلية ولكن رغم ذلك هناك تذبذب,فهل هناك أي طريقة أو برمجة بالكود تجعل البك لاتقم بإشعال 2ريلية في الوقت نفسه؟؟؟
ألف شكر لك سلف أخي حسن وجعله الله بميزان حسناتك.
السلام عليكم
اربط على كل ريلي متسعه 100uf ومتسعه من نوع القطبيه
يعني يكون ربط متسعه عاى توازي مع ريلي
تحياتي


الصورة الرمزية hussien1995
hussien1995
:: عضو فضي ::
تاريخ التسجيل: Nov 2012
الدولة: syria
المشاركات: 765
نشاط [ hussien1995 ]
قوة السمعة:90
قديم 18-09-2014, 06:41 PM المشاركة 7   
افتراضي


للأسف مايزل لايعمل.
بالنسبة للمكثفات أنا واضع مكثفات 10ميكرو هل أقوم بإستبدالها ب100ميكرو؟؟؟
أنا أعتقد أنني إذا وضعت مكثف كبير سوف تتضارب مراحل الرفع,فعندما تكون المرحلة الأولى تعمل وستنتقل إلى المرحلة الثانية سوف تبقى المرحلة الأولى تعمل لمدة زمنية تقدر بالميلي ثانية قبل أن تفصل وهذا سوف يحدث شرار داخل الريلية لأن المرحلة الثانية ستكون تعمل والأولى سوف تفصل.
مارأيك أخي حسن بهذا الخصوص؟؟؟؟


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 19-09-2014, 06:25 AM المشاركة 8   
افتراضي


للأسف مايزل لايعمل.
بالنسبة للمكثفات أنا واضع مكثفات 10ميكرو هل أقوم بإستبدالها ب100ميكرو؟؟؟
أنا أعتقد أنني إذا وضعت مكثف كبير سوف تتضارب مراحل الرفع,فعندما تكون المرحلة الأولى تعمل وستنتقل إلى المرحلة الثانية سوف تبقى المرحلة الأولى تعمل لمدة زمنية تقدر بالميلي ثانية قبل أن تفصل وهذا سوف يحدث شرار داخل الريلية لأن المرحلة الثانية ستكون تعمل والأولى سوف تفصل.
مارأيك أخي حسن بهذا الخصوص؟؟؟؟
السلام عليكم
وجود متسعه 100Uf ضروريه للتخلص من تذبذب
أنت بالتأكيد سوف تفحص دائرتك عند جميع نقاط وشوف عمل ريليات وبالطبع يفضل عند التصميم عمل interlock بين ريليات
ارجو مراجعه هذا التصميم
http://up.top4top.net/downloadf-top4...876e1-rar.html

طبعا انا لم أستخدم مايكروكنترولر وطبعا هو يعمل

على عموم انا أنصحك مره أخرى مراجعه منظم جهد في مشاركه 4
تحياتي

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


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

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025