NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3431 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 10 از 10

موضوع: مشکل نویز وقفه خارجی stm32

  1. #1
    کاربر فعال sajjad_AD آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    سجاد
    نوشته ها
    307
    تشکر
    336
    تشکر شده 471 بار در 181 پست

    پیش فرض مشکل نویز وقفه خارجی stm32

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

    کد:
    sbit Buzzer at GPIOB_ODR.B9;
    
    void ExtInt() iv IVT_INT_EXTI9_5 {
      EXTI_PR.B8 = 1;
      
      Flash_Update();
      Buzzer = 1;
      Delay_ms(1000);
      
    }
    
    void main() {
    
      GPIO_Config(&GPIOC_BASE,
      _GPIO_PINMASK_8 ,
      _GPIO_CFG_DIGITAL_INPUT | _GPIO_CFG_SPEED_MAX | _GPIO_CFG_PULL_NO);
    
      RCC_APB2ENR.AFIOEN = 1;
      AFIO_EXTICR3 = 0x0002;
      EXTI_FTSR = 0x00000100;
      EXTI_IMR  = 0x00000100;
      NVIC_IntEnable(IVT_INT_EXTI9_5);
    
      EnableInterrupts();
    
      while(1);
    
    }

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    کاربر دائمی wantedboy آواتار ها
    تاریخ عضویت
    May 2011
    نام
    علی‏ ‏محمد‏ ‏شکرالهی
    نوشته ها
    492
    تشکر
    201
    تشکر شده 629 بار در 204 پست

    پیش فرض

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

  4. تشکرها از این نوشته :


  5. #3
    کاربر فعال sajjad_AD آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    سجاد
    نوشته ها
    307
    تشکر
    336
    تشکر شده 471 بار در 181 پست

    پیش فرض

    نقل قول نوشته اصلی توسط wantedboy نمایش پست ها
    سلام
    برای کاهش نویز یه مقاومت با توجه به لبه ای که تنظیم کردی پول آپ یا پول دان کن.
    درست میشه.
    سلام ممنون از پاسخ از نظر سخت افزاری هیچ مشکلی وجود نداره رعایت کردم
    آیا کلاک Alternate function IO رو میشه کم کرد؟؟ حداقل کلاک GPIO هم فکنم 2MHz باشه آیا از این کمتر میشه؟؟؟

  6. #4
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

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

  7. کاربران : 2 تشکر کرده اند از شما mzarkoob برای ارسال این پست سودمند:


  8. #5
    عضو جدید
    تاریخ عضویت
    Jul 2010
    نوشته ها
    11
    تشکر
    2
    تشکر شده 4 بار در 3 پست

    پیش فرض

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

  9. کاربران : 2 تشکر کرده اند از شما alish11 برای ارسال این پست سودمند:


  10. #6
    کاربر فعال sajjad_AD آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    سجاد
    نوشته ها
    307
    تشکر
    336
    تشکر شده 471 بار در 181 پست

    پیش فرض

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

    نقل قول نوشته اصلی توسط alish11 نمایش پست ها
    یه فیلتر rc هم میتونه کار رو بهتر کنه
    قبلا امتحان کردم هیچ تاثیری نداشت

  11. #7
    کاربر علاقه مند
    تاریخ عضویت
    Oct 2011
    نوشته ها
    71
    تشکر
    69
    تشکر شده 55 بار در 33 پست

    پیش فرض

    void EXTI9_5_IRQHandler (void)
    {
    //Check if EXTI_Line0 is asserted
    if(EXTI_GetITStatus(EXTI_Line7) != RESET)
    {

    TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); // Enables TIM interrupts 1ms


    }
    //we need to clear line pending bit manually
    EXTI_ClearITPendingBit(EXTI_Line7);
    }

  12. تشکرها از این نوشته :


  13. #8
    کاربر فعال sajjad_AD آواتار ها
    تاریخ عضویت
    Aug 2009
    نام
    سجاد
    نوشته ها
    307
    تشکر
    336
    تشکر شده 471 بار در 181 پست

    پیش فرض

    نقل قول نوشته اصلی توسط bascom2 نمایش پست ها
    void EXTI9_5_IRQHandler (void)
    {
    //Check if EXTI_Line0 is asserted
    if(EXTI_GetITStatus(EXTI_Line7) != RESET)
    {

    TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); // Enables TIM interrupts 1ms


    }
    //we need to clear line pending bit manually
    EXTI_ClearITPendingBit(EXTI_Line7);
    }
    ممنون ولی من mikroc کار می کنم , می تونی هدری رو که keil برای فعال سازی وفقه های خارجی ازش استفاده می کنه آپلود کنی؟ تشکر

  14. #9
    کاربر علاقه مند NoBoko آواتار ها
    تاریخ عضویت
    Oct 2014
    نوشته ها
    80
    تشکر
    46
    تشکر شده 73 بار در 45 پست

    پیش فرض

    اینجا چندتا مثال برای وقفه f4 هست:
    lin

    برای فرکانس های بالا برای تشخیص درست وقفه بهتره از Debouncing time استفاده بشه ، یا خازن و مقاومت موازی با سیگنال وقفه که از تغییرات ناگهانی جلوگیری کنه.
    فکر کنم یه چیزی هم هست به اسم DMA IRQ Handler که چون از بافر DMA اینتراپت رو می گیره خطا رو کم میکنه ،امتحان کردنش ضرر نداره:
    Link
    link2

  15. تشکرها از این نوشته :


  16. #10
    عضو جدید
    تاریخ عضویت
    Jul 2010
    نوشته ها
    11
    تشکر
    2
    تشکر شده 4 بار در 3 پست

    پیش فرض

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



    قبلا امتحان کردم هیچ تاثیری نداشت
    نویزی که به وجود میاد به دلیل cross talk و موارد دیگه مربوط به این مبحث میشه که با اصلاح pcb و رعایت چندتا قانون ساده تا حد زیادی اون ها رو کاهش داد
    در ضمن با کاهش ولتاژ تغدیه تو مدارها نویز خودش رو بیشتر نشون میده
    برای فیلتر rc میتونی با افزایش ظرفیت خازن اثر فیلتر رو بهتر کنی

موضوعات مشابه

  1. بازم مشکل نویز
    توسط M_GH در انجمن AVR
    پاسخ: 12
    آخرين نوشته: 14-10-2015, 01:02
  2. نویز usb
    توسط sadeghbakhshi در انجمن طراحی و ساخت و آزمایش مدارت الکترونیک
    پاسخ: 3
    آخرين نوشته: 15-01-2014, 20:10
  3. حذف نویز
    توسط masoud.1222 در انجمن طراحی و ساخت و آزمایش مدارت الکترونیک
    پاسخ: 17
    آخرين نوشته: 02-04-2013, 00:38
  4. تاثیر نویز در میکروکنترلهای سری arm
    توسط amir_rahmani در انجمن AT91 series (ATMEL)
    پاسخ: 3
    آخرين نوشته: 17-09-2010, 18:40
  5. adc بدون نویز
    توسط fast در انجمن AVR
    پاسخ: 1
    آخرين نوشته: 03-07-2010, 16:12

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •