اطلاعیه

Collapse
No announcement yet.

کمک در مورد استفاده از pwm در bascom و codevision

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

    کمک در مورد استفاده از pwm در bascom و codevision

    سلام بچه ها خوبید من یه led rgb گرفتم که سه تا پایه ی منفی و یه پایه ی مثبت داره من می خوام با روش pwm اینو روشن کنم یعنی هر پایه یعنی r-g-b- می توانند بینن 1 تا 256 باشند من میخوام این کارو بکنم ولی روش pwm رو بلد نیستم اگه کاملا توضیح دهید ممنون می شم .

    #2
    پاسخ : کمک در مورد استفاده از pwm در bascom و codevision

    سلام
    مقاله مربوط به کنترل موتور رو از قسمت دانلود بگیر،راجع به PWM البته با کدویژن مطالب خوبی داره
    در دیر مغان آمد یارم قدحی در دست
    مست از می می خواران از نرگس مستش مست

    دیدگاه


      #3
      پاسخ : کمک در مورد استفاده از pwm در bascom و codevision

      سلام
      ممنون از جوابتون آقا اگه شما یه مقاله در مورد بیسکام در مورد این روش بگید ممنون می شم من می خواستم بدونم این پالس pwm به عنوان مثال خودش از 1 تا 255 رو میشماره وپالس درست می کنه یا نه ما خودمون می تونیم بگیو مثلا پایه ی b1 آیسی پالس 150 را اجرا کند ممنمون می شم که یه مقداری در مورد این مسئله حرف بزنید .

      دیدگاه


        #4
        پاسخ : کمک در مورد استفاده از pwm در bascom و codevision

        سلام
        در مورد بسکام که شرمنده ام چون باهاش کار نکردم،امیدوارم دوستان کمک کنند
        اما راجع به PWM شما ابتدا با تنظیم رجیسترها میاید و مشخص می کنید که چه نوع PWM با چه مشخصاتی از نظر فرکانس و دیوتی و ...
        بعد این موج روی پایه OCn تولید میشه و شما نیازی به کد نویسی براش ندارید
        در دیر مغان آمد یارم قدحی در دست
        مست از می می خواران از نرگس مستش مست

        دیدگاه


          #5
          پاسخ : کمک در مورد استفاده از pwm در bascom و codevision

          سلام
          توی روش مدولاسیون پالس دامنه همون 5 ولته ولی نسبت زمان 1 به صفر بودن باعث میشه مقدار متوسط سیگنال pwm که مبین مقدار dc اونه تغییر پیدا بکنه
          پس عرض متغییره کوچکترین عرضی که میشه ایجاد کرد نشان دهنده منفی ترین مقداره و عریض ترین مثبت ترین
          با توجه به میکرو و قدرت تایمر کنترها شما می تونید از pwm بصورت n بیتی ( معمولا 8 بیتی یا 9 یا 10 بیتی بسته به نوع تایمر و کانتر ) استفاده بکنید.
          PWM می تونه بصورت بالارونده از مقدار 0 تا حد نهائی تایمر افزایش یا برعکس از مقدار نهائی به طرف صفر بصورت پائین رونده کاهش داشته باشه

          پس میشه گفت با توجه به n بیتی بودن pwm مقداری که می تونه تا اون بالا بره یا برعکس تعیین میشه همچنین توی هر مد n بیتی فرکانس pwm تقسیمی از فرکانس کاری تایمر / کانتر بوده
          همه اینا بصورت جدول توی help بسکام موجوده
          توی رجیستر ها دو تا رجسیتر هستند که میشه اونا رو با توجه به درصد سیکل کاری مقدار دهی کرد وقتی مقدار تایمر به اون می رسه وضعیت پایه خروجی تغییر معکوس داره
          این دوتا رجسیتر اسمش OCR n A , OCR n B البته n اینجا یعنی شماره تایمر / کانتر
          وضمنا pwm میتونه بصورت معکوس شده یا معکوس نشده روی پایه های خروجی ظاهر بشه
          یعنی در موقع تطابق وضعیت خروجی چه جوری باشه


          دراین حالت پایه های OC1A و OC1B خروجی PWM هستند .
          دستور تحت بسکام برای پیکره بندی
          Config TimerX = PWM , PWM = 8 or 9 or 10 , Compare A Pwm = Clear Up | Clear Down | Disconnect , Compare B Pwm = Clear Up | Clear Down | Disconnect , Prescale
          =1|8|64|256|1024
          X شماره تایمر

          Clear Up | Clear Down = در موقع تطابق مقدار OCR n با تایمر کانتر وضعیت خروجی معکوس گردد | معکوس نگردد .
          Disconnect = درموقع تطابق مقایسه از پایه خروجی ORC قطع گردد.
          Prescale = تولید pwm با فرکانس های مختلف

          پس ابتدا PWM رو پیکره بندی می کنید
          تا فرکانس کاری اون رو تعیین بکنید بعد رجسیترهای مقایسه ای pwm رو که همونORC با دستور زیر مقدار دهی می کنید تا معلوم بکنید در کدوم مقدار در حالت افزایشی خروجی OC1A,B
          تغییر پیدا بکنه

          فرکانس PWM با توجه به معادله زیر قابل محاسبه است .
          8بیتی
          PWM FREQUNCY = FOSC / 510 *PERSCALE
          9بیتی
          PWM FREQUNCY = FOSC / 1022 *PERSCALE
          10 بیتی
          PWM FREQUNCY = FOSC / 2046 *PERSCALE
          مثال :


          'And the TIMER can be used in PWM mode
          'You have the choice between 8,9 or 10 bit PWM mode
          'Also you can specify if the counter must count UP or down after a match
          'to the compare registers
          'Note that there are two compare registers A and B

          Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 8

          'to set the PWM registers, just assign a value to the compare A and B registers

          Compare1a = 100
          Compare1b = 200

          'Or for better reading :

          Pwm1a = 100
          Pwm1b = 200

          LOOP
          End

          توی مثال بالا فرکانس کاری PWM مساوی 488.7585 هرتزه
          وقتی مقدار تایمر / کانتر 1 مساوی 100 بشه خروجی با توجه به مقدار PWM1a و موقعی که مساوی 200 بشه با توجه به مقدار PWM1b
          خروجی معکوس میشه

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

          دیدگاه


            #6
            پاسخ : کمک در مورد استفاده از pwm در bascom و codevision

            آقا کمک!!! جان هر کسی که دویت دارید یاری برسانید !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            نم حدود یک ماه که در تلاشم تا از تایمر یک PWM بگیرم اما هنوز نتونستم!!!!!!!!!!!!
            لطفا یه کاری کنید همین چند ماه پیش بود که توانسته بودم اما دوباره نمی دونم چی شده فقط یه کاری کنیدلطفا
            سزد کز خاتم لعلش زنم لاف سلیمانی / چو اسم اعظمم باشد چه باک از اهرمن دارم
            لاحول و لاقوه الا بالله العلیّ العظیم

            دیدگاه


              #7
              پاسخ : کمک در مورد استفاده از pwm در bascom و codevision

              نوشته اصلی توسط misytaz
              آقا کمک!!! جان هر کسی که دویت دارید یاری برسانید !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
              نم حدود یک ماه که در تلاشم تا از تایمر یک PWM بگیرم اما هنوز نتونستم!!!!!!!!!!!!
              لطفا یه کاری کنید همین چند ماه پیش بود که توانسته بودم اما دوباره نمی دونم چی شده فقط یه کاری کنیدلطفا
              سلام.

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

              دیدگاه


                #8
                پاسخ : کمک در مورد استفاده از pwm در bascom و codevision

                نوشته اصلی توسط misytaz
                آقا کمک!!! جان هر کسی که دویت دارید یاری برسانید !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                نم حدود یک ماه که در تلاشم تا از تایمر یک PWM بگیرم اما هنوز نتونستم!!!!!!!!!!!!
                لطفا یه کاری کنید همین چند ماه پیش بود که توانسته بودم اما دوباره نمی دونم چی شده فقط یه کاری کنیدلطفا
                سلام ...................

                در این که باید برنامتون رو بذارید ، شک نکنید . اما اینم ببینید .

                http://www.eca.ir/forum2/index.php?topic=5671.msg73192

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

                دیدگاه


                  #9
                  پاسخ : کمک در مورد استفاده از pwm در bascom و codevision

                  سلام
                  ببخشید من یه عمرانیم میشه یک کم ساده تر توضیح بدید من توی پروژه ام باید بتونم عددی رو که از یه تابع بدست میارم به ولتاژ تبدیل کنم
                  یه مسئله مهم اینکه توی کتاب آقای کاهه نوشته محدوده ولتاژ خروجی بین 2.5 تا 9 ولت خواهد بود ولی من ولتاژ بین -1 تا 1 یا حد اقل بین 0تا 1 می خوام راه حلی داره ؟

                  دیدگاه

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