الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

قراءات فولتية غير ثابتة من البك

مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

تحية طيبة :

بعد انتهاء الجزء النظري من مشروع تخرجي .. فقد جاء الجزء العملي ..

الحالة :

أقوم باستخدام المجس lm335z مع البك 16F877 لقياس درجة الحرارة .. ولهذا الغرض فقد قمت بوصل ذلك المجس على البن AN0 في البك.

المشكلة:

على افتراض ان درجة الحرارة هي 25 سيلسيوس فإن المجس يُعطي على مدخل البن AN0 الفولتية 2.9 فولت (لهون تمام) .. غير ان ما اقرأه من فولتية على الهايبر تيرمينال تكون غير ثابتة وحتى غير دقيقة .. فهي تُعطي مثلا 2.9305 .. 2.3012 .. 2.8625 .. وهكذا الى ماشاء الله . .. أي لا يوجد ثبات او دقة!!! .. وطبعا الدقة مهمة في المعادلة الرياضية التي ستحول من فولتيج الى درجة حرارة .. ولا ننسى بأن ذلك المجس يتغير بمقدار 10mv/degree .

الكود المستخدم :

لقد تم استخدام البك سي كلغة برمجة واستخدام ال برنامج ال PCW ككمبايلر ...

 #include "C:\Documents and Settings\khaled\Desktop\Project Program\Picc Project Program"


  void main()
  {
	float val =0;float val1 =0;
	 setup_adc_ports(AN0_AN1_AN2_AN3_AN4);
	 setup_adc(ADC_CLOCK_INTERNAL);
	 setup_psp(PSP_DISABLED);
	 setup_spi(SPI_SS_DISABLED);
	 setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
	 setup_timer_1(T1_DISABLED);
	 setup_timer_2(T2_DISABLED,0,1);

	 // TODO: USER CODE!!

	 while (true){
	 restart_wdt();

	set_adc_channel(0);
	val =  read_adc();
	val1 = (val /1024)*5;
	printf("1:%1.4f\n",val1);


	delay_ms(5000);
	 }

  }

- في الحقيقة .. لقد بحثت كثيرا وحاولت كثيرا دون اي جدوى ودون ان اجد شيئا يتكلم عن الموضوع .. وكأن هذه المشكلة ظهرت لأول مرة على مستوى العالم معي !!! .. لكن استطيع القول بعد كل ذلك .. انني اعتقد ان المشكلة موجودة بالكود .. فكأن الADC عندما يأخذ القيمة المرسلة لا يأخذها في الوقت الصحيح .. فإن كانت هي المشكلة فكي احلّها؟.

انا اكتب هذه المشلة راجيا منكم المساعدة .. فلا تبخلوا علي بها.

دمتم بخير.

تم تعديل هذه المشاركة بواسطة خالد حاتم كخن في 10 أبريل 2009 في 14:03

#2

المفروض هذا الحساس يتغير ببطىء ، مش بالقيم السريعة دي :D ، كحل مبدأي يمكن اخذ 10 قيم و تقوم بجمعهم و تقسمهم علي عددهم ( تجيب المتوسط للقراءة ) .

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#3

اهلا بيك أخي أحمد .. انا كنت فعلا جرّبت عمل دا .. لكنن للأسف كان الحال من بعضه :( .. انا اسمعت من شخص انو الآنالوج بورت يلزمه مقاومه خارجية اسمها "الهَب أو الأب :)" .. قيمتها 470 أوم .. بدي اجربها .. وبردلك جواب :). .. شكرا جزيلا.

#4

لا اعتقد ذلك ... Input impedance للا ADC عاليه جدا :)

غريبه اساساً ، هذه التغيرات ، تدل علي ان الحرارة تتغير بسرعه .. هل تغير الحرارة بمقدار التغير ده ؟؟؟

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#5

قم بوصل مكثف 100 نانو من مدخل الانلوج الى الارضى

قم بوصل مكثف 100 نانو بين اقرب نقطتين VCC ,GND للمايكروكنترولر

وورينا النتائج :)

عن أبي هريرة رضي الله عنه عن النبي صلى الله عليه وسلم أنه قال: سيأتي على الناس زمان سنوات خداعات: يصدق فيها الكاذب ويكذب فيها الصادق، ويؤتمن فيها الخائن ويخون فيها الأمين، وينطق فيها الرويبضة. قيل يا رسول الله وما الرويبضة؟ قال: الرجل التافه ينطق في أمر العامة . رواه احمد والحاكم وصححه الالبانى من حديث ابى هريره.‏

مواضيع مشابهة