اطلاعیه

Collapse
No announcement yet.

کنترل سرعت موتور 12dc ولت

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

    #16
    پاسخ : کنترل سرعت موتور 12dc ولت

    سلام به همه دوستان
    اگه توجه می کردید قبلا در مورد l298 صحبت شده بود.
    این ای سی از دو گیت تشکیل شده که هر کدام تحمل 40 ولت دی سی و 2 آمپر را دارن.
    برای رسیدن به جریان 3 ، 4 آمپری چه کار کنیم؟!! :surprised:
    ساده است دو گیت را موازی کنید :rolleyes: میشه 40 ولت 4 آمپر
    من تست کردم موتورم هم 12 ولت بود عین هلو جواب می داد. :agree:
    ولی کردمش 24 ولت ای سی سوخت بعد پرسیدم گفتن l298 برای اسباب بازی طراحی شده :NO:
    در مورد سوال دوستمان هم باید بگم که این آی سی سه پایه کنترل دارد که یکیش enable است که اگر pwm را دادین زمان روشن و خاموش شدن مشخص می شود.دو تای دیگه هم که چند حالت بیشتر نداره اگه جفتش 1 یا 0 باشه حالت ترمزه اگه یکیش 1 شه مثلا به راست می چرخه اگه یکی دیگش 1 شه این دفعه به چپ می چرخه. :nice:

    دیدگاه


      #17
      پاسخ : کنترل سرعت موتور 12dc ولت


      اگه میشه با ماسفت مثبت یه موتور دی سیو که یه سرش به گراند مستقیم هست تو مدارتون بذارید
      با درود . . .
      راه اندازی ماسفت های پی کانال دردسر خودش رو داره و مثلا یکیش اینه که باید به گیتش برای روشن شدن ولتاژ منفی بدی.
      اگه میخوای روش کار کنی irf9540 گزینه مناسبیه. مقاومت درین سورسش هم 0.2 اهمه که از بقیه متمایزش میکنه. قطعه جدید تری من نمیشناسم. اگه دوستان میتونن خوشحال میشم به ما هم بگن.
      در کل من از سری پی خیری ندیدم و سعی میکنم راهمو کج کنم تا بهش بر نخورم.
      :mrgreen:
      درد من تنهایی نیست؛ بلکه مرگ ملتی است که گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حکمت خداوند می‏ نامند! "گاندی"

      به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
      بدرود . . .

      دیدگاه


        #18
        پاسخ : کنترل سرعت موتور 12dc ولت

        بله درسته انتخاب خوبیه من مدارو بستم فقط باید یه تغیراتی تو کد شماداد
        اگه میشه اونو انجام بدید
        1-pwm معکوس
        2-حالت خاموشی موتور و تغیر سرعت آن
        http://up.iranblog.com/images/1bftn47fvj2tjzrlzicn.rar
        خدایا مرا آن ده که آن به

        دیدگاه


          #19
          پاسخ : کنترل سرعت موتور 12dc ولت

          نوشته اصلی توسط arashdj
          بله درسته انتخاب خوبیه من مدارو بستم فقط باید یه تغیراتی تو کد شماداد
          اگه میشه اونو انجام بدید
          1-pwm معکوس
          2-حالت خاموشی موتور و تغیر سرعت آن
          http://up.iranblog.com/images/1bftn47fvj2tjzrlzicn.rar
          نشد دیگه دایی آرش ها !!! :mrgreen:
          اگه قرار باشه شما یاد بگیری پس باید خودت هم روش کار کنی. باهاش ور برو راحت میتونی تغییراتی که میخوای رو بدی. خیلی ساده هست
          برای من اینکار راحته اما ظلم هست به شما که چیزی یاد نگرفتی و فقط کپی کاری کردی.
          شما شروع کن من هم تا جایی که بتونم کمک میکنم.
          برای معکوس کردن PWM در اونجا که PWM پیکر بندی شده Clear Down رو به Clear up تغییر بده
          برای خاموش کردن هم یادمه قدیما 1023 یا مثل اینکه 0 و یا 1 بهش میدادیم. دقیق یادم نیست. سربازی اطلاعاتمون رو پاک کرده :mrgreen:
          درد من تنهایی نیست؛ بلکه مرگ ملتی است که گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حکمت خداوند می‏ نامند! "گاندی"

          به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
          بدرود . . .

          دیدگاه


            #20
            پاسخ : کنترل سرعت موتور 12dc ولت

            بلههههههه حق با شماست منم چون کارم عجله ای بود واسه این زود میخواستم
            من این کدو به این روش نوشتم طبق نقشه ای که بالا گذاشتم قضاوت کنید کجاش خطاست
            pwm معکوس شد -و8بیتی با 256
            بعد 50 تا کم و زیاد کردم این شد آخرم حالت خاموش
            درسته؟

            $regfile = "m8def.dat"
            $crystal = 4000000
            Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear up , Compare B Pwm = Disconnect , Prescale = 256
            Config Portb = Output
            Enable Interrupts
            Start Timer1
            Ddrd.0 = 0 : Portd.0 = 1
            Ddrd.1 = 0 : Portd.1 = 1
            Dim A As Word : A = 0
            Do
            Waitms 10
            Pwm1a = A
            Debounce Pind.0 , 0 , Up , Sub
            Debounce Pind.1 , 0 , Down , Sub
            Loop
            End
            Up:
            A = A + 50
            If A >= 250 Then A = 255
            Waitms 500
            Return
            Down:
            A = A - 50
            If A <= 50 Then A = 0
            Return
            خدایا مرا آن ده که آن به

            دیدگاه


              #21
              پاسخ : کنترل سرعت موتور 12dc ولت

              نه دیگه دایی. نشد. oo:
              چرا 8 بیتی؟؟؟
              چرا پرسکالر 256؟؟؟
              شما با این کار فرکانس رو به چیزی در حدود 30 هرتز تغییر دادید.
              به قول دایی کوهستانی (ahmadmn) که از اساتید هستن و من ارادت خاصی بهشون دارم فرکانس نباید زیر 1000 باشه. البته من با 500 هم جواب گرفتم و چندین روزه که به عنوان پنکه!!!!!!!!! گذاشتمش روی میز کامپیوتر و یه فن 12 سانتی هم بهش وصل کردم.
              نکته بعدی اینکه دستوری که برای کلید استفاده شده احتیاجی به تاخیر نداره و لازم نیست اون تاخیر 500 میلی ثانیه ای رو براش بنویسی. اگه دوست داری میتونی از :
              config debounce = xx
              استفاده کنی که سراسریه و همه کلید ها رو شامل میشه.

              بهتره جای شرط و دستور هم توی زیر برنامه ها عوض کنی. یعنی اول چک کنه بعد اگه مطابق نبود اضافه یا کم کنه.
              ببینم چیکار میکنی ها!!! :mrgreen:
              درد من تنهایی نیست؛ بلکه مرگ ملتی است که گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حکمت خداوند می‏ نامند! "گاندی"

              به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
              بدرود . . .

              دیدگاه


                #22
                پاسخ : کنترل سرعت موتور 12dc ولت

                بگم پشیمون شدم خوبه راحت میشی

                پس طبق گفته شما فرکانس
                Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear up , Compare B Pwm = Disconnect , Prescale = 1
                مقدار a=1 یا a=0 حالا....
                میمونه شرایط up , down

                Up:Up:
                If A >= 1022 Then : A = 1022
                Else
                A = A + 200
                End If
                Return

                Down:
                If A <= 1 Then : A = 1
                Else
                A = A - 200
                End If
                Return= A - 150
                End If
                Return

                وای بازم جور در نمیاد این اعداد اعصاب منو ریخته بهم
                میشه یه دفعه یه آماده باش بدی مارو خلاص کنی :angry:
                خدایا مرا آن ده که آن به

                دیدگاه


                  #23
                  پاسخ : کنترل سرعت موتور 12dc ولت

                  بگم پشیمون شدم خوبه راحت میشی
                  چرا آخه دایی؟؟؟

                  خب مشکلت الان روی چیه؟؟؟ مگه راه نیفتاده؟؟؟

                  درد من تنهایی نیست؛ بلکه مرگ ملتی است که گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حکمت خداوند می‏ نامند! "گاندی"

                  به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
                  بدرود . . .

                  دیدگاه


                    #24
                    پاسخ : کنترل سرعت موتور 12dc ولت

                    یعنی الان همه چیز درسته؟
                    کد درست نوشته شده؟
                    میشه با همین کد موتورو خاموش کرد بعد روشن و سرعت داد؟ :angry: :angry: :angry:
                    مدارو بستم موتور سرعت کمی داره و با زدن کلیدها هیج اتفاقی نمیافته پول پ کردم
                    خدایا مرا آن ده که آن به

                    دیدگاه


                      #25
                      پاسخ : کنترل سرعت موتور 12dc ولت

                      شما بگو دقیقا چیکار میخوای برات کنه، برنامش با من.
                      من میخواستم کاری کنم که خودتون هم یاد بگیرید. چون به شدت با کپی برداری مخالفم.
                      اما چون دیدم خودتم روش کار کردی برات مینویسمش.
                      فقط دقیقا بگو چیکار میخوای کنه ها!!!
                      درد من تنهایی نیست؛ بلکه مرگ ملتی است که گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حکمت خداوند می‏ نامند! "گاندی"

                      به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
                      بدرود . . .

                      دیدگاه


                        #26
                        پاسخ : کنترل سرعت موتور 12dc ولت

                        ممنون
                        میخوام فن کولر و بخاری ماشینمو تنظیم کنم
                        مثلا 6 دور داشته باشه که با 2 کلید روشن بشه زیاد بشه خاموش بشه :biggrin:
                        خدایا مرا آن ده که آن به

                        دیدگاه


                          #27
                          پاسخ : کنترل سرعت موتور 12dc ولت

                          به دو سر سیمهای موتورش دسترسی داری؟؟
                          منظور از 6 دور 6 دور در دقیقه هستش و یا 6 حالت گردش؟؟
                          میخوای نمایش هم داده بشه یا نه؟؟؟ مثلا دور 1 - دور 2 دور 3 ....
                          موتوری که اشاره کردی چند آمپره؟
                          درد من تنهایی نیست؛ بلکه مرگ ملتی است که گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حکمت خداوند می‏ نامند! "گاندی"

                          به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
                          بدرود . . .

                          دیدگاه


                            #28
                            پاسخ : کنترل سرعت موتور 12dc ولت

                            یه سر مثبت رو دارم سر منفی به بدنه وصله
                            6 حالت گردش منظورمه
                            نمایش که عالیه :icon_razz:
                            خدایا مرا آن ده که آن به

                            دیدگاه


                              #29
                              پاسخ : کنترل سرعت موتور 12dc ولت

                              سلام وحید آقا
                              ببین من هر کاری کردم نتونستم توی عمل جواب بگیرم :cry: الان دارم گیج میشم که چرا توی پروتوئوس کار می کنه ولی توی عمل نه
                              من مدار را برای مگا 32 تغییر دادم به شکل زیر :NO:
                              کد:
                              $regfile = "m32def.dat"
                              $crystal = 4000000
                              Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , _
                              Compare B Pwm = Disconnect , Prescale = 1
                              Config Portd.5 = Output
                              Enable Interrupts
                              Start Timer1
                              
                              Ddrd.0 = 0 : Portd.0 = 1
                              Ddrd.1 = 0 : Portd.1 = 1
                              
                              Dim A As Word : A = 1
                              
                              
                              Do
                              
                                 Waitms 10
                                 Pwm1a = A
                                 Debounce Pind.0 , 0 , Up , Sub
                                 Debounce Pind.1 , 0 , Down , Sub
                              
                              Loop
                              
                              End
                              
                              Up:
                                If A >= 1022 Then : A = 1022
                                Else
                                 A = A + 50
                                End If
                              Return
                              
                              Down:
                                If A <= 1 Then : A = 1
                                Else
                                 A = A - 50
                                End If
                              Return

                              و به شکل زیر بستم ولی کار نکرد اینم لینک عکسش
                              http://my-zoo.persiangig.com/moshkelateamozeshe/moskel.irf.jpg
                              موتور هم از این موتور های 3 الی 5 ولتیه
                              لطفا مرا نیز راهنمایی کنید
                              مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

                              دیدگاه


                                #30
                                پاسخ : کنترل سرعت موتور 12dc ولت

                                با درود . . .
                                بیا داش آرش:




                                اینم کدش:
                                کد:
                                '******************************designed by teslanic***************************
                                
                                $regfile = "m8def.dat"
                                $crystal = 4000000
                                Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect , Prescale = 1
                                Config Portb = Output
                                Config Portd = Output
                                
                                Config Debounce = 50
                                
                                Enable Interrupts
                                Start Timer1
                                
                                Ddrb.7 = 0 : Portb.7 = 1 : _inc Alias Pinb.7
                                Ddrb.6 = 0 : Portb.6 = 1 : _dec Alias Pinb.6
                                
                                Main:
                                
                                Dim A As Word
                                Dim B As Byte , S As Byte , _canter As Byte
                                A = 5 : S = 5
                                
                                Do
                                
                                   Waitms 100
                                   Pwm1a = A
                                
                                   B = Lookup(s , Dat)
                                   B = Not B
                                   Portd = B
                                
                                   Debounce _inc , 0 , Up , Sub
                                   Debounce _dec , 0 , Down , Sub
                                
                                   Select Case S
                                     Case 0 : A = 0
                                     Case 1 : A = 115
                                     Case 2 : A = 230
                                     Case 3 : A = 345
                                     Case 4 : A = 460
                                     Case 5 : A = 575
                                     Case 6 : A = 690
                                     Case 7 : A = 805
                                     Case 8 : A = 920
                                     Case 9 : A = 1023
                                   End Select
                                
                                   If _inc = 0 Then
                                   Incr _canter
                                   Else
                                   _canter = 0
                                   End If
                                
                                   If _canter > 30 Then
                                   _canter = 0
                                   Pwm1a = 0
                                   Portd = &H00
                                   Bitwait _inc , Set
                                   Do
                                   Waitms 100
                                   If _inc = 0 Then
                                   jmp main
                                   End If
                                   Loop
                                   End If
                                
                                Loop
                                
                                End
                                Up:
                                  Incr S
                                  If S > 9 Then : S = 9 : End If
                                Return
                                
                                Down:
                                  Decr S
                                  If S > 10 Then : S = 0 : End If
                                Return
                                
                                  Dat:
                                    Data &H03 , &H9F , &H25 , &H0D , &H99 , &H49 , &H41 , &H1F , &H01 , &H09

                                برای نمایش از سون سگمنت کاتد مشترک استفاده شده. که اگرم نداشتی یا گیرت نیومد آند مشترک بزار و اون خطی رو که نوشتم B = Not B برش دار. خودبخود درست میشه.
                                برنامه دارای 10 حالت سرعتی هستش که از 0 شروع میشه و با 9با آخرین سرعتش میرسه.
                                برای روشن و خاموش کردن مدار تنها کافیه که کلید UP رو 3 ثانیه نگه داری تا کلا مدارت خاموش بشه و به محض اینکه دوباره کلیدو فشار بدی مدار روشن میشه.
                                فرکانس خروجی PWM طرفای 2 کیلوهرتزه و برای کنترل موتور مناسبه.
                                برای قطعه فرمان به موتور هم دیشب هرکاری کردم نتونستم ماسفت پی کانال رو اونجوری که امکانات بود راه بندازم. بزار شاید یه چیز جدید کشف کردیم براش.
                                اونوقت برو بگو وحید بده!!!!!!!!!!! oo:


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


                                عمدا" این طوری تو سایت گذاشتمش تا همه استفاده کنن. راحت هم میشه تغییرش داد و کاراییشو عوض کرد.
                                درد من تنهایی نیست؛ بلکه مرگ ملتی است که گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حکمت خداوند می‏ نامند! "گاندی"

                                به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
                                بدرود . . .

                                دیدگاه

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