اطلاعیه

Collapse
No announcement yet.

مشکل در موج PWM

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

    مشکل در موج PWM

    من برای پروگرام atmega32 از
    arduino sketch استفاده میکنم


    تابع analogWrite به درستی کار نمیکند یعنی مقدار صحیح رو تولید نمیکند یعنی یا 0 هست یا حدود 1000 خروجی انگار خروجی دیجیتا هست با وجود اینکه :


    از پایه ی 20 و 19 و 38 و 39 استفاده کردم باز هم جواب نداد

    پایه ی 38 و 39 که کلا ADC دارن

    اما پایه های 20 و 19 طبق دیتا شیت PWM میتوانند تولید کنند


    از فایل hex خام کامپایل شده از نرم افزار arduino ide استفاده میکنم

    فقط برای تولید pwm به چه چیزایی ؟ تنظیمات نرم افزاری؟ سخت افزار میخواد؟؟ یا باید با کد و وقفه درستش کنم



    من الان صرفا atmega گذاشتم رو برد بورد (کریستال خارجی هم وصل نکردم) و منبع تغذیه وصل کردم
    جدیدترین ویرایش توسط arashsoft; ۲۲:۳۰ ۱۳۹۷/۱۰/۱۶.

    #2
    پاسخ : مشکل در موج PWM

    درود پین های ۴ .۱۸ .۱۹ .۲۱ خروجی pwm دارند . هر پین رو تست کنید با led .

    دیدگاه


      #3
      پاسخ : مشکل در موج PWM

      نوشته اصلی توسط Masood Ashoori نمایش پست ها
      درود پین های ۴ .۱۸ .۱۹ .۲۱ خروجی pwm دارند . هر پین رو تست کنید با led .
      وقت خوش تست کردم

      من کدم اینه :

      analogWrite (13,200(;

      که پین ۱۳ آردو ینو پین ۱۹ اتمگا هست

      وقتی با یه ازدوینو دیگه analog read. میکنم اون پایه رو مقدار ۱۰۰۰ میده (حدود)

      دیدگاه


        #4
        پاسخ : مشکل در موج PWM

        درود ، خیر ، پین ۱۳ آردو ، پین ۸ اتمگاست


        برای تست از led استفاده کنید دوست عزیز ،

        دیدگاه


          #5
          پاسخ : مشکل در موج PWM

          خیلی ممنون
          1- پین out من متفاوته
          Arduino hardware package for ATmega1284, ATmega644, ATmega324, ATmega324PB, ATmega164, ATmega32, ATmega16 and ATmega8535 - MCUdude/MightyCore


          اما من باز
          Bobuino تست کردم

          از پایه PD6 استفاده کردم








          و از led استفاد کردم :




          اینم کد :

          کد:
          void setup() {
            // put your setup code here, to run once:
            pinMode(9, OUTPUT);
          }
          
          
          void loop() {
            // put your main code here, to run repeatedly:
          
          
          
          
            int i =0;
          
          
            while(i<1022)
            {
              i++;
              analogWrite(9,i);
              delay(20);
            }
          }


          و led خاموش میماند و یک دفعه با تمام نور خود روشن میماند و بعد دوباره خاموش و....

          مثل 0 و 1

          اینم تنظیمات :
          جدیدترین ویرایش توسط arashsoft; ۱۶:۴۷ ۱۳۹۷/۱۰/۱۷.

          دیدگاه


            #6
            پاسخ : مشکل در موج PWM

            من حتی با پروتوئس هم چک کردم




            pwm نیست

            blink هست


            اینم فیلم عملکرد:


            Upload files, for free, securely, anonymously, without limits. @UploadFilesFree

            یا







            " allowfullscreen="true" quality="high" name="aparattv" id="aparattv" style="" src="https://www.aparat.com/public/public/player/aparattv" type="application/x-shockwave-flash">
            جدیدترین ویرایش توسط arashsoft; ۱۶:۵۰ ۱۳۹۷/۱۰/۱۷.

            دیدگاه


            #7
            پاسخ : مشکل در موج PWM

            درود . اصولاً نباید اینطور باشه . شما چند مورد رو انجام بدید.
            اول برای بوتلودر زدن چیپ اقدام کنید. بعد از بوتلودر برنامه رو توسط پین های سریال و مبدل سریال آپلود کنید . منظور از هگز استفاده نکنید .

            اگر نشد کتابخونه pwm نرم افزاری رو نصب و تست کنید . این کتابخونه با استفاده از تایمر ها ، امکان استفاده از pwm رو روی همه پین ها میده
            تا ببینیم چه می شود :/

            دیدگاه


              #8
              پاسخ : مشکل در موج PWM

              بزارید چک کنم ممنون
              جدیدترین ویرایش توسط arashsoft; ۱۷:۳۹ ۱۳۹۷/۱۰/۱۷.

              دیدگاه


                #9
                پاسخ : مشکل در موج PWM

                نوشته اصلی توسط Masood Ashoori نمایش پست ها
                درود . اصولاً نباید اینطور باشه . شما چند مورد رو انجام بدید.
                اول برای بوتلودر زدن چیپ اقدام کنید. بعد از بوتلودر برنامه رو توسط پین های سریال و مبدل سریال آپلود کنید . منظور از هگز استفاده نکنید .

                اگر نشد کتابخونه pwm نرم افزاری رو نصب و تست کنید . این کتابخونه با استفاده از تایمر ها ، امکان استفاده از pwm رو روی همه پین ها میده
                تا ببینیم چه می شود :/

                خیلی ممنون مشکل با نصب کتابخانه درست شد

                با led تست کردم درسته فقط چون شاید دارم از نوسان داخلی 8mh استفاده می کنم
                فرکانس پایینه / نورش کمه / اما فلش زدنش معلومه

                ساخت pwm برطرق شد:
                جدیدترین ویرایش توسط arashsoft; ۰۹:۰۹ ۱۳۹۷/۱۰/۱۸.

                دیدگاه


                  #10
                  پاسخ : مشکل در موج PWM

                  نوشته اصلی توسط Masood Ashoori نمایش پست ها
                  درود . اصولاً نباید اینطور باشه . شما چند مورد رو انجام بدید.
                  اول برای بوتلودر زدن چیپ اقدام کنید. بعد از بوتلودر برنامه رو توسط پین های سریال و مبدل سریال آپلود کنید . منظور از هگز استفاده نکنید .

                  اگر نشد کتابخونه pwm نرم افزاری رو نصب و تست کنید . این کتابخونه با استفاده از تایمر ها ، امکان استفاده از pwm رو روی همه پین ها میده
                  تا ببینیم چه می شود :/
                  مشکل دوم را من اول با طرح یک سوال مطرح میکنم که ببینم اصلا فهمیدم

                  دلیل: ادغام دو پست برای جلوگیری از اسپم

                  با اسکچ ازدوینو مثال میزنم سریعتر

                  analogWrite (30,160)

                  الان با فرض اینکه پایه ۳۰ قابلیت pwm داره

                  این میاد با تایمر
                  یه سری سیگنال دیجیتال ۰ ، ۱ رو درست می*کنه که دامنه آن ها خیلی کمه و مدام نوسان میکنه در حقیقت اگه led کم رنگه چشم ما توهم میزنه
                  درسته؟

                  بعد یعنی همون خاموش روشن
                  یعنی بازی تغییر ولتاژ همون ۰ , ۵ ولت هست { یا ۰,۳/۳}

                  زمان خیلی سریع


                  پس این یه موج آنالوگ نیست

                  و اگه تغییر ولتاژ رو بتونیم حساب کنیم

                  0,5,0,5,0,5,0,5...

                  فقط دامنه کم شده نه برد درشت؟

                  حالا من چه شکلی میتونیم این pwm ها رو به موج آنالوگ واقعی تبدیل کنم
                  یه سری سرچ زدم
                  Rc filter
                  امپ ....

                  میخواهم ببینم راهی که پیشنهاد میکنی چیه


                  یعنی واقعا آنالوگ باشه

                  یعنی وقتی میزنم
                  analogWrite (30, 160)

                  اونور که
                  با
                  DAC
                  میخونم
                  حول و خوش 160 باشه

                  دیدگاه


                    #11
                    پاسخ : مشکل در موج PWM

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


                    جسارتا هدف از این کار چیه :|

                    یک خواهش از شما داشتم اگر مقدوره ، روش بوت لودر و پروگرم از طریق پورت سریال رو تست کنید pwm در حالت عادی و بدون کتابخونه رو آپلود کنید ببینید مشکل حل میشه یا خیر ؟
                    جدیدترین ویرایش توسط Masood Ashoori; ۰۹:۲۴ ۱۳۹۷/۱۰/۱۸.

                    دیدگاه


                      #12
                      پاسخ : مشکل در موج PWM

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

                      دیدگاه

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