اطلاعیه

Collapse
No announcement yet.

مشکل با مدار فاصله سنج Ultrasonic

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

    مشکل با مدار فاصله سنج Ultrasonic

    با سلام

    من اقدام به ساخت پروژه شماره 3 (فاصله سنج) کتاب 11 پروژه با AVR نشر آفرنگ کردم ...

    همه سیم بندیا درسته رو برد 1000 سوراخ پیاده سازی کردم و همان برنامه داخل cd هم رو میکرو گذاشتم ...
    اما کار نمیکنه الان دو هفتس به نتیجه نرسیدم هرچی تست میکنم نمیفهمم کجاش مشکل داره ...

    خواهشا راهنماییم کنین ... فوریه باید تحویل بدمش ... حتی سنسوهام یکبار تعویض کردم اما درست نشد....

    برنامه مدار به این صورته که اگر مانعه ای وجود نداشته باشه یا خیلی دور باشه پیغام OVER RANGE ظاهر میشه ، حالا رو LCD همش به من این پیغامو نشون میده نمیدونم فرستندم مشکل داره یا گیرندم ...

    و مشکل دیگه اینه از آی سی MAX232 خروجی پایه های 7 و 14 همش 2.5- ولت و نشون میده بهم مگه 10ولت نباید بده؟؟؟

    اینم مدارش بازم خواستین بگین بیشتر توضیح بدم:
    یا از مدارم عکس بگیرم بزارم خواهشا راهنماییم کنین تا آخر تعطیلات تموم بشه ...
    http://uploadfa.net/1389-2/ebkqoos4xnvew58vtasv.pdf

    #2
    پاسخ : مشکل با مدار فاصله سنج Ultrasonic

    یعنی هیچ کدوم از دوستان ultrasonic نبستن؟ خواهشا دوستان یه راهنمایی بکنین من مشکلو پیدا کنم.

    دیدگاه


      #3
      پاسخ : مشکل با مدار فاصله سنج Ultrasonic

      الان همه چیزش درسته تمام ولتاژا فرکانس فرستنده هم دقیق رو 40k تنظیم کردم و رو lcd دیکه ارور over range نمیده و اون led رو مدار که به echo وصل شده هم روشن خاموش میشه ...

      حالا مشکلا دوتاست:
      1- رو خروجی max232 من 10 ولت ندارم هنوز 2.5- هست
      2- کلا رو ال سی دی چیزی نشونم نمیده اما led echo نشون میده که داره سیگنال میگیره ...

      راهنماییم کنین خواهشا ...

      دیدگاه


        #4
        پاسخ : مشکل با مدار فاصله سنج Ultrasonic

        سلام دوست عزیز.
        سوال شما یک کم گنگه...لطف کنید یه نقشه یا چیزی بزارید تا راهنماییتون کنیم...
        موفق باشید... :job:

        دیدگاه


          #5
          پاسخ : مشکل با مدار فاصله سنج Ultrasonic

          دوست عزیز این همه دارم توضیح میدم نقشه شماتیک مدارم هم تو پست اول هست ...

          من الان تنها مشکلم اینه که رو ال سی دی فاصله رو نشون نمیده بقیه ولتاژا درسته .... حتی سنسورا هم درسته وقتی جلوی هر کدارم از سنسورا رو میگیرم پیغام Over Range میده ...

          چطور میتونم فرکانس فرستنده رو ببینم که 40K هست یا نه؟

          اینم کدش :
          کد:
          [left]*****************************************************/
          #include <tiny2313.h>
          #asm
            .equ __lcd_port=0x18 ;PORTB
          #endasm
          #include <lcd.h>
          #include <delay.h>
          #define Trigger PORTD.3
          #define Out1  PORTD.4
          #define Out2  PORTD.5
          unsigned int timer_val;
          char dip_switch;
          char s[]="  ";
          bit lcd_show_flag=0;
          //------------------------------------------
          interrupt [EXT_INT0] void ext_int0_isr(void)
          {
          timer_val=TCNT1;               
          delay_us(20);
          if (PIND.2==0)
              {
              GIMSK=0x00;  // disable INT0
              TCCR1B=0x00;
              lcd_show_flag=1;
              }
          }
          //------------------------------------------
          interrupt [TIM0_OVF] void timer0_ovf_isr(void)
          {
          TCNT0=0xF4;
          Out1=!Out1;
          Out2=!Out1;
          }
          //------------------------------------------
          interrupt [TIM1_OVF] void timer1_ovf_isr(void)
          {  
          TCCR1B=0x00;
          lcd_clear();
          lcd_putsf("Over range");
          }
          //------------------------------------------
          void lcd_show(unsigned int hex_val);
          void main(void)
          {
          #pragma optsize-
          CLKPR=0x80;
          CLKPR=0x00;
          #ifdef _OPTIMIZE_SIZE_
          #pragma optsize+
          #endif
          PORTA=0x00;
          DDRA=0x00;
          PORTB=0x00;
          DDRB=0x00;
          PORTD=0x00;
          DDRD=0x78;
          // Timer/Counter 0 initialization
          // Clock source: System Clock
          // Clock value: 1000.000 kHz
          TCCR0A=0x00;
          TCCR0B=0x00;  //stop timer0
          TCNT0=0xF4;
          OCR0A=0x00;
          OCR0B=0x00;
          //---------------------------------------
          TCCR1A=0x00;
          TCCR1B=0x00;   //stop timer1
          TCNT1H=0x00;
          TCNT1L=0x00;
          ICR1H=0x00;
          ICR1L=0x00;
          OCR1AH=0x00;
          OCR1AL=0x00;
          OCR1BH=0x00;
          OCR1BL=0x00;
          //----------------------------------------
          GIMSK=0x00;   //disable INT0
          MCUCR=0x02;
          EIFR=0x40;
          //----------------------------------------
          TIMSK=0x82;
          ACSR=0x80;
          //----------------------------------------
          lcd_init(16);
          #asm("sei")
          lcd_clear();
          lcd_putsf("start");
          delay_ms(1000);
          Out1=0;
          Out2=0;
          while (1)
             {
                  GIMSK=0x00;  //disable INT0
                  TCNT0=0xF4;
                  TCNT1=0x0000;
                  //---------------------------
                  Trigger=0;   
                  delay_ms(10);
                  TCCR0B=0x02;  //start timer0
                  TCCR1B=0x02;  //start timer1
                  //---------------------------
                  delay_us(100);
                  //---------------------------
                  TCCR0B=0x00;  //stop timer0
                  Out1=0;
                  Out2=0; 
                  Trigger=1;
                  delay_us(150);
                  GIMSK=0x40;  // enable INT0
                  dip_switch=(PIND&0x03);
                  switch (dip_switch) 
                    {
                     case 0:
                     delay_ms(200);
                     break;
                     case 1:
                     delay_ms(500);
                     break;
                     case 2:
                     delay_ms(1000);
                     break;
                     case 3:
                     delay_ms(2000);
                     break;
                    }; 
                  //----------------------------  
                  if(lcd_show_flag)
                    {
                    lcd_show(timer_val);
                    lcd_show_flag=0;
                    } 
             };
          }
          //-------------------------------------------
          void lcd_show(unsigned int hex_val)
              { 
               unsigned int distance;
               unsigned long int d;
               char i;
               d=hex_val/2;
               d=d*343;
               d=d/10000;
               distance=d;
               for(i=2;i>=0;i--)
                   {
                   s[i]=(distance%10)+0x30;
                   distance=distance/10;   
                   }    
               lcd_clear();
               lcd_putsf("Range> ");
               lcd_puts(s);
               lcd_putsf("cm");     
              }
          //--------------------------------------------
          [/left]

          دیدگاه


            #6
            پاسخ : مشکل با مدار فاصله سنج Ultrasonic

            سلام...شرمنده ندیدم...با پتانسیومتر p2 میتونی فرکانس رو تنظیم کنی...برنامتو بذار تا ببینم...

            دیدگاه


              #7
              پاسخ : مشکل با مدار فاصله سنج Ultrasonic

              بله با اون فرکانس گیرنده دقیق رو 40k تنظیم کردم اما فرستنده رو چطور میتونم مطمئن شم که 40 هست؟

              فیوز بیت ها رو اینجوری تنظیم کردم درسته دیگه؟

              CKSEL0 .. 3 : 1111
              SUT1: 1
              SUIT0 : 0

              دیدگاه


                #8
                پاسخ : مشکل با مدار فاصله سنج Ultrasonic

                40 کیلو هرتز یعنی 1 پالس در 25 میکرو ثانیه. باید بتونید با تایمر میکرو فاصله عرض هر پالس که 25 میکرو ثانیه طول میکشر اندازه بگیرید
                طب اسلامی

                دیدگاه


                  #9
                  پاسخ : مشکل با مدار فاصله سنج Ultrasonic

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

                  دیدگاه


                    #10
                    پاسخ : مشکل با مدار فاصله سنج Ultrasonic

                    برنامه که مشکلی نداره...مشکلت تو سخت افزاره...میتونی 40kh رو تو اسیلوسکوپ چک کنی...
                    در ضمن این مداری که شما استفاده کردی اصلا جالب نیست...بهتون پیشنهاد میکنم برید سراغ یه مدار دیگه...

                    دیدگاه


                      #11
                      پاسخ : مشکل با مدار فاصله سنج Ultrasonic

                      اسیلوسکوپ ندارم من با ولت متر چک میکنم ...

                      خودمم میدونم جالب نیست اما چه کنم با همین باس جواب بگیرم ...

                      به نظر شما مشکلش از کجاست؟

                      الان همه چیش درسته اما رو ال سی دی فاصله نشون نمیده ...
                      وقتیم چه دستمو میزارم رو گیرنده چه فرستنده پیغام over range میده .
                      lm567 هم که رو 40 تنظیمه
                      max232 درست کار میکنه میکرو هم درست قطع و وصلش میکنه به وسیله ترانزیستور

                      دیدگاه


                        #12
                        پاسخ : مشکل با مدار فاصله سنج Ultrasonic

                        چیزی که تو برنامت نوشته اینه:
                        تا زمانی که echo led روشن نشد(یعنی وقتی سیگنال توسط گیرنده دریافت نشد)برنامه هیچ چیزی رو lcd نمایش نمیده...پس مشکل تو قسمت گیرنده هستش...باید یه کار کنی که این قسمت راه بیفته...
                        موفق باشی...

                        دیدگاه


                          #13
                          پاسخ : مشکل با مدار فاصله سنج Ultrasonic

                          فیوز بیت رو هم درست کن:::::آخه تو برنامه رو 1MH تنظیمه...ولی کریستال خارجی 8MH زده...
                          CKSEL0...3----->1000
                          SUT1: 0
                          SUIT0 : 0

                          دیدگاه


                            #14
                            پاسخ : مشکل با مدار فاصله سنج Ultrasonic

                            اینجوری بنویس ببین جواب میده
                            http://www.persiangig.com/pages/download/?dl=http://zavar.persiangig.com/document/ultrasonic.rar

                            دیدگاه


                              #15
                              پاسخ : مشکل با مدار فاصله سنج Ultrasonic

                              سلام حالتون چطوره
                              آقا اون پتانسیومتر P2 برای تنظیم فرکانس نیست که اون برای تنظیم حساسیه درضمن جای آی سی LM567 از آی سی LM358 استفاده کن چرا برای تولید فرکانس از Max 232 استفاده کردی اوصولا این ای سی رو برای اتصال استاندارد RS232 کامپیوتر و میکرو استفاده میکنند جای این آی سی از تایمر آنالوگ 555 استفاده کن اگه بستن هرکدوم از این آی سی ها رو بلد نبودی بگو تا برات توضیح بدم

                              دیدگاه

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