ايران ويج

نسخه‌ی کامل: مشکل با سنسور دمای lm35
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام دوستان من یه مدار طراحی کردم که دمای سه نقطه از یک سالن را با سه سنسور Lm35 سنس می کند و میانگین این سه دما را محاسبه میکند و با توجه به دمای رفرنسی که در ابتدا بهش دادم یک عدد کولر و یک عدد هیتر را کنترل میکند . تنها مشکل این مدار این است که دمای نشان داده شده روی lcd مدام تغیر میکند مثلا یه لحظه 30 و بعد 60 و... اما خروجی سنسور ها درست است یعنی در دمای محیط 28 درجه خروجی سنسور ها حدودا 0.28 ولت است.
ضمنا این مدار توی شبیه ساز پرتئوس کاملا درسته اما در عمل این مشکل رو دارم.
لطفا راهنمایی کنید که باید چکار کنم
این هم برنامه به زیان c هست که نوشتم

کد php:
min=18;
max=20;
 for(
a=0;a<100;a++){ 
 if(
PINC.4==0min=min-1;
 if(
PINC.5==0min=min+1;
 if(
PINC.6==0max=max-1;
 if(
PINC.7==0max=max+1;
 
sprintf(b,"min=%u , max=%u",min,max);
 
lcd_clear();
 
lcd_puts(b);
 
delay_ms(100);
 }
while (
1)
 {
adc1=read_adc(0);
 
adc2=read_adc(1);
 
adc3=read_adc(2);
 
delay_ms(500);
 
temp1=(adc1/4-.5);
 
temp2=(adc2/4-.5);
 
temp3=(adc3/4-.5);
 
ftoa(temp1,1,lcd1);
 
ftoa(temp2,1,lcd2);
 
ftoa(temp3,1,lcd3);
 
lcd_clear();
 
lcd_gotoxy(0,0);
 
lcd_putsf("T1=");
 
lcd_puts(lcd1);
 
lcd_gotoxy(0,1);
 
lcd_putsf("T2=");
 
lcd_puts(lcd2);
 
lcd_gotoxy(9,0);
 
lcd_putsf("T3=");
 
lcd_puts(lcd3);
 
temp=(temp1+temp2+temp3)/3;
 
ftoa(temp,2,lcd);
 
lcd_gotoxy(9,1);
 
lcd_putsf("T=");
 
lcd_puts(lcd);
 
delay_ms(500);
 
 if (
temp>=max)
 {
PORTB.0=1;
 }
 else 
 {
PORTB.0=0;
 }
 if (
temp<=min)
 {
PORTB.1=1;
 }
 else
 {
PORTB.1=0;
 }
 
 
 
 
 };

ولتاژ مرجع رو درست وصل کردیWink
aref و avcc رو به مثبت وصل کردیWink
سلام ممنون از پاسختون
من ولتاژ مرجع رو داخلی انتخاب کردم یعنی همون 2.56 آیا لازم هست که دوتا بایه aref , avcc رو به مثبت وصل کنم؟؟؟
(۱۷-آذر-۱۳۹۱, ۱۶:۴۳:۳۶)mehdisam نوشته است: [ -> ]سلام دوستان من یه مدار طراحی کردم که دمای سه نقطه از یک سالن را با سه سنسور Lm35 سنس می کند و میانگین این سه دما را محاسبه میکند و با توجه به دمای رفرنسی که در ابتدا بهش دادم یک عدد کولر و یک عدد هیتر را کنترل میکند . تنها مشکل این مدار این است که دمای نشان داده شده روی lcd مدام تغیر میکند مثلا یه لحظه 30 و بعد 60 و... اما خروجی سنسور ها درست است یعنی در دمای محیط 28 درجه خروجی سنسور ها حدودا 0.28 ولت است.
ضمنا این مدار توی شبیه ساز پرتئوس کاملا درسته اما در عمل این مشکل رو دارم.
لطفا راهنمایی کنید که باید چکار کنم
این هم برنامه به زیان c هست که نوشتم

کد php:
min=18;
max=20;
 for(
a=0;a<100;a++){ 
 if(
PINC.4==0min=min-1;
 if(
PINC.5==0min=min+1;
 if(
PINC.6==0max=max-1;
 if(
PINC.7==0max=max+1;
 
sprintf(b,"min=%u , max=%u",min,max);
 
lcd_clear();
 
lcd_puts(b);
 
delay_ms(100);
 }
while (
1)
 {
adc1=read_adc(0);
 
adc2=read_adc(1);
 
adc3=read_adc(2);
 
delay_ms(500);
 
temp1=(adc1/4-.5);
 
temp2=(adc2/4-.5);
 
temp3=(adc3/4-.5);
 
ftoa(temp1,1,lcd1);
 
ftoa(temp2,1,lcd2);
 
ftoa(temp3,1,lcd3);
 
lcd_clear();
 
lcd_gotoxy(0,0);
 
lcd_putsf("T1=");
 
lcd_puts(lcd1);
 
lcd_gotoxy(0,1);
 
lcd_putsf("T2=");
 
lcd_puts(lcd2);
 
lcd_gotoxy(9,0);
 
lcd_putsf("T3=");
 
lcd_puts(lcd3);
 
temp=(temp1+temp2+temp3)/3;
 
ftoa(temp,2,lcd);
 
lcd_gotoxy(9,1);
 
lcd_putsf("T=");
 
lcd_puts(lcd);
 
delay_ms(500);
 
 if (
temp>=max)
 {
PORTB.0=1;
 }
 else 
 {
PORTB.0=0;
 }
 if (
temp<=min)
 {
PORTB.1=1;
 }
 else
 {
PORTB.1=0;
 }
 
 
 
 
 };

سلام
باید پایه 3 سنسور و ولتاژ تغذیه رو هرکدام با یک خازن 1500 یا 2200 میکروفاراد زمین کنید.
و باید بعد از استفاده از خازن بای پس، در برنامه نیز تغییرات بدید و تقسیمات ADC رو کم یا زیاد کنید تا مدار دقیق عمل کنه.
با سلام: خدمت شما دوست عزیز من هم این مشکل را داشتم تغذیه سنسور را کاملا از تغذیه مدار جدا کن چون خروجی این سنسور در حدود میلی ولته خیلی نویز پذیره و هر گونه کاهش یا افزاش ولتاژ به شدت رو سنسور اثر میذاره تغذیه را جدا کن درست میشه.البته خازن 100nf و 10 میکرو فاراد را در ورودی تغذیه و خروجی آن جهت حذف نویز تغذیه و صاف کردن آن را فراموش نکن.
سلام 
آقا من هم برنامه دماسنج رو نوشتم با بسکام ولی وقتی تو پروتئوس ران میکنم السیدی صفر رو نشون میده 
لطفا کمکم کنید Sad
سلام

برنامتون و مداری که در پروتئوس کشیدید را بزارید
برنامه ی دماسنج آقا میلاد ممنون از کمکتون 
منتظر پاسخم
آقا هر چی تلاش کردم نتونستم فایلی پیوست کنم چطوری باید پیوست کنم اقا میلاد
سلام

پاسخ جدید رو بزنید در قسمت فایل های پیوست یک فایل رو انتخاب کنید و افزاودن پیوست رو بزنید
صفحه‌ها: 1 2