اطلاعیه

Collapse
No announcement yet.

آیا با atmega32 میتوان موج مربعی با دقت 1 هرتز درست کرد ؟

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

    آیا با atmega32 میتوان موج مربعی با دقت 1 هرتز درست کرد ؟

    سلام دوستان امیدوارم حالتون خوب باشه . آیا واقعا میشه با یه اتی مگا 32 موج مربعی با دقت 1 هرتز تا فرکانس 10 کیلوهرتز درست کرد ؟ چون الان من هر چقدر با تایمر ها کار میکنم . نمیتونم کاری کنم که یه جور سریز شن من به دقت 1 هرتز برسم .

    ما چطور میتونیم با یه مگا 32 یه هم چین موجی درست کنیم ؟

    با تشکر فراوان .
    I'm going to
    RWTH Aachen
    University

    #2
    پاسخ : آیا با atmega32 میتوان موج مربعی با دقت 1 هرتز درست کرد ؟

    فکر می کنم اگر از روش تولید موج PWM (با دیوتی سایکل 50 درصد) استفاده کنید، دقت مورد نظرتون تامین بشه

    دیدگاه


      #3
      پاسخ : آیا با atmega32 میتوان موج مربعی با دقت 1 هرتز درست کرد ؟

      من متوجه نمیشم . ممکنه یه کتابی و یا منبعی معرفی کنید . بخونم تا متوجه بشم میخوام یه مولد موج مربعی 1 هرتز تا 50 کیلو داشته باشم . با دیوتی سیکل متغیر .

      اگر هم با atmega نمیشه دنبال آی سی باشم که اینکارو کنه .
      I'm going to
      RWTH Aachen
      University

      دیدگاه


        #4
        پاسخ : آیا با atmega32 میتوان موج مربعی با دقت 1 هرتز درست کرد ؟

        ای با میکرو نمی خواید انجام بدین ای سی و ماژول هم هست
        التماس دعا

        دیدگاه


          #5
          پاسخ : آیا با atmega32 میتوان موج مربعی با دقت 1 هرتز درست کرد ؟

          سلام
          خاسته پست اول و دوم شما یکم فرق میکنه
          دقیقا صورت مسئله رو بگین تا بشه دقیق راهنمایی کرد.
          دیوتی سایکل متغیر لازم دارین یا نه ؟
          اگهه لازم نداشته باشین کارتون خیلی راحت میشه ، اگه لازم داشته باشین یه کوچولو داستان فرق میکنه

          دیدگاه


            #6
            پاسخ : آیا با atmega32 میتوان موج مربعی با دقت 1 هرتز درست کرد ؟

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

            مشکل این که من فکر میکنم اصلا منطقی نیست که یه ای تی مگا 32 هم ال سی دی رو درایو کنه و هم adc ولوم تغیر فرکانس رو چک کنه . و هم فرکانس با دقت 1 هرتز برای ما بسازه.

            آیا این منطقی هستش ؟
            I'm going to
            RWTH Aachen
            University

            دیدگاه


              #7
              پاسخ : آیا با atmega32 میتوان موج مربعی با دقت 1 هرتز درست کرد ؟

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

              خوب چطوری میشه با دیوتی سایکل ثابت فرکانس تا ده کیلوهرتز با دقت 1 هرتز داشته باشیم ؟ آیا این کار با وقفه تایمر صورت میگیره ؟
              I'm going to
              RWTH Aachen
              University

              دیدگاه


                #8
                پاسخ : آیا با atmega32 میتوان موج مربعی با دقت 1 هرتز درست کرد ؟

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

                مشکل این که من فکر میکنم اصلا منطقی نیست که یه ای تی مگا 32 هم ال سی دی رو درایو کنه و هم adc ولوم تغیر فرکانس رو چک کنه . و هم فرکانس با دقت 1 هرتز برای ما بسازه.

                آیا این منطقی هستش ؟
                باید جواب بده برنامه رو هم مناسب بنویسید میکرو روهم برای دقت و سرعت بیشتر با کریستال 16 اوور کلاک کنید
                التماس دعا

                دیدگاه


                  #9
                  پاسخ : آیا با atmega32 میتوان موج مربعی با دقت 1 هرتز درست کرد ؟

                  نوشته اصلی توسط azadfalah
                  خوب دوستان در مرحله اول با دیوتی سایکل ثابت میخوام شروع کنم .

                  خوب چطوری میشه با دیوتی سایکل ثابت فرکانس تا ده کیلوهرتز با دقت 1 هرتز داشته باشیم ؟ آیا این کار با وقفه تایمر صورت میگیره ؟
                  تنها کاری که لازمه انجام بدین اینه که در زیربرنامه وقفه تایمر قبل از return به شمارنده مقدار اولیه مناسب بدین.تا در دوره بعد از مقدار اولیه جدیدی که تنظیم کردین تا مقدار top تایمر بشمره.اینطوری میتونین زمان سر ریز شدن تایمر رو مشخص کنین.
                  این مقدار اولیه رابطه مستقیم با فرکانس کاری تایمر داره
                  فرکانس تایمر هم از یک مقسم فرکانسی از فرکانس cpu گرفته میشه.
                  ایشاالله که متوجه شده باشین
                  به قول استاد "به همین سادگی :nice: "

                  دیدگاه


                    #10
                    پاسخ : آیا با atmega32 میتوان موج مربعی با دقت 1 هرتز درست کرد ؟

                    یعنی ما با میکرو میتونیم در حد نانو ثانیه وقفی ایجاد کنیم ؟ من هر چقدر ور رفتم نتونستم بیشتر از میکرو ثانیه پیش برم .

                    I'm going to
                    RWTH Aachen
                    University

                    دیدگاه


                      #11
                      پاسخ : آیا با atmega32 میتوان موج مربعی با دقت 1 هرتز درست کرد ؟

                      نوشته اصلی توسط azadfalah
                      یعنی ما با میکرو میتونیم در حد نانو ثانیه وقفی ایجاد کنیم ؟ من هر چقدر ور رفتم نتونستم بیشتر از میکرو ثانیه پیش برم .
                      دوره تناوب نانوثانیه میشه 10 به توان -9 ثانیه اگه برعکسش کنین فرکانس بدست میاد
                      به عنوان تمرین بگین فرکانس چقدر میشه و با فرکانس کاری میکرو avr مقایسش کنین

                      دیدگاه


                        #12
                        پاسخ : آیا با atmega32 میتوان موج مربعی با دقت 1 هرتز د&#
                        • برای رسیدن به فرکانس 689 هرتز

                          1 تقسیم بر 689 = 0,0014513788098694

                          من هرچقدر فکر کردم ما نمیتونیم با میکرومون از میکرو ثانیه اونور تر بریم . در نتیجه نزدیک ترین فرکانس تولیدی ما میشه .

                          1 تقسیم بر 0,001451 = 689,1798759476223 تا همین جا 0.179 هرتز خطای ماست .

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

                          1 تقسیم بر 49999 = 0.00002000040000800016

                          در اصل به هیچ عنوان نمیتونیم با دقت 1 هرتز به این فرکانس برسیم . و نزدیگ ترین فرکانس هم

                          1 تقسیم بر 0.0000201 که میشه 49751,24378109453 هرتز

                          با این اوصاف یا من دارم اشتباه میکنم که امیدوارم اینطور باشه . ویا واقعا با یه میکرو ای وی آر نمیشه با دفت 1 هرتز تا 50 کیلوهرتز رفت

                          منتظر نظر شما دوستان هستم .





                        I'm going to
                        RWTH Aachen
                        University

                        دیدگاه


                          #13
                          پاسخ : پاسخ : آیا با atmega32 میتوان موج مربعی با دقت 1 هرتز د&#

                          نوشته اصلی توسط azadfalah
                          • برای رسیدن به فرکانس 689 هرتز

                            1 تقسیم بر 689 = 0,0014513788098694

                            من هرچقدر فکر کردم ما نمیتونیم با میکرومون از میکرو ثانیه اونور تر بریم . در نتیجه نزدیک ترین فرکانس تولیدی ما میشه .

                            1 تقسیم بر 0,001451 = 689,1798759476223 تا همین جا 0.179 هرتز خطای ماست .

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

                            1 تقسیم بر 49999 = 0.000020000400008

                            در اصل به هیچ عنوان نمیتونیم با دقت 1 هرتز به این فرکانس برسیم . و نزدیگ ترین فرکانس هم

                            1 تقسیم بر 0.0000201 که میشه 49751,24378109453 هرتز

                            با این اوصاف یا من دارم اشتباه میکنم که امیدوارم اینطور باشه . ویا واقعا با یه میکرو ای وی آر نمیشه با دفت 1 هرتز تا 50 کیلوهرتز رفت

                            منتظر نظر شما دوستان هستم .





                          روال کار رو میگم دستتون بیاد محاسبات دقیقش با خودتون
                          فرض کنید فرکانس میکرو 1 مگ باشه ضریف تقسیم فرکانس واسه تایمر هم 1 باشه در نتیجه فرکانس واحد تایمر میشه 1 مگ
                          حالا ا تقسیم بر 1 مگ میشه زمان شمارش یک واحد یا زمان یک تیک
                          اگه تایمر 8 بیتی باشه از 0 تا 255 میشمره تا سرریز بشه . حالا زمان یک تیک رو ضرب در 256 بکنین میشه زمان سرریزی.اگه به شمارنده مقدار اولیه 200 بدین این بار از 200 تا 255 میشمره و سرریز میشه ینی 56 تا میشمره و زمان کل میشه 56 ضرب در زمان یک تیک
                          اگه از تایمر 16 بیتی استفاده کنین تایمر 0 تا 65535 میشمره تا سرریز بشه و بقیه مباحث قبلی هم سرجاشه
                          به قول استاد : به همین سادگی :nice:

                          دیدگاه


                            #14
                            پاسخ : آیا با atmega32 میتوان موج مربعی با دقت 1 هرتز درست کرد ؟

                            سوالتون صحیح نیست. فرکانس یک هرتز یعنی مثلا موج مربعی شما در هر ثانیه یک بار نوسان کنه! اگه منظورتون ساخت فرکانسی در حد کیلو هرتز هست باید بگم که میکرو به راحتی از پسش بر میاد. شما هرقدر هم برنامتون سنگین باشه تاثیری در عملکرد تایمر نداره. چون تایمر یه سخت افزار جدا داره و فقط هنگام وقفه از نرم افزار بهره میبره که اونم تاثیری نداره توی روند اجرای برنامه
                            انسانها 10 دسته اند: دسته اي که باينري ميدانند و دسته اي که باينري نميدانند!

                            دیدگاه


                              #15
                              پاسخ : آیا با atmega32 میتوان موج مربعی با دقت 1 هرتز درست کرد ؟

                              سلام از تایمر 16 بیتی در مد سنکرون برای تولید فرکانس های بالا استفاده کنید و از یک تایمر دیگر در مد آسنکرون با یک کریستال 32.768 برای تولید فرکانس های پایین استفاده کنید یک ولوم هم به ADC وصل کنید و با آن میزان فرکانس رو تغییر بدید
                              موفق باشید

                              دیدگاه

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