اطلاعیه

Collapse
No announcement yet.

کمک ، ربات مسیر یاب ؟؟؟؟؟

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

    کمک ، ربات مسیر یاب ؟؟؟؟؟

    سلام و خسته نباشید خدمت دوستان

    من دارم یک ربات مسیریاب درست میکنم برای پروژه کاردانیم
    من زیاد وارد نیستم ، مشکل اولی که دارم اینه که ربات بعضی موقع ها مسیر رو تا حدود 50 سانت مستقیم میره ولی ناگهان سر پیچ می ایسته، ولی به محض اینکه یک فازمتر یا یک تیکه سیم رو به قسمت خنک کننده l298 یا رگولاتور میزنم دوباره راه میفته 10 سانت حرکت میکنه ولی باز وایمیسته ، همین کار همش تکرار میکنم ، گاهی هم از اول خط 20 سانت حرکت میکنه بعد وایمیسته ، برای این مشکل زمین رو به بدنه l298 زدم فایده نداشت ، بدنه متور رو به l298 زدم فایده نداشت ، به نظر شما چه کار کنم ؟
    حالا سوال دوم میخوام بدونم فاصله سنسورها که از نوع cny70 هست چقدر باید باهم باشه ؟ الان فاصله سنسور های من 7 میلی متر هست باهم


    عکس ها و برنامه رو در ادامه قرار میدم







    [tt]
    $regfile = "m32def.dat"
    $crystal = 16000000

    Config Porta = Input
    Config Portd = Output
    Config Timer1 = Pwm , Prescale = 64 , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up


    C1 Alias Pina.0
    C2 Alias Pina.1
    L1 Alias Pina.2
    L2 Alias Pina.3
    L3 Alias Pina.4
    R1 Alias Pina.5
    R2 Alias Pina.6
    R3 Alias Pina.7
    M1r Alias Portd.0
    M1l Alias Portd.1
    M2r Alias Portd.2
    M2l Alias Portd.3






    '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Do

    If C1 = 1 And C2 = 1 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 1 And R2 = 1 And R3 = 1 Then 'c
    Pwm1a = 0
    Pwm1b = 0
    M1r = 0
    M1l = 0
    M2r = 0
    M2l = 0

    Elseif C1 = 0 And C2 = 1 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 1 And R2 = 1 And R3 = 1 Then 'c
    Pwm1a = 50
    Pwm1b = 50
    M1r = 1
    M1l = 0
    M2r = 1
    M2l = 0

    Elseif C1 = 0 And C2 = 0 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 1 And R2 = 1 And R3 = 1 Then 'c
    Pwm1a = 50
    Pwm1b = 50
    M1r = 1
    M1l = 0
    M2r = 1
    M2l = 0

    Elseif C1 = 1 And C2 = 1 And L1 = 0 And L2 = 1 And L3 = 1 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l1
    Pwm1a = 50
    Pwm1b = 30
    M1r = 1
    M1l = 0
    M2r = 1
    M2l = 0

    Elseif C1 = 0 And C2 = 1 And L1 = 0 And L2 = 1 And L3 = 1 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l1
    Pwm1a = 50
    Pwm1b = 30
    M1r = 1
    M1l = 0
    M2r = 1
    M2l = 0

    Elseif C1 = 1 And C2 = 0 And L1 = 0 And L2 = 1 And L3 = 1 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l1
    Pwm1a = 50
    Pwm1b = 30
    M1r = 1
    M1l = 0
    M2r = 1
    M2l = 0

    Elseif C1 = 0 And C2 = 0 And L1 = 0 And L2 = 1 And L3 = 1 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l1
    Pwm1a = 50
    Pwm1b = 30
    M1r = 1
    M1l = 0
    M2r = 1
    M2l = 0

    Elseif C1 = 1 And C2 = 1 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 0 And R2 = 1 And R3 = 1 Then 'r1
    Pwm1a = 30
    Pwm1b = 50
    M1r = 1
    M1l = 0
    M2r = 1
    M2l = 0

    Elseif C1 = 0 And C2 = 1 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 0 And R2 = 1 And R3 = 1 Then 'r1
    Pwm1a = 30
    Pwm1b = 50
    M1r = 1
    M1l = 0
    M2r = 1
    M2l = 0

    Elseif C1 = 1 And C2 = 0 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 0 And R2 = 1 And R3 = 1 Then 'r1
    Pwm1a = 30
    Pwm1b = 50
    M1r = 1
    M1l = 0
    M2r = 1
    M2l = 0

    Elseif C1 = 0 And C2 = 0 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 0 And R2 = 1 And R3 = 1 Then 'r1
    Pwm1a = 30
    Pwm1b = 50
    M1r = 1
    M1l = 0
    M2r = 1
    M2l = 0

    Elseif C1 = 1 And C2 = 1 And L1 = 1 And L2 = 0 And L3 = 1 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l2
    Pwm1a = 75
    Pwm1b = 0
    M1r = 0
    M1l = 0
    M2r = 1
    M2l = 0

    Elseif C1 = 0 And C2 = 1 And L1 = 1 And L2 = 0 And L3 = 1 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l2
    Pwm1a = 75
    Pwm1b = 0
    M1r = 0
    M1l = 0
    M2r = 1
    M2l = 0

    Elseif C1 = 1 And C2 = 0 And L1 = 1 And L2 = 0 And L3 = 1 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l2
    Pwm1a = 75
    Pwm1b = 0
    M1r = 0
    M1l = 0
    M2r = 1
    M2l = 0

    Elseif C1 = 0 And C2 = 0 And L1 = 1 And L2 = 0 And L3 = 1 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l2
    Pwm1a = 75
    Pwm1b = 0
    M1r = 0
    M1l = 0
    M2r = 1
    M2l = 0

    Elseif C1 = 0 And C2 = 0 And L1 = 0 And L2 = 0 And L3 = 1 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l2
    Pwm1a = 75
    Pwm1b = 0
    M1r = 0
    M1l = 0
    M2r = 1
    M2l = 0

    Elseif C1 = 0 And C2 = 1 And L1 = 0 And L2 = 0 And L3 = 1 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l2
    Pwm1a = 75
    Pwm1b = 0
    M1r = 0
    M1l = 0
    M2r = 1
    M2l = 0

    Elseif C1 = 1 And C2 = 0 And L1 = 0 And L2 = 0 And L3 = 1 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l2
    Pwm1a = 75
    Pwm1b = 0
    M1r = 0
    M1l = 0
    M2r = 1
    M2l = 0

    Elseif C1 = 1 And C2 = 1 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 1 And R2 = 0 And R3 = 1 Then 'r2
    Pwm1a = 0
    Pwm1b = 75
    M1r = 1
    M1l = 0
    M2r = 0
    M2l = 0

    Elseif C1 = 0 And C2 = 1 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 1 And R2 = 0 And R3 = 1 Then 'r2
    Pwm1a = 0
    Pwm1b = 75
    M1r = 1
    M1l = 0
    M2r = 0
    M2l = 0

    Elseif C1 = 1 And C2 = 0 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 1 And R2 = 0 And R3 = 1 Then 'r2
    Pwm1a = 0
    Pwm1b = 75
    M1r = 1
    M1l = 0
    M2r = 0
    M2l = 0

    Elseif C1 = 0 And C2 = 0 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 1 And R2 = 0 And R3 = 1 Then 'r2
    Pwm1a = 0
    Pwm1b = 75
    M1r = 1
    M1l = 0
    M2r = 0
    M2l = 0

    Elseif C1 = 0 And C2 = 0 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 0 And R2 = 0 And R3 = 1 Then 'r2
    Pwm1a = 0
    Pwm1b = 75
    M1r = 1
    M1l = 0
    M2r = 0
    M2l = 0

    Elseif C1 = 0 And C2 = 1 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 0 And R2 = 0 And R3 = 1 Then 'r2
    Pwm1a = 0
    Pwm1b = 75
    M1r = 1
    M1l = 0
    M2r = 0
    M2l = 0

    Elseif C1 = 1 And C2 = 0 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 0 And R2 = 0 And R3 = 1 Then 'r2
    Pwm1a = 0
    Pwm1b = 75
    M1r = 1
    M1l = 0
    M2r = 0
    M2l = 0

    Elseif C1 = 1 And C2 = 1 And L1 = 1 And L2 = 1 And L3 = 0 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l3
    Pwm1a = 50
    Pwm1b = 50
    M1r = 0
    M1l = 1
    M2r = 1
    M2l = 0

    Elseif C1 = 0 And C2 = 1 And L1 = 1 And L2 = 1 And L3 = 0 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l3
    Pwm1a = 50
    Pwm1b = 50
    M1r = 0
    M1l = 1
    M2r = 1
    M2l = 0

    Elseif C1 = 0 And C2 = 0 And L1 = 1 And L2 = 1 And L3 = 0 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l3
    Pwm1a = 50
    Pwm1b = 50
    M1r = 0
    M1l = 1
    M2r = 1
    M2l = 0


    Elseif C1 = 0 And C2 = 0 And L1 = 0 And L2 = 1 And L3 = 0 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l3
    Pwm1a = 50
    Pwm1b = 50
    M1r = 0
    M1l = 1
    M2r = 1
    M2l = 0

    Elseif C1 = 0 And C2 = 0 And L1 = 0 And L2 = 0 And L3 = 0 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l3
    Pwm1a = 50
    Pwm1b = 50
    M1r = 0
    M1l = 1
    M2r = 1
    M2l = 0

    Elseif C1 = 1 And C2 = 0 And L1 = 0 And L2 = 0 And L3 = 0 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l3
    Pwm1a = 50
    Pwm1b = 50
    M1r = 0
    M1l = 1
    M2r = 1
    M2l = 0

    Elseif C1 = 1 And C2 = 1 And L1 = 0 And L2 = 0 And L3 = 0 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l3
    Pwm1a = 50
    Pwm1b = 50
    M1r = 0
    M1l = 1
    M2r = 1
    M2l = 0

    Elseif C1 = 1 And C2 = 1 And L1 = 1 And L2 = 0 And L3 = 0 And R1 = 1 And R2 = 1 And R3 = 1 Then 'l3
    Pwm1a = 50
    Pwm1b = 50
    M1r = 0
    M1l = 1
    M2r = 1
    M2l = 0

    Elseif C1 = 1 And C2 = 1 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 1 And R2 = 1 And R3 = 0 Then 'r3
    Pwm1a = 50
    Pwm1b = 50
    M1r = 1
    M1l = 0
    M2r = 0
    M2l = 1

    Elseif C1 = 0 And C2 = 1 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 1 And R2 = 1 And R3 = 0 Then 'r3
    Pwm1a = 50
    Pwm1b = 50
    M1r = 1
    M1l = 0
    M2r = 0
    M2l = 1

    Elseif C1 = 0 And C2 = 0 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 1 And R2 = 1 And R3 = 0 Then 'r3
    Pwm1a = 50
    Pwm1b = 50
    M1r = 1
    M1l = 0
    M2r = 0
    M2l = 1

    Elseif C1 = 0 And C2 = 0 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 0 And R2 = 1 And R3 = 0 Then 'r3
    Pwm1a = 50
    Pwm1b = 50
    M1r = 1
    M1l = 0
    M2r = 0
    M2l = 1

    Elseif C1 = 0 And C2 = 0 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 0 And R2 = 0 And R3 = 0 Then 'r3
    Pwm1a = 50
    Pwm1b = 50
    M1r = 1
    M1l = 0
    M2r = 0
    M2l = 1

    Elseif C1 = 1 And C2 = 0 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 0 And R2 = 0 And R3 = 0 Then 'r3
    Pwm1a = 50
    Pwm1b = 50
    M1r = 1
    M1l = 0
    M2r = 0
    M2l = 1

    Elseif C1 = 1 And C2 = 1 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 0 And R2 = 0 And R3 = 0 Then 'r3
    Pwm1a = 50
    Pwm1b = 50
    M1r = 1
    M1l = 0
    M2r = 0
    M2l = 1

    Elseif C1 = 1 And C2 = 1 And L1 = 1 And L2 = 1 And L3 = 1 And R1 = 1 And R2 = 0 And R3 = 0 Then 'r3
    Pwm1a = 50
    Pwm1b = 50
    M1r = 1
    M1l = 0
    M2r = 0
    M2l = 1

    Elseif C1 = 1 And C2 = 1 And L1 = 0 And L2 = 0 And L3 = 0 And R1 = 0 And R2 = 0 And R3 = 0 Then 'not
    Pwm1a = 50
    Pwm1b = 50
    M1r = 1
    M1l = 0
    M2r = 0
    M2l = 1
    End If
    Loop
    End

    [/tt]


    #2
    پاسخ : کمک ، ربات مسیر یاب ؟؟؟؟؟

    نوشته اصلی توسط transporter_66
    سلام و خسته نباشید خدمت دوستان

    من دارم یک ربات مسیریاب درست میکنم برای پروژه کاردانیم
    من زیاد وارد نیستم ، مشکل اولی که دارم اینه که ربات بعضی موقع ها مسیر رو تا حدود 50 سانت مستقیم میره ولی ناگهان سر پیچ می ایسته، ولی به محض اینکه یک فازمتر یا یک تیکه سیم رو به قسمت خنک کننده l298 یا رگولاتور میزنم دوباره راه میفته 10 سانت ......
    [/tt]
    واسه موتور ها خازن گذاشتی که ولتاژ برنگرده توی برد؟
    اگه نزاشتی واسه هر کودم یدونه خازن ظرفیت بالا موازی کن
    [center]یه شب خواب دیدم اون دنیا خدا ازم پرسید:وقتی همسایه ات گرسنه بود کجابودی؟
    منم گفتم: خدا جون خودت کجا بودی؟
    خیلی حال داد
    ولی بعدش رو یادم نیست ، فکر کنم سرب داغ رو با قیف ریختن تو حلقم

    دیدگاه


      #3
      پاسخ : پاسخ : کمک ، ربات مسیر یاب ؟؟؟؟؟

      نوشته اصلی توسط 11101010000
      واسه موتور ها خازن گذاشتی که ولتاژ برنگرده توی برد؟
      اگه نزاشتی واسه هر کودم یدونه خازن ظرفیت بالا موازی کن



      منظورت این خازن هاست
      البته ظرفیتش کمه 100 نانو گذاشتم


      دیدگاه


        #4
        پاسخ : کمک ، ربات مسیر یاب ؟؟؟؟؟

        این همه مهندس اینجاست . بعد یکی نیست جواب منو یده

        دیدگاه


          #5
          پاسخ : پاسخ : کمک ، ربات مسیر یاب ؟؟؟؟؟

          نوشته اصلی توسط transporter_66



          منظورت این خازن هاست
          البته ظرفیتش کمه 100 نانو گذاشتم


          من هم یه بار با مشکل تو مواجه شدم ...
          داشتم امداد گر پیشرفته میساختم :read:
          خازن کوچیک گذاشته بودم ولی جواب نمیداد
          بعد کلی بد بختی فهمیدم خازنام کوچیکه و یه خازن الکترولیتی یوقور :twisted: گذاشتم
          مشکلم حل شد
          بد نیست تو هم امتحان کنی
          احتمالش خیلی بالاست که این اتفاق افتاده باشه
          [center]یه شب خواب دیدم اون دنیا خدا ازم پرسید:وقتی همسایه ات گرسنه بود کجابودی؟
          منم گفتم: خدا جون خودت کجا بودی؟
          خیلی حال داد
          ولی بعدش رو یادم نیست ، فکر کنم سرب داغ رو با قیف ریختن تو حلقم

          دیدگاه


            #6
            پاسخ : کمک ، ربات مسیر یاب ؟؟؟؟؟

            دوباره سلام
            گذاشتم تفاوتی نکرد
            ولی یه چیزی رو متوجه شدم ، زمانی که سنسور ها در حالتی قرار بگیرن که تو برنام براش تعریف نشده باشه ، ربات از کار میفته ، با اینکه من تقریبا هر حالتی رو در نظر گرفتم ، ولی بازم اینجوری میشه ، برنامه رو جور دیگه میشه نوشت که هم حجمش کمتر بشه هم کاراتر باشه ؟؟؟؟؟

            دیدگاه


              #7
              پاسخ : کمک ، ربات مسیر یاب ؟؟؟؟؟

              نوشته اصلی توسط transporter_66
              دوباره سلام
              گذاشتم تفاوتی نکرد
              ولی یه چیزی رو متوجه شدم ، زمانی که سنسور ها در حالتی قرار بگیرن که تو برنام براش تعریف نشده باشه ، ربات از کار میفته ، با اینکه من تقریبا هر حالتی رو در نظر گرفتم ، ولی بازم اینجوری میشه ، برنامه رو جور دیگه میشه نوشت که هم حجمش کمتر بشه هم کاراتر باشه ؟؟؟؟؟
              قوانین اون مسابقه ای که توش میخوای شرکت کنی رو بزار تا ببینم مسیر چجوریه تا بهت یه الگوریتم مناسب بگم تا خودت کد زنیش کنی :smile:
              [center]یه شب خواب دیدم اون دنیا خدا ازم پرسید:وقتی همسایه ات گرسنه بود کجابودی؟
              منم گفتم: خدا جون خودت کجا بودی؟
              خیلی حال داد
              ولی بعدش رو یادم نیست ، فکر کنم سرب داغ رو با قیف ریختن تو حلقم

              دیدگاه


                #8
                پاسخ : کمک ، ربات مسیر یاب ؟؟؟؟؟

                مسابقه نیست داداش
                پایان نامه کاردانیم هست
                فقط میخوام مسیر رو که ساده هم هست ، بدون اذیت کردن بره همین
                ممنون میشم اگه کمک کنی

                دیدگاه


                  #9
                  پاسخ : کمک ، ربات مسیر یاب ؟؟؟؟؟

                  نوشته اصلی توسط transporter_66
                  مسابقه نیست داداش
                  پایان نامه کاردانیم هست
                  فقط میخوام مسیر رو که ساده هم هست ، بدون اذیت کردن بره همین
                  ممنون میشم اگه کمک کنی
                  ببین تو باید بنویسی که :
                  تا زمانی که (while) مثلا"سنسور اول از سمت راست میبینه بقیه نمیبینن سرعت موتورا رو صفر کنه و بعد با بالاترین سرعت موتور چپ بپیچه(یا دور درجا بزنه)
                  بقیه هم همینطوری
                  بعد
                  تا زمانی که (while) همه سنسورا میبینن سرعت موتورا رو صفر کنه


                  نتیجشو بهم بگو
                  یه عکسم از مسیری که روبات رو توش امتحان میکنی بزار
                  [center]یه شب خواب دیدم اون دنیا خدا ازم پرسید:وقتی همسایه ات گرسنه بود کجابودی؟
                  منم گفتم: خدا جون خودت کجا بودی؟
                  خیلی حال داد
                  ولی بعدش رو یادم نیست ، فکر کنم سرب داغ رو با قیف ریختن تو حلقم

                  دیدگاه


                    #10
                    پاسخ : کمک ، ربات مسیر یاب ؟؟؟؟؟

                    نوشته اصلی توسط transporter_66
                    مسابقه نیست داداش
                    پایان نامه کاردانیم هست
                    فقط میخوام مسیر رو که ساده هم هست ، بدون اذیت کردن بره همین
                    ممنون میشم اگه کمک کنی
                    درود ای دوست
                    اگه این اتفاق میافته من فکر میکنم شاید یه جایی gnd مدارت وصل نیست یا برانامت مشکل داره من بسکام بلد نیستم ای وی ار کار میکنم ولی به طور کلی یه پیشنهاد دارم برنامتو به شکل زیر بنویس
                    اول تنظیمات مورد نیاز رو انجام بده بعد بیا یه طابع بنویس برا موتور هات یعنی یه جوری باشه که مثلا که جمله مثل motor(xxx,xxx که وقتی بهش عدد میدی به همون مقدار ocr pwm هم تغییر کنه بعد میتونی یه برنامه بنویسی که وقتی پشت جمله منفی گذاشتی موتور ها بر عکس بچرخند
                    بعد تو برنامت تعریف کن هروقت سنسور های وسط مشکی شد اطراف سفید به سمت جلو حرکت کنه وقتی سنسور های اطراف دید بپیچه و ... به همین صورت ادامه بده
                    اگه میخوای روباتت رو با سرعت زیاد راه بنداژی بهتره سنشور هارو یخورده بیاری بالا تر که زاویه دیدش بیشتر بشه.
                    چه خوش سلیقه است گلچین روزگار...
                    خوبان رفتند و ما ماندیم!

                    دیدگاه

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