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

   

الصورة الرمزية assed
assed
:: عضو فضي ::
تاريخ التسجيل: Jul 2014
الدولة: العراق - بغداد
المشاركات: 1,034
نشاط [ assed ]
قوة السمعة:
قديم 21-04-2018, 04:21 PM المشاركة 17   
افتراضي



السلام عليكم
تحية للاخ الفاضل ماجد عباس والاخ صاحب الموضوع والاخوة المشاركين
ملاحظة مهمة :-
تضاف الى ما أشار به الاستاذ الفاضل ماجد عباس
كود:
else if( read_sensor_input>160 && read_sensor_input<169)
 {
  relay3=1;

  relay1=0; relay2=0; relay4=0; relay5=0; //relay6=0;
 }
 else if( read_sensor_input>169 && read_sensor_input<190)
 {
في الكود اعلاه يعمل البيك بالاصل من 161 الى 168 بالشرط الاول
و 170 الى 191 بالشرط الثاني ....
بتعليمة اكبر او اصغر فهوة يعتبر الاكبر من ال 160 هي 161 وسيعمل بها والاصغر من 169 هي 168 وسيعمل بها ....
الاصح ان نكتب (طبعاً انا اجيد البيسك ولا اعرف في ميكروسي))
كود:
else if( read_sensor_input>160 && read_sensor_input<=169)
 {
  relay3=1;

  relay1=0; relay2=0; relay4=0; relay5=0; //relay6=0;
 }
 else if( read_sensor_input>169 && read_sensor_input<=190)
 {
باضافة تعليمة ال ((=)) ستدخل ال 169 من ضمن الشرط وهكذا بقية الشروط..

هذا والله اعلم

اعلانات

احمد شهيد جواد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2015
الدولة: العراق
المشاركات: 322
نشاط [ احمد شهيد جواد ]
قوة السمعة:
قديم 21-04-2018, 07:09 PM المشاركة 18   
افتراضي


إذن سيمد بتغذية ثابتة طوال مدى التشغيل و لا بأس من استخدامه لكن هذا لن يغنيك عن محول آخر لتحسس فولت الدخول وهو المتصل بــ J1,D1 الخ و الذى لا اعلم لماذا استخدمت دائرة تقويم نصف موجة بدلا من موجة كاملة وهى تعطى جهد تعرجات أعلى .
لذا لو أحسن اختيار المحول الرئيسى لأمكنك تحقيق الهدفين معا

لقد شرحته فى ردى السابق و اعيدة هنا

كود:
 else if( read_sensor_input>160 && read_sensor_input<169)
 {
  relay3=1;

  relay1=0; relay2=0; relay4=0; relay5=0; //relay6=0;
 }
 else if( read_sensor_input>169 && read_sensor_input<190)
 {
فماذا لو كانت القيمة حول 169 بالضبط؟
مرة سيعتبرها 169 ولا يفعل شيئا و التالية اكبر قليلا من 169 و التالية أقل قليلا من 169
لهذا سيتذبذب الريلاى و الــ ببساطة هى جعل جهد الإنتقال فى حال الزيادة أعلة منه فى حال التناقص وهى سهلة التحقيق بمكبر العمليات - مجرج مقاومة تضع القدر الذى تحتاجه لكن بالبرمجة ستكون صعبة لذا اقترح حلا آخر هو إضافة منطقة ميتة حول جهد التغيير فمثلا يمكنك كتابة :

كود:
 else if( read_sensor_input>160 && read_sensor_input<168)
 {
  relay3=1;

  relay1=0; relay2=0; relay4=0; relay5=0; //relay6=0;
 }
 else if( read_sensor_input>169 && read_sensor_input<190)
 {
وهكذا فى الباقى
الآن فى المدى من 168 إلى 169 لن يتغير وضع الريلايات

شكرا للرد لكن هل
كود:
 relay3=1;

  relay1=0; relay2=0; relay4=0; relay5=0; //relay6=0; 
  أسهل من
Relays-0b000100;
السلام عليكم استاذ ماجد

في التعدل الاول الذي ذكرته هو تأرجح الشرط بالقرب من القيمة 169 فهذا لم يحدث معي .. وبالرغم من ذلك فقد تم تعديله حسبما ذكرت انت ..

اما فيما يتعلق بـ

شكرا للرد لكن هل
كود:
 relay3=1;

  relay1=0; relay2=0; relay4=0; relay5=0; //relay6=0; 
  أسهل من
Relays-0b000100;
فهذا الامر ينفع اذا كانت جميع الريليهات على بورت واحد . اما في حالتي هنا الريليهات بعضها على البورت C وبعضها على البورت D

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

احمد شهيد جواد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2015
الدولة: العراق
المشاركات: 322
نشاط [ احمد شهيد جواد ]
قوة السمعة:
قديم 21-04-2018, 07:13 PM المشاركة 19   
افتراضي


السلام عليكم
تحية للاخ الفاضل ماجد عباس والاخ صاحب الموضوع والاخوة المشاركين
ملاحظة مهمة :-
تضاف الى ما أشار به الاستاذ الفاضل ماجد عباس
كود:
else if( read_sensor_input>160 && read_sensor_input<169)
 {
  relay3=1;

  relay1=0; relay2=0; relay4=0; relay5=0; //relay6=0;
 }
 else if( read_sensor_input>169 && read_sensor_input<190)
 {
في الكود اعلاه يعمل البيك بالاصل من 161 الى 168 بالشرط الاول
و 170 الى 191 بالشرط الثاني ....
بتعليمة اكبر او اصغر فهوة يعتبر الاكبر من ال 160 هي 161 وسيعمل بها والاصغر من 169 هي 168 وسيعمل بها ....
الاصح ان نكتب (طبعاً انا اجيد البيسك ولا اعرف في ميكروسي))
كود:
else if( read_sensor_input>160 && read_sensor_input<=169)
 {
  relay3=1;

  relay1=0; relay2=0; relay4=0; relay5=0; //relay6=0;
 }
 else if( read_sensor_input>169 && read_sensor_input<=190)
 {
باضافة تعليمة ال ((=)) ستدخل ال 169 من ضمن الشرط وهكذا بقية الشروط..

هذا والله اعلم
السلام عليكم اخي assed

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



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