اطلاعیه

Collapse
No announcement yet.

کنترل موتور DC با یک میکرو و پتانسیومتر

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

    کنترل موتور DC با یک میکرو و پتانسیومتر

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

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

    ولله من عقلم به این چیزا نمیرسه ولی شاید با پتانسیومتر و یک adc مقدار ولتاژ به محل پتانسیومتر تعبیر میشه. (مثلا 0 تا 1023 به 511- تا 511 تبدیل میشه و مثبت و منفی بودن پلاریته ولتاژ اعمال شده به dc motor رو مشخص میکنه و میزان تفاوت با عدد 0 سرعت pwm خروجی برای کنترل سرعت موتور.

    دیدگاه


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

      با سلام.طبق توضیحی که شما نوشتین،و اون چیزی که من متوجه شدم :
      احتمالا حد وسط پتانسیومتر رو به عنوان صفر در نظر میگیره بعد مقدار ولتاژ پایه رو با ADC میخونه.حالا اگه تو تبدیلات ADC که در ادامه ی برنامه نوشته میشه مقدار بعدی بیشتر بود؛( به تناسب افزایش مقدار تبدیل شده از مقدار اولیه )مثلا موتور به راست میچرخه و اگه کمتر بود برعکس.

      دیدگاه


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

        من چیز دیگه ای فکر میکنم احتمالا یه سر پتانسیومتر به مثبت وصله و سر وسطش به adcمیکرو و اگه ولتاژ بالا تر رفت میفهمه پتانسیومتربه سمت پینی که به مثبت وصل شده بود رفته و میکرو موتور رو مثلا به سمت چپ میگرده واگه ولتاژ کم تر بشه موتور اونوری میگرده
        احتمالا موتورش کوچیک بوده که با میکرو تونسته جریانش رو تامین کنه

        دیدگاه


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

          از دوستان کسی هست که بتونه یه برنامه برای این کار با بسکام بنویسه؟ با تشکر

          دیدگاه


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

            من یه برنامه نوشتم با پروتوس شبیه سازی کردم . وقتی پتانسیومتر وسط است خروجی در LCD صفر است ولی وقتی بالا و پایین می برم اعداد تشکیل شده به ترتیب نیستن. یعنی یه بار 102 بعد 51 بعد 202 . مشکل کجاست؟ این هم برنامه

            regfile = "m8def.dat"
            $crystal = 8000000

            Config Lcd = 16 * 2
            Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = _
            Portb.0 , E = Portb.7 , Rs = Portb.6

            Config Adc = Single , Prescaler = Auto
            Stop Adc
            Start Adc


            Config Portd.0 = Output
            Config Portd.1 = Output

            Dim A As Single , B As Byte
            Dim Motor As Byte

            Do

            B = Getadc(5)

            Lcd B

            Waitms 10
            Cls

            Loop

            End

            دیدگاه


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

              lمی خوام یه برنامه باشه که یک عدد مثلا 128 رو به میکرو بدیم. خروجی عدد 128 داشته باشیم حالا اگر 128 شد 129 خروجی هم بشه 129 حالا اگر دوباره 128 بذیم خروجی هم بشه 128. با بسکام باشه لطفا.
              کمک

              دیدگاه


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

                اول اینکه به جای بایت از نوع ورد استفاده کن
                در ضمن میخواستی اینجا کپی کنی regfile = "m8def.dat" رو بجای regfile = "m8def.dat"$ نوشتییا تو برنامه اصلیهم اینجوریه؟ شما دو سر پتانسومتر یکیو باید به vcc و اونیکی رو به زمین باید وصل میکردی و برایاینکه پرتوس خطا نگیره باید ولتاژ رفرنس و ای وی سی سی میکرو رو به vcc وصل کنی
                من با این جواب گرفتم
                $regfile = "m8def.dat"
                (علامت دالر به خاطر ویریشگر سایت افتاده اونور تو برنامه سرجاش بود)
                $crystal = 8000000

                Config Lcd = 16 * 2
                Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = _
                Portb.0 , E = Portb.7 , Rs = Portb.6

                Config Adc = Single , Prescaler = Auto
                Stop Adc
                Start Adc


                Config Portd.0 = Output
                Config Portd.1 = Output

                Do
                Lcd Getadc(5)
                Waitms 10
                Cls

                Loop

                End
                در ضمن برای چرخش موتور هم برنامه نوشتم توی این برنامه اگه دیگه پتانسیومتر رو حرکت ندید موتور دیگه حرکت نمیکنه و تقریبا میشه گفت کار سرو رو میکنه با حذف قسمت به ایست موتور در برنامه میتونید کاری کنید که موتور همچنان حرکت کند
                اینم فایل پرتوس و برنامه در بسکام
                http://www.persiangig.com/pages/download/?dl=http://alipoor90.persiangig.com/dc%20motor%20with%20avr.rar
                در ضمن در مورد اون برنامه که خواستید لطفا بیشتر توضیح بدید به چه صورت میخواین عدد رو به میکرو بدید؟خروجی رو چجوری میخواید؟
                با تشکر

                دیدگاه


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

                  دستتون درد نکنه. :agree: :applause: :wow: :job: :mrgreen: :icon_razz: :rolleyes:

                  واقعا ممنون که کمکم کردی.

                  می خواهم یه ربات بسازم که با حرکت دست خودم ربات هم عمل کنه.
                  ممنون

                  دیدگاه


                    #10
                    پاسخ : کنترل موتور DC با یک میکرو و پتانسیومتر

                    خوب شما میخوای ورودی رو در خورجی داشته باشی دیگه میکرو میخوای چیکار؟

                    دیدگاه


                      #11
                      پاسخ : کنترل موتور DC با یک میکرو و پتانسیومتر

                      یعنی شما میخوای با همین شیوه یه ربات بسازی؟ خوب اگه این طور باشه شما میتونیبه جای پتانسیومتر از جوی استیک دسته های فوتبال استفاده کنید چون اونا در واقع 2 تا پتانسیومتر هستند که یکی مال محور طولی و یکی مال عرضی هست. اگه اینطوره بگید ربات باید چند موتور داشته باشه و در چه جهت های و چجوری حرکت کنه تا برنامه و فایل پرتوس رو براتون آماده کنم در ضمن در عمل شما نمیتونید جریان زیادیاز میکرو بکشید پس باید با درایور میکرو و موتور رو بهم وصل کنید

                      دیدگاه


                        #12
                        پاسخ : کنترل موتور DC با یک میکرو و پتانسیومتر

                        من پیشنهاد میکنم از آرایش زیر استفاده کنید:
                        http://www.irupload.ir/images/qedng93yr1ka7j1er2i.jpg

                        دیدگاه


                          #13
                          پاسخ : کنترل موتور DC با یک میکرو و پتانسیومتر

                          ممنون از اینکه کمکم می کنید.
                          من با چند آلومنیوم یه چیزی شبیه دست انسان می سازم و رو دست خودم سوار می کنم به طور مثال به خم کردن دست خودم دست ربات هم هم زمان با دست من حرکت می کند.

                          دیدگاه


                            #14
                            پاسخ : کنترل موتور DC با یک میکرو و پتانسیومتر

                            خوب پس اون برنامه کارتون رو راه میندازه
                            فقط اگه چند تا پتانسیومتر میخواین وصل کنید بهتره بیاین چند تا میکرو بزاری برای کارتون بزارید چون اگه بخواید تمام موتور ها رو با یه میکرو کنترل کیند هم کارتون سخت میشه هم دقت کار پایین میاد

                            دیدگاه


                              #15
                              پاسخ : کنترل موتور DC با یک میکرو و پتانسیومتر

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

                              دیدگاه

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