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

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

الصورة الرمزية magdy gomaa
magdy gomaa
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2006
المشاركات: 194
نشاط [ magdy gomaa ]
قوة السمعة:0
قديم 19-12-2020, 10:47 PM المشاركة 1   
افتراضي مطلوب دائرة تعمل مع عداد سفن سيجما لقياس الفولت دي سي Twitter FaceBook Google+



بعد التحية والاحترام
الي خبراء القسم الافاضل
ارجوا المساعدة
محتاج دائرة اوصل عليها مجموعة من سيجمات سفن
بحيث في النهاية اقيس بها فولت دي سي
مثل جهاز الافو ميتر بشكل مصغر من 4 سيجمات
وتفضلوا بقبول وافر الاحترام
مجدي مجمعة

اعلانات

الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:109
قديم 20-12-2020, 03:06 AM المشاركة 2   
افتراضي


بعد التحية والاحترام
الي خبراء القسم الافاضل
ارجوا المساعدة
محتاج دائرة اوصل عليها مجموعة من سيجمات سفن
بحيث في النهاية اقيس بها فولت دي سي
مثل جهاز الافو ميتر بشكل مصغر من 4 سيجمات
وتفضلوا بقبول وافر الاحترام
مجدي مجمعة
السلام عليكم ورحمه الله

تفضل أخي اليك طلبك

دائرة قياس فرق الجهد بمدي قياس 500 فولت تيار مستمر ويمكن ذيادة المدي الي 1000 فولت
معدل القياس والمعايرة لكل واحد فولت داخل علي الدائرة يظهر علي الشاشات ب 100 فولت
بمعدل 1 الي 100
نسبة الخطأ للقياسات هي
واحد فولت نسبةخطأ لكل 100 فولت علي القياس




تحذيرات الدائرة مبنيه علي المتحكم الدقيق ميكروكنترولر ..
وأقصي فرق جهد يدخل علي محول التناظري هو 5 فولت ك حد أقصي
وهنا يجب التنويه علي المعايرة الخارجيه بحيث أن الدائرة عند قياس 500 فولت يجب أن تقسم ال 500 الي أن تصل الي 5 فولت فقط
كمثال للمعايرة الخارجيه
كل 100 فولت يجب أن يقسم الي واحد فولت لكي تكون المعايرة صحيحه وتظهر القرأة بشكل صحيح
ويفضل وضع حماية علي مدخل التناظري للمجس لمنع ذيادة فرق الجهد عن 5 فولت ولحمايه المتحكم ميكرو كنترولر


الكود الخاص بالدائرة


كود:
     


      //   DC V 500           //

     //    ENG ABDALLA  HYGAZY    //
    //    DATA  2020/12/19         //
    //    Frequency  4  MHz       //
    
    #define  seg_data1   PORTB
    #define  seg_data2   PORTB
    #define  seg_data3   PORTB
    #define  seg_data4   PORTB
    #define  DP         PORTB.f7
    #define  BUZ      PORTA.F5=1;  delay_ms(250);  PORTA.F5=0;  delay_ms(80);
    #define  DDS4    delay_ms(2000);
    #define  DDS5    delay_ms(800);
  

  
   //********************========************************//
     unsigned int adc_rd,DATA,DATA_X,STOP=0,NEXT;
     unsigned int DATA_LOW,DATA_MEDEM,DATA_HAY;
     unsigned int RD_DATA=0,RD_DATA1=0,RD_DATA2=0;
     unsigned int AA1=0,AA2,AA3,AA4=0,AA5=0,AA6=0 ;
     long tlong;
     unsigned short mask(unsigned short num);
     unsigned int  a1=0,m1=0,e1=0,w1=0,k1=0;
  //********************========************************//

  //======================= show_adc ==========================================//
      void show_adc() {
      adc_rd = ADC_Read(0);
      tlong = (long)adc_rd * 500000;
     tlong = tlong / 1023;
 }
  //=============== show_adc === END ========================================//
 
 

  
  //============ Timer0 =========== InitTimer0 ========================//
    //Timer0
   //Prescaler 1:8; TMR0 Preload = 6; Actual Interrupt Time : 1 ms
   //Place/Copy this part in declaration section
   void InitTimer0(){
   OPTION_REG         = 0x82;
   TMR0                 = 6;
   INTCON         = 0xA0;
 }
 //========================      END    ===============================//
 
 //========================  Interrupt ===============================//
    void Interrupt(){
    if (TMR0IF_bit){
    TMR0IF_bit         = 0;
    TMR0         = 6;
    //Enter your code here
    
         AA4++;  AA5++; AA6++;
         if( AA4==1 ) { show_adc(); }
         if( AA4==1000 ) { AA4=0;   }


      if(STOP==0)
    {
    
       if(AA5==1)
      {
       a1 = tlong / 100000;
      if(a1==0){ PORTD=0;}
      else  PORTD=1;

       PORTB=mask(a1); a1=0;

      }
      
      if(AA5==2)
      {
       a1 = (tlong % 100000)/10000;
       PORTD=2;
       PORTB=mask(a1);  a1=0;

      }

      if(AA5==3)
      {
       a1   = (tlong % 10000)%1000/100;
       PORTD=4;
       PORTB=mask(a1); a1=0;

     }
     
     

      if(AA5==5)
      {
       a1  = (tlong % 100)%10%1;   //////////
       PORTD=4;
       PORTB=mask(10);

      }
     
     
     
     
      if(AA5==6)
      {
       a1  = (tlong % 100)%10%1;
       PORTD=8;
       PORTB=mask(a1); a1=0;

      }
      
      if(AA5==7){ AA5=0;}
     
  }
         if(AA6==1   ){ PORTD.F7=1;}
         if(AA6==400 ){ PORTD.F7=0;}
         if(AA6==800){ AA6=0;     }
    

  }
}

 //===================  Interrupt == END  ===============================//
 

 
 //========================   void main  ==========================//
   
      void main() {
      TRISB=0;  PORTB=0;
      TRISD=0;  PORTD=0;
      TRISC=0;  PORTC=0;
      TRISE=0;  PORTE=0;
      TRISA=1;  PORTA=0;
      ADCON0=0x00;
      CMCON=0;
      InitTimer0();

      RD_DATA  = EEPROM_Read(0); delay_ms(10);
      RD_DATA  = RD_DATA  *10;
      
      RD_DATA1 = EEPROM_Read(1); delay_ms(10);
      RD_DATA1 = RD_DATA1 *10;
       
      RD_DATA2 = EEPROM_Read(2); delay_ms(10);
      RD_DATA2 = RD_DATA2 *10;

      delay_ms(1000);
      BUZ   BUZ

        
       if( tlong <=15 )
       { 
        
            while(AA1==0)
          {
           delay_ms(3000);  BUZ   
           if( tlong >=15 ){ AA1=1;  }
          }
      }
        

       
       
      while(1){









 }
}

 //====================== void main === END  ==========================//
 
 
 //========================   switch (num)  ==========================//
unsigned short mask(unsigned short num){
switch (num){

case 0 : return 0xC0;
case 1 : return 0xF9;
case 2 : return 0xA4;
case 3 : return 0xB0;
case 4 : return 0x99;
case 5 : return 0x92;
case 6 : return 0x82;
case 7 : return 0xF8;
case 8 : return 0x80;
case 9 : return 0x90;
case 10 : return 0x7F;

}
}

//========================      END    ==========================//


بالتوفيق للجميع


التعديل الأخير تم بواسطة : عبدالله حجازى بتاريخ 20-12-2020 الساعة 03:10 AM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية magdy gomaa
magdy gomaa
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2006
المشاركات: 194
نشاط [ magdy gomaa ]
قوة السمعة:0
قديم 20-12-2020, 10:57 AM المشاركة 3   
افتراضي


بعد التحية والاحترام
الي خبراء القسم الافاضل
ارجوا المساعدة
محتاج دائرة اوصل عليها مجموعة من سيجمات سفن
بحيث في النهاية اقيس بها فولت دي سي
مثل جهاز الافو ميتر بشكل مصغر من 4 سيجمات
وتفضلوا بقبول وافر الاحترام
مجدي مجمعة
كل الشكر للبشمهندس عبدالله حجازي
علي الرد السريع
ياريت صورة لمكونات الدائرة مع pcb وملف الهيكس فايل
ولك كل الشكر يابشمهندس عبدالله

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

الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:109
قديم 22-12-2020, 12:48 AM المشاركة 4   
افتراضي


كل الشكر للبشمهندس عبدالله حجازي
علي الرد السريع
ياريت صورة لمكونات الدائرة مع pcb وملف الهيكس فايل
ولك كل الشكر يابشمهندس عبدالله
السلام عليكم



تفضل أخي المشروع كامل للتحميل

https://drive.google.com/drive/folde...oi?usp=sharing


صور البورد










ملف البورد للتحميل
https://drive.google.com/drive/folde...zN?usp=sharing

ولفتح ملف العمل للبورد تحتاج الي تحميل هذا البرنامج اللذي صمم عليه ملف البورد PCB

" DipTrace Launcher " اسم البرنامج

ملاحظه مهمه جداا نسيت وضع مقاومات تحديد تيار للسفن سيجمن لاحظ توجد كباري علي المخرج B للمتحكم يجب وضع مقاومات 220 أوم بدلا من هذة الكباري عدد الكباري هو 8 لاحظهم باللون الأزرق حيث يتم وضع مقاومه لتحديد التيار 220 أوم علي كل طرف خارج من المنفذ B للمتحكم وذاهب لإطراف الشاشات


بالتوفيق




التعديل الأخير تم بواسطة : عبدالله حجازى بتاريخ 22-12-2020 الساعة 01:52 AM

الصورة الرمزية magdy gomaa
magdy gomaa
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2006
المشاركات: 194
نشاط [ magdy gomaa ]
قوة السمعة:0
قديم 22-12-2020, 08:21 AM المشاركة 5   
افتراضي


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

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

ahmad alfrhan
:: مهندس ::
تاريخ التسجيل: Oct 2005
المشاركات: 17
نشاط [ ahmad alfrhan ]
قوة السمعة:0
قديم 22-12-2020, 08:59 PM المشاركة 6   
افتراضي


السلام عليكم ورحمة الله وبركاته
ممكن مفتاح التسجيل لبرنامج

DipTrace Launcher


الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:109
قديم 23-12-2020, 05:11 AM المشاركة 7   
افتراضي


السلام عليكم ورحمة الله وبركاته
ممكن مفتاح التسجيل لبرنامج

DipTrace Launcher
وعليكم السلام ورحمه الله

للأسف لا امتلك مفتاح هذا البرنامج

إضافة رد

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

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

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


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

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