اطلاعیه

Collapse
No announcement yet.

یه سوال در مورد smt 160

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    یه سوال در مورد smt 160

    سلام دوستان
    من 2 تا ای سی دارم یکی اتی 8 یکی دیگه 32
    این آیس 8 کارش فقط نمایش هست و 32 کار محاسباتی و کنترلی انجام میده
    حالا من این سنسور دما رو لازمه که اطلاعات رو واسه 2 تاشون بفرستم
    حالا من این کارو کردم و از خروجیش 2 تا سیم کشیدم یکه به 8 یکی هم به آیسی 32
    ولی وقتی کار مینن دماهاشون همخوانی نداره و بعضی وقتا یکدفعه از دمای 20 مره 18 یا 22
    2 تاشون هم از اسیلاتور داخلی 8 مگ استفاده کردم کد هاشون عینه همه
    جالب اینجاست که تکی تکی درست کار میکنن با هم نه :angry:
    دنبال کار میگردم تو تهران کسی سراغ داره

    #2
    پاسخ : یه سوال در مورد smt 160

    پورتتو ورودی تعریف کردی ؟

    Pull UPآ‌ رو فعال کردی ؟

    دیدگاه


      #3
      پاسخ : یه سوال در مورد smt 160

      دوست عزیز تک تک درستن
      با هم مشکل دارن
      پورتهام همشون ورودین و مقدار اولیشون هم 1 هست یعنی T
      دنبال کار میگردم تو تهران کسی سراغ داره

      دیدگاه


        #4
        پاسخ : یه سوال در مورد smt 160

        سلام .................

        شما خروجی SMT رو دوسیمه کردین؛ یکیش رو دادین به 8 و اون یکی رو به 32؟ اگه همه چیز رو امتحان کردید فقط یه نکته میمونه و اون اینه که یه بحثی هست که از دل تداخل سیگنال به وجود میاد .. یه جورایی میگن سیگنا مقدارش دزدیده میشه ..!! بحثش مفصله اما فکر کنم الان اون طوری شده .. شما خروجی سنسور رو به اشمیت تریگر بدید و بهد به پایه ها وصلش کنید ببینید جواب میگیرید؟
        دوستان! مدتی کمتر به سایت میام ..

        دیدگاه


          #5
          پاسخ : یه سوال در مورد smt 160

          این اشمیت تریگر چی هست و چطور این کارو بکنم :mrgreen:
          من تازه کارم هی نزنیدش تو سرم :mrgreen:
          ولی باورکنید یه برنامه نویس خفن درضمینه c هستم
          دنبال کار میگردم تو تهران کسی سراغ داره

          دیدگاه


            #6
            پاسخ : یه سوال در مورد smt 160

            سلام ..............

            من تازه کارم هی نزنیدش تو سرم icon_mrgreen
            این حرف هارو توی این سایت نزنید .. اصلا هم نزنید .. اگه من طوری جواب دادم که این ابهام پیش اومده عذرخواهی میکنم ..

            ببینید اشمیت تریگر اگه بخوایم خیلی کلی بگیم یه کاری میکنه شبیه آستانه گیری .. یعنی از یه مقدار به بعد یک میشه (سطح سیگنال..) و از یه مقدار به قبل هم صفر .. اون وسط هم یه ناحیه ای تعریف میشه به نام هیسترزیس .. حالا اگه میگم از این قطعه (7414) استفاده کنید دلیلش اینه که این شوک ناگهانی رو شاید بگیره .. باز نمیدونم کامل مشکل حل بشه یا نه .. اما اگه مقاومت Pull Up گذاشتید و باز هم نشده؛ این راه رو امتحان کنید ببینید مشکلتون حل میشه یا نه؟ جناب نصرالله زاده نظرتون چیه؟ میشه با اشمیت حلش کرد؟
            دوستان! مدتی کمتر به سایت میام ..

            دیدگاه


              #7
              پاسخ : یه سوال در مورد smt 160

              منضورتون از مقاومت pullup چیه؟
              یعنی بیام پایه ای که خروجی smt160 رو بش وصل کردم با یه مقاومت مثلا 330 به زمین وصل کنم؟
              دنبال کار میگردم تو تهران کسی سراغ داره

              دیدگاه


                #8
                پاسخ : یه سوال در مورد smt 160

                بالاکش .. مثلا با یه 10 کیلو اهم به VCC وصلش کنید ..
                دوستان! مدتی کمتر به سایت میام ..

                دیدگاه


                  #9
                  پاسخ : یه سوال در مورد smt 160

                  بازم همونجوره :angry: :sad:
                  من اینو تا فردا میخوام :sad:
                  صبح باید تحویل بدم :sad:
                  اعصابمو بهم ریخته الان با یه مقاومت 10 کیلو به 5 ولت زدم بازم همونه
                  ببینید دمای اتاق رو که تقریبا ثابت هست اینجور نشون میده

                  20.01
                  20.30
                  20.90
                  20.40
                  21.78
                  یه همچین پرشهایی داره

                  /************************************************** ***
                  This program was produced by the
                  CodeWizardAVR V2.03.4 Standard
                  Automatic Program Generator
                  © Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.
                  http://www.hpinfotech.com

                  Project :
                  Version :
                  Date : 2009/01/25
                  Author :
                  Company :
                  Comments:


                  Chip type : ATmega8
                  Program type : Application
                  Clock frequency : 8.000000 MHz
                  Memory model : Small
                  External RAM size : 0
                  Data Stack size : 256
                  ************************************************** ***/
                  #include <mega8.h>
                  #include <delay.h>
                  #include <lcd.h>
                  #include <stdlib.h>
                  #include <stdio.h>

                  // Alphanumeric LCD Module functions
                  #asm
                  .equ __lcd_port=0x18 ;PORTB
                  #endasm


                  // External Interrupt 0 service routine
                  float T1,T2;
                  bit edge=0;
                  interrupt [EXT_INT0] void ext_int0_isr(void)
                  {
                  if (edge)
                  {
                  T2=TCNT1;
                  TCNT1=0;
                  // INT0 Mode: Falling Edge
                  MCUCR=0x02;
                  edge=0;
                  }else
                  {
                  T1=TCNT1;
                  TCNT1=0;
                  // INT0 Mode: Rising Edge
                  MCUCR=0x03;
                  edge=1;
                  }
                  }


                  #define ADC_VREF_TYPE 0x40

                  // Read the AD conversion result
                  unsigned int read_adc(unsigned char adc_input)
                  {
                  ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
                  // Delay needed for the stabilization of the ADC input voltage
                  delay_us(10);
                  // Start the AD conversion
                  ADCSRA|=0x40;
                  // Wait for the AD conversion to complete
                  while ((ADCSRA & 0x10)==0);
                  ADCSRA|=0x10;
                  return ADCW;
                  }

                  // Declare your global variables here

                  void main(void)
                  {
                  // Declare your local variables here
                  float dc,t,tc_sel;
                  char strt[16],str[8],s[10];


                  // Input/Output Ports initialization
                  // Port B initialization
                  // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
                  // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
                  PORTB=0x00;
                  DDRB=0x00;

                  // Port C initialization
                  // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
                  // State6=T State5=T State4=T State3=T State2=T State1=T State0=T
                  PORTC=0x00;
                  DDRC=0x00;

                  // Port D initialization
                  // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
                  // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
                  PORTD=0x00;
                  DDRD=0x00;

                  // Timer/Counter 0 initialization
                  // Clock source: System Clock
                  // Clock value: Timer 0 Stopped
                  TCCR0=0x00;
                  TCNT0=0x00;

                  // Timer/Counter 1 initialization
                  // Clock source: System Clock
                  // Clock value: 8000.000 kHz
                  // Mode: Normal top=FFFFh
                  // OC1A output: Discon.
                  // OC1B output: Discon.
                  // Noise Canceler: Off
                  // Input Capture on Falling Edge
                  // Timer 1 Overflow Interrupt: Off
                  // Input Capture Interrupt: Off
                  // Compare A Match Interrupt: Off
                  // Compare B Match Interrupt: Off
                  TCCR1A=0x00;
                  TCCR1B=0x01;
                  TCNT1H=0x00;
                  TCNT1L=0x00;
                  ICR1H=0x00;
                  ICR1L=0x00;
                  OCR1AH=0x00;
                  OCR1AL=0x00;
                  OCR1BH=0x00;
                  OCR1BL=0x00;

                  // Timer/Counter 2 initialization
                  // Clock source: System Clock
                  // Clock value: Timer 2 Stopped
                  // Mode: Normal top=FFh
                  // OC2 output: Disconnected
                  ASSR=0x00;
                  TCCR2=0x00;
                  TCNT2=0x00;
                  OCR2=0x00;

                  // External Interrupt(s) initialization
                  // INT0: On
                  // INT0 Mode: Falling Edge
                  // INT1: Off
                  GICR|=0x40;
                  MCUCR=0x02;
                  GIFR=0x40;

                  // Timer(s)/Counter(s) Interrupt(s) initialization
                  TIMSK=0x00;

                  // Analog Comparator initialization
                  // Analog Comparator: Off
                  // Analog Comparator Input Capture by Timer/Counter 1: Off
                  ACSR=0x80;
                  SFIOR=0x00;

                  // ADC initialization
                  // ADC Clock frequency: 1000.000 kHz
                  // ADC Voltage Reference: AVCC pin
                  // Only the 8 most significant bits of
                  // the AD conversion result are used
                  ADMUX=ADC_VREF_TYPE & 0xff;
                  ADCSRA=0x83;

                  // LCD module initialization
                  lcd_init(16);

                  // Global enable interrupts
                  #asm("sei&quot

                  while (1)
                  {
                  // Place your code here
                  tc_sel=read_adc(5);
                  if(tc_sel<=72)tc_sel=18;
                  else if(tc_sel<=144&&tc_sel>72)tc_sel=19;
                  else if(tc_sel<=216&&tc_sel>114)tc_sel=20 ;
                  else if(tc_sel<=288&&tc_sel>216)tc_sel=21 ;
                  else if(tc_sel<=360&&tc_sel>288)tc_sel=22 ;
                  else if(tc_sel<=432&&tc_sel>360)tc_sel=23 ;
                  else if(tc_sel<=504&&tc_sel>432)tc_sel=24 ;
                  else if(tc_sel<=576&&tc_sel>504)tc_sel=25 ;
                  else if(tc_sel<=648&&tc_sel>576)tc_sel=26 ;
                  else if(tc_sel<=720&&tc_sel>648)tc_sel=27 ;
                  else if(tc_sel<=792&&tc_sel>720)tc_sel=28 ;
                  else if(tc_sel<=864&&tc_sel>792)tc_sel=29 ;
                  else if(tc_sel<=936&&tc_sel>864)tc_sel=30 ;
                  else if(tc_sel<=1008&&tc_sel>936)tc_sel=3 1;
                  else tc_sel=32;
                  lcd_gotoxy(0,1);
                  lcd_putsf("SEL:"
                  lcd_gotoxy(4,1);
                  ftoa(tc_sel,0,s) ;
                  lcd_puts(s);

                  delay_ms(500);

                  dc=T1/(T1+T2);
                  t=(dc-0.32)/0.0047;
                  lcd_clear();
                  ftoa(t,2,str);
                  sprintf(strt,"%s \XDF C",str);
                  lcd_puts(strt);

                  };
                  }

                  برنامه 2 تا ای سی عینه همه فقط اون 32
                  دنبال کار میگردم تو تهران کسی سراغ داره

                  دیدگاه


                    #10
                    پاسخ : یه سوال در مورد smt 160

                    حقیقتش دیگه نمیدونم .. حالا چرا فردا باید تحویل بدید؟ :redface:

                    یه سوال .. اون پرش هایی که گفتید در چه صورتی به وجود میان .. تشریح مختصر مدارتون رو یک بار دیگه میگید؟
                    دوستان! مدتی کمتر به سایت میام ..

                    دیدگاه


                      #11
                      پاسخ : یه سوال در مورد smt 160

                      مدار خیلی ساده هست
                      یه سنسور دماست که پایه مثبت و منفیش با یه خازن 100 نانو وصل شده و یه ال سی دی
                      دما ررو به پایه 4 ای سی 32 وصل کردم اینتراپت 0 و همونطور که گفتید بالاکش هم کردم از اسیلاتور داخلی 8 مگ استفاده کردم
                      پایه gnd ,و aref رو هم با یه 100 نانو بهم وصل کردم و به زمین دادمش vcc رو هم واس ای دی سی 5 ولت دادم
                      به استاد عزیزم :sad: باید بدمش :sad:
                      دنبال کار میگردم تو تهران کسی سراغ داره

                      دیدگاه


                        #12
                        پاسخ : یه سوال در مورد smt 160

                        جواب من رو دقیق ندادید .. اکانت اینترنتم هم داره تموم میشه .. آخرین راهی که به ذهنم میرسه میگم .. خداکنه بتونم تمومش کنم ..

                        شما پهناهای پالسی که به دست میارید رو هر چهار بار یه بار اعلام کنید .. یعنی چی یعنی اینکه بذارید توی یه حلقه و بعد از میانگین گیری؛ از چهار مقدار؛ نتیجه رو روی LCD بیارید .. این طوری اون پرش و اغتشاش هم از بین میره .. با سنسورهای آنالوگ هم همین کار رو میکنیم .. خیلی خوب جواب میده .. دیگه این آخرین راهی بود که به ذهنم میرسید .. اگه دیگه نتونستم ادامه بدم عذرخواهی میکنم .. موفق باشید ..
                        دوستان! مدتی کمتر به سایت میام ..

                        دیدگاه


                          #13
                          پاسخ : یه سوال در مورد smt 160

                          آقا دمت قیژژژژژژژژژژژژژژژژژژژژژژژژژ همین بود که میخواستم
                          ای ول با یه متوسط گیری حل شد :wow: :applause: :nice:
                          دنبال کار میگردم تو تهران کسی سراغ داره

                          دیدگاه


                            #14
                            پاسخ : یه سوال در مورد smt 160

                            نوشته اصلی توسط حسام الدین
                            سلام ..............

                            من تازه کارم هی نزنیدش تو سرم icon_mrgreen
                            این حرف هارو توی این سایت نزنید .. اصلا هم نزنید .. اگه من طوری جواب دادم که این ابهام پیش اومده عذرخواهی میکنم ..

                            ببینید اشمیت تریگر اگه بخوایم خیلی کلی بگیم یه کاری میکنه شبیه آستانه گیری .. یعنی از یه مقدار به بعد یک میشه (سطح سیگنال..) و از یه مقدار به قبل هم صفر .. اون وسط هم یه ناحیه ای تعریف میشه به نام هیسترزیس .. حالا اگه میگم از این قطعه (7414) استفاده کنید دلیلش اینه که این شوک ناگهانی رو شاید بگیره .. باز نمیدونم کامل مشکل حل بشه یا نه .. اما اگه مقاومت Pull Up گذاشتید و باز هم نشده؛ این راه رو امتحان کنید ببینید مشکلتون حل میشه یا نه؟ جناب نصرالله زاده نظرتون چیه؟ میشه با اشمیت حلش کرد؟
                            قربان شما که خودتون سنگ تمام گذاشتید .

                            بله قربان . میتونه باشه .

                            البته من بیشتر به فاصله سنسور( که نمیدونم چقدره) و استفاده از اسیلاتور داخلی شک دارم .

                            موفق باشید


                            دیدگاه


                              #15
                              پاسخ : یه سوال در مورد smt 160

                              این مشکل که به شکر خدا و کمک دوستان حل شد
                              استاد 2 تا اشکال گرفت :sad:
                              دما هام با هم دقیقا 0.06 با هم اختلاف دارن at8 بیشتر از 32 هست به نظرتون چرا اینجوریه؟
                              تو فاصله 30 متر قاط میزنه
                              اومدم 2 تا 485 استفاده کردم خروجیش 160 رو دادم به 485 و از اون 485 دارم میخونم
                              یعنی یه همچین چیزی
                              سنسور --->485 ---->485----->میکرو
                              به نظرتون چرا؟
                              گفته این رو درست کن تا پس فردا هم وقت دارم :sad:
                              دنبال کار میگردم تو تهران کسی سراغ داره

                              دیدگاه

                              لطفا صبر کنید...
                              X