اطلاعیه

Collapse
No announcement yet.

مشکل در خروجی pwm

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

    #16
    پاسخ : مشکل در خروجی pwm

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

    www.intelart.ir


    ساخت کنترلر دما PID فازی با AVR [آموزشی]

    دیدگاه


      #17
      پاسخ : مشکل در خروجی pwm

      ببخشید چطوری باید از روتین وقفه جدا کنم؟ اگه میشه کمی بیشتر توضیح دهید،متوجه نمیشم! منظورتون اینه که یک برچسب بزارم و محاسبات را بریزم توی اون و از برنامه اصلی پرش کنم داخل اون؟ این کار رو کردم ولی فرقی نکرد!!!
      ممنون از پاسختون
      """ السلام علیک یا اباعبدالله الحسین """

      دیدگاه


        #18
        پاسخ : مشکل در خروجی pwm

        نوشته اصلی توسط maoa
        ببخشید چطوری باید از روتین وقفه جدا کنم؟ اگه میشه کمی بیشتر توضیح دهید،متوجه نمیشم! منظورتون اینه که یک برچسب بزارم و محاسبات را بریزم توی اون و از برنامه اصلی پرش کنم داخل اون؟ این کار رو کردم ولی فرقی نکرد!!!
        ممنون از پاسختون
        خب نه دیگه اینجوری که فرقی نداره بازم محاسبات تو همون روتین وقفه انجام میشه...
        شما باید کارهای ضروری رو داخل روتین وقفه انجام بدی و یه متغیر مثل یه پرچم تعریف کنی و داخل حلقه اصلی برنامه چک کنی که وقتی ورودی هات رو گرفتی (از روی مقدار پرچم تشخیص بدی) داخل حلقه اصلی برنامه شروع به انجام محاسبات کنه...
        اون قضیه بالابردن کلاک میکرو رو امتحان کردی ببینی درست میشه یا نه؟
        تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

        www.intelart.ir


        ساخت کنترلر دما PID فازی با AVR [آموزشی]

        دیدگاه


          #19
          پاسخ : مشکل در خروجی pwm

          نوشته اصلی توسط Mahdi.Faani
          شما باید کارهای ضروری رو داخل روتین وقفه انجام بدی و یه متغیر مثل یه پرچم تعریف کنی و داخل حلقه اصلی برنامه چک کنی که وقتی ورودی هات رو گرفتی (از روی مقدار پرچم تشخیص بدی) داخل حلقه اصلی برنامه شروع به انجام محاسبات کنه...اون قضیه بالابردن کلاک میکرو رو امتحان کردی ببینی درست میشه یا نه؟
          برنامه رو به شکل زیر عوض کردم؟ آیا درسته؟ در پروتئوس شبیه سازی میکنم اما یه ذره که شروع میکنه و در اسکوپ خروجی pwm رو میخواد نشون بده قطع میشه و error میده!!!
          [code=c]
          $regfile = "m16def.dat"
          $crystal = 16000000
          $baud = 9600
          Portd = &HFF
          Ddrd = &H00
          Portb = &HFF
          Ddrb = &H00
          Porta = &H00
          Ddra = &H00
          Portc = &H00
          Ddrc = &HFF
          Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Disconnect , Compare B Pwm = Disconnect , Prescale = 1
          Config Adc = Single , Prescaler = Auto , Reference = Avcc
          ..................,,,,,,,,.,.,Dim O1 As Single
          On Adc Tavan
          Enable Adc
          Enable Interrupts
          Do
          Va = Getadc(0)
          Vb = Getadc(1)
          Vc = Getadc(2)
          Ia = Getadc(3)
          Ib = Getadc(4)
          Ic = Getadc(5)
          Idc = Getadc(6)
          Idle
          Portd = Tcnt1l
          Portb = Tcnt1h
          If Viaa > Tcnt1 Then
          Portc.3 = 1
          Portc.0 = 0
          Else
          Portc.3 = 0
          Portc.0 = 1
          End If
          If Vibb > Tcnt1 Then
          Portc.4 = 1
          Portc.1 = 0
          Else
          Portc.4 = 0
          Portc.1 = 1
          End If
          If Vicc > Tcnt1 Then
          Portc.5 = 1
          Portc.2 = 0
          Else
          Portc.5 = 0
          Portc.2 = 1
          End If
          Loop
          End

          Tavan:
          """ MOHASEBATE TOLOANI GOFTEH SHODEYE GHABLI """ ````
          Return
          [/code]
          ضمناً فرکانس رو هم روی 16Mhz قرار دادم ولی جواب نداد!

          """ السلام علیک یا اباعبدالله الحسین """

          دیدگاه


            #20
            پاسخ : مشکل در خروجی pwm

            والا من از بیسیک سردر نمیارم...متاسفم...تنها چیزی که به دهنم میرسید همون تعریف یه پرچم و فعال کردنش داخل روتین اینتراپت بود...ببینید دوستان دیگه نظر ندارن؟.. :redface:
            تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

            www.intelart.ir


            ساخت کنترلر دما PID فازی با AVR [آموزشی]

            دیدگاه


              #21
              پاسخ : مشکل در خروجی pwm

              سلام-اگر کسی بیسیک کار کرده ،لطفاً نظر خودش را در مورد این موضوع مطرح کنه!
              باتشکر
              """ السلام علیک یا اباعبدالله الحسین """

              دیدگاه


                #22
                پاسخ : مشکل در خروجی pwm

                کسی نیست جواب دهد؟
                """ السلام علیک یا اباعبدالله الحسین """

                دیدگاه


                  #23
                  پاسخ : مشکل در خروجی pwm

                  ،لطفاً جواب دهید...
                  باتشکر
                  """ السلام علیک یا اباعبدالله الحسین """

                  دیدگاه


                    #24
                    پاسخ : مشکل در خروجی pwm

                    دوست عزیز واسه چی سرچ نمیکنی؟
                    فروم های خارجی رو سرچ کن قطعا به جواب میرسی...
                    تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                    www.intelart.ir


                    ساخت کنترلر دما PID فازی با AVR [آموزشی]

                    دیدگاه


                      #25
                      پاسخ : مشکل در خروجی pwm

                      سلام
                      دوست عزیز من نمیدونم چی میخوای با این برنامه درست کنی ولی بنظرم کد نویسیت اشتباه هست
                      شما باید مقدار درستی هم به رجیستر tcnt1 بدی خب و شما که از pwm استفاده میکنی پین های مربوطه ocrxx هم دیسکانکت کردی عملا شما از این پایه ها استفاده نمیکنید پس خروجیتون رو چجور میگرید؟
                      بقول دوستمون اقای سید محمد
                      و قطعا تایمر رو روی pwm تنظیم نکردن و از مد نرمال و با کد نویسی pwm رو درست کردن !!! به خاطر همین کند شده .
                      شما اومدی پورت d/b رو برابر با رجیستر tcnt1 قرار دادی یعنی با پورت ها این رجیستر رو مقدار دهی میخوای کنی؟

                      و اگه با اضافه کردن اون کد محاسبات سرعت کند میشه احتمالا استاندارد نبودن دستورات هست تا طولانی بودنش(فقط احتمال هست)
                      یخورده درباره بعد کلی برنامت که میخواد چیکار کنه بگی بهتره
                      امام مهدی(عج): اگر شیعیان ما ، که خداوند طاعتشان دهد. در عهد ما وفادار و همدل بودند، هرگز دیدار ما (ظهور) به تاخیر نمی افتاد.(کدام عهد ؟)

                      دیدگاه


                        #26
                        پاسخ : مشکل در خروجی pwm

                        اونطور که من از برنامت متوجه شدم شما یه مقادیری رو از adc میگیری و میای یه مقادیری هم از پورتهای d و b میگری که داخل ریجستر tcnt1 میریزه بعد میای این 2 مقادیر رو با هم مقایسه میکنی وخروجی pwm رو خودت با روشن خاموش کردن پورت c میسازی درسته؟
                        امام مهدی(عج): اگر شیعیان ما ، که خداوند طاعتشان دهد. در عهد ما وفادار و همدل بودند، هرگز دیدار ما (ظهور) به تاخیر نمی افتاد.(کدام عهد ؟)

                        دیدگاه


                          #27
                          پاسخ : مشکل در خروجی pwm

                          سلام دوست عزیز

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

                          cos درست کنید و اون هارو look up کنید. :agree:

                          دیدگاه

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