اطلاعیه

Collapse
No announcement yet.

قاطی شدن اینتراپت های avr

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

    قاطی شدن اینتراپت های avr

    باعرض سلام دوستان من یک برنامه به صورت منو وزیر منو نوشتم (اشکلاتی که دارم همه تو مرحله شبیه سازی با پروتئوس است) و این که توی یک قسمت زیر برنامه باید بتونم داده هام رو افزایش وکاهش بدم یک قسمت زیر برنامه هم تنظیمات مربوط به ساعت قسمت دیگه زیر برنامه تنظیمات مربوط به دما و سنسورها هست چون قرار است بتونم تغییرات مختلفی رو با این کلیدها به برنامه بدم ( افزایش وکاهش )- اما مشکلم اینجاست که کلیدهام نویز میگیرن یعنی بعضی اوقات باید مدت زیادی نگهشون دارم بعد برنامه بقهمه که باید مثلا این کلید عمل کنه بعضی وقتها هم خیلی سریع کلیدها دوتا سه تا پشت سرهم کم وزیاد میشن بنابراین دستور debounce رو روی 30 تنظیم کردم اما متاسفانه مشکلم حل نشد فکر کردم شاید اگه با گیت NAND کلیدهایی که یک وضعیت رو تغییر میدن و به اینتراپت وصل کنم درست بشه ولی وقتی از هردواینتراپت صفر ویک استفاده میکنم ( البته برای کارهای مختلف )همه چیز بهم میریزه حتی داده ای اولیه مسئله گاها خراب میشه وصفر و نشون میده نمیدونم بایدچکار کنم لطفا راهنمایی کنید چطورکار کنم که درست بشه ممنون

    #2
    پاسخ : قاطی شدن اینتراپت های avr

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



    اگه مردم می دونستن زمان چقدر با ارزشه دیگه هیچ وقت کفش بند دار نمی خریدن البرت انیشتن

    دیدگاه


      #3
      پاسخ : قاطی شدن اینتراپت های avr

      نوشته اصلی توسط emamy2010
      باعرض سلام دوستان من یک برنامه به صورت منو وزیر منو نوشتم (اشکلاتی که دارم همه تو مرحله شبیه سازی با پروتئوس است) و این که توی یک قسمت زیر برنامه باید بتونم داده هام رو افزایش وکاهش بدم یک قسمت زیر برنامه هم تنظیمات مربوط به ساعت قسمت دیگه زیر برنامه تنظیمات مربوط به دما و سنسورها هست چون قرار است بتونم تغییرات مختلفی رو با این کلیدها به برنامه بدم ( افزایش وکاهش )- اما مشکلم اینجاست که کلیدهام نویز میگیرن یعنی بعضی اوقات باید مدت زیادی نگهشون دارم بعد برنامه بقهمه که باید مثلا این کلید عمل کنه بعضی وقتها هم خیلی سریع کلیدها دوتا سه تا پشت سرهم کم وزیاد میشن بنابراین دستور debounce رو روی 30 تنظیم کردم اما متاسفانه مشکلم حل نشد فکر کردم شاید اگه با گیت NAND کلیدهایی که یک وضعیت رو تغییر میدن و به اینتراپت وصل کنم درست بشه ولی وقتی از هردواینتراپت صفر ویک استفاده میکنم ( البته برای کارهای مختلف )همه چیز بهم میریزه حتی داده ای اولیه مسئله گاها خراب میشه وصفر و نشون میده نمیدونم بایدچکار کنم لطفا راهنمایی کنید چطورکار کنم که درست بشه ممنون
      سلام عزیز
      کلید خودش Bounce داره
      اگر کلید را به یکی از پینهای معمولی وصل کنیم آنگاه میتوانیم Bounce (اختشاش کلیدزنی) را به دو صورت رفع کنیم
      1. به صورت نرم افزاری
      2. به صورت سخت افزاری
      که در اینجا پیشنهاد میشه که نرم افزاری انتخاب کنیم
      ولی اگر کلید را به اینتراپت خارجی وصل کردیم باید حتما به صورت سخت افزاری رفع بشه ( %100 شک نکن) :agree:
      زیرا اگر به صورت سخت افزاری رفع نگردد آنگاه به دلیل Bounce چندین بار (در حد 1 میلی ثانیه) کلید زنی صورت میگیرد که این باعث میشه برنامه چندین بار به زیربرنامه وقفه پرش کند .
      تو پروتئوس به دلیل در نظر نگرفتن Bounce این مشکل به وجود نمیاد :agree:
      مدارش هم ساده هست
      برای رفع مشکل مراحل زیر رو انجام بده :
      1. یک خازن 100 نانو فارادی به پایه اینتراپت وصل کن
      2. مقاومت Pullup هم فعال باشه
      3. یه مقاومت 100 اهمی هم سری کن به کلید
      4. مد وقفه هم بزار رو Falling Edge

      موفق باشی
      [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
      معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
      معرفی نرم افزار Codewizard PWM
      با من بیشتر آشنا شوید

      دیدگاه


        #4
        پاسخ : قاطی شدن اینتراپت های avr

        نوشته اصلی توسط emamy2010
        (اشکلاتی که دارم همه تو مرحله شبیه سازی با پروتئوس است)
        دوست عزیز من عذر خواهی میکنم
        من این قسمتش رو اینقدر تند تند خوندم به خیالم منظورتون اینه که تو شبیه سازی جواب گرفتین و تو عمل جواب نگرفتین
        بگذریم
        برنامه رو بزارید تا راهنماییتون کنم
        [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
        معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
        معرفی نرم افزار Codewizard PWM
        با من بیشتر آشنا شوید

        دیدگاه

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