اطلاعیه

Collapse
No announcement yet.

راه اندازی موتور DC با L298

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

    #16
    پاسخ : راه اندازی موتور DC با L298

    در ضمن متغیر udr اعداد زیر است
    کمتر از 100 سرعت است
    110 راست
    120 چپ
    130 استوپ
    البه این اعداد رو از پورت کامپیوتر میگیره :nerd:
    [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

    دیدگاه


      #17
      پاسخ : راه اندازی موتور DC با L298

      با سلام

      من برنامه زیر رو نوشتم اگه لطف کنید و بررسی کنید ببینید که اشکالی ندارد و کامل است یا خیر ؟
      ولی من به یک مشکل برخوردم هنگامی که PWM رو از 300 بیشتر می کنم موتور حرکت نمی کند ؟


      regfile = "m32def.dat"
      $crystal = 8000000
      '---------------------- Configruations ---------------------------

      Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
      Config Portd = Output
      Config Porta = Output
      '---------------------- Aliases ----------------------------------
      In1 Alias Portd.0
      In2 Alias Portd.1
      In3 Alias Portd.2
      In4 Alias Portd.3
      '---------------------- Variables --------------------------------
      Dim A As Byte
      '---------------------- Declares ---------------------------------
      Set Porta.0
      '---------------------- Main -------------------------------------

      1:
      Pwm1a = 255
      Pwm1b = 255
      In1 = 0
      In2 = 1
      In3 = 0
      In4 = 1
      Waitms 300
      Goto 2

      2:
      Pwm1a = 300
      Pwm1b = 300
      In1 = 1
      In2 = 0
      In3 = 1
      In4 = 0
      Waitms 300
      Goto 1
      http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

      دیدگاه


        #18
        پاسخ : راه اندازی موتور DC با L298

        علت
        Prescale = 8
        از اینه متورت ویز ویزمیکنه ؟
        فرکانسpwm بالاست با افزایش اینعدد درست میشه عزیز
        امتحان کنن ببین چی میشه ؟ oo:
        [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

        دیدگاه


          #19
          پاسخ : راه اندازی موتور DC با L298

          با سلام

          بله موتور صدا می دهد ولی یک سوال این که باید این عدد رو تا چه مقدار افزایش بدهم یعنی Prescale = 8 رو باید به چه عددی تغییر دهم

          با تشکر
          http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

          دیدگاه


            #20
            پاسخ : راه اندازی موتور DC با L298

            تست کن 1024 بزار درست میشه اگه درست نشد باید فرکانس کریستالو کم کنی :nerd:
            [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

            دیدگاه


              #21
              پاسخ : راه اندازی موتور DC با L298

              سلام,
              برنامه زیر رو امروز نوشتم که فقط یک خروجی رو کنترل میکنه ورودی های مشخص کننده ی جهت هم به میکرو وصل نیست و باید دستی وصلش کنی. برنامه با سریال کار میکنه. به این صورت که پایه EN1 رو به پورت D.4 وصل میکنی و به سریال با کامپیوتر عدد بین 0 تا 255 رو میدی.
              $regfile = "m16def.dat"
              $crystal = 1000000
              $baud = 4800
              Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0 , Rs = Portb.5 , E = Portb.4
              Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
              Cls
              Cursor Off
              Dim A As Byte
              A = 0
              Print A
              Cls
              Lcd A
              Do
              Pwm1b = A
              If Inkey() <> 0 Then
              Input A
              Print A
              Cls
              Lcd A
              End If
              Loop
              End

              دیدگاه


                #22
                پاسخ : راه اندازی موتور DC با L298

                با سلام من موتور پله ای رو با برنامه زیر راه اندازی کردم ولی هنگام تغییر مقدار PWM موتور یا زیر زیر می کند یا یک پله به جلو می زند و یک پله به عقب و یا ایست می کند و تکان نمی خورد من Clear Down رو در برنامه به Clear Up تغییر دادم یکم بهتر شد ولی باز هم همان مشکلات را دارد موتور من از نوع AirPax و 6 سیمه و 15 درجه است ، هر چه با عدد های Prescale و Crystal میکرو بازی می کنم باز هم کار نمی کند

                برنامه :

                regfile = "m32def.dat"
                $crystal = 1000000
                '---------------------- Configruations ---------------------------

                Config Timer1 = Pwm , Pwm = 8 , Prescale = 1024 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
                Config Portd = Output
                Config Porta = Output
                '---------------------- Aliases ----------------------------------
                In1 Alias Portd.0
                In2 Alias Portd.1
                In3 Alias Portd.2
                In4 Alias Portd.3
                '---------------------- Variables --------------------------------
                Dim A As Byte
                '---------------------- Declares ---------------------------------
                Set Porta.0 "For LED"
                '---------------------- Main -------------------------------------

                1:

                Pwm1a = 200
                Pwm1b = 200
                In1 = 1
                In2 = 0
                In3 = 1
                In4 = 0
                Waitms 300
                Goto 2

                2:

                Pwm1a = 400
                Pwm1b = 400
                In1 = 0
                In2 = 1
                In3 = 0
                In4 = 1
                Waitms 300
                Goto 1
                http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

                دیدگاه


                  #23
                  پاسخ : راه اندازی موتور DC با L298

                  از کی تا حالا به متور پله ای pwm میدن ؟
                  [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                  دیدگاه


                    #24
                    پاسخ : راه اندازی موتور DC با L298

                    با سلام

                    من طبق برنامه زیر میکروکنترلرم رو پروگرم کردم ولی اگر عدد Pwm1a و Pwm1b رو از 255 کاهش دهم یا از 300 افزایش دهم موتور ها دیگر حرکتی ندارند ، سپس عدد Prescale را از 8 به 1024 تغییر دادم که اگر Pwm1a و Pwm1b برابر 255 باشد موتور ها درست کار می کنند ولی اگر برابر با 300 باشد موتور ها قطع و وصل می شوند ، سپس عدد crystal رو از 8000000 به 1000000 تغییر دادم و Prescale رو هم تغییری ندادم یعنی 1024 که در این شرایط موتور ها هیچ حرکتی نداشتند ، سپس با crystal = 1000000 ، عدد Prescale رو به 8 تغییر دادم که در این شرایط موتور ها خیلی سریع به چپ و راست تغییر مسیر می دادند

                    برنامه معمولی که موتور ها با این برنامه از 255 تا 300 درست کار می کنند :

                    $regfile = "m32def.dat"
                    $crystal = 8000000
                    '---------------------- Configruations ---------------------------
                    Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
                    Config Portd = Output
                    Config Porta = Output

                    '---------------------- Aliases ----------------------------------
                    In1 Alias Portd.0
                    In2 Alias Portd.1
                    In3 Alias Portd.2
                    In4 Alias Portd.3

                    '---------------------- Variables --------------------------------
                    Dim A As Byte
                    Dim B As Byte
                    '---------------------- Declares ---------------------------------
                    Set Porta.0
                    '---------------------- Main -------------------------------------

                    1:

                    Pwm1a = 255
                    Pwm1b = 255
                    In1 = 1
                    In2 = 0
                    In3 = 1
                    In4 = 0
                    Waitms 300
                    Goto 2


                    2:

                    Pwm1a = 300
                    Pwm1b = 300
                    In1 = 0
                    In2 = 1
                    In3 = 0
                    In4 = 1
                    Waitms 300
                    Goto 1
                    http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

                    دیدگاه


                      #25
                      پاسخ : راه اندازی موتور DC با L298

                      نمیدونم زیاد اطمینان ندارم ولی فکر کنم دستور PWM که مقدار دهی میکنیدش باید تویه حلقه همیشه اجرا بشه. اگر اشتباه بود ببخشید. . این که وقتی کریستال رو تغییر میدی یوز بیت هارم تغییر میدی؟

                      دیدگاه


                        #26
                        پاسخ : راه اندازی موتور DC با L298

                        با سلام

                        فیوز بیت هارو تغییر نمیدهم
                        http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

                        دیدگاه


                          #27
                          پاسخ : راه اندازی موتور DC با L298

                          با سلام

                          من طبق برنامه زیر میکروکنترلرم رو پروگرم کردم ولی اگر عدد Pwm1a و Pwm1b رو از 255 کاهش دهم یا از 300 افزایش دهم موتور ها دیگر حرکتی ندارند ، سپس عدد Prescale را از 8 به 1024 تغییر دادم که اگر Pwm1a و Pwm1b برابر 255 باشد موتور ها درست کار می کنند ولی اگر برابر با 300 باشد موتور ها قطع و وصل می شوند ، سپس عدد crystal رو از 8000000 به 1000000 تغییر دادم و Prescale رو هم تغییری ندادم یعنی 1024 که در این شرایط موتور ها هیچ حرکتی نداشتند ، سپس با crystal = 1000000 ، عدد Prescale رو به 8 تغییر دادم که در این شرایط موتور ها خیلی سریع به چپ و راست تغییر مسیر می دادند

                          برنامه معمولی که موتور ها با این برنامه از 255 تا 300 درست کار می کنند :

                          $regfile = "m32def.dat"
                          $crystal = 8000000
                          '---------------------- Configruations ---------------------------
                          Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
                          Config Portd = Output
                          Config Porta = Output

                          '---------------------- Aliases ----------------------------------
                          In1 Alias Portd.0
                          In2 Alias Portd.1
                          In3 Alias Portd.2
                          In4 Alias Portd.3

                          '---------------------- Variables --------------------------------
                          Dim A As Byte
                          Dim B As Byte
                          '---------------------- Declares ---------------------------------
                          Set Porta.0
                          '---------------------- Main -------------------------------------

                          1:

                          Pwm1a = 255
                          Pwm1b = 255
                          In1 = 1
                          In2 = 0
                          In3 = 1
                          In4 = 0
                          Waitms 300
                          Goto 2


                          2:

                          Pwm1a = 300
                          Pwm1b = 300
                          In1 = 0
                          In2 = 1
                          In3 = 0
                          In4 = 1
                          Waitms 300
                          Goto 1
                          http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

                          دیدگاه


                            #28
                            پاسخ : راه اندازی موتور DC با L298

                            با سلام
                            من 2 موتور DC رو با استفاده از شماتیک و برنامه زیر راه اندازی کردم ولی با مشکلاتی که در زیر مطرح کرده ام روبرو شدم اگر به من کمک کنید خیلی خیلی ممنون می شوم

                            شماتیک :


                            برنامه و مشکلات :

                            من طبق برنامه زیر میکروکنترلرم رو پروگرم کردم ولی اگر عدد Pwm1a و Pwm1b رو از 255 کاهش دهم یا از 300 افزایش دهم موتور ها دیگر حرکتی ندارند ، سپس عدد Prescale را از 8 به 1024 تغییر دادم که اگر Pwm1a و Pwm1b برابر 255 باشد موتور ها درست کار می کنند ولی اگر برابر با 300 باشد موتور ها قطع و وصل می شوند ، سپس عدد crystal رو از 8000000 به 1000000 تغییر دادم و Prescale رو هم تغییری ندادم یعنی 1024 که در این شرایط موتور ها هیچ حرکتی نداشتند ، سپس با crystal = 1000000 ، عدد Prescale رو به 8 تغییر دادم که در این شرایط موتور ها خیلی سریع به چپ و راست تغییر مسیر می دادند

                            برنامه معمولی که موتور ها با این برنامه از 255 تا 300 درست کار می کنند :

                            $regfile = "m32def.dat"
                            $crystal = 8000000
                            '---------------------- Configruations ---------------------------
                            Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
                            Config Portd = Output
                            Config Porta = Output

                            '---------------------- Aliases ----------------------------------
                            In1 Alias Portd.0
                            In2 Alias Portd.1
                            In3 Alias Portd.2
                            In4 Alias Portd.3

                            '---------------------- Variables --------------------------------
                            Dim A As Byte
                            Dim B As Byte
                            '---------------------- Declares ---------------------------------
                            Set Porta.0
                            '---------------------- Main -------------------------------------

                            1:

                            Pwm1a = 255
                            Pwm1b = 255
                            In1 = 1
                            In2 = 0
                            In3 = 1
                            In4 = 0
                            Waitms 300
                            Goto 2


                            2:

                            Pwm1a = 300
                            Pwm1b = 300
                            In1 = 0
                            In2 = 1
                            In3 = 0
                            In4 = 1
                            Waitms 300
                            Goto 1
                            http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

                            دیدگاه


                              #29
                              پاسخ : راه اندازی موتور DC با L298

                              سلام,
                              وقتی توی برنامه کریستال رو عوض میکنید باید حتا فیوزبیت هارو هم تغییر بدید. وگر نه هیچ چیز درست کار نمیکنه.

                              دیدگاه


                                #30
                                پاسخ : راه اندازی موتور DC با L298

                                با سلام و تشکر از همه دوستان

                                من Crystal رو به 6528000 تغییر دادم و با Prescale = 8 درست کار می کند و سرعت موتور ها رو می توان کم و زیاد کرد خیلی خیلی از همه دوستان ممنون
                                http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

                                دیدگاه

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