اطلاعیه

Collapse
No announcement yet.

سوال درباره step motor

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

    سوال درباره step motor

    من یک step motor دارم که 4*4 و step 1.8 پنج سیمه هست با ترانزیستور

    c945 راه اندازیش کردم و وصلش کردم به یه mega32 برنامه به این صورته که

    شما درجه رو میدی و موتور همون مقدار میچرخه. مشکل اینجاست که مثلا

    360 درجه رو که میزنم حدود 10 یا 15 درجه بیشتر میچرخه .

    حالا میخواستم بدونم اگه مشکل از برنامه نباشه (که نیست) از جی میتونه باشه

    ضمنا موتور موقع چرخش نوسان داره
    من نمىآ‌توانم فرضیه «بىآ‌اخلاقى انسان» را بپذیرم، و من اخلاق را منحصرا امرى انسانى و متعلق به انسان مىآ‌دانم که هیچ نوع قدرت مافوق انسانى در پشت آن وجود ندارد
    آلبرت اینشتین
    منبع: http://fa.wikiquote.org

    #2
    پاسخ : سوال درباره step motor

    با سلام
    میشه بفرمایید چطوری درجه رو میدید؟

    دیدگاه


      #3
      پاسخ : سوال درباره step motor

      نوشته اصلی توسط alijamali74
      با سلام
      میشه بفرمایید چطوری درجه رو میدید؟
      من از حالتی استفاده میکنم که در هر لحظه از زمان فقط یکی از پایه ها 1

      هست و بقیه صفرن . روش کار هم اینطوریه که یه متغیر بایتی در نظر میگیرم و اونو مقدار اولیه میدم و بعد شیفتش میدم به چپ یا راست . ضمنا تاخیر بین هر چرخش اول 50 میلی ثانیه بود که باز هم همین مشکل رو داشت
      اینم برنامه خودتون ببینید :

      $regfile = "m32def.dat"
      $crystal = 8000000
      Config Lcdpin = Pin , Db4 = Pb.0 , Db5 = Pb.1 , Db6 = Pb.2 , Db7 = _
      Pb.3 , E = Pb.5 , Rs = Pb.4
      Config Porta = Output
      Dim I As Byte , A As Byte , E As Byte
      Cls
      Dim B As Word
      Dim C As Word
      Dim D As Word
      Dim K As Byte
      Dim X As Byte
      Config Kbd = Portd , Debounce = 100 , Delay = 70
      Cls

      Main0:
      Do
      K = Getkbd()
      Loop Until K = 16
      Do
      K = Getkbd()
      Loop Until K <> 16
      If K = 15 Then
      Goto Cal_isr
      End If
      If K = 14 Then
      X = 1
      Locate 2 , 1 : Lcd "Rotate right"
      Goto Main0
      End If
      If K = 13 Then
      X = 2
      Locate 2 , 1 : Lcd "Rotate left"
      Goto Main0
      End If
      B = B * 10
      B = B + K
      Locate 1 , 1 : Lcd B
      Goto Main0


      Cal_isr:
      C = B / 7.2
      D = B Mod 7.2

      '---------------------------------- baghi mande---------------------
      Select Case D
      Case 0
      Goto Main

      Case 1
      If X = 1 Then
      E = 128
      Rotate E , Left
      Porta = E
      Waitms 100
      Goto Main
      End If
      If X = 2 Then
      E = 16
      Rotate E , Right
      Porta = E
      Waitms 100
      Goto Main
      End If

      Case 2
      If X = 1 Then
      E = 128
      Rotate E , Left
      Porta = E
      Waitms 100
      Rotate E , Left
      Porta = E
      Waitms 100
      Goto Main
      End If
      If X = 2 Then
      E = 16
      Rotate E , Right
      Porta = E
      Waitms 100
      Rotate E , Right
      Porta = E
      Waitms 100
      Goto Main
      End If

      Case 3
      If X = 1 Then
      E = 128
      Rotate E , Left
      Porta = E
      Waitms 100
      Rotate E , Left
      Porta = E
      Waitms 100
      Rotate E , Left
      Porta = E
      Waitms 100
      End If
      If X = 2 Then
      E = 16
      Rotate E , Right
      Porta = E
      Waitms 100
      Rotate E , Right
      Porta = E
      Waitms 100
      Rotate E , Right
      Porta = E
      Waitms 100
      Goto Main
      End If


      Case 4
      If X = 1 Then
      E = 128
      Rotate E , Left
      Porta = E
      Waitms 100
      Rotate E , Left
      Porta = E
      Waitms 100
      Rotate E , Left
      Porta = E
      Waitms 100
      Rotate E , Left
      Porta = E
      Waitms 100
      End If
      If X = 2 Then
      E = 16
      Rotate E , Right
      Porta = E
      Waitms 100
      Rotate E , Right
      Porta = E
      Waitms 100
      Rotate E , Right
      Porta = E
      Waitms 100
      Rotate E , Right
      Porta = E
      Waitms 100
      Goto Main
      End If

      Case 5
      If X = 1 Then
      Porta = 1
      Waitms 100
      Porta = 2
      Waitms 100
      Porta = 4
      Waitms 100
      Porta = 8
      Waitms 100
      Porta = 1
      Waitms 100
      End If
      If X = 2 Then
      Porta = 1
      Waitms 100
      Porta = 8
      Waitms 100
      Porta = 4
      Waitms 100
      Porta = 2
      Waitms 100
      Porta = 1
      Waitms 100
      Goto Main
      End If

      Case 6
      If X = 1 Then
      Porta = 1
      Waitms 100
      Porta = 2
      Waitms 100
      Porta = 4
      Waitms 100
      Porta = 8
      Waitms 100
      Porta = 1
      Waitms 100
      Porta = 2
      Waitms 100
      End If
      If X = 2 Then
      Porta = 1
      Waitms 1000
      Porta = 8
      Waitms 100
      Porta = 4
      Waitms 100
      Porta = 2
      Waitms 100
      Porta = 1
      Waitms 100
      Porta = 8
      Waitms 100
      Goto Main
      End If

      Case 7
      If X = 1 Then
      Porta = 1
      Waitms 100
      Porta = 2
      Waitms 100
      Porta = 4
      Waitms 100
      Porta = 8
      Waitms 100
      Porta = 1
      Waitms 100
      Porta = 2
      Waitms 100
      Porta = 4
      Waitms 100
      End If
      If X = 2 Then
      Porta = 1
      Waitms 100
      Porta = 8
      Waitms 100
      Porta = 4
      Waitms 100
      Porta = 2
      Waitms 100
      Porta = 1
      Waitms 100
      Porta = 8
      Waitms 100
      Porta = 4
      Waitms 100
      Goto Main
      End If
      End Select
      '------------------------------ adad asli----------------------
      Main:
      Select Case X
      Case 1
      For A = 1 To C
      E = 128
      For I = 1 To 4
      Rotate E , Left
      Porta = E
      Waitms 100
      Next I
      Next A
      Cls : Locate 1 , 1 : Lcd "stop_stop"
      Do : Loop

      Case 2
      For A = 1 To C
      E = 16
      For I = 1 To 4
      Rotate E , Right
      Porta = E
      Waitms 100
      Next I
      Next A
      Cls : Locate 1 , 1 : Lcd "stop_stop"
      Do : Loop
      End Select
      End

      اینم فایل هگزش:
      http://uploadboy.com/tiu1213re3be.html

      توضیح اینکه صفحه کلید به پورت d وصله و پایه های استپ موتور به بیتهای کم ارزش پورت a
      من نمىآ‌توانم فرضیه «بىآ‌اخلاقى انسان» را بپذیرم، و من اخلاق را منحصرا امرى انسانى و متعلق به انسان مىآ‌دانم که هیچ نوع قدرت مافوق انسانى در پشت آن وجود ندارد
      آلبرت اینشتین
      منبع: http://fa.wikiquote.org

      دیدگاه


        #4
        پاسخ : سوال درباره step motor

        یعنی موتور مستقیما به میکرو وصل هست ؟ میشه یه شماتیک بذارین؟

        دیدگاه


          #5
          پاسخ : سوال درباره step motor

          نوشته اصلی توسط alijamali74
          یعنی موتور مستقیما به میکرو وصل هست ؟ میشه یه شماتیک بذارین؟
          نه نمیشه ! پروتئوسم مشکل داره
          با c945 وصل کردم بیس شون با مقاومت میره به میکرو امیترها زمین شده و کلکتور ها میره به پایه هایABCD استپ موتور

          یه سوال دیگه الان برام پیش اومده : در استپ موتور 5 سیمه ترتیب سیمها
          بصورت ABCD (مرتب) هست یا مثلا به این صورت ACDB (نامرتب) ؟
          من نمىآ‌توانم فرضیه «بىآ‌اخلاقى انسان» را بپذیرم، و من اخلاق را منحصرا امرى انسانى و متعلق به انسان مىآ‌دانم که هیچ نوع قدرت مافوق انسانى در پشت آن وجود ندارد
          آلبرت اینشتین
          منبع: http://fa.wikiquote.org

          دیدگاه


            #6
            پاسخ : سوال درباره step motor

            دوستان کسی نیست جواب بده ؟ :smile:
            من نمىآ‌توانم فرضیه «بىآ‌اخلاقى انسان» را بپذیرم، و من اخلاق را منحصرا امرى انسانى و متعلق به انسان مىآ‌دانم که هیچ نوع قدرت مافوق انسانى در پشت آن وجود ندارد
            آلبرت اینشتین
            منبع: http://fa.wikiquote.org

            دیدگاه


              #7
              پاسخ : سوال درباره step motor

              نوشته اصلی توسط silicon0
              دوستان کسی نیست جواب بده ؟ :smile:
              دوسته من من تو زمینه موتور ها اطلاعات ندارم ولی یک را اسون پیدا کردن مشکل اینه که با مولتی متر ولتازها رو چک کنی و حتما بردت قطعی یا اتصال کوتاه نباشه
              متاسفانه تو زمینه برنامه نویسیم 0 هستم :angry:
              برو شیر درنده باش ای دغل میانداز خود را چو روباه شل
              راهنمایی در مورد ساخت فلزی اب

              دیدگاه


                #8
                پاسخ : سوال درباره step motor

                http://en.wikipedia.org/wiki/File:Unipolar-stepper-motor-windings.png
                http://www.osmtec.com/images/uniPolar-vs-bipolar2.jpg

                موتورای 5 سیمه و 6 سیمه شبیه به هم هستن فقط تو 5 سیمه سیم مشترک دو سیم پیچ از داخل به هم وصلند .معمولا سیم مشترک یکی از پینهای کناری میباشد
                در تصاویر بالا انواع موتر های تک قطبی و دو قطبی رو و نحوه سیم بندی اونها رو میبینید .موتورهای دو قطبی با هشت سیم هم وجود دارند که اونا رو میتوان به روشهای مختلفی و شخصا با ترکیبهای مختلفی سیم بندی کرد.
                برای پیدا کردن ترتیب پیچه ها از دیتا شیت استفاده کن یا تجربی اونا رو پیدا کن.

                دیدگاه


                  #9
                  پاسخ : سوال درباره step motor

                  نوشته اصلی توسط alijamali74
                  http://en.wikipedia.org/wiki/File:Unipolar-stepper-motor-windings.png
                  http://www.osmtec.com/images/uniPolar-vs-bipolar2.jpg

                  موتورای 5 سیمه و 6 سیمه شبیه به هم هستن فقط تو 5 سیمه سیم مشترک دو سیم پیچ از داخل به هم وصلند .معمولا سیم مشترک یکی از پینهای کناری میباشد
                  در تصاویر بالا انواع موتر های تک قطبی و دو قطبی رو و نحوه سیم بندی اونها رو میبینید .موتورهای دو قطبی با هشت سیم هم وجود دارند که اونا رو میتوان به روشهای مختلفی و شخصا با ترکیبهای مختلفی سیم بندی کرد.
                  برای پیدا کردن ترتیب پیچه ها از دیتا شیت استفاده کن یا تجربی اونا رو پیدا کن.
                  ممنون میشه بگین روش تجربی پیدا کردن پایه ها چیه ؟
                  من نمىآ‌توانم فرضیه «بىآ‌اخلاقى انسان» را بپذیرم، و من اخلاق را منحصرا امرى انسانى و متعلق به انسان مىآ‌دانم که هیچ نوع قدرت مافوق انسانى در پشت آن وجود ندارد
                  آلبرت اینشتین
                  منبع: http://fa.wikiquote.org

                  دیدگاه


                    #10
                    پاسخ : سوال درباره step motor

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

                    دیدگاه


                      #11
                      پاسخ : سوال درباره step motor

                      نوشته اصلی توسط alijamali74
                      با سلام
                      اولین کار اینه که پین مشترک رو پیدا کنی . اینکار رو با اهم متر انجام بده.یک پین رو به پروب اهم متر وصل کن پروب دوم رو به
                      پینهای دیگه بزن .کمترین مقاومت واسه پین مشترک هست.حالا منفی منبع رو وصل کن به پین مشترک و یکی یکی مثبت منبع رو به پینها بزن .اگه به ترتیب و صحیح پینها رو بزنی میبینی که شفت موتور با پله های مرتب میچرخه ولی اگر یک پین به ترتیب برقدار نشه شفت به عقب برمیگرده یا اینکه یک پرش دو پله ای انجام میده فقط باید یه چیزی به شفت ببندی که بتونی حرکتش رو درست ببینی.مثلا یه تکه سیم خوبه.در خدمتیم. :bye
                      ممنون از شما البته من سیم مشترک رو دادم به vcc و بقیه پایه ها با ترانزستور به زمین میرن

                      در هر صورت من مشکل رو فهمیدم از سخت افزار نیست بلکه از نرم افزار هست همونجا که بر 7.2 تقسیم می کنیم اونجا اشتباهه باید از روشی که تو این تاپیک گفتم بریم :
                      http://www.eca.ir/forum2/index.php?topic=85289.0
                      من نمىآ‌توانم فرضیه «بىآ‌اخلاقى انسان» را بپذیرم، و من اخلاق را منحصرا امرى انسانى و متعلق به انسان مىآ‌دانم که هیچ نوع قدرت مافوق انسانى در پشت آن وجود ندارد
                      آلبرت اینشتین
                      منبع: http://fa.wikiquote.org

                      دیدگاه


                        #12
                        پاسخ : سوال درباره step motor

                        با سلام
                        :job:خدا رو شکر.موفق باشی :job:

                        دیدگاه


                          #13
                          پاسخ : سوال درباره step motor

                          سلام
                          کسی با xmega آشنایی داره ؟
                          می خواستم استپ موتور را راه اندازی کردم!

                          دیدگاه

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