اطلاعیه

Collapse
No announcement yet.

برنامه کنترل سرعت موتور با pwm

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

    برنامه کنترل سرعت موتور با pwm

    سلام
    من ودوستانم داریم روی یه پروژه رباتیک کار میکنیم توی کنترل سرعت ودور به مشکل برخوردیم .کسی از دوستان میتونه تو برنامه نویسی(کنترل همزمان سرعت و دور موتور dc) به ما کمک کنه
    درضمن ما با بیسیک اشناییم
    یا علی

    #2
    پاسخ : برنامه کنترل سرعت موتور با pwm

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

    $regfile = "m8def.dat"
    $crystal = 1000000

    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Rs = Pind.2 , E = Pind.3 , Db4 = Pind.4 , Db5 = Pind.5 , Db6 = Pind.6 , Db7 = Pind.7
    Config Adc = Single , Prescaler = Auto , Reference = Internal
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 256
    Config Pinb.1 = Output

    Dim A As Byte
    Dim B As Byte
    Cursor Off
    Cls

    Deflcdchar 0 , 32 , 32 , 7 , 1 , 1 , 1 , 7 , 32 ' replace ? with number (0-7)
    Deflcdchar 1 , 32 , 32 , 32 , 32 , 31 , 5 , 7 , 32 ' replace ? with number (0-7)
    Deflcdchar 2 , 4 , 4 , 4 , 4 , 7 , 32 , 32 , 32 ' replace ? with number (0-7)
    Deflcdchar 3 , 7 , 5 , 7 , 32 , 32 , 32 , 32 , 32 ' replace ? with number (0-7)

    Do


    Start Adc
    A = Getadc(3)
    Waitms 10
    Stop Adc
    B = A / 4
    Home
    Lcd B ; Chr(3) ; "C" ; " " ; Chr(2) ; Chr(1) ; Chr(0)

    Select Case B

    Case 0 To 20:
    Pwm1a = 255

    Case 21 To 30:
    Pwm1a = 180

    Case 31 To 35:
    Pwm1a = 60

    Case 36 To 55:
    Pwm1a = 10

    End Select

    Loop

    End 'end program
    انا لله و انا اليه الراجعون

    دیدگاه


      #3
      پاسخ : برنامه کنترل سرعت موتور با pwm

      سلام من با pwm اومدم موتور رو با l28 درایو کردم
      ولی موتور واسه خودش یبار راست میچرخه بعد تند میشه چپ میچرخه .اصلاقاطی

      تقریبا همون برنامه رو نوشتم فک کنم مشکل تو درایور باشه
      1.png - 13.7 Kb

      دیدگاه


        #4
        پاسخ : برنامه کنترل سرعت موتور با pwm

        نوشته اصلی توسط sniper-70
        سلام
        من ودوستانم داریم روی یه پروژه رباتیک کار میکنیم توی کنترل سرعت ودور به مشکل برخوردیم .کسی از دوستان میتونه تو برنامه نویسی(کنترل همزمان سرعت و دور موتور dc) به ما کمک کنه
        درضمن ما با بیسیک اشناییم
        یا علی
        سلام دوست عزیز
        با توجه به سابقه چندین ساله در زمینه رباتیک باید بگم استفاده از PWM بررای کنترل سرعت موتور تقریبا گزینه ی مناسبی نیست چون شما با کاهش مقدار PMM اعمالی به پایه ی enable درایور به شدت قدرت موتور رو میارین پایین و اکثر جاها موتور کم میاره ... اعمال ولتاژهای متفاوت به موتور خیلی بهتر از کار با pwm هستش :agree:
        زاویه ی نگاهتو عوض کن . . .

        دیدگاه


          #5
          پاسخ : برنامه کنترل سرعت موتور با pwm

          سلام دوست عزیز
          با توجه به سابقه چندین ساله در زمینه رباتیک باید بگم استفاده از PWM بررای کنترل سرعت موتور تقریبا گزینه ی مناسبی نیست چون شما با کاهش مقدار PMM اعمالی به پایه ی enable درایور به شدت قدرت موتور رو میارین پایین و اکثر جاها موتور کم میاره ... اعمال ولتاژهای متفاوت به موتور خیلی بهتر از کار با pwm هستش :agree:
          سلام ببخسید اعمال ولتاژ ها مختلف با pwm هیچ فرقی نداره. یه چندتا انتگرال بگیر متوجه میشی!!

          دیدگاه


            #6
            پاسخ : برنامه کنترل سرعت موتور با pwm

            نوشته اصلی توسط akbar8
            سلام ببخسید اعمال ولتاژ ها مختلف با pwm هیچ فرقی نداره. یه چندتا انتگرال بگیر متوجه میشی!!
            چرا فرق داره شما با اعمال pwm به پایه ی enable در واقه دارین موتورو خاموش و روشن میکنین ... ولی تغییر ولتاژ فرق داره ...

            البته این نظر شخصی منه :agree:
            زاویه ی نگاهتو عوض کن . . .

            دیدگاه


              #7
              پاسخ : برنامه کنترل سرعت موتور با pwm

              خوب موج pwm با دیوتی سایکل های متفاوت درس میکنیم میدمیم به موتور!! اونجووری انگار داریم ولتاژ رو تغییر میدیم دیگه!!
              حالا یه سوال شما مگه چطور ولتاژ ها مختلف به موتوراتون میدمین؟؟

              دیدگاه


                #8
                پاسخ : برنامه کنترل سرعت موتور با pwm

                شما تو یه سرعت خاص مقدار روشن بودن و خاموش بودنِ یک پایه رو تغییر میدید.
                پس شما دارین موتور رو سریع قطع و وصل میکنید.البته دیجیتال.
                ?Why not

                دیدگاه


                  #9
                  پاسخ : برنامه کنترل سرعت موتور با pwm

                  نوشته اصلی توسط akbar8
                  خوب موج pwm با دیوتی سایکل های متفاوت درس میکنیم میدمیم به موتور!! اونجووری انگار داریم ولتاژ رو تغییر میدیم دیگه!!
                  حالا یه سوال شما مگه چطور ولتاژ ها مختلف به موتوراتون میدمین؟؟
                  دقیقا همونطور که جناب QUARK گفتن و در پست قبلی هم بهش اشاره کردم شما با اعمال PWM دارین موتورو خاموش و روشن میکنین ، یعنی تا زمانی که در منطق high هستین موتور روشن و تا وقتی در منطق low هستین موتور خاموش هستش . فقط مدت زمان روشن بودن موتورو کنترل میکنین ...

                  در مورد سوال دوم : من خودم با استفاده از رله باتریها رو سری میکردم و ولتاژ بالاتر میبردم

                  البته همین الان یه روشی به ذهنم رسید ، در رباتیک برای تنظیم سرعت از lm317 استفاده میکنن و با یه ولوم به صورت دستی سرعتو تغییر میدن . حالا اگه شما همون مدارو ببندین و با جای ولوم از ای سی های پتانسومتر دیجیتال استفاده کنین و اونو با میکرو کنترل کنین میتونین به خروجی خوبی برسین :agree: :agree: :agree:
                  زاویه ی نگاهتو عوض کن . . .

                  دیدگاه


                    #10
                    پاسخ : برنامه کنترل سرعت موتور با pwm

                    من نمیدونم چرا شما اینو میگید.
                    بنده با پل h و چندتا درایور وبا دادن موج pwm به این درایور ها در دیوتی سایکل ها متفاوت دارم ولتاژ دی سی تویه رنج ها مختلف به موتور میدم.
                    موج pwm موجی که تویه هر دیوتی سایکلی یه مفدار ولتاژ دی سی هم داره اگه از یه موج مربعی انتگرال بگیری چی بدس میاری مسلما یه مقدار ولتاژ دی حالا اگه دیوتی سایکل رو تغییر و دوباره از موج انتگرال بگیری چی بدس میاری بازم یه ولتاژ دی سی دیگه.
                    من در این زمینه خیلی خیلی تحقیق کردم اگر بخوایم با سری کردن باتری و این جور چیزا پیش برید چطور قصد دارید روباتتون رو تویه جهات مختلف حرکت بدید مگه اینکه یه عالمه رله بزارید تازه بازم قدرت مانور روبات میاد پایین.
                    به نطر من حرف شما اشتباه اس یه خورده تحقیق کنید متوجه میشید. حتی قوی ترین روبات ها جهانم مث tornado از pwm استفاده میکنن.
                    اگه میخوای منطور منو متوجه شی همون دوتا انتگرای رو که گفتم بگیر.

                    یاعلی.

                    دیدگاه


                      #11
                      پاسخ : برنامه کنترل سرعت موتور با pwm

                      نوشته اصلی توسط QUARK
                      شما تو یه سرعت خاص مقدار روشن بودن و خاموش بودنِ یک پایه رو تغییر میدید.
                      پس شما دارین موتور رو سریع قطع و وصل میکنید.البته دیجیتال.
                      نوشته اصلی توسط shadkanlu
                      چرا فرق داره شما با اعمال pwm به پایه ی enable در واقه دارین موتورو خاموش و روشن میکنین ... ولی تغییر ولتاژ فرق داره ...

                      البته این نظر شخصی منه :agree:
                      آقایون اشتباه نکنید. همونطور که آقای akbar8 گفتن استفاده از PWM یک روش مدرن و مناسب را کنترل دور موتور های DC هست. درسته که به ظاهر ما تغذیه موتور رو قطع و وصل میکنیم ولی به دلیل همون اندک خاصیت سلفی که موتور داره جریان آرمیچر تقریبا پیوسته خواهد بود .
                      ضمنا استفاده از PWM یکی از پرکاربرد ترین روش ها برای تولید سیگنالهاب آنالوگ (مبدل دیجیتال به آنالوگ) و حتی تولید صوت هست.

                      دیدگاه


                        #12
                        پاسخ : برنامه کنترل سرعت موتور با pwm

                        نوشته اصلی توسط تیبا
                        سلام من با pwm اومدم موتور رو با l28 درایو کردم
                        ولی موتور واسه خودش یبار راست میچرخه بعد تند میشه چپ میچرخه .اصلاقاطی
                        تقریبا همون برنامه رو نوشتم فک کنم مشکل تو درایور باشه
                        احتمال داره مشکل از نوع خاموش کردن pwm شما باشه
                        بعضی میکرو ها با توقف pwm پایه میکرو وضعیت قبلی را حفظ میکند و در نتیجه عملکردی غیر قابل پیشبینی پیدا میکند
                        خلاصه قبل از کنترل درایور فرمان میکرو را چک کنید
                        خلاق باشيد >>اطلاعات خود را در مورد مسئله کامل کنيد راه حل خلاقانه به سراغتان مي آيد

                        دیدگاه


                          #13
                          پاسخ : برنامه کنترل سرعت موتور با pwm

                          موج pwm موجی که تویه هر دیوتی سایکلی یه مفدار ولتاژ دی سی هم داره !!! یعنی چی این حرف ؟!!!

                          حالا از موج انتگرال گرفتیم شد مثلثی بازم انتگرال شد سینوسی خوب چی کارش کنیم اینو ؟!!

                          آقا یه توضیح اساسی بده بفهمیم
                          زاویه ی نگاهتو عوض کن . . .

                          دیدگاه


                            #14
                            پاسخ : برنامه کنترل سرعت موتور با pwm

                            جنابِ Intersil
                            چرا حرف تو دهن من میزارن. آقا من کی گفتم که تو روبات ها استفاده نکنید. اینم پستم.
                            نوشته اصلی توسط QUARK
                            شما تو یه سرعت خاص مقدار روشن بودن و خاموش بودنِ یک پایه رو تغییر میدید.
                            پس شما دارین موتور رو سریع قطع و وصل میکنید.البته دیجیتال.
                            موج pwm موجی که تویه هر دیوتی سایکلی یه مقدار ولتاژ دی سی هم داره
                            تو هر دیوتی سایکلی که باشه شما همش یه ولتاژ دارید که فقط با کم و زیاد کردنِ دیوتی سایکل دارید سرعت خاموش بودن یا روشن بودن موتور یا هر مصرف کننده ی دیگه ای رو تغییر میدید. ولاغیر.
                            ?Why not

                            دیدگاه

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