اطلاعیه

Collapse
No announcement yet.

راه اندازی موتور dc

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

    #61
    پاسخ : راه اندازی موتور dc

    نوشته اصلی توسط شاهرخ
    هر پایه برای اندازه گیری جریان یکی از موتورها هست.(ISENA جریان عبوری موتور A و ISENB جریان عبوری موتور B )

    مقدار مقاومت حدود 0.22 اهم! (چون این مقاومت در اصل تو مسیر عبور جریان موتور قرار میگیره و اگه مقدارش زیاد باشه، جریان موتور رو محدود میکنه.)
    بسیار متشکرم جناب شاهرخ.
    زندگی برگ بودن در مسیر باد نیست
    امتحان ریشه هاست
    ریشه هم هرگز اسیر باد نیست
    زندگی چون پیچک است
    انتهایش میرسد پیش خدا!

    دیدگاه


      #62
      پاسخ : راه اندازی موتور dc

      نوشته اصلی توسط pama
      در اصل مساله بعدی این هست که موتور ما در ابتدای تغذیه گرفتن ساکن باشه و وقتی فرکانس خروجی سنسور ما به یه عدد خاصی رسید، موتور شروع به حرکت کنه و بعد سر پالس 30 ام بایسته.
      اول برنامه قبل اینکه ماژول PWM رو Initial بکنین توسط پایه هایی که جهت چرخش موتور رو معلوم میکنه ترمز کنین! :mrgreen: البته منظورم اینه که به موتور دستور ترمز بدین... :icon_razz:

      یه زیر برنامه خواهید داشت که پالسها رو میشماره و مقدار شمارش شده رو تو یه متغیر بذاره و مقدار اون متغیر رو به برنامه اصلی برگردونه. توی برنامه اصلی هم از ساختار Case استفاده کنین(فکر کنم تو PBP میشه Select....case) که تو Case ها مثلا Case 5 شروع به حرکت باشه و Case 30 ترمز و.... ضمنا واسه حرکت موتور و ترمز عادی و ترمز به روشی که اشاره کرده بودم(لحظه ای پلاریته معکوس و بعد ترمز ) زیر برنامه های جدا بنویسین به نظرم بهتر باشه.

      دیدگاه


        #63
        پاسخ : راه اندازی موتور dc

        نوشته اصلی توسط شاهرخ
        اول برنامه قبل اینکه ماژول PWM رو Initial بکنین توسط پایه هایی که جهت چرخش موتور رو معلوم میکنه ترمز کنین! :mrgreen: البته منظورم اینه که به موتور دستور ترمز بدین... :icon_razz:

        یه زیر برنامه خواهید داشت که پالسها رو میشماره و مقدار شمارش شده رو تو یه متغیر بذاره و مقدار اون متغیر رو به برنامه اصلی برگردونه. توی برنامه اصلی هم از ساختار Case استفاده کنین(فکر کنم تو PBP میشه Select....case) که تو Case ها مثلا Case 5 شروع به حرکت باشه و Case 30 ترمز و.... ضمنا واسه حرکت موتور و ترمز عادی و ترمز به روشی که اشاره کرده بودم(لحظه ای پلاریته معکوس و بعد ترمز ) زیر برنامه های جدا بنویسین به نظرم بهتر باشه.
        ok.متشکرم.
        برنامه رو مینویسم و خبرشو میدم.

        اضافه شده در تاریخ :
        سلام، روزتون بخیر.
        دوستان بنده دنبال یه انکدر خوب میگردم، خوب از این جهت که بنده ی کم سواد رو خیلی اذیت نکنه و راحت بتونم باهاش پالسهای خروجی موتور dc رو بخونم، ترجیحا سنسور مغناطیسی هم نباشه :angry:
        دوستانی که در جریان این تایپیک هستند میدونند که تا به حال با سنسورهای فرستنده گیرنده مادون قرمز کار میکردیم، واسه خوندن پالسهای خروجی موتور.
        منتها اون برای تست بود تا بتونیم با کمکش موتور رو سر یه پالس خاص stop کنیم، منتها الان یه انکدر مناسب میخوایم برای کار نهایی.
        یکی که تو هر دور مثلا 200 یا 250 تا پالس بزنه، بنده آشنایی بسیار کمی با انکدرها و نحوه ی راه اندازیشون دارم، و بسیار متشکر میشم، دوستان در این راستا بنده رو یاری بفرمایند.

        اضافه شده در تاریخ :
        با سلام مجدد.
        دوستان بنده به این نتیجه رسیدم که احتیاج به یک انکدری دارم که بشه اونو به شفت موتور کوپل کرد و از اونجایی که با گذاشتن انکدر سر موتور، امکان گذاشتن اقلام مورد نیاز ما! مثل چرخ دنده ها و ... رو شفت خروجی وجود نداره، واسه همین انکدری باشه که اون سرش هم یه شفتی داشته باشه که اون شفت در اصل بشه شفت خروجی موتور و بتونیم چرخ دنده هامون رو بهش کوپل کنیم....
        و تعداد پالسهایی هم که این انکدر میزنه خیلی زیاد نباشه، چون به دقت اونجوری نیاز نداریم، تا حدود 200 یا 250 تا تو هر دور بزنه کافیه، و اینکه اپتیک هم باشه.

        یک دنیا سپاسگذار خواهم بود از دوستان که بنده رو با این تایپیک تنها نگذارند :nerd:

        اضافه شده در تاریخ :
        نوشته اصلی توسط pama
        دوستان یه موضوع دیگه!
        آیا بهتر نیست برای کار بنده از موتور dc های انکدر دار استفاده کرد؟
        دوستان یه موتور dc انکدر دار هم دارم که متاسفانه نحوه کار با اون رو نمیدونم، یعنی نمیدوننم چطور میشه با این موتورها تعداد پالسها رو در خروجی خوند؟!

        این موتورم 4 تا خروجی به نامهای E,C,A,K داره، 12 ولت و 0.6 آمپر هم هست، روشم نوشته 2900 UPM!
        حالا نمیدونم چند تا پالس تو هر دور میزنه و چجوری میشه راش انداخت و باهاش پالسها رو خوند؟؟

        باز هم سپاسگذارم از لطف همه.....
        زندگی برگ بودن در مسیر باد نیست
        امتحان ریشه هاست
        ریشه هم هرگز اسیر باد نیست
        زندگی چون پیچک است
        انتهایش میرسد پیش خدا!

        دیدگاه


          #64
          پاسخ : راه اندازی موتور dc

          سلاااااام.من اومدم!! ببخشید که دیر شد.البته دیروز حدود 5-6 خط تایپ کرده بودم؛همینکه اومدم ارسال رو بزنم، انجمن ترکید!! :mrgreen: سایت قاطی کرد و... :cry:

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

          تعداد پالسهایی هم که این انکدر میزنه خیلی زیاد نباشه، چون به دقت اونجوری نیاز نداریم، تا حدود 200 یا 250 تا تو هر دور بزنه کافیه، و اینکه اپتیک هم باشه.
          احساس نمیکنین تعداد پالسهای مد نظرتون یه خرده کم هست؟!! کم توقع هستین ها!! یا شاید هم من اطلاعاتم کمه(خب آخه تا الان شفت انکودر استفاده نکردم! :redface

          واسه ساختن شفت انکودر دستی با دقت بالا هم میتونین یه ماوس قدیمی غلطک دار پیدا کنین و بعد از تخریب! :nerd: ببینین توش از چه تکنیکی استفاده کردن؛بعد همون قطعه ی پره دار رو درش بیارین و به عنوان شفت انکودر با دقت بالا ازش سوء استفاده کنین!

          نوشته اصلی توسط pama
          دوستان یه موتور dc انکدر دار هم دارم که متاسفانه نحوه کار با اون رو نمیدونم، یعنی نمیدوننم چطور میشه با این موتورها تعداد پالسها رو در خروجی خوند؟!

          این موتورم 4 تا خروجی به نامهای E,C,A,K داره، 12 ولت و 0.6 آمپر هم هست، روشم نوشته 2900 UPM!
          حالا نمیدونم چند تا پالس تو هر دور میزنه و چجوری میشه راش انداخت و باهاش پالسها رو خوند؟؟

          باز هم سپاسگذارم از لطف همه.....
          اون خروجی ها رو با اهم متر نسبت به هم اندازه بگیرین ببینین با چرخوندن دستی شفت موتور؛ اونها چه وضعیتی پیدا میکنن نسبت به هم؟؟ حدس میزنم یکی شون مشترک باشه و دوتا خروجی که نسبت به هم تاخیر دارن(برای تشخیص جهت چرخش) البته اینطوری حساب کنیم یکی از سیم ها اضافی میاد! ولی فعلا تست کنین ببینین چی میشه؟ (ضمنا این 4 تا سیم جدا از تغذیه موتور هست دیگه؟ اگه نباشه که خب کاملا مشخصه دوتا تغذیه-دوتا هم خروجی پالس نسبت به هم)

          فعلا با اجازه....

          دیدگاه


            #65
            پاسخ : راه اندازی موتور dc

            نوشته اصلی توسط شاهرخ
            سلاااااام.من اومدم!! ببخشید که دیر شد.البته دیروز حدود 5-6 خط تایپ کرده بودم؛همینکه اومدم ارسال رو بزنم، انجمن ترکید!! :mrgreen: سایت قاطی کرد و... :cry:

            احساس نمیکنین تعداد پالسهای مد نظرتون یه خرده کم هست؟!! کم توقع هستین ها!! یا شاید هم من اطلاعاتم کمه(خب آخه تا الان شفت انکودر استفاده نکردم! :redface
            سلام از بنده است جناب شاهرخ.
            لطف کردید که باز هم در تایپیک حضور پیدا کردید.
            اختیار دارید آقا، ایام امتحانات هست و ارجحترین مورد در حال حاضر خوب پشت سر گذاشتن اونهاست...

            در مورد تعداد پالسهای انکدرمون باید عرض کنم که چون ما دقت خیلی بالایی رو در دستگاه نهائیمون نمیخوایم، تا همین حدود هم جوابگوی کار ما هست که قاعدتا ما رو کم توقع و قانع میکنه :nerd:

            نوشته اصلی توسط شاهرخ
            واسه ساختن شفت انکودر دستی با دقت بالا هم میتونین یه ماوس قدیمی غلطک دار پیدا کنین و بعد از تخریب! :nerd: ببینین توش از چه تکنیکی استفاده کردن؛بعد همون قطعه ی پره دار رو درش بیارین و به عنوان شفت انکودر با دقت بالا ازش سوء استفاده کنین!
            متشکرم از راهنمائیتون.
            منتها جناب شاهرخ چون کار تستمون در خارج از دستگاه اصلی تموم شده و مطمئن شدیم که با انکدر و خوندن پالسها میشه موتور رو stop کرد، الان تصمیم بر این هست که کالیبراسیون و اندازه گیریهامون و در نتیجه ادامه کار و گذاشتن انکدر برای سیستم نهایی رو با انکدر دستی پیش نریم و از یک انکدر آماده استفاده کنیم، انکدری که ترجیحا اپتیک باشه و مگنت نباشه و وقتی که به موتورمون کوپل میشه، از اون سرش هم یه شفت خروجی داشته باشه تا ما بتونیم چرخ دنده ها و سایر ملحقّات رو! رو بهش کوپل کنیم.

            نوشته اصلی توسط شاهرخ
            اون خروجی ها رو با اهم متر نسبت به هم اندازه بگیرین ببینین با چرخوندن دستی شفت موتور؛ اونها چه وضعیتی پیدا میکنن نسبت به هم؟؟ حدس میزنم یکی شون مشترک باشه و دوتا خروجی که نسبت به هم تاخیر دارن(برای تشخیص جهت چرخش) البته اینطوری حساب کنیم یکی از سیم ها اضافی میاد! ولی فعلا تست کنین ببینین چی میشه؟ (ضمنا این 4 تا سیم جدا از تغذیه موتور هست دیگه؟ اگه نباشه که خب کاملا مشخصه دوتا تغذیه-دوتا هم خروجی پالس نسبت به هم)

            فعلا با اجازه....
            ok، متشکرم.
            میرم تستشون میکنم و نتیجه رو خبر میدم.
            بله 2 تا سیم تغذیه جداست و یه جایی رو بدنه ی موتور هست، اینم عکسش:

            زندگی برگ بودن در مسیر باد نیست
            امتحان ریشه هاست
            ریشه هم هرگز اسیر باد نیست
            زندگی چون پیچک است
            انتهایش میرسد پیش خدا!

            دیدگاه


              #66
              پاسخ : راه اندازی موتور dc

              حله؛نتیجه ی تست رو خبر بدین. راستی اگه جواب مناسب نگرفتین؛ موتور رو میتونین عوض کنین یا اونموقع از بابت توان و گشتاور و... جور در نمیاد و باید همین موتور باشه؟

              آخه کوپل کردن شفت انکودر تو این حالت که شفت موتورها اکثرا به مقدار خیلی جزیی از پشت موتور بیرون اومده، کار راحتی نیست و ضریب اطمینان بالایی نداره که بعدا شل نشه و در نیاد.

              دیدگاه


                #67
                پاسخ : راه اندازی موتور dc

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

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

                اصلا یه چیزی!
                فکر میکنم همون بهتره که برم یه موتور انکدر دار خوب که مناسبه کارمون هم باشه، بگیرم و با همون هم پیش برم....
                نمیدونم!!!
                باور کنید الان یه در میون ستاره ها و گنجشکها! دارن دور سرم میچرخن...



                اضافه شده در تاریخ :
                ولی دیگه شرط کردن خروجی یه سنسور که با فرکانس متر اونو دیکد کردیم، برای شروع حرکت موتور نباید کار سختی باشه که من دارم این همه روش گیج میزنم :angry:
                دوستان میشه لطفا یه نگاهی به برنامه بندازید؟
                تایمر 1 داره فرکانس رو میشمره، lcd هم تو سطر اول باید فرکانس رو نشون بده، تو سطر دوم هم پالسهایی رو که انکدر میشمره.
                سر فرکانس 40 هرتز باید (برای تست هست این اعداد البته) موتور dc راه بیفته، سر پالس 30 ام که انکدر از خروجی موتور میشمره، هم موتور dc باید بایسته.

                کد:
                @ DEVICE PIC16F877A ,WDT_OFF ,LVP_OFF ,PROTECT_OFF ,PWRT_ON ,BOD_OFF
                 
                DEFINE LCD_DREG PORTD
                DEFINE LCD_DBIT 4
                DEFINE LCD_RSREG PORTD
                DEFINE LCD_RSBIT 2
                DEFINE LCD_EREG PORTD
                DEFINE LCD_EBIT 3
                DEFINE LCD_BITS 4
                DEFINE LCD_LINES 2
                
                DEFINE CCP1_REG PORTC
                DEFINE CCP1_BIT 2
                
                TRISA = 0
                TRISc.0 = 1
                
                A VAR WORD
                f var word
                
                ON INTERRUPT GOTO lable
                
                OPTION_REG = $7F
                INTCON = %10010000
                T1CON = $03
                
                
                loop1:
                
                
                 TMR1L=0
                 TMR1H=0
                 PIR1.0 = 0
                 T1CON.0 = 1
                 PAUSE 800
                 T1CON.0 = 0
                 f.byte1=TMR1H
                 f.byte0=TMR1l
                 
                  lcdout $FE, 1
                  LCDOUT #F
                  LCDOUT $FE, $14
                  LCDOUT "hz"
                  PAUSE 500
                  
                  A = 0
                 
                 if f >= 40 and f <= 60 then 
                  
                  LOW portA.0
                  
                  hpwm 1, 205, 300
                  pause 50
                  
                 
                
                loop2:
                  pause 100
                  
                  LCDOUT $FE, $C0, "A="
                  LCDOUT $FE, $14
                  LCDOUT #A
                  pause 500
                  
                  
                  if A >= 30 then tormoz
                  
                  goto loop2
                  
                endif
                
                tormoz:
                  low portA.0
                  hpwm 1, 0, 300
                  pause 2000
                  
                  LCDOUT $FE, 1
                  LCDOUT "A="
                  LCDOUT $FE, $14
                  LCDOUT #A
                  pause 10000
                  
                  goto loop1
                  
                    
                  DISABLE
                lable:
                  A = A + 1
                  PAUSE 100
                  INTCON.1 = 0
                RESUME
                  ENABLE    
                END
                فکر میکنم همه ی مشکل از اینجا باشه که خوندن فرکانس (خوندن پالسهای خروجی سنسور برای اینکه تحت عنوان شرط شروع حرکت برای موتور dc باشه) تو بد جایی از برنامه داره انجام میشه...


                اضافه شده در تاریخ :
                حلّه دوستان :wow:
                با شرط فرکانس خروجی سنسور، موتور شروع به حرکت میکنه و تا زمانی که شرطش بر قراره میچرخه بعد به محض اینکه پالسهای خروجی انکدر به یه عددی رسید که ما میخوایم می ایسته...

                ایرادهایی تو برنامه داشت که درستش اینه الان:

                کد:
                @ DEVICE PIC16F877A ,WDT_OFF ,LVP_OFF ,PROTECT_OFF ,PWRT_ON ,BOD_OFF
                 
                DEFINE LCD_DREG PORTD
                DEFINE LCD_DBIT 4
                DEFINE LCD_RSREG PORTD
                DEFINE LCD_RSBIT 2
                DEFINE LCD_EREG PORTD
                DEFINE LCD_EBIT 3
                DEFINE LCD_BITS 4
                DEFINE LCD_LINES 2
                
                DEFINE CCP1_REG PORTC
                DEFINE CCP1_BIT 2
                
                TRISA = 0
                TRISc.0 = 1
                
                A VAR WORD
                f var word
                
                ON INTERRUPT GOTO lable
                
                OPTION_REG = $7F
                INTCON = %10010000
                
                T1CON = $03
                
                
                loop1:
                
                  A = 0
                
                 TMR1L=0
                 TMR1H=0
                 PIR1.0 = 0
                 T1CON.0 = 1
                 PAUSE 800
                 T1CON.0 = 0
                 f.byte1=TMR1H
                 f.byte0=TMR1l
                 
                 lcdout $fe, 1
                 lcdout #f
                 lcdout $fe, $14
                 lcdout "hz"
                 pause 500
                 
                 
                 if f >= 20 and f <=40 then 
                  
                  LOW portA.0
                  hpwm 1, 205, 300
                  pause 50
                  
                
                loop2:
                  pause 100
                  
                 LCDOUT $FE, $c0 
                  LCDOUT "A ="
                  lcdout $fe, $14
                  LCDOUT #A
                  pause 500
                  
                  
                  if A >= 30 then tormoz
                  
                  goto loop2
                 endif 
                  
                tormoz:
                  low portA.0
                  hpwm 1, 0, 300
                  pause 500
                  
                  goto loop1
                  
                    
                  DISABLE
                lable:
                  A = A + 1
                  PAUSE 100
                  INTCON.1 = 0
                RESUME
                  ENABLE    
                END

                اضافه شده در تاریخ :
                دوستان متشکر میشم بنده رو در انتخاب انکدر مناسب و یا راه اندازی یک موتور انکدر دار راهنمائی بفرمائید.
                جناب شاهرخ نتونستم از تست پایه های اون موتور به هیچ نتیجه درستی برسم!!
                میشه دوستان لطف کنید و یک بار دیگه بفرمائید که ذقیقا باید چه کاری انجام بشه؟

                متشکرم.

                اضافه شده در تاریخ :
                سلام و عرض احترام مجدد خدمت دوستان گرامی.

                راستش دیگه مصرّا بر این شدم که از موتور dc انکدر دار استفاده کنم، و بسیار متشکر میشم، دوستان با تجربه در مورد نحوه ی راه اندازی موتورهای انکدر دار توضیحاتی رو بفرمایند و اینکه داستان این پایه هاشون که با هم اختلاف فاز 90 درجه دارن، چیه؟
                و خوندن پالس نهایی از کدومشون باید باشه و cw و ccw بودن جهت موتور رو چجوری میشه ردیفش کرد؟
                و آیا به مدار خاصی برای راه اندازی این نوع موتورها و خوندن پالسهاش نیاز داریم؟

                راستش این موتوری که دارم کاشف به عمل اومد که تعداد پالسهایی که انکدرش میزنه خیلی زیاده و به کار ما نمیاد، و بهتره با یه موتور انکدر دار دیگه کار رو پیش ببرم.

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

                دیدگاه


                  #68
                  پاسخ : راه اندازی موتور dc

                  سلام مجدد.اولا تبریک! انشاالله دیگه پروژه تون افتاده تو سرپایینی و داره باهاتون خوش رفتاری میکنه! :nerd:

                  اون پالسهای خروجی تاجایی که خبر دارم ( که اگه فرصت بکنم یکیشون رو میخرم تست میکنم) یه پایه مشترک هست که مشخصه، اون دوتا پایه درهرلحظه فقط یکی از اون دوتاپایه ی دیگه میتونن نسبت به پایه مشترک 1 بشن( منظور وصل بشن یا پالس بدن) و پایه دیگه 0 هست نسبت به پایه مشترک. ( این توضیحی بود که از یکی از دوستام شنیده بودم و منطقی هم به نظر میرسه)

                  دیدگاه


                    #69
                    پاسخ : راه اندازی موتور dc

                    نوشته اصلی توسط شاهرخ
                    سلام مجدد.اولا تبریک! انشاالله دیگه پروژه تون افتاده تو سرپایینی و داره باهاتون خوش رفتاری میکنه! :nerd:
                    سلام از بنده است جناب شاهرخ.
                    بسیار متشکرم از اینکه باز هم پاسخ گوی بنده بودید.
                    توکل به خدا...
                    به لطف موتور dc و صد البته به لطف شما و سایر دوستان، با وجود تمام مشکلاتی که هنوزم داره ولی فعلا بله، روی خوش نشون داده!

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

                    اما قبل از اون خیلی دوست دارم بدونم چجوری میشه با این موتورهایی که انکدرشون با خودشونه! پالسها رو خوند و این داستان ساعتگرد و پاد ساعتگرد شدن موتور رو تشخیص داد، که باز هم ممنون میشم دوستان با تجربه کمک بفرمایند......
                    زندگی برگ بودن در مسیر باد نیست
                    امتحان ریشه هاست
                    ریشه هم هرگز اسیر باد نیست
                    زندگی چون پیچک است
                    انتهایش میرسد پیش خدا!

                    دیدگاه


                      #70
                      پاسخ : راه اندازی موتور dc

                      سلام.تقریبا تازه از امتحان دراومدم.یه خرده فکر کردم؛چیزی به ذهنم نرسید! فعلا تعطیل کردیم رفت...! :mrgreen:

                      راه حلش رو اگه پیدا کنم یا ایده ای به ذهنم برسه، این پست رو ویرایش میکنم...
                      ------------------

                      حسش نبود پاک کنم!!

                      مجله ی نویز شماره 12 رو تازه دانلود کردم.صفحه ی 58 مجله اصلا انگار مخصوص شما تهیه شده!!

                      عنوان :

                      اندازه گیری سرعت و تشخیص جهت حرکت اجسام مدور

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

                      PIC16F877A فقط یه دونه اینتراپت خارجی داره؛4تا هم اینتراپت تغییر سطح ولتاژ پین داره(چقدر اطلاعات مهمی الان دادم!)

                      علی الحساب :

                      باید یه تایمر داشته باشیم که شروع به شمارش کرده باشه.وقتی اینتراپت یک اتفاق افتاد زمان شمارش شده رو تو یه متغیر ذخیره کنیم، و وقتی که وقفه دو اتفاق افتاد زمان شمارش شده رو مجددا تو یه متغیر دیگه ذخیره کنیم.الان از طریق اندازه گیریه اختلاف زمان های شمارش شده ی ذخیره شده! :mrgreen: که مثبت یا منفی میشه؛ میشه جهت چرخش رو تشخیص داد.(واقعا با ادبیاتی سبکتر از این نمیشد بیان کرد!!! )

                      دیدگاه


                        #71
                        پاسخ : راه اندازی موتور dc

                        نوشته اصلی توسط شاهرخ
                        مجله ی نویز شماره 12 رو تازه دانلود کردم.صفحه ی 58 مجله اصلا انگار مخصوص شما تهیه شده!!

                        عنوان :

                        اندازه گیری سرعت و تشخیص جهت حرکت اجسام مدور

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

                        PIC16F877A فقط یه دونه اینتراپت خارجی داره؛4تا هم اینتراپت تغییر سطح ولتاژ پین داره(چقدر اطلاعات مهمی الان دادم!)

                        علی الحساب :

                        باید یه تایمر داشته باشیم که شروع به شمارش کرده باشه.وقتی اینتراپت یک اتفاق افتاد زمان شمارش شده رو تو یه متغیر ذخیره کنیم، و وقتی که وقفه دو اتفاق افتاد زمان شمارش شده رو مجددا تو یه متغیر دیگه ذخیره کنیم.الان از طریق اندازه گیریه اختلاف زمان های شمارش شده ی ذخیره شده! :mrgreen: که مثبت یا منفی میشه؛ میشه جهت چرخش رو تشخیص داد.(واقعا با ادبیاتی سبکتر از این نمیشد بیان کرد!!! )
                        ok
                        بسیار عالی و بسیار متشکرم از توضیحاتتون.
                        حتما دانلودش میکنم....
                        ولی خوب همینکه 2 تا اینت اکسترنال میخوایم، معضلیه برای خودش!
                        ولی با این حال سواد ناقص من میگه که شاید بشه، یه کاریش کرد، مثلا اینکه از سایر وقفه های میکرو استفاده کنیم!
                        نمیدونم....
                        حالا تحقیق و سرچ و چیز خوندن روگذاشتن واسه همچین مواقعی! میرم دنبالش، مطمئنم حل میشه
                        باز هم ممنونم جناب شاهرخ
                        زندگی برگ بودن در مسیر باد نیست
                        امتحان ریشه هاست
                        ریشه هم هرگز اسیر باد نیست
                        زندگی چون پیچک است
                        انتهایش میرسد پیش خدا!

                        دیدگاه


                          #72
                          پاسخ : راه اندازی موتور dc

                          فعلا این راه به ذهنم رسیده که قطعا خالی از ایراد نیست.اما شــــــاید بتونه مفید باشه یا باعث بشه یه ایده به ذهن شما برسه.

                          اگه استفاده از قطعات اضافی برای شما مسئله ساز نیست این راه رو پیشنهاد میکنم(البته این طرح مفهومی هست!! :mrgreen: )

                          چون ورودی اینتراپت تغییر سطح این میکرو به ازای هربار صفر یا یک شدن اینتراپت میده، میتونین از IC های TTL که ورودی کلاک حساس به لبه دارن (مثل ICهای لچ) استفاده کنین.هربار که خروجی سنسور شفت انکودر تغییر حالت میده، اگه مستقیم وصل باشه به ورودی اینتراپت تغییر سطح، یه بار اینتراپت داده میشه؛درحالی که لازم هست به ازای فقط تغییر از یک به صفر اینتراپت داشته باشیم.پس میشه خروجی سنسور رو به ورودی کلاکی داد که حساس به لبه هست.به این ترتیب فقط به ازای از صفر به یک رفتن خروجی آی سی لچ تغییر خواهد کرد.البته الان که فکر میکنم میبینم بهتره به جای آی سی لچ از فلیپ فلاپ نوع T استفاده کنین که ورودیش یک هست و به ازای هرلبه ی کلاک؛ خروجیش معکوس میشه و یه اینتراپت داده میشه به میکرو.امیدوارم این راه عملی باشه و ایرادی نداشته باشه.اگه سایر دوستان پیشنهاد بهتری دارن یا تو این روش ایرادی میبینن خوشحال میشم متذکر بشن تا من هم چیزی یاد بگیرم...

                          دیدگاه


                            #73
                            پاسخ : راه اندازی موتور dc

                            نوشته اصلی توسط شاهرخ
                            فعلا این راه به ذهنم رسیده که قطعا خالی از ایراد نیست.اما شــــــاید بتونه مفید باشه یا باعث بشه یه ایده به ذهن شما برسه.

                            اگه استفاده از قطعات اضافی برای شما مسئله ساز نیست این راه رو پیشنهاد میکنم(البته این طرح مفهومی هست!! :mrgreen: )

                            چون ورودی اینتراپت تغییر سطح این میکرو به ازای هربار صفر یا یک شدن اینتراپت میده، میتونین از IC های TTL که ورودی کلاک حساس به لبه دارن (مثل ICهای لچ) استفاده کنین.هربار که خروجی سنسور شفت انکودر تغییر حالت میده، اگه مستقیم وصل باشه به ورودی اینتراپت تغییر سطح، یه بار اینتراپت داده میشه؛درحالی که لازم هست به ازای فقط تغییر از یک به صفر اینتراپت داشته باشیم.پس میشه خروجی سنسور رو به ورودی کلاکی داد که حساس به لبه هست.به این ترتیب فقط به ازای از صفر به یک رفتن خروجی آی سی لچ تغییر خواهد کرد.البته الان که فکر میکنم میبینم بهتره به جای آی سی لچ از فلیپ فلاپ نوع T استفاده کنین که ورودیش یک هست و به ازای هرلبه ی کلاک؛ خروجیش معکوس میشه و یه اینتراپت داده میشه به میکرو.امیدوارم این راه عملی باشه و ایرادی نداشته باشه.اگه سایر دوستان پیشنهاد بهتری دارن یا تو این روش ایرادی میبینن خوشحال میشم متذکر بشن تا من هم چیزی یاد بگیرم...
                            سلام.
                            یک دنیا شرمنده ام از این همه تاخیر و از عمق وجودم معذرت میخوام.
                            و بسیار متشکرم از همراهی و پیشنهاد عالیتون.

                            راستش بنده تا به حال با لچ کار نکردم و نمیتونم هیچ نظری بدم جناب شاهرخ، منتها راجع به فلیپ فلاپ بنده هم موافقم، بنده تو فکرم بود که یه مدار فلیپ فلاپ از نوع D برای شناسایی پالس پیشتاز بسازیم
                            بعد چون نتیجه خروجی این فلیپ فلاپ یک سطح منطقی صفر و یکه اونو به یکی از پورت های میکرو وصل کنیم و بتونیم CCW یا CW چرخیدن انکودر رو تشخیص بدیم، که البته نمیدونم اصلا درست هست یا خیر؟!

                            ضمن تشکر فراوان از شما جناب شاهرخ بابت پیشنهادتون باید عرض کنم که قضیه یه مقدار فرق کرده، اونم اینکه فکر میکنم نهایتا تصمیم بر ساختن انکدر بشه، چون تو بازار یه موتور انکدر دار هست منتها این موتوره فقط تعداد دورها رو میشماره و ساعتگرد و پاد ساعتگرد رو بهمون نمیده، اما مزیتش اینه که 2 سر هست و علاوه بر شفتی که انکدر بهش کوپل شده شفت دیگه ای از اون سرش داره که میشه بار رو بهش کوپل کرد منتها گشتاورش به کار ما نمیخوره
                            راستش بنا شد تو مکانیک کارمون تغییراتی داده بشه که فقط نیاز باشه ما تعداد دور رو بخونیم و هر جا لازم شد چپگرد راستگرد شدن موتور رو خودمون بهش دستور بدیم، و نیازی به فهمیدن اینکه الان موتورموت راستگرد هست یا چپگرد نباشه، به عبارتی یا همون موتوره رو میگیریم و یه فکری به حال گشتاورش باید بکنیم یا اینکه با هر موتور دلخواهی که میخواهیم( دلخواه از لحاظ گشتاور و rpm) کار کنیم و انکدرش رو خودمون با همین سنسورهای فرستنده گیرنده انکدر رو بذاریم واسه موتورمون....

                            نظر دوستان چی هست؟

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

                            از طرف دیگه دوستان هم گروهی بر این موضوع اصرار دارند که همین انکدری رو که خودمون ساختیم و داریمش رو روی شافت موتور دلخواه و مورد نظری که الان داریم و به درد کار ما میخوره کوپل کنیم، مزیت این روش به کار قبلی در این هست که ما با این روش میتونیم از هر موتور دلخواه با هر گشتاور و rpm دلخواهی استفاده کنیم....

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

                            حالا بنده موندم بین 2 راهی، که کدوم یکی از این 2 کار مناسبتر و مطمئنتر خواهد بود؟
                            اینکه ما بخوایم انکدر دستی خودمون رو بگذاریم، (با اینکه دوستان مکانیکی میگن که شما از لحاظ کوپل کردن انکدر و ... خیالتون راحت باشه) آیا میشه در طول مدت زمان طولانی کارکرد دستگاه بهش اعتماد کرد و مشکلی پیش نمیاد؟؟

                            یا اینکه بهتره موتور انکدر دار آماده رو بگیریم و موتورشو یه کاری بکنیم؟؟

                            حالا البته کما اینکه موتور انکدر داره هم انکدرش عین همینیه که ما داریم!!

                            :-??
                            زندگی برگ بودن در مسیر باد نیست
                            امتحان ریشه هاست
                            ریشه هم هرگز اسیر باد نیست
                            زندگی چون پیچک است
                            انتهایش میرسد پیش خدا!

                            دیدگاه


                              #74
                              پاسخ : راه اندازی موتور dc

                              سلام.وقت بخیر

                              به نظرم چون به شفت ، بار وصل میشه، بهتره که شفت انکدر رو خودتون وصل بکنین. بین بار و شفت موتور واسطی نباشه بهتر هست.

                              دیدگاه


                                #75
                                پاسخ : راه اندازی موتور dc

                                سلام از بنده است.
                                وقت شما هم بخیر.
                                ok، متشکرم از پاسختون.
                                زندگی برگ بودن در مسیر باد نیست
                                امتحان ریشه هاست
                                ریشه هم هرگز اسیر باد نیست
                                زندگی چون پیچک است
                                انتهایش میرسد پیش خدا!

                                دیدگاه

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