NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3828 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 1 از 1

موضوع: سوال درباره step motor

  1. #1
    عضو جدید Deadman آواتار ها
    تاریخ عضویت
    Jan 2011
    نوشته ها
    18
    تشکر
    15
    تشکر شده 1 بار در 1 پست

    پیش فرض سوال درباره step motor

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

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

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

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

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

    ضمنا موتور موقع چرخش نوسان داره

    من از حالتی استفاده میکنم که در هر لحظه از زمان فقط یکی از پایه ها 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

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

موضوعات مشابه

  1. FH6-1008 step motor with circuit 24V 1A DNQ12A04L07A
    توسط mzarkoob در انجمن موتورها و درایوها
    پاسخ: 0
    آخرين نوشته: 30-08-2012, 01:02
  2. درخواست نرمافزار step 5 full
    توسط aryan 48 در انجمن کنترل هوشمند و plc
    پاسخ: 4
    آخرين نوشته: 09-08-2011, 15:18
  3. DVD STEP 7 Professional 2006 SR5
    توسط kavir در انجمن کنترل هوشمند و plc
    پاسخ: 2
    آخرين نوشته: 08-02-2010, 22:01
  4. STEP 7 in 7 Steps
    توسط kavir در انجمن کنترل هوشمند و plc
    پاسخ: 0
    آخرين نوشته: 10-03-2009, 12:10
  5. کنترل step motor بوسیله PIC
    توسط kavir_engineer در انجمن PIC
    پاسخ: 0
    آخرين نوشته: 22-09-2007, 21:54

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •