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

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

mustafaibraheem
:: مهندس ::
تاريخ التسجيل: Jun 2014
الدولة: Baghdad
المشاركات: 8
نشاط [ mustafaibraheem ]
قوة السمعة:0
قديم 27-09-2015, 10:13 PM المشاركة 1   
افتراضي كود لدائرة PWM Twitter FaceBook Google+



السلام عليكم .
الدائرة التاليه صممت من قبل الاستاذ حيدر




فى هذه المشاركه .
http://www.qariya.info/vb/showthread...=158490&page=4
وبحثت عن الكود لهذه الدائره ولم اجده .
فيا حبذا لو الاستاذ حيدر او احد الاخوه يستطيع تزويدي بالكود اكون شاكرا له
وجزيتم خيرا

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:394
قديم 28-09-2015, 05:26 PM المشاركة 2   
افتراضي


تفضل اخي هذا كود جديد حسب المخطط
جربه واعطنا النتيجة
كود:
int x=55;
void main()
 {cmcon=07;
 trisa=15;trisb.f3=0;portb.f3=0;
  pwm1_init(5000);
  while(1)
         {if(porta==1){while(porta==1){}
                       pwm1_set_duty(x);
                       pwm1_start();
                      }
          else if(porta==2){while(porta==2){}
                      pwm1_stop();
                      }
          else if(porta==4){while(porta==4){x+=10;
                                            if(x>255)x=255;
                                            pwm1_set_duty(x);
                                            delay_ms(1000);
                                           }
                           }
          else if(porta==8){while(porta==8){x-=10;
                                            if(x<55)x=55;
                                            pwm1_set_duty(x);
                                            delay_ms(1000);
                                           }


                           }
         }

}

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

mustafaibraheem
:: مهندس ::
تاريخ التسجيل: Jun 2014
الدولة: Baghdad
المشاركات: 8
نشاط [ mustafaibraheem ]
قوة السمعة:0
قديم 29-09-2015, 08:14 PM المشاركة 3   
افتراضي


السلام عليكم .
استاذ حيدر المحترم جربت الكود لكن للاسف لم يعمل



الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:394
قديم 30-09-2015, 12:40 AM المشاركة 4   
افتراضي


نعم صحيح يوجد خطأ و تم تصحيحه و التجربة على البروتوس ...

كود:
int x=55;
void main()
 {cmcon=07;
 trisa=15;trisb.f3=0;portb.f3=0;
  pwm1_init(5000);
  while(1)
         {if(porta.f0==0){while(porta.f0==0){}
                       pwm1_set_duty(x);
                       pwm1_start();
                      }
          else if(porta.f1==0){while(porta.f1==0){}
                      pwm1_stop();
                      }
          else if(porta.f2==0){while(porta.f2==0){x+=10;
                                            if(x>255)x=255;
                                            pwm1_set_duty(x);
                                            delay_ms(500);
                                           }
                           }
          else if(porta.f3==0){while(porta.f3==0){x-=10;
                                            if(x<55)x=55;
                                            pwm1_set_duty(x);
                                            delay_ms(500);
                                           }


                           }
         }

}
خطوات التشغيل :
1- الضغط على مفتاح البدء
2- الضغط على مفتاح الزيادة بشكل متقطع او مستمر لزيادة السرعة
3- الضغط على مفتاح النقصان بشكل متقطع او مستمر لتقليل السرعة
4- الضفط على مفتاح التوقف لايقاف المحرك

حيدر علاج حسن
احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 0 اعجاب
شكراً عبدالله حجازى ( شكر العضو على هذه المشاركة )

mustafaibraheem
:: مهندس ::
تاريخ التسجيل: Jun 2014
الدولة: Baghdad
المشاركات: 8
نشاط [ mustafaibraheem ]
قوة السمعة:0
قديم 01-10-2015, 10:57 PM المشاركة 5   
افتراضي


نعم صحيح يوجد خطأ و تم تصحيحه و التجربة على البروتوس ...

كود:
int x=55;
void main()
 {cmcon=07;
 trisa=15;trisb.f3=0;portb.f3=0;
  pwm1_init(5000);
  while(1)
         {if(porta.f0==0){while(porta.f0==0){}
                       pwm1_set_duty(x);
                       pwm1_start();
                      }
          else if(porta.f1==0){while(porta.f1==0){}
                      pwm1_stop();
                      }
          else if(porta.f2==0){while(porta.f2==0){x+=10;
                                            if(x>255)x=255;
                                            pwm1_set_duty(x);
                                            delay_ms(500);
                                           }
                           }
          else if(porta.f3==0){while(porta.f3==0){x-=10;
                                            if(x<55)x=55;
                                            pwm1_set_duty(x);
                                            delay_ms(500);
                                           }


                           }
         }

}
خطوات التشغيل :
1- الضغط على مفتاح البدء
2- الضغط على مفتاح الزيادة بشكل متقطع او مستمر لزيادة السرعة
3- الضغط على مفتاح النقصان بشكل متقطع او مستمر لتقليل السرعة
4- الضفط على مفتاح التوقف لايقاف المحرك

رائع سلمت يداك استاذ حيدر وجزاك الله الف خير ...

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 0 اعجاب
شكراً حيدر علاج حسن ( شكر العضو على هذه المشاركة )
إضافة رد

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

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

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


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

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