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

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

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



عفوا أخي تقصد ان مصباح تتغير شده ولكن لايصل الى أطفاء كامل
نعم اخي لا ينطفئ وعندما جربت كودا اخر اصبح يشتغل اما مثل الرولي on/off الاحظ ان مستوى الاضاءة ربما تكون في اربع مستويات قيمة قسوى وقيمة دنيا وقيمة بين القصوى والدنيا ثم قيمة منعدمة لاحظة ان احد هم استعمل سوى 16f84 اريد ان تتاكد اخي الفاضل من هدا الملف لكي اجربه كدلك http://www.gulfup.com/?OKDr8S

اعلانات

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


نعم اخي لا ينطفئ وعندما جربت كودا اخر اصبح يشتغل اما مثل الرولي on/off الاحظ ان مستوى الاضاءة ربما تكون في اربع مستويات قيمة قسوى وقيمة دنيا وقيمة بين القصوى والدنيا ثم قيمة منعدمة لاحظة ان احد هم استعمل سوى 16f84 اريد ان تتاكد اخي الفاضل من هدا الملف لكي اجربه كدلك http://www.gulfup.com/?OKDr8S
السلام عليكم
سبب عدم الاطفاء هو انه من محتمل عدم وصول النبضه الى النهايه
للعلم يمكن التحكم بالقيمه الصغرى والعظمى لاحظ الكود احمر
كود:
sbit light at RB3_bit;
sbit light_dir at TRISB3_bit;
bit oldstate, oldstate1;
char zero_crosing=0 ,cont=50,x;
void delay_100us();
void interrupt()
{
 if(INTCON.INTF)
                {
                 INTCON.INTF=0;
                 light=0;
                 zero_crosing=1;

                }

}

void main()
{

  TRISB=7;//pin rb0,rb1,rb2 input & rb3 output
  oldstate=0;
  oldstate1=0;
  intcon=0x90;
  OPTION_REG=0;

 while(1)
         {
         if(zero_crosing)
                       {
                         zero_crosing=0;
                         for( x=0;x<cont;x++)delay_100us();
                         light=1;
                         delay_us(250);
                         light=0;
                       }


        //Button to decrease the voltage
        if(PORTB.F1)  oldstate=1;
        if(!PORTB.F1 && oldstate)
                     {
                      cont ++; //
                      if(cont >95) cont =95;
                      oldstate = 0;
                     }

       //Button to increase the voltage
       if(PORTB.F2)  oldstate1=1;
       if(!PORTB.F2 && oldstate1)
                    {
                     if(cont!=0)cont--;
                     if(cont < 1) cont= 1; // min 0.1 msec
                     oldstate1 = 0;
                    }

     }

}

//*************************************************************//
void delay_100us()
{
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
}
حيث للتحكم بأقل شده
كود:
if(cont >95) cont =95;
طبعا أقصى قيمه هي 100 لماذا لان نصف دوره هي 10ms او تكتب 10000us
ولاننا نحسب لكل 100 مايكروثانيه لذا أقصى قيمه هي 100
وعليه قم بتجربه الكود اعلاه

وأعطنا النتيجه وبتأكيد سنصل الى النتيجه المقبوله بمشيئه الله
تحياتي

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

abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 27-08-2014, 10:44 PM المشاركة 51   
افتراضي


السلام عليكم
سبب عدم الاطفاء هو انه من محتمل عدم وصول النبضه الى النهايه
للعلم يمكن التحكم بالقيمه الصغرى والعظمى لاحظ الكود احمر
كود:
sbit light at RB3_bit;
sbit light_dir at TRISB3_bit;
bit oldstate, oldstate1;
char zero_crosing=0 ,cont=50,x;
void delay_100us();
void interrupt()
{
 if(INTCON.INTF)
                {
                 INTCON.INTF=0;
                 light=0;
                 zero_crosing=1;

                }

}

void main()
{

  TRISB=7;//pin rb0,rb1,rb2 input & rb3 output
  oldstate=0;
  oldstate1=0;
  intcon=0x90;
  OPTION_REG=0;

 while(1)
         {
         if(zero_crosing)
                       {
                         zero_crosing=0;
                         for( x=0;x<cont;x++)delay_100us();
                         light=1;
                         delay_us(250);
                         light=0;
                       }


        //Button to decrease the voltage
        if(PORTB.F1)  oldstate=1;
        if(!PORTB.F1 && oldstate)
                     {
                      cont ++; //
                      if(cont >95) cont =95;
                      oldstate = 0;
                     }

       //Button to increase the voltage
       if(PORTB.F2)  oldstate1=1;
       if(!PORTB.F2 && oldstate1)
                    {
                     if(cont!=0)cont--;
                     if(cont < 1) cont= 1; // min 0.1 msec
                     oldstate1 = 0;
                    }

     }

}

//*************************************************************//
void delay_100us()
{
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
}
حيث للتحكم بأقل شده
كود:
if(cont >95) cont =95;
طبعا أقصى قيمه هي 100 لماذا لان نصف دوره هي 10ms او تكتب 10000us
ولاننا نحسب لكل 100 مايكروثانيه لذا أقصى قيمه هي 100
وعليه قم بتجربه الكود اعلاه

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


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


شكرا اخي على المتابعة جزاك الله اجرا اخي العزيز لم استعمل الترياك ولا العال الضوئي بل استعملت رولي صلب ستاتيك سوف اجرب واعطيك النتيجة اخي
السلام عليكم
عفوا ماذا تقصد رولي صلب ستاتيك؟
لان الكود صمم للتراياك وقد يكون ذلك سبب كل مشاكل


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


السلام عليكم
عفوا ماذا تقصد رولي صلب ستاتيك؟
لان الكود صمم للتراياك وقد يكون ذلك سبب كل مشاكل
اخي العزيز
السؤال:مادا اقول لمن لم يبخل علي ولو بكلمة بل بحر كلمات فالكلمات في حقك قليلة جدا اعظم الله قدرك وحماك الله من كل شر وبلاء
اني استعمل رولي ليس عادي بل في داخله قطع الكترونيكومنها الترياك والدياك فالمدخل فيه توتر مستمر من 3الى 35 فولت والخارج فيه 220 فولت 10 امبير
ربما قد يكون السبب والله اعلم
جربت الكود الدي اعطيتني لم تتحرك شدة المصباح وعندما جربت الكود الدي هو من صميمك انت اخي تشتغل بين قيمة قسوى ودنيا وعند الضغط على الزر تنطفئ يعني لها حالتان
الكود اخي

sbit light at RB3_bit;
sbit light_dir at TRISB3_bit;
bit oldstate, oldstate1;
char zero_crosing=0 ,cont=0,x;
void delay_100us();
void interrupt()
{
if(INTCON.INTF)
{
INTCON.INTF=0;
light=0;
zero_crosing=1;

}

}

void main()
{

TRISB=7;//pin rb0,rb1,rb2 input & rb3 output
oldstate=0;
oldstate1=0;
intcon=0x90;
OPTION_REG=0;

while(1)
{
if(zero_crosing)
{
zero_crosing=0;
for( x=0;x<cont;x++)delay_100us();
light=1;
delay_us(250);
light=0;
}


//Button to decrease the voltage
if(PORTB.F1) oldstate=1;
if(!PORTB.F1 && oldstate)
{
cont ++; //
if(cont >85) cont =85;
oldstate = 0;
}

//Button to increase the voltage
if(PORTB.F2) oldstate1=1;
if(!PORTB.F2 && oldstate1)
{
if(cont!=0)cont--;
if(cont < 1) cont= 1; // min 0.1 msec
oldstate1 = 0;
}

}

}

//************************************************** ***********//
void delay_100us()
{
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
}

غيرت قمية 85 بي 95 بقية ما هي ثم غيرتها بي100 لم تتغير
رولي لدي عندي بشرط اني لدي سوى 10امبير
https://www.futurlec.com/Relays/SSR25A.shtml


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


اخي العزيز
السؤال:مادا اقول لمن لم يبخل علي ولو بكلمة بل بحر كلمات فالكلمات في حقك قليلة جدا اعظم الله قدرك وحماك الله من كل شر وبلاء
اني استعمل رولي ليس عادي بل في داخله قطع الكترونيكومنها الترياك والدياك فالمدخل فيه توتر مستمر من 3الى 35 فولت والخارج فيه 220 فولت 10 امبير
ربما قد يكون السبب والله اعلم
جربت الكود الدي اعطيتني لم تتحرك شدة المصباح وعندما جربت الكود الدي هو من صميمك انت اخي تشتغل بين قيمة قسوى ودنيا وعند الضغط على الزر تنطفئ يعني لها حالتان
الكود اخي

sbit light at RB3_bit;
sbit light_dir at TRISB3_bit;
bit oldstate, oldstate1;
char zero_crosing=0 ,cont=0,x;
void delay_100us();
void interrupt()
{
if(INTCON.INTF)
{
INTCON.INTF=0;
light=0;
zero_crosing=1;

}

}

void main()
{

TRISB=7;//pin rb0,rb1,rb2 input & rb3 output
oldstate=0;
oldstate1=0;
intcon=0x90;
OPTION_REG=0;

while(1)
{
if(zero_crosing)
{
zero_crosing=0;
for( x=0;x<cont;x++)delay_100us();
light=1;
delay_us(250);
light=0;
}


//Button to decrease the voltage
if(PORTB.F1) oldstate=1;
if(!PORTB.F1 && oldstate)
{
cont ++; //
if(cont >85) cont =85;
oldstate = 0;
}

//Button to increase the voltage
if(PORTB.F2) oldstate1=1;
if(!PORTB.F2 && oldstate1)
{
if(cont!=0)cont--;
if(cont < 1) cont= 1; // min 0.1 msec
oldstate1 = 0;
}

}

}

//************************************************** ***********//
void delay_100us()
{
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
asm nop;asm nop;asm nop;asm nop;asm nop;
}

غيرت قمية 85 بي 95 بقية ما هي ثم غيرتها بي100 لم تتغير
رولي لدي عندي بشرط اني لدي سوى 10امبير
https://www.futurlec.com/Relays/SSR25A.shtml
السلام عليكم
أخي العزيز نعم أظنه الكود الي عندك يصلح للتراياك الي نحن نصنعه
اما جاهز فعلينا معرفه كيف يعمل حتى نستطيع التعديل على الكود
ممكن الموديل الي عندك يعني رقم القطعه solid state relay

ممكن توضح ماذا تعني تشتغل بين قيمة قسوى ودنيا وعند الضغط على الزر تنطفئ


تحياتي


التعديل الأخير تم بواسطة : حسن هادي محمود بتاريخ 29-08-2014 الساعة 04:01 AM

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


جرب هذا الكود أخي حيث تردد 4mhz للمايكرو 16f628a
كود:
sbit light at RB3_bit;
sbit light_dir at TRISB3_bit;
bit oldstate, oldstate1;
char zero_crosing=0 ,cont=95,x;
void delay_100us();
void interrupt()
{
 if(INTCON.INTF)
                {
                 INTCON.INTF=0;
                 light=0;
                 zero_crosing=1;
                }

}

void main()
{

  TRISB=7;//pin rb0,rb1,rb2 input & rb3 output
  oldstate=0;
  oldstate1=0;
  intcon=0x90;
  OPTION_REG=0;

 while(1)
         {
         if(zero_crosing)
                       {
                         zero_crosing=0;
                         for( x=0;x<cont;x++)delay_100us();
                         light=1;
                       }


        //Button to decrease the voltage
        if(PORTB.F1)  oldstate=1;
        if(!PORTB.F1 && oldstate)
                     {
                      cont ++; //
                      if(cont >95) cont =95;
                      oldstate = 0;
                     }

       //Button to increase the voltage
       if(PORTB.F2)  oldstate1=1;
       if(!PORTB.F2 && oldstate1)
                    {
                     if(cont!=0)cont--;
                     if(cont < 1) cont= 1; // min 0.1 msec
                     oldstate1 = 0;
                    }

     }

}

//*************************************************************//
void delay_100us()
{
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
  asm nop;asm nop;asm nop;asm nop;asm nop;
}


abdewidad
:: مهندس متميز ::
تاريخ التسجيل: Dec 2013
الدولة: casablanca
المشاركات: 712
نشاط [ abdewidad ]
قوة السمعة:0
قديم 29-08-2014, 05:47 PM المشاركة 56   
افتراضي


اخي العزيز
النتيجة ان المصباح يضئ بشدة عند الضغط على الزر تنقص شدة قليلا وعند الضغط على نفس الزر التنازلي يبقى على نفس الشدة وعند الضغط على الزر الاخر تضئ بشدة
ECHOWELL
solid state relay
module: p2410dl
input: 3-32vdc
output:240vac 10Amps


التعديل الأخير تم بواسطة : abdewidad بتاريخ 29-08-2014 الساعة 06:50 PM
إضافة رد

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

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

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


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

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