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

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

الصورة الرمزية نعيم البديري
نعيم البديري
:: عضو ماسى ::
تاريخ التسجيل: Mar 2010
الدولة: العراق
المشاركات: 3,978
نشاط [ نعيم البديري ]
قوة السمعة:320
قديم 06-09-2014, 04:19 AM المشاركة 81   
افتراضي



السلام عليكم ورحمة الله // الاخ الفاضل حسن هادي والاخوة الزملاء المشاركون في الموضوع ..
قبل البدء بايجاد الطريقة الملائمة لابدال المقاومة المتغيرة في الدائرة وكيف يمكن التحكم بها يجب ان نعرف بعض المفاهيم البسيطة جدا عن اداء عملية الDIM >>
بما اننا نتعامل مع موجة جيبية (المصدر العمومي ) فيتم في الدائرة التقليدية كمنظم المروحة ودائرة التحكم بالاضاءة اعلاه .. يتم التحكم بزمن السماح لمرور التيار عبر الترياك اي اننا لو سمحنا بكامل الزمن كان اقرب الى الشورت سيركت ولو قطعنا جزء من زمن المرور اصبح الحمل لاياخذ الطاقة الكاملة .. كيف يتم ذالك بدائرة (فيز شفت ) وهي عبارة عن مقاومة ومكثف هنا يتم تأخير الموجة حسب قيمة المقاومة بمساعدة المكثف واعطائها للبوابة كلما زاد التاخير ( انحراف اكبر للطور ) زاد قطع المصدر المغذي للحمل على التوالي مع الترياك .
انا من رأيي استخدام احدى الطريقتين الاتيتين للتمكن من السيطرة عبر البك .
الاولى ان نستبدل المقاومة باخرى يتم السيطرة على قيمتها من خلال جهد مستمر يتغير على شكل سلم (درجات ) كما اقترحة بعض الاخوة (باستخدام فوتو رسيزستور مع مصباح مقابل لها وتتم السيطرة على جهد المصباح .
الثانية ., تحتاج الى مهارة وخبرة في التعامل مع البك . الا وهي اخذ تزامن لموجة المصدر بعد تخفيضة واخذ نموذج منه ثم خلق خرج يتاخر عن تلك الموجة طبعا بمراحل (ستيبات ) مثلا 10 مراحل لنحصل على 10 درجات مختلفة من توصيل الترياك يتم تغذية هذا الخرج الى بوابة الترياك ويفضل استخدام فوتو ترياك في هذه العملية .

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

abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 06-09-2014, 10:20 AM المشاركة 82   
افتراضي


السلام عليكم ورحمة الله // الاخ الفاضل حسن هادي والاخوة الزملاء المشاركون في الموضوع ..
قبل البدء بايجاد الطريقة الملائمة لابدال المقاومة المتغيرة في الدائرة وكيف يمكن التحكم بها يجب ان نعرف بعض المفاهيم البسيطة جدا عن اداء عملية الDIM >>
بما اننا نتعامل مع موجة جيبية (المصدر العمومي ) فيتم في الدائرة التقليدية كمنظم المروحة ودائرة التحكم بالاضاءة اعلاه .. يتم التحكم بزمن السماح لمرور التيار عبر الترياك اي اننا لو سمحنا بكامل الزمن كان اقرب الى الشورت سيركت ولو قطعنا جزء من زمن المرور اصبح الحمل لاياخذ الطاقة الكاملة .. كيف يتم ذالك بدائرة (فيز شفت ) وهي عبارة عن مقاومة ومكثف هنا يتم تأخير الموجة حسب قيمة المقاومة بمساعدة المكثف واعطائها للبوابة كلما زاد التاخير ( انحراف اكبر للطور ) زاد قطع المصدر المغذي للحمل على التوالي مع الترياك .
انا من رأيي استخدام احدى الطريقتين الاتيتين للتمكن من السيطرة عبر البك .
الاولى ان نستبدل المقاومة باخرى يتم السيطرة على قيمتها من خلال جهد مستمر يتغير على شكل سلم (درجات ) كما اقترحة بعض الاخوة (باستخدام فوتو رسيزستور مع مصباح مقابل لها وتتم السيطرة على جهد المصباح .
الثانية ., تحتاج الى مهارة وخبرة في التعامل مع البك . الا وهي اخذ تزامن لموجة المصدر بعد تخفيضة واخذ نموذج منه ثم خلق خرج يتاخر عن تلك الموجة طبعا بمراحل (ستيبات ) مثلا 10 مراحل لنحصل على 10 درجات مختلفة من توصيل الترياك يتم تغذية هذا الخرج الى بوابة الترياك ويفضل استخدام فوتو ترياك في هذه العملية .
بارك الله فيك اخي
ممكن الافادة في الطريقة الثانية الدي دكرت اخي بدون مقاومة ضوئية لان مقاومة الضوئية ناجحة لديمر

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

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


السلام عليكم ورحمة الله // الاخ الفاضل حسن هادي والاخوة الزملاء المشاركون في الموضوع ..
قبل البدء بايجاد الطريقة الملائمة لابدال المقاومة المتغيرة في الدائرة وكيف يمكن التحكم بها يجب ان نعرف بعض المفاهيم البسيطة جدا عن اداء عملية الDIM >>
بما اننا نتعامل مع موجة جيبية (المصدر العمومي ) فيتم في الدائرة التقليدية كمنظم المروحة ودائرة التحكم بالاضاءة اعلاه .. يتم التحكم بزمن السماح لمرور التيار عبر الترياك اي اننا لو سمحنا بكامل الزمن كان اقرب الى الشورت سيركت ولو قطعنا جزء من زمن المرور اصبح الحمل لاياخذ الطاقة الكاملة .. كيف يتم ذالك بدائرة (فيز شفت ) وهي عبارة عن مقاومة ومكثف هنا يتم تأخير الموجة حسب قيمة المقاومة بمساعدة المكثف واعطائها للبوابة كلما زاد التاخير ( انحراف اكبر للطور ) زاد قطع المصدر المغذي للحمل على التوالي مع الترياك .
انا من رأيي استخدام احدى الطريقتين الاتيتين للتمكن من السيطرة عبر البك .
الاولى ان نستبدل المقاومة باخرى يتم السيطرة على قيمتها من خلال جهد مستمر يتغير على شكل سلم (درجات ) كما اقترحة بعض الاخوة (باستخدام فوتو رسيزستور مع مصباح مقابل لها وتتم السيطرة على جهد المصباح .
الثانية ., تحتاج الى مهارة وخبرة في التعامل مع البك . الا وهي اخذ تزامن لموجة المصدر بعد تخفيضة واخذ نموذج منه ثم خلق خرج يتاخر عن تلك الموجة طبعا بمراحل (ستيبات ) مثلا 10 مراحل لنحصل على 10 درجات مختلفة من توصيل الترياك يتم تغذية هذا الخرج الى بوابة الترياك ويفضل استخدام فوتو ترياك في هذه العملية .
السلام عليكم
تسلم أستاذي العزيز
لقد توصلت الى دائره مناسبه مع الكود وبالفعل نجحت الطريقه وعمل ديمر بشكل ممتاز
بس عندي مشكله وهي مقاومه 220k مربوطه مع القنطره تسخن قليلا لاني استخدمتها ربع واط
ارجو التأكد من صحه التصميم يعني اختيار صحيح للمقاومات
وثانيا كيف أختار قدره مقاومه لكي لاتسخن

https://www.mediafire.com/?93h97p4savhh47a

الكود
كود:
bit oldstate, oldstate1;
sbit sw_inc at RB1_bit;
sbit sw_inc_dir at TRISB1_bit;

sbit sw_dec at RB2_bit;
sbit sw_dec_dir at TRISB2_bit;

sbit trigger at RB3_bit;
sbit trigger_dir at TRISB3_bit;

sbit led_check at RB4_bit;
sbit led_check_dir at TRISB4_bit;

char zero_crosing=0, ratio=50 ,x;

unsigned int time=0 , cont=0;

//Timer0
//Prescaler 1:128; TMR0 Preload = 100; Actual Interrupt Time : 19.968 ms

//Place/Copy this part in declaration section
void InitTimer0(){
  OPTION_REG         = 0x86;
  TMR0                 = 100;
}


void interrupt()
{
 if(INTCON.INTF)
                {
                 INTCON.INTF=0;
                 tmr0=100;
                 zero_crosing=1;
                }
  if (TMR0IF_bit){
    TMR0IF_bit         = 0;
    TMR0                 = 100;
    //Enter your code here
  }

}

void main()
{
  sw_dec_dir=1; // input
  sw_inc_dir=1; // input
  led_check_dir=0; //output
  trigger_dir=0;//output
  led_check=0;//led off
  oldstate=0;
  oldstate1=0;
  intcon=0xB0;
  InitTimer0();
  for( x=0;x<6;x++) {led_check=~led_check; delay_ms(500); }
while(1)
         {
          if(zero_crosing)
                       {
                         zero_crosing=0;
                         led_check=1;
                         time=0;
                         cont=ratio*100;
                         while(time<cont)
                                {
                                 time=128*(tmr0-100);
                                }
                         led_check=0;
                          trigger=1;
                         delay_us(100);
                         trigger=0;
                       }


        //Button to decrease the voltage
        if(sw_dec)  oldstate=1;
        if(!sw_dec && oldstate)
                     {
                      if(ratio <85) ratio +=1; //
                      oldstate = 0;
                     }

       //Button to increase the voltage
       if(sw_inc)  oldstate1=1;
       if(!sw_inc && oldstate1)
                    {
                     if(ratio>5)ratio -=1;
                     oldstate1 = 0;
                    }

     }

}


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

abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 07-09-2014, 01:16 PM المشاركة 84   
افتراضي


بارك الله فيك اخي على هدا المجهود سوف اجربه


abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 07-09-2014, 06:24 PM المشاركة 85   
افتراضي


اخي العزيز
لم تعمل في المحاكات
ولم تعمل على ارض الواقع معلم اني استعملت 12 فولت ولم استعمل 220 فولت
وبدلت المقاومتين 100 كيلواوم بي 10 كيلواوم الموجودان في قنطرة التوحيد
ولم اعرف السبب


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


اخي العزيز
لم تعمل في المحاكات
ولم تعمل على ارض الواقع معلم اني استعملت 12 فولت ولم استعمل 220 فولت
وبدلت المقاومتين 100 كيلواوم بي 10 كيلواوم الموجودان في قنطرة التوحيد
ولم اعرف السبب
السلام عليكم
دائره تعمل بشكل ممتاز على 220 فولت وقد جربت ذلك عمليا
محاكاه على بروتيس اربط Nالى الارضي


abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 07-09-2014, 09:55 PM المشاركة 87   
افتراضي


السلام عليكم
دائره تعمل بشكل ممتاز على 220 فولت وقد جربت ذلك عمليا
محاكاه على بروتيس اربط Nالى الارضي
اخي سوف اجرب على توتر 220 فولت واخبرك


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


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

https://www.mediafire.com/?93h97p4savhh47a

الكود
كود:
bit oldstate, oldstate1;
sbit sw_inc at RB1_bit;
sbit sw_inc_dir at TRISB1_bit;

sbit sw_dec at RB2_bit;
sbit sw_dec_dir at TRISB2_bit;

sbit trigger at RB3_bit;
sbit trigger_dir at TRISB3_bit;

sbit led_check at RB4_bit;
sbit led_check_dir at TRISB4_bit;

char zero_crosing=0, ratio=50 ,x;

unsigned int time=0 , cont=0;

//Timer0
//Prescaler 1:128; TMR0 Preload = 100; Actual Interrupt Time : 19.968 ms

//Place/Copy this part in declaration section
void InitTimer0(){
  OPTION_REG         = 0x86;
  TMR0                 = 100;
}


void interrupt()
{
 if(INTCON.INTF)
                {
                 INTCON.INTF=0;
                 tmr0=100;
                 zero_crosing=1;
                }
  if (TMR0IF_bit){
    TMR0IF_bit         = 0;
    TMR0                 = 100;
    //Enter your code here
  }

}

void main()
{
  sw_dec_dir=1; // input
  sw_inc_dir=1; // input
  led_check_dir=0; //output
  trigger_dir=0;//output
  led_check=0;//led off
  oldstate=0;
  oldstate1=0;
  intcon=0xB0;
  InitTimer0();
  for( x=0;x<6;x++) {led_check=~led_check; delay_ms(500); }
while(1)
         {
          if(zero_crosing)
                       {
                         zero_crosing=0;
                         led_check=1;
                         time=0;
                         cont=ratio*100;
                         while(time<cont)
                                {
                                 time=128*(tmr0-100);
                                }
                         led_check=0;
                          trigger=1;
                         delay_us(100);
                         trigger=0;
                       }


        //Button to decrease the voltage
        if(sw_dec)  oldstate=1;
        if(!sw_dec && oldstate)
                     {
                      if(ratio <85) ratio +=1; //
                      oldstate = 0;
                     }

       //Button to increase the voltage
       if(sw_inc)  oldstate1=1;
       if(!sw_inc && oldstate1)
                    {
                     if(ratio>5)ratio -=1;
                     oldstate1 = 0;
                    }

     }

}
السلام عليكم
عفوا أقصد مقاومات 100K مربوطه على التوالي حيث كنت بالبدايه مستخدم مقاومه واحده فقط وهي 220K
تحياتي

إضافة رد

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

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

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


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

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