اطلاعیه

Collapse
No announcement yet.

موتور الکتریکی

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

    موتور الکتریکی

    سلام خدمت دوستان
    من برای راه اندازی موتور الکتریکی به وسیله ی optocounterمشکل دارم
    من میخوام ÷ایه های موتور رو به interupt وصل کنم و موتور با تایمر داخلی را بیافته و بعد توی interuptتایمر داخلی از کار بیافته و با optocounter کار کنه
    اول اینکه نمیدونم چهطور تایمر داخلی رو با کد ببندم و opto رو باز کنم
    یا اینکه optocounter رو وصل کنم به pin T0و از اون طریق کلا با اون کار کنم اما با این هم مشکل دارم و نمیدونم چه طور راه اندازی بشه

    #2
    پاسخ : موتور الکتریکی

    دوست عزیز اولا که اینتراپت درسته نه اینتراپ
    دوما من که اصلا نفهمیدم چی کار میآ‌خوای بکنی
    موتور رو میآ‌خوای به وقفه خارجی وصل کنی؟ چرا؟
    منظورت از اپتو کانتر همون انکودره؟

    دیدگاه


      #3
      پاسخ : موتور الکتریکی

      سلام
      الان فهمیدم که این کاری که میخوام بکنم اصلا نمیشه
      ولی الان کاری که میخوام بکنم اینه که موتور راه بیافته و optocounterبرام دور موتور رو بشماره
      اما مشکل اینه که برنامه رو نوشتم اما موتورم روشن نمیشه که عمل شمارش صورت بگیره
      ترانزیستورمم عوض کردم اما بازم حرکت نمیکنه

      دیدگاه


        #4
        پاسخ : موتور الکتریکی

        سلام
        اگه اشتباه نکنم شما میخوای دور یه موتور رو با میکرو کنترل کنی درسته؟
        در هر صورت اطلاعات بیشتری باید از مدارت بدی
        یه نقشه از سخت افزار و برنامت
        یا اصلا دقیقتر توضیح بدی که میکروکنترلر باید چه کاری انجام بده؟ :-B

        دیدگاه


          #5
          پاسخ : موتور الکتریکی

          سلام
          میکرو من atmega8هست که پایه ی موتورم رو یکیش به oc2وصل کردم و یکیش به ترانزیستور
          و یه ledو یه optocounter با یه دایره ی شیار دار روی موتورم که دایره بین گیرنده و فرستنده opto قرار داره و هر با که شیار از جلور اپتو کانتر رد بشه یه بار میشماره برام و بعد از هر 20 دور میخوام led روشن بشه
          اما موتوتر راه نمیافته!!!!!!
          یه سوال دیگه هم داشتم
          امکان اینکه از optocounter به عنوان منبع پالس خارجی استفاده کرد هست؟

          دیدگاه


            #6
            پاسخ : موتور الکتریکی

            سلام.
            بنظر من که سخت افزارت رو تغییر بده (البته منظورم تغییر جای پین ها) و اینطور که میگم ببند.
            1- موتورت رو با pwm راه بنداز. (تنها راه ممکن کنترل سرعت موتور pwm هست).
            2- خروجی پالس انکودر (همون اوپتو کانتر) رو به یکی از اینتراپت هات بده تا در زمان یک خروجی انکودر یک واحد شمارنده داشته باشی.
            3- بهد از رسیدن شمارش به تعداد پالس های انکودر (این به این معنیست که موتور یک دور کامل زده) با یک فرمول ساده مشه سرعت موتور رو بدس آورد و با pwm کنترلش کرد.

            فکر کنم یه نمونه کد داشته باشم. اگه ok بود بگید تا بذارم.
            تشکر لازم نیست!

            دیدگاه


              #7
              پاسخ : موتور الکتریکی

              خیلی ممنو از توضیحتون
              مشکل روشن شدن موتور حل شد (یکی از پایه های ترانزیستو یه مقاومت کم داشت)
              اما الان مسالم با همون اوپتوکانتره
              فعلا قصدم کنترل سرعت نیست
              فقط میخوام برام درو موتور بشماره
              با این کد
              int i=0;
              if(PIND.0==0)
              i++;
              if(i%20==0)
              {PORTD.1=1;
              delay_ms(500);
              PORTD.1=0;
              }به این صورت که یه ledبه pd1وصله یه صفحه ی شیار دار هم به موتور وصله که صفحه بین فرستنده و گیرنده ی اوپتو کانتر هست و هر بار که شیار از جلوش رد میشه به iیه دونه اضافه بشه
              و هر 20 بار ledروشن بشه
              اما lledروشن نمیشه یا اینکه یکی دو بار روشن میشه و بعد روشن نمیشه
              راستی من خیلی اماتورم و دو مورد اخر توضیحاتتون رو نفهمیدم

              دیدگاه


                #8
                پاسخ : موتور الکتریکی

                سلام
                قبل از هر چیز شما باید مطمئن بشی که سخت افزارت رو درست کار میکنه
                در وحله اول با مولتی متر (یا با یه led) خروجی اپتوکانتر رو هم در حالت وصل (روبروی شیار) و هم در حالت قطع (صفحه مانع رسیدن نور بشه) تست کن ببین سطح ولتاژ صفر و یک درسته یا نه

                اینم یه نقشه کوچولو برا توضیح بیشتر:


                ضمنا در مورد شمارش پالسه علاوه بر راهی که آقا ایمان گفتن میتونی پالس رو مستقیما به کانتر 1 بدی تا کانتر داخلی میکرو برات پالسها رو بشماره (پایه T1 یا همون PD5) برای اینکار باید تایمرت رو رو مد کانتر config کنی

                راستی دور موتور چقدره؟ یا بهتر بگم حداکثر فرکانس پالسها تون چنده؟

                دیدگاه


                  #9
                  پاسخ : موتور الکتریکی

                  سلام.
                  خروجی پالس دیکودر نمیتونه توس while برنامه باشه.
                  یا باید با وقفه بشماریش یا با کانتر.
                  تشکر لازم نیست!

                  دیدگاه

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