اطلاعیه

Collapse
No announcement yet.

کد PWM بوسیله ی C برای کنترل سرعت روبات مسیریاب

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

    کد PWM بوسیله ی C برای کنترل سرعت روبات مسیریاب

    سلام دوستان عزیز.
    اگر میشه یکی یه کد PWM بذاره اگر داره. برای دو موتور.
    بعد می خواستم بدونم ثبات TCCR چیه؟
    TCNT چیه ؟
    و در آخر هم OCR0=25 یعنی چی ؟
    یه نمونه کد دارم اگر میشه روی این برام توضیح بدین.
    کد:
    #include<mega64.h>
    void main(void)
    {
       DDRB=0x10;
       TCNT0=0x00; //????????
       OCR0=25;  //?????
       TCCR0=0x6a; // Karesh chiie ?
       }

    #2
    پاسخ : کد PWM بوسیله ی C برای کنترل سرعت روبات مسیریاب

    با سلام .
    اگر اشتباه نکرده باشم اینطوری هستش :
    tccr : برای پیکربندی تایمر.
    TCNT : مربوط به مقدار شمارنده.
    OCR0 : مربوط به مقدار مقایسه تایمر 0 در حالت استفاده به عنوان مقایسه کننده و در صورت استفاده به عنوان pwm (یعنی اینجا) مربوط به اینکه خروجی در چه حالتی باشد یعنی قطع ،معکوس و غیر معکوس که بعد از انتخاب آن می توان از طریق این رجیستر مقدار موج را تعیین کرد.
    اگر می خواید اطلاعات بیشتری پیدا کنید به کتاب اقای سپاس یار مراجعه فرمایید.
    موفق باشید.
    چرا ناراحتی پاتریک!
    + امروز ی بچه دیدم سرچهارراه گل میفروخت
    - از دیدنش ناراحت شدی؟
    + نه
    پس چی ناراحتت کرده
    + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
    ------------------------------------------------------------------------------------------------------
    تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
    ------------------------------------------------------------------------------------------------------
    محصولات

    دیدگاه


      #3
      پاسخ : کد PWM بوسیله ی C برای کنترل سرعت روبات مسیریاب

      سلام دوست عزیز
      این روبات که ساخته شد 50% ش رو میزنم به اسم شما
      من این قسمت از جوابتون رو مربوط به OCR متوجه نشدم که گفتین : " یعنی قطع ،معکوس و غیر معکوس که بعد از انتخاب آن می توان از طریق این رجیستر مقدار موج را تعیین کرد."
      بعد TCCR مقدار فرکانس موج رو مشخص میکنه؟
      و TCNT یک Counter ؟(اگر آره تا جند میشمره و چند تا چند تا.)
      ممنون موفق باشید.

      دیدگاه


        #4
        پاسخ : کد PWM بوسیله ی C برای کنترل سرعت روبات مسیریاب

        مهندس جان من کاری نکردم تنها با پاسخ دادن به سوالات شما به اطلاعات خودم اضافه کردم و هدف از همچنین فروم هایی هم همینه.
        اینم pdf کتاب (البته با اجازه استاد گرانقدر اقای سپاس یار عزیز.):
        فایل های پیوست شده
        چرا ناراحتی پاتریک!
        + امروز ی بچه دیدم سرچهارراه گل میفروخت
        - از دیدنش ناراحت شدی؟
        + نه
        پس چی ناراحتت کرده
        + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
        ------------------------------------------------------------------------------------------------------
        تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
        ------------------------------------------------------------------------------------------------------
        محصولات

        دیدگاه


          #5
          پاسخ : کد PWM بوسیله ی C برای کنترل سرعت روبات مسیریاب

          ممنون عزیز.
          این یکی پست شبیه ویرایش شده ی پست قبلیم.
          من این قسمت از جوابتون رو مربوط به OCR متوجه نشدم که گفتین : " یعنی قطع ،معکوس و غیر معکوس که بعد از انتخاب آن می توان از طریق این رجیستر مقدار موج را تعیین کرد."
          بعد TCCR مقدار فرکانس موج رو مشخص میکنه؟
          و TCNT یک Counter ؟(اگر آره تا جند میشمره و چند تا چند تا.)
          بعد یه چیز دیگه: وقتی می نویسیم مثلا: DDRD=0x10 یعنی کدوم پایه؟ چون این عدد در مبنای 16 میشه عدد 16 در مبنای دهدهی. و وقتی مینویسیم PORTA=0x6a این یعنی چی؟ مگه این نباید یا 0 بشه یا 255 برای کل پایه ها ؟ این PORTA=0x6a به معنی یک پایه ی به خصوص ؟
          ممنون موفق باشید.

          دیدگاه


            #6
            پاسخ : کد PWM بوسیله ی C برای کنترل سرعت روبات مسیریاب

            در مورد ocr : همونطور که گفتم سه حالت داره :
            1-قطع : در این حالت pwm خروجی نخواهد داشت.
            2-معکوس : در این حالت موج از پیک منفی شروع می شود.
            3- غیر معکوس : در این حالت موج از پیک مثبت شروع می شود.
            بله tccr هم فرکانس رو تعیین می کنه.
            tcnt بسته با تایمر هست یعنی اگر از تایمر 16 بیتی استفاده کنید تا 65535 و اگر 8 بیتی باشه تا 255 می شماره.
            0x10 برابر 00010000 باینری میشه یعنی پایه ای که 1 شده خروجی و بقیه ورودی هستن.
            در مورد porta=0x6a : اینم میشه 1101010 باینری که یکها نمایانگر SET شدن پین مورد نظر هستن.
            راستی من خودم تازه با زبان C دارم کار می کنم و هنوز خیلی مبتی هستم پس اگر اشتباهی پیش اومد به بزرگی خودتون ببخشید.
            امیدوارم با هم بتونیم زبان برنامه نویسیم رو ارتقا بدیم.
            شاد باشید.
            چرا ناراحتی پاتریک!
            + امروز ی بچه دیدم سرچهارراه گل میفروخت
            - از دیدنش ناراحت شدی؟
            + نه
            پس چی ناراحتت کرده
            + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
            ------------------------------------------------------------------------------------------------------
            تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
            ------------------------------------------------------------------------------------------------------
            محصولات

            دیدگاه


              #7
              پاسخ : کد PWM بوسیله ی C برای کنترل سرعت روبات مسیریاب

              سلام و ممنون.
              من تا حالا هرچی از زبان C توی دانشگاه خوندم، نرم افزاری بوده(بدون کار با ثبات ها و رجیسترها). ++C هم که بیشتر میره سراغ نرم افزار. واسه همین، این قسمت سخت افزاری زبان ها واسم خیلی جدیده.
              بعد برای اینکه فرکانس مورد نظر رو به موتور ها برسونیم، باید پایه ی Enable درایور موتور رو به ثبات OC مورد نظر که داریم به عنوان خروجی ازش استفاده میکنیم. وصل کنیم ؟

              دیدگاه


                #8
                پاسخ : کد PWM بوسیله ی C برای کنترل سرعت روبات مسیریاب

                اگر فرکانس منظورتون همون پالس خروجی pwm هستش بله اون رو به پایه enable راه انداز موتور وصل می کنیم. پایه pwm خروجی هم برای هر تایمر کانتر فرق می کنه مثلا خروجی pwm 1 تایمر 1 پایه 19 در mega32 یا همان oc1a می باشد.
                چرا ناراحتی پاتریک!
                + امروز ی بچه دیدم سرچهارراه گل میفروخت
                - از دیدنش ناراحت شدی؟
                + نه
                پس چی ناراحتت کرده
                + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
                ------------------------------------------------------------------------------------------------------
                تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
                ------------------------------------------------------------------------------------------------------
                محصولات

                دیدگاه

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