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

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

الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,916
نشاط [ سعيد قادر ]
قوة السمعة:152
قديم 10-02-2015, 09:23 PM المشاركة 1   
Exclamation قياس فولت ؟؟ Twitter FaceBook Google+



السلام عليكم

فى هذا الدائرة استخدمت فيها المتحكم PIC16F88 وجعلت الطرف A0 دخل تناضرى اى انلوك لكى اقرء الفولت الداخل الى المايكرو عن طريق هذا الطرف كتبت الكود والكود يعمل بشكل ممتاز
وسؤالى هنا لو اردت عند وصول الفولتية الى فولت معين كمثال2.5 فولت يجعل طرف portb.b0 خرج فماذا اكتب فى الكود حيث كتبتها ولم افلح ؟؟

ولكم جزيل الشكر




الكود


كود:
#define   is    ==
int mlv=0;
void _init()
{
 trisa=0b00000001;
 porta=0;
 trisb=0;
 portb=0;
}
void main()
{ adc_init();
 _init();
 while(1)
 {
  mlv=adc_read(0);
  mlv=(mlv*5000)>>10;
  if(mlv is 512)portb.b0=1;
 }
}

اعلانات

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


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

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

mohamedamie
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2015
المشاركات: 109
نشاط [ mohamedamie ]
قوة السمعة:0
قديم 11-02-2015, 12:09 AM المشاركة 3   
افتراضي


السلام عليكم أكتب هذا الكود


كود:
  unsigned short   Last_Duty ;
void main() {

 TRISA  = 0B11111;
 PORTA = 0B00000;

 TRISB = 0B00000000; //set portB.B0 as input.
 PORTB = 0B00000000;
       CMCON  = 7; 
        ANSEL  = 0x04;        

 while (1) {
 Last_Duty = ADC_Read(0);
 if (Last_Duty == 255 ) 
        { PORTB = 0B00000001; 
          
       }
           else
          { PORTB = 0B00000000;
       
      }
      }
 
 

}

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

الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,916
نشاط [ سعيد قادر ]
قوة السمعة:152
قديم 11-02-2015, 03:36 PM المشاركة 4   
Smile


هذا المتحكم لا يحتوي على مداخل تناظريه ...
اختر متحكم اخر و بعدها نجري تصحيحات بسيطة على الكود
لا استاذ حيدر فيها خمس مداخل تناضرية ؟؟




الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,916
نشاط [ سعيد قادر ]
قوة السمعة:152
قديم 11-02-2015, 03:37 PM المشاركة 5   
افتراضي


السلام عليكم أكتب هذا الكود


كود:
  unsigned short   Last_Duty ;
void main() {

 TRISA  = 0B11111;
 PORTA = 0B00000;

 TRISB = 0B00000000; //set portB.B0 as input.
 PORTB = 0B00000000;
       CMCON  = 7; 
        ANSEL  = 0x04;        

 while (1) {
 Last_Duty = ADC_Read(0);
 if (Last_Duty == 255 ) 
        { PORTB = 0B00000001; 
          
       }
           else
          { PORTB = 0B00000000;
       
      }
      }
 
 

}
وعليكم السلام ورحمة الله شكرا لك اخى الكريم ساجربها ان شاء الله


الصورة الرمزية assed
assed
:: عضو فضي ::
تاريخ التسجيل: Jul 2014
الدولة: العراق - بغداد
المشاركات: 1,036
نشاط [ assed ]
قوة السمعة:97
قديم 11-02-2015, 03:51 PM المشاركة 6   
افتراضي


السلام عليكم

فى هذا الدائرة استخدمت فيها المتحكم PIC16F88 وجعلت الطرف A0 دخل تناضرى اى انلوك لكى اقرء الفولت الداخل الى المايكرو عن طريق هذا الطرف كتبت الكود والكود يعمل بشكل ممتاز
وسؤالى هنا لو اردت عند وصول الفولتية الى فولت معين كمثال2.5 فولت يجعل طرف portb.b0 خرج فماذا اكتب فى الكود حيث كتبتها ولم افلح ؟؟

ولكم جزيل الشكر




الكود


كود:
#define   is    ==
int mlv=0;
void _init()
{
 trisa=0b00000001;
 porta=0;
 trisb=0;
 portb=0;
}
void main()
{ adc_init();
 _init();
 while(1)
 {
  mlv=adc_read(0);
  mlv=(mlv*5000)>>10;
  if(mlv is 512)portb.b0=1;
 }
}
السلام عليكم
هذا كود بلغة بروتون بيسك عسى ان ينفعك لان اغلب الدوال هية متشابهة بجميع الغات
كود:
if mlv >510 and mlv <515 then high portb.0 :else:low portb.0
عند تطبيق المشروع على ارض الواقع يجب ان تستخدم اصغر واكبر ! اذا كانت فولتية القطع محدودة عند 2.5 فولت سيحصل تذبذب بالدائرة لعدة احتمالات وأهمها هوة تحديد الفولتة لان أستخدام هكذا مشروع يعني ان الفولتية غير مستقرة

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

الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,916
نشاط [ سعيد قادر ]
قوة السمعة:152
قديم 11-02-2015, 04:19 PM المشاركة 7   
افتراضي


السلام عليكم
هذا كود بلغة بروتون بيسك عسى ان ينفعك لان اغلب الدوال هية متشابهة بجميع الغات
كود:
if mlv >510 and mlv <515 then high portb.0 :else:low portb.0
عند تطبيق المشروع على ارض الواقع يجب ان تستخدم اصغر واكبر ! اذا كانت فولتية القطع محدودة عند 2.5 فولت سيحصل تذبذب بالدائرة لعدة احتمالات وأهمها هوة تحديد الفولتة لان أستخدام هكذا مشروع يعني ان الفولتية غير مستقرة

فعلا كلامك صحيح شكرا على المساعدة بارك الله فيك


Tico
:: عضو ذهبي ::
تاريخ التسجيل: May 2012
المشاركات: 1,426
نشاط [ Tico ]
قوة السمعة:115
قديم 11-02-2015, 05:14 PM المشاركة 8   
افتراضي


السلام عليكم
اخي سعيد هم 7 مداخل أنالوج 5 بالمنفذ A + اثنين بالمنفذ B

ليس لي خبرة كبيرة في الميكروسي كما تعلم وهذه فقط تجربة :
في الملف المرفق :
1- قمت بتحديد الدخل الانالوج المطلوب بالمسجل ANSEL
(ANALOG SELECT REGISTER)
2- لأنه نسخة مطورة من Pic16F628A كان ضروري كذلك تحييد المقارنات عن طريق التعليمة:
;CMCON = 7
3- الخرج RB0 افتراضيا في الميكروسي برو على أنه خرج PWM ..
من باب الاحتياط غيرته في الاعدادات الى خرج عادي وأصبح RB3 هو الخرج PWM
4- ألغيت سطر الإزاحة في الكود (الحقيقة لم أفهم لماذا هي هنا )
http://www.gulfup.com/?NN1IGr

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

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

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

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


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

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