ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

نمایش نتایج: از 1 به 2 از 2
  1. #1
    2014/06/06
    2
    0

    راه اندازی سروو موتور با استفاده از تایمر

    سلام عرض میکنم خدمت مهندسای انجمن
    یه سوال دارم لطف کنید جوابمو بدین
    قطعه کد زیر با ااستفاده از بسکام برای کنترل 2تا سروو موتوره :
    'Servo Motor
    '-----------------------
    $regfile = "m48def.dat"
    $crystal = 8000000
    Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = _
    Portd.6 , Db7 = Portd.7 , E = Portd.2 , Rs = Portd.0
    Config Lcd = 16 * 2
    Config Portb.1 = Output
    Config Portb.2 = Output
    Config Portc = Input
    '--------------------------
    Clkpr = &H80
    Clkpr = &H00
    '-------------Timer1 As PWM
    Tccr1a = &HA2
    Tccr1b = &H1A
    Tcnt1h = &H00
    Tcnt1l = &H00
    Icr1h = &H3A
    Icr1l = &H98
    Ocr1ah = &H05
    Ocr1al = &HDC
    Ocr1bh = &H05
    Ocr1bl = &HDC
    '--------------------------
    Declare Function Lcd_show_position()as Byte
    '--------------------------
    Dim Pwm1 As Word
    Dim Pwm2 As Word
    Dim Pwm_temp As Word
    Dim L As Byte
    Dim M1 As Byte , M2 As Byte
    '--------------------------
    Pwm1 = 1500
    Pwm_temp = Pwm1
    Shift Pwm_temp , Right , 8
    Ocr1ah = Pwm_temp
    Ocr1al = Pwm1
    Pwm2 = 1500
    Pwm_temp = Pwm1
    Shift Pwm_temp , Right , 8
    Ocr1bh = Pwm_temp
    Ocr1bl = Pwm1
    '--------------------------
    Cursor Off
    Cls
    Lcd "Start"
    Waitms 500
    Cls
    Lcd "Servo1> Deg"
    Lowerline
    Lcd "Servo2> Deg"
    Waitms 500
    L = Lcd_show_position()
    '--------------------------
    Do
    M1 = Pinc And &H03
    M2 = Pinc And &H0C
    '--------------------------
    Select Case M1
    Case 2:
    If Pwm1 < 2400 Then
    Incr Pwm1
    Pwm_temp = Pwm1
    Shift Pwm_temp , Right , 8
    Ocr1ah = Pwm_temp
    Ocr1al = Pwm1
    L = Lcd_show_position()
    End If
    Case 1:
    If Pwm1 > 600 Then
    Decr Pwm1
    Pwm_temp = Pwm1
    Shift Pwm_temp , Right , 8
    Ocr1ah = Pwm_temp
    Ocr1al = Pwm1
    L = Lcd_show_position()
    End If
    End Select
    '--------------------------
    Select Case M2
    Case 8:
    If Pwm2 < 2400 Then
    Incr Pwm2
    Pwm_temp = Pwm2
    Shift Pwm_temp , Right , 8
    Ocr1bh = Pwm_temp
    Ocr1bl = Pwm2
    L = Lcd_show_position()
    End If
    Case 4:
    If Pwm2 > 600 Then
    Decr Pwm2
    Pwm_temp = Pwm2
    Shift Pwm_temp , Right , 8
    Ocr1bh = Pwm_temp
    Ocr1bl = Pwm2
    L = Lcd_show_position()
    End If
    End Select
    '---------------------------
    If Pinc.4 = 0 Then
    Cls
    Lcd "Servo1> Deg"
    Lowerline
    Lcd "Servo2> Deg"
    Pwm1 = 1500
    Pwm_temp = Pwm1
    Shift Pwm_temp , Right , 8
    Ocr1ah = Pwm_temp
    Ocr1al = Pwm1
    Pwm2 = 1500
    Pwm_temp = Pwm1
    Shift Pwm_temp , Right , 8
    Ocr1bh = Pwm_temp
    Ocr1bl = Pwm1
    L = Lcd_show_position()
    End If
    Loop
    End
    '--------------------------
    Function Lcd_show_position() As Byte
    Dim P1 As Integer
    Dim P2 As Integer
    P1 = Pwm1 - 600
    P1 = P1 / 10
    P2 = Pwm2 - 600
    P2 = P2 / 10
    Locate 1 , 9
    Lcd " "
    Locate 1 , 9
    Lcd P1
    Locate 2 , 9
    Lcd " "
    Locate 2 , 9
    Lcd P2
    End Function

    می خوام بدون این کد دقیقا چیکار میکنه؟
    Clkpr = &H80
    Clkpr = &H00
    سوال بعد اینکه مقادیری که روبروشه جریانش چیه؟اصلا کلا جریان مقادیری که به صورته هگزادسیمال هست چیه؟!!!
    لطف میکنید اگه جوابمو بدین
  2. #2
    2012/12/27
    شهر راز (شیراز)
    1,727
    61

    پاسخ : راه اندازی سروو موتور با استفاده از تایمر

    نقل قول نوشته اصلی توسط mrssb.legend
    سلام عرض میکنم خدمت مهندسای انجمن
    یه سوال دارم لطف کنید جوابمو بدین
    قطعه کد زیر با ااستفاده از بسکام برای کنترل 2تا سروو موتوره :
    کد:
    'Servo Motor
    '-----------------------
    $regfile = "m48def.dat"
    $crystal = 8000000
    Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = _
    Portd.6 , Db7 = Portd.7 , E = Portd.2 , Rs = Portd.0
    Config Lcd = 16 * 2
    Config Portb.1 = Output
    Config Portb.2 = Output
    Config Portc = Input
    '--------------------------
    Clkpr = &H80
    Clkpr = &H00
    '-------------Timer1 As PWM
    Tccr1a = &HA2
    Tccr1b = &H1A
    Tcnt1h = &H00
    Tcnt1l = &H00
    Icr1h = &H3A
    Icr1l = &H98
    Ocr1ah = &H05
    Ocr1al = &HDC
    Ocr1bh = &H05
    Ocr1bl = &HDC
    '--------------------------
    Declare Function Lcd_show_position()as Byte
    '--------------------------
    Dim Pwm1 As Word
    Dim Pwm2 As Word
    Dim Pwm_temp As Word
    Dim L As Byte
    Dim M1 As Byte , M2 As Byte
    '--------------------------
    Pwm1 = 1500
    Pwm_temp = Pwm1
    Shift Pwm_temp , Right , 8
    Ocr1ah = Pwm_temp
    Ocr1al = Pwm1
    Pwm2 = 1500
    Pwm_temp = Pwm1
    Shift Pwm_temp , Right , 8
    Ocr1bh = Pwm_temp
    Ocr1bl = Pwm1
    '--------------------------
    Cursor Off
    Cls
    Lcd "Start"
    Waitms 500
    Cls
    Lcd "Servo1> Deg"
    Lowerline
    Lcd "Servo2> Deg"
    Waitms 500
    L = Lcd_show_position()
    '--------------------------
    Do
    M1 = Pinc And &H03
    M2 = Pinc And &H0C
    '--------------------------
    Select Case M1
    Case 2:
    If Pwm1 < 2400 Then
    Incr Pwm1
    Pwm_temp = Pwm1
    Shift Pwm_temp , Right , 8
    Ocr1ah = Pwm_temp
    Ocr1al = Pwm1
    L = Lcd_show_position()
    End If
    Case 1:
    If Pwm1 > 600 Then
    Decr Pwm1
    Pwm_temp = Pwm1
    Shift Pwm_temp , Right , 8
    Ocr1ah = Pwm_temp
    Ocr1al = Pwm1
    L = Lcd_show_position()
    End If
    End Select
    '--------------------------
    Select Case M2
    Case 8:
    If Pwm2 < 2400 Then
    Incr Pwm2
    Pwm_temp = Pwm2
    Shift Pwm_temp , Right , 8
    Ocr1bh = Pwm_temp
    Ocr1bl = Pwm2
    L = Lcd_show_position()
    End If
    Case 4:
    If Pwm2 > 600 Then
    Decr Pwm2
    Pwm_temp = Pwm2
    Shift Pwm_temp , Right , 8
    Ocr1bh = Pwm_temp
    Ocr1bl = Pwm2
    L = Lcd_show_position()
    End If
    End Select
    '---------------------------
    If Pinc.4 = 0 Then
    Cls
    Lcd "Servo1> Deg"
    Lowerline
    Lcd "Servo2> Deg"
    Pwm1 = 1500
    Pwm_temp = Pwm1
    Shift Pwm_temp , Right , 8
    Ocr1ah = Pwm_temp
    Ocr1al = Pwm1
    Pwm2 = 1500
    Pwm_temp = Pwm1
    Shift Pwm_temp , Right , 8
    Ocr1bh = Pwm_temp
    Ocr1bl = Pwm1
    L = Lcd_show_position()
    End If
    Loop
    End
    '--------------------------
    Function Lcd_show_position() As Byte
    Dim P1 As Integer
    Dim P2 As Integer
    P1 = Pwm1 - 600
    P1 = P1 / 10
    P2 = Pwm2 - 600
    P2 = P2 / 10
    Locate 1 , 9
    Lcd " "
    Locate 1 , 9
    Lcd P1
    Locate 2 , 9
    Lcd " "
    Locate 2 , 9
    Lcd P2
    End Function
    می خوام بدون این کد دقیقا چیکار میکنه؟
    Clkpr = &H80
    Clkpr = &H00
    سوال بعد اینکه مقادیری که روبروشه جریانش چیه؟اصلا کلا جریان مقادیری که به صورته هگزادسیمال هست چیه؟!!!
    لطف میکنید اگه جوابمو بدین
    سلام

    توی بعضی از مدلهای AVR امکاناتی گذاشتن که بشه فرکانس ورودی رو تقسیمش کنید و این باعث میشه توی مصرف انرژی که در گاهی اوقات که نیازی به پردازش اضافه نیست از این امکان استفاده میکنیم و مصرف انرژی را پایین می آوریم ...
    برای تنظیم کردن این مقسم فرکانسی ابتدا باید از دستور بالایی استفاده کنیم و سپس دستور پایینی که نشانگر اینه که روی چه مقسم فرکانسی قرار بگیره ...
    مثلا در اینجا مقسم فرکانسی یک است ...
    توی دیتاشیتش هم مطالعه کنید گفته که مقادیرش چقدر باشه روی چه مقسمی تنظیم میشه ....

    موفق باشید
    [size=10pt][b]

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    [/size]
نمایش نتایج: از 1 به 2 از 2

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

  1. راه اندازی سروو موتور با بسکام
    توسط tamjid در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2015/11/06, 01:06
  2. پاسخ: 0
    آخرين نوشته: 2015/10/01, 11:59
  3. راه اندازی سروو موتور
    توسط webyou در انجمن میکروکنترلرهای AVR
    پاسخ: 6
    آخرين نوشته: 2015/06/22, 15:33
  4. راه اندازی موتور سروو
    توسط hamedghasemi در انجمن میکروکنترلرهای AVR
    پاسخ: 5
    آخرين نوشته: 2014/05/23, 22:05
  5. کمک در مورد راه اندازی یک سروو موتور DC
    توسط imijoon در انجمن رباتيك و مكاترونيك
    پاسخ: 3
    آخرين نوشته: 2012/06/20, 13:56

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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