اطلاعیه

Collapse
No announcement yet.

اندازه گیری پهنای پالس

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

    #16
    پاسخ : اندازه گیری پهنای پالس

    با اندازه گیری پالس میونید از پایه ICP میکرو استفاده کیند ( Capture input یا همن تسخیذ خودمون :rolleyes:
    مهم نيست كه چه انديشه اي در سر و چه ترسي در دل داريد؛ مهم آن است كه بيكار ننشينيد و دست به كاري بزنيد و وارد ميدان عمل بشويد.

    نمي توانيد به كودكي بياموزيد كه از خود مواظبت كند، مگر آنكه او را آزاد بگذاريد تا براي مواظبت از خود بكوشد؛ ممكن است اشتباه كند، ولي دانايي او از ميان همين اشتباهات سرچشمه مي گيرد.

    دیدگاه


      #17
      پاسخ : اندازه گیری پهنای پالس

      نوشته اصلی توسط segmex
      با اندازه گیری پالس میونید از پایه ICP میکرو استفاده کیند ( Capture input یا همن تسخیذ خودمون :rolleyes:
      سلام خسته نباشید

      شما منبعی برای مطلالعه بیشتر می شناسید ؟ البته اگر تکه کدی هم باشد ایرادی نداره ! خودم سعی می کنم یاد بگیرم .

      آدمی از عالم خاکی نمی آید بدست

      عالمی دیگر بباید ساخت و از نو آدمی
      پردازش تصویر با FPGA از صفر تا انتها
      http://www.eca.ir/forum2/index.php?topic=74299.0

      دیدگاه


        #18
        پاسخ : اندازه گیری پهنای پالس

        سلام .چیز خاصی نداره فقط تایمر 1 رو تو مد capture را اندازی کن . شما با کدوم زبون برنامه مینویسی.
        مهم نيست كه چه انديشه اي در سر و چه ترسي در دل داريد؛ مهم آن است كه بيكار ننشينيد و دست به كاري بزنيد و وارد ميدان عمل بشويد.

        نمي توانيد به كودكي بياموزيد كه از خود مواظبت كند، مگر آنكه او را آزاد بگذاريد تا براي مواظبت از خود بكوشد؛ ممكن است اشتباه كند، ولي دانايي او از ميان همين اشتباهات سرچشمه مي گيرد.

        دیدگاه


          #19
          پاسخ : اندازه گیری پهنای پالس

          زبان سی با کد ویژن .
          در حالت Capture چه چیزی اندازه گیری می شود ؟ در مواقعی که می خواهیم پهنای تک پالس رو اندازه بگیریم کارایی دارد و دقت اندازه گیری آن بیشتر ازکد هایی است که در این تایپیک گذاشتم ؟
          آدمی از عالم خاکی نمی آید بدست

          عالمی دیگر بباید ساخت و از نو آدمی
          پردازش تصویر با FPGA از صفر تا انتها
          http://www.eca.ir/forum2/index.php?topic=74299.0

          دیدگاه


            #20
            پاسخ : اندازه گیری پهنای پالس

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

            ببینید مد Capture یه مدیه که برای ثبت ورودی به کار میره . حالا شما دقیقا هدفتون چیه؟ چه کاری میخواید انجام بدید؟
            دوستان! مدتی کمتر به سایت میام ..

            دیدگاه


              #21
              پاسخ : اندازه گیری پهنای پالس

              خوب دیگه مث اینکه دوستمون میخان duty cycle پالس رو اندازه گیری کنن که من فک کنم با این روش بشه انجامش داد. :smile:
              مهم نيست كه چه انديشه اي در سر و چه ترسي در دل داريد؛ مهم آن است كه بيكار ننشينيد و دست به كاري بزنيد و وارد ميدان عمل بشويد.

              نمي توانيد به كودكي بياموزيد كه از خود مواظبت كند، مگر آنكه او را آزاد بگذاريد تا براي مواظبت از خود بكوشد؛ ممكن است اشتباه كند، ولي دانايي او از ميان همين اشتباهات سرچشمه مي گيرد.

              دیدگاه


                #22
                پاسخ : اندازه گیری پهنای پالس

                با تایمر کانتر یک و وقفه سعی کردم Duty Cycle زو اندازه بگیرم ولی دقت مورد نظرم رو نداشت . حالا می خواهم همین کار رو با Capture انجام بدهم شاید به دقت مورد نظر برسم
                آدمی از عالم خاکی نمی آید بدست

                عالمی دیگر بباید ساخت و از نو آدمی
                پردازش تصویر با FPGA از صفر تا انتها
                http://www.eca.ir/forum2/index.php?topic=74299.0

                دیدگاه


                  #23
                  پاسخ : اندازه گیری پهنای پالس

                  شک نکن که با این روش میشه اندازه گیری کرد .
                  مهم نيست كه چه انديشه اي در سر و چه ترسي در دل داريد؛ مهم آن است كه بيكار ننشينيد و دست به كاري بزنيد و وارد ميدان عمل بشويد.

                  نمي توانيد به كودكي بياموزيد كه از خود مواظبت كند، مگر آنكه او را آزاد بگذاريد تا براي مواظبت از خود بكوشد؛ ممكن است اشتباه كند، ولي دانايي او از ميان همين اشتباهات سرچشمه مي گيرد.

                  دیدگاه


                    #24
                    پاسخ : اندازه گیری پهنای پالس

                    مقدار ICR1L و ICR1H زمان تغییر وضعیت ورودی PORTD.6 در خوردشون نگه می دارن . از کدام یک باید استفاده کرد؟
                    آدمی از عالم خاکی نمی آید بدست

                    عالمی دیگر بباید ساخت و از نو آدمی
                    پردازش تصویر با FPGA از صفر تا انتها
                    http://www.eca.ir/forum2/index.php?topic=74299.0

                    دیدگاه


                      #25
                      پاسخ : اندازه گیری پهنای پالس

                      خوب قرار نیست شما قرار بدین . تایمر 1 به صورت 16 بیتی هستش و مقدار زمان پالس اندازهگیری شده به صورت 16 بیتی به این رجیسترها انتقال داده میشه ( نسبت به فرکانسس کاری ) ICR1L بایت پایین و ICR1H بایت بالا میباشد :smile:

                      موفق باشید
                      مهم نيست كه چه انديشه اي در سر و چه ترسي در دل داريد؛ مهم آن است كه بيكار ننشينيد و دست به كاري بزنيد و وارد ميدان عمل بشويد.

                      نمي توانيد به كودكي بياموزيد كه از خود مواظبت كند، مگر آنكه او را آزاد بگذاريد تا براي مواظبت از خود بكوشد؛ ممكن است اشتباه كند، ولي دانايي او از ميان همين اشتباهات سرچشمه مي گيرد.

                      دیدگاه


                        #26
                        پاسخ : اندازه گیری پهنای پالس

                        قبل از ادامه بحث در ارتباز با Input Capture در تکمیل مبحث وقفه ها خدمت شما راهی رو پیشنهاد می کنم که هم ساده هست هم مفید .
                        شاید برنامه نوشتن برای راه اندازه تایمر در لبه بالرونده و متوقف کردن آن در لبه پایین رونده پالس ورودی و انجام محاسبات و دوباره راه اندازه تایمر و تکرار آن کمی گیج کننده باشد . زیرا تصور براین است که میکرو مثلا وقتی برای لبه بالارونده برنامه ریزی می شود به محض رفع شرایط ( وقوع لبه پایین رونده ) از ISR خارج شدیم . در صورتی که میکرو فقط به لبه های بال رونده حساسیت نشان می دهد نه پاینن رونده . شما این موضوع را با به نمودار کشیدن خروجی میکرو می توانید مشاهده کنید . البته می توان در ISR برنامه رو به گونه ای نوشت که بعد از وقوع لبه ای وقوع لبه دیگر بررسی شود ولی ممکن است در ابتدای امر کمی گیج کننده به نظر برسد یا کارایی مورد نظر هیچگاه حاصل نوشد ولی راهی کوتاه وجود دارد که بیان آن خالی از لطف نیست .
                        کافی است پالس ورودی رو به int0 و int1 تواما وصل کنیم . یعنی دو پایه مذکور را به هم وصل کرده و در نهایت به پالس ورودی متصل کنیم . به سادگی با نوشتن دو وقفه یکی بالا رونده و دیگری پایین رونده یکی برای int0 و دیگری برای int1 مستقل از هم می تواینم کدهایمان را بنویسیم .

                        آدمی از عالم خاکی نمی آید بدست

                        عالمی دیگر بباید ساخت و از نو آدمی
                        پردازش تصویر با FPGA از صفر تا انتها
                        http://www.eca.ir/forum2/index.php?topic=74299.0

                        دیدگاه


                          #27
                          پاسخ : اندازه گیری پهنای پالس

                          دقیقا نمی دونم چه جوری باید ازدو مقدار ICR1L و ICR1H استفاده کنم . برنامه ای نوشتم که این دو مقدار را از PORTd.6 دریافت می کند و بر روی نمایشگری نمایش می دهد . فرض کنید ICR1L رو 120 , ICR1H رو 74 نشون می ده . کریستال خارجی هم 16MHZ هست و تقسیم فرکانسی 1024 می باشد .
                          دیگه از این جا به بعد نتوانستم چیزی پیدا کنم .
                          آدمی از عالم خاکی نمی آید بدست

                          عالمی دیگر بباید ساخت و از نو آدمی
                          پردازش تصویر با FPGA از صفر تا انتها
                          http://www.eca.ir/forum2/index.php?topic=74299.0

                          دیدگاه


                            #28
                            پاسخ : اندازه گیری پهنای پالس

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

                            نوشته اصلی توسط پویا
                            دقیقا نمی دونم چه جوری باید ازدو مقدار ICR1L و ICR1H استفاده کنم . برنامه ای نوشتم که این دو مقدار را از PORTd.6 دریافت می کند و بر روی نمایشگری نمایش می دهد . فرض کنید ICR1L رو 120 , ICR1H رو 74 نشون می ده . کریستال خارجی هم 16MHZ هست و تقسیم فرکانسی 1024 می باشد .
                            دیگه از این جا به بعد نتوانستم چیزی پیدا کنم .

                            جناب پویا این طور که من فهمیدم میخواید پهنای پالس رو حساب کنید اونم با مد Capture و روی LCD نمایش بدید درسته؟

                            حالا این مشکلی که الان باهاش روبرو هستید دقیقا چیه؟
                            دوستان! مدتی کمتر به سایت میام ..

                            دیدگاه


                              #29
                              پاسخ : اندازه گیری پهنای پالس

                              با وقفه و تایمر 16 بیتی سعی کردم پهنای پالس رو اندازه گیری کنم ولی به دقت مورد نظرم نرسیدم حالا سعی دارم با Input Capture این کار را انجام دهم .
                              مشکلم رو بدین شکل مطرح می کنم :
                              مقدار های مختلف ICR1 به شرح زیر است :
                              ICR1H ICR1L
                              22 0
                              83 96
                              144 105
                              205 114

                              پالس ورودی پهنای 0.5 ثانیه ای دارد . فرکانس کاری میکرو 16MHZ هست و تقسیم فرکانسی تایمر 1024 می باشد . دلیل این که نمی توانم عدد صحیح بدست بیاورم را نمی دانم .
                              سطر اول که یعنی مقدار تایمر برابر 22 است .
                              سطر دوم یعنی مقدار تایمر به 24659 رسیده .
                              فکر می کنم تفاضل هر سطر پهنای پالس رو باید بدست دهد ولی این طوری نیست . مطمئنا راه حلم اشتباه هست ولی مسیر درست رو نمی دونم .
                              آدمی از عالم خاکی نمی آید بدست

                              عالمی دیگر بباید ساخت و از نو آدمی
                              پردازش تصویر با FPGA از صفر تا انتها
                              http://www.eca.ir/forum2/index.php?topic=74299.0

                              دیدگاه


                                #30
                                پاسخ : اندازه گیری پهنای پالس

                                این هم کد هایی ایست که استفاده کردم . البته فقط قسمت های مهم هس .
                                lcd_init(16);
                                TCCR1B=0b10000101;
                                DDRB=0b11111111;
                                DDRC=0b11111111;
                                TIMSK=0b00100000;
                                #asm("sei"
                                i=ICR1H;
                                j=ICR1L;
                                آدمی از عالم خاکی نمی آید بدست

                                عالمی دیگر بباید ساخت و از نو آدمی
                                پردازش تصویر با FPGA از صفر تا انتها
                                http://www.eca.ir/forum2/index.php?topic=74299.0

                                دیدگاه

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