اطلاعیه

Collapse
No announcement yet.

کمک برای محاسبه تعداد دور و جهت یک پولی

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

    کمک برای محاسبه تعداد دور و جهت یک پولی

    با سلام به همه دوستان
    یک سیستم مکانیکی داریم که توسط یک پولی به چرخش در میاد این رو هم بگم که موتوری در کار نیست
    برای این سیستم باید تعداد دوری که این پولی می زند را محاسبه کنیم تا بتونیم میزان جابجایی را حساب کنیم
    برای این کار من از دو عدد ماژول سنسور اپتوکانتر استفاده کردم که در فروشگاه انجمن هم موجود هست
    و یکی را به وقفه شماره صفر و دیگری رو به وقفه شماره یک متصل کردم
    یک پره هم بر روی پولی نصب کردم که بشه با این اپتوکانترها حرکت را شمرد
    وقفه ها هم روی لبه بالارونده تنظیم شده است.
    مشکل اینجاست که جهت حرکت پولی و تعداد شمارش رو درست نشان نمیدهد
    مثال اگر پولی در جهت خلاف عقربه های ساعت 20 دور بچرخد و بعد همین تعداد رو در جهت عقربه ها بزند در نهایت عددی که نشان داده می شود 3 هست درصورتی که باید صفر نمایش داده شود و همچنین اگر سرعت چرخش کم و زیاد بشود روی تعداد محاسبه شده تاثیر دارد
    لطفا راهنمایی کنید
    برنامه هم به شرح زیر است :
    کد:
    [FONT=Yekan]// External Interrupt 0 service routine[/FONT]interrupt [EXT_INT0] void ext_int0_isr(void)
    {[FONT=Yekan]     [/FONT]
           if(i== 0 )
                 j++ ; 
           else j-- ; 
            
           i=0; 
           delay_ms(30);  
            
             
            
    }
    
    
    interrupt [EXT_INT1] void ext_int1_isr(void)
    {[FONT=Yekan]    [/FONT]
    [FONT=Yekan]        i=1 ;  [/FONT]
           delay_ms(20); 
    [FONT=Yekan]}
    
    
    [/FONT]while (1)
          {
        [FONT=Yekan] [/FONT]
         [FONT=Yekan]           l= j*32 ;   [/FONT]
               lcd_clear();
               lcd_gotoxy(0,0); 
               sprintf(lcd_buffer, "m: %u \n L= %u mm" , j, l );
               lcd_puts(lcd_buffer); 
               delay_ms(100);    
                i=0 ; 
               
          }
    [FONT=Yekan]
    [/FONT]
    با تشکر از وقتی که صرف می کنید

    #2
    پاسخ : کمک برای محاسبه تعداد دور و جهت یک پولی

    با سلام : شاید مشکل از همان پره ای باشه که "روی یک پره هم بر روی پولی نصب کردم که بشه با این اپتوکانترها حرکت را شمرد"
    تعداد دور که زیاد یا کم بشه اصطکاک بین پره و پولی هم کم و زیاد میشه ! بنابراین روی تعداد دور تاثیر میذاره

    دیدگاه


      #3
      پاسخ : کمک برای محاسبه تعداد دور و جهت یک پولی

      میشه بیشتر توضیح بدی؟
      چرا دوتا اوپتو گذاشتی؟
      این دوتا اوپتو در یک زمان فعال میشن؟

      دیدگاه


        #4
        پاسخ : کمک برای محاسبه تعداد دور و جهت یک پولی

        بین پولی و پره که اصطکاک نیست چون پره رو به پولی چسبوندم و بدون هیچ حرکتی کار می کنه
        ولی دارم روی این کار می کنم که شاید فاصله بین پره ها رو باید کم و زیاد کنم
        شما ایده ای دارید ؟

        دلیل: ادغام دو پست برای جلوگیری از اسپم

        داشتن دو تا اپتو برای این هست که می خواهیم جهت رو هم تشخیص بدیم
        اگر فقط یک اپتوکانتر باشه فقط برای محاسبه دور خوب هست ولی حرکت ما در دو جهت هست که باید بفهمیم داریم ساعتگرد می چرخیم یا برعکس

        دیدگاه


          #5
          پاسخ : کمک برای محاسبه تعداد دور و جهت یک پولی

          نوشته اصلی توسط srmorteza نمایش پست ها
          داشتن دو تا اپتو برای این هست که می خواهیم جهت رو هم تشخیص بدیم
          اگر فقط یک اپتوکانتر باشه فقط برای محاسبه دور خوب هست ولی حرکت ما در دو جهت هست که باید بفهمیم داریم ساعتگرد می چرخیم یا برعکس
          شما اول با یک اپتو تست کن و برنامه رو اصلاح کن بعد دومی رو بیار تو مدار

          دیدگاه


            #6
            پاسخ : کمک برای محاسبه تعداد دور و جهت یک پولی

            با یکی که مشکلی نداریم
            یعنی همین برنامه ای که نوشتم و اینجا قرار دادم داره به درستی کار می کنه یعنی اگر قرار به چرخش در یک جهت باشه داره درست میشماره و نشون میده مشکلی نیست
            مسئله همین دو سنسوری بودن هست که باید برخی مواقع کم بشه و برخی موارد اضافه

            دلیل: ادغام دو پست برای جلوگیری از اسپم

            با یکی که مشکلی نداریم
            یعنی همین برنامه ای که نوشتم و اینجا قرار دادم داره به درستی کار می کنه یعنی اگر قرار به چرخش در یک جهت باشه داره درست میشماره و نشون میده مشکلی نیست
            مسئله همین دو سنسوری بودن هست که باید برخی مواقع کم بشه و برخی موارد اضافه

            دیدگاه

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