اطلاعیه

Collapse
No announcement yet.

راه اندازی موتور براشلس (BLDC)

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

    پاسخ : راه اندازی موتور براشلس (BLDC)

    نوشته اصلی توسط alireza.r
    دستتون درد نکه روشن شد ولی اون ته ته هاش هنوز یخورده تاریکه! :mrgreen:
    کد:
      if(rotor_run == 200)      next_commutate_state(0);
    میشه راجب به دلیل این if بگید.خب این if اصلا نمیذاره کمتاسیونی توی وقفه مقایسه کننده اتفاق بیفته مادامی که rotor_run کمتر از 200 باشه!پس اون اولین باری که موتور میخواد راه بیفته rotor_run برابر با صفره و حتی تا 200 وقفه دیگه هم اتفاق بیفته باز هیچ کومتاسیونی انجام نمیشه چون rotor_run کمتر از مقدار 200. چجوری قبل از اینکه تایمر وقفش انجام بشه موتور استارت میخوره .یعنی این زیر برنامه با و جود تحریکی که انجام نداده 200 بار اجرا میشه !
    با سلام،

    یه کمی بریم عقب تر و پرژکتورها رو روشن کنیم ببینیم چی دیده میشه
    در main.c و حلقه اصلی برنامه، در صورتی که فرمان روشن شدن موتور صادر بشه، وقفه های مقایسه کننده و سرریز تایمر هم فعال میشن وهمونطور که شما اشاره کردید، بدلیل شرط زیر، روتین وقفه مقایسه کننده بدلیل اینکه rotor_run از 200 کمتره، هیچ کاری انجام نمیده...
    کد:
    	if(rotor_run == 200)			next_commutate_state(0);

    و از طرفی، مقدار rotor_run در سر ریز تایمر بطور مداوم صفر میشه! پس حالا باید چیکار کرد؟! :surprised: ( این جمله رو باید با لهجه دهات اصفهان بخونی! :biggrin: )

    و اما توجه شما رو به کد زیر که در روتین وقفه سر ریز تایمر هست جلب میکنم که در هر بار سر ریز تایمر، موجب اجرای روتین کوموتاسیون میشه ( بدون توجه به حالات و رفتار مقایسه کننده. رجوع شود به پست قبلی ) و همین هست که موجب تکان خوردن و گردش نسبتا ناقص موتور میشه ( البته فقط اولش اینطوریه! )...
    کد:
    	next_commutate_state(1);

    حالا با چند بار سر ریز شدن تایمر و اجرای روتین کوموتاسیون و تکان خوردن موتور، در کمتر از یک ثانیه دور موتور به حداقل 230 دور بر دقیقه میرسه و قبل از سر ریز تایمر، وقفه مقایسه کننده برای بیش از 200 بار اتفاق می افته و شرط زیر برقرار شده و روال عادی اجرای برنامه شروع میشه و سر ریز تایمر هم قاعدتا دیگه اتفاق نمی افته و ادامه ماجرا ....
    کد:
    if(rotor_run == 200)			next_commutate_state(0);

    در اینجا باید این رو اضافه کنم که این عدد 200 با توجه به ساختارهای متفاوت موتورها، ممکنه برای موتور هر کسی نیاز به کم و زیاد شدن داشته باشه. ( قابل توجه دوستانی که موتورشون با مشکل راه می افته و یا اینکه اصلا راه نمی افته! )

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

    Sh_Nourbakhsh@Yahoo.com

    http://s2.picofile.com/file/7170362468/_Wall_e_.jp

    دیدگاه


      پاسخ : راه اندازی موتور براشلس (BLDC)

      با تشکر از جناب نور بخش و توضیحاتشون محیط کاملا روشن شد فقط موندم کی میخواد پوله برقشو بده! :mrgreen:

      من موفق شدم برنامرو توی بسکام بنویسم و به درستی موتور راه اندازی شد :wow: :applause:
      اما هنوز یک مشکلی که وجود داره اینه که سرعت موتور هنوزم کمه.جریان عبوری از موتور حدود 3 امپر هست و رو هم رفته بتونه 100 گرمو بلند کنه هنر کرده!
      نمیدونم مشکل نرم افزاری هنوز داره یه سخت افزاری!البته این قضیه توی برنامه winavr هم همینطوره یعنی با اونم جریان و سرعت همینقدره! :cry2: مدل موتور هم همونطور که قبلا گفتم emaxbl2215 میباشد. حالا هر جاش به نظرتون ایراد داره شروع کنم به دست کاری :twisted:

      دیدگاه


        پاسخ : راه اندازی موتور براشلس (BLDC)

        نوشته اصلی توسط alireza.r
        با تشکر از جناب نور بخش و توضیحاتشون محیط کاملا روشن شد فقط موندم کی میخواد پوله برقشو بده! :mrgreen:

        من موفق شدم برنامرو توی بسکام بنویسم و به درستی موتور راه اندازی شد :wow: :applause:
        اما هنوز یک مشکلی که وجود داره اینه که سرعت موتور هنوزم کمه.جریان عبوری از موتور حدود 3 امپر هست و رو هم رفته بتونه 100 گرمو بلند کنه هنر کرده!
        نمیدونم مشکل نرم افزاری هنوز داره یه سخت افزاری!البته این قضیه توی برنامه winavr هم همینطوره یعنی با اونم جریان و سرعت همینقدره! :cry2: مدل موتور هم همونطور که قبلا گفتم emaxbl2215 میباشد. حالا هر جاش به نظرتون ایراد داره شروع کنم به دست کاری :twisted:
        سلام
        خسته نباشید
        دوست داشتین سورس برنامه رو بزارید تا ما هم روش کار کنیم.
        این مدعیان در طلبش بی خبرانند
        آن را که خبر شد خبری باز نیامد

        دیدگاه


          پاسخ : راه اندازی موتور براشلس (BLDC)

          نوشته اصلی توسط alireza.r
          با تشکر از جناب نور بخش و توضیحاتشون محیط کاملا روشن شد فقط موندم کی میخواد پوله برقشو بده! :mrgreen:

          من موفق شدم برنامرو توی بسکام بنویسم و به درستی موتور راه اندازی شد :wow: :applause:
          اما هنوز یک مشکلی که وجود داره اینه که سرعت موتور هنوزم کمه.جریان عبوری از موتور حدود 3 امپر هست و رو هم رفته بتونه 100 گرمو بلند کنه هنر کرده!
          نمیدونم مشکل نرم افزاری هنوز داره یه سخت افزاری!البته این قضیه توی برنامه winavr هم همینطوره یعنی با اونم جریان و سرعت همینقدره! :cry2: مدل موتور هم همونطور که قبلا گفتم emaxbl2215 میباشد. حالا هر جاش به نظرتون ایراد داره شروع کنم به دست کاری :twisted:
          با سلام،

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

          واما من فکر میکنم با توحه به اینکه با برنامه اصلی هم این مشکل شما وجود داره، به احتمال زیاد مشکل نرم افزاری نیست!
          موتور شما یه موتور نسبتا قوی هست که فکر کنم با بار باید حداقل 7.4 ولت با بیش از 10 آمپر لازم داشته باشه، حالا چند تا سوال، شما موتور رو با بار روشن میکنی یا بدون بار؟ اگر بدون باره، نباید بیشتر از 800 میلی آمپر جریان بکشه، اگر غیر اینه که یه جای کار میلنگه! و اگر با باره، از چه تغذیه ای استفاده میکنی؟ آیا تغذیه جریان و ولتاژ لازم رو تامین میکنه؟! آیا حین کار موتور، ولتاژ رو اندازه گرفتی؟ چقدر افت کرده؟

          راستی، سخت افزارت چیه؟
          مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

          Sh_Nourbakhsh@Yahoo.com

          http://s2.picofile.com/file/7170362468/_Wall_e_.jp

          دیدگاه


            پاسخ : راه اندازی موتور براشلس (BLDC)

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

            سخت افزارم همون سخت افزار وحید خوان هست.همون که z44n توش هست
            دقیقا همینطور که فرمودید بدون بار جریان موتور توی حالت ماکزیمم تقریبا همون 0.8 هست

            ملخی که من استفاده کردم 8X43 البته میدونم این ملخ پیشنهاد شده برای موتور نیست ولی در حال حاضر در دسترس بود و ارزون بود واسه تست خریدم.چیزی که مهمه اینه که موتور توی حداکثر PWM زور نهایی خودشو نمیزنه و به نظرم هنوز خیلی جا داره ازش کار بکشی :twisted: (این صورتکی رو چماق دستشه چجور گذاشتید؟)
            ولتاژی که من استفاده کردم 12 ولت پاور کامپیوتر هست که تست کردم تقریبا 16 امپرو میده و توی حین کار نیم ولت بیشتر افت نمیکنه یعنی تقریبا 11.5 ولته!
            یه نکته دیگه اینکه اگه اهمتر توی حالت AC بذارید یک جریان AC حدود 1.7 هم از یک منبع DC میکشه :surprised:

            دیدگاه


              پاسخ : راه اندازی موتور براشلس (BLDC)

              با سلام،

              برادر، بدون بار هم سرعت کمه؟
              یه دفعه هم با بار و حداکثر PWM ولتاژ دو سر تغذیه مدارت رو بگیر، اعلام کن.
              صدای موتور چطوریه؟ نامتعارف نیست؟ موتور نرم کار میکنه؟

              ( اون شکلک چماق بدست هم از این سایته http://www.pic4ever.com/images/5.gif که بصورت image گذاشتم )
              مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

              Sh_Nourbakhsh@Yahoo.com

              http://s2.picofile.com/file/7170362468/_Wall_e_.jp

              دیدگاه


                پاسخ : راه اندازی موتور براشلس (BLDC)

                با سالام
                با حداکثر سرعت(pwm ماکزیمم) و با بار ولتاژ منبع دقیقا 10.35 ولت میشه!
                صدای موتور هم خوبه سلام میرسونه :mrgreen:. به نظرم نمیاد صدای موتور مشکلی داشته باشه .در ضمن از همه مهمتر اینکه فت ها و سیم ها و .... خیلی کم گرم میشن که این یعنی نرم افزار خوب داره کار میکنه

                منم هم فکر میکنم تا حدودی مشکل از درایور باشه.یک درایور دیگه که قبلا برای موتور بستم اینه
                با این تفاوت که
                N-Channel :IRF3205

                P-Channel : IRF4905

                ترانزیستور هم BC547

                خیلی جالبه وقتی این درایور رو میبندم اصلا pwm کار نمیکنه و سرعت موتور همیشه ماکزیممه و اگه و طرفای مینمم pwm رو که بدی کلا موتور خاموش میشه!

                دیدگاه


                  پاسخ : راه اندازی موتور براشلس (BLDC)

                  با سلام به همه دوستان.این برنامه بیسیک موتور هست البته مونطور که گفتم مقداری نامرتب هست که به بزرگی خودتون ببخشید
                  http://www.4shared.com/rar/5_Bfbrga/brushles.html
                  در ضمن شماتیک مدار هم اینه
                  http://s2.picofile.com/file/7217691612/SHN_BLMC2.jpg
                  ولی دوستانی که میخوان این مدارو ببندن به این نکته دقت کنن که ایسی که توی این شماتیک بکار رفته از نوع smd هست و اگه از ایسی dip استفاده میکنند باید حواسشون رو جمع کنند برای مثال توی برنامه از پایه oca2 استفاده شده که توی پیکج smd پایه 15 ایسی هست اما توی پکیج dip پایه 17 هست .مراجه به دیتاشیت
                  از طرفی باید در باره بسکام بگم که config های خود بسکام خیلی ابتدای و ساده هستند و برای نوشتن این برنامه از config های بسکام نمیشد استفاده کرد برای همین به صورت رجیستر کار شده(کپی برداری از برنامه جناب نور بخش :mrgreen که واسه فهمیدن قسمت هاش من بخش های مرتبط رو توی دیتا شیت ایسی کامل مطالعه کردم .
                  و در پایان باید بگم که من فقط از کلید روی پایه portd.7 استفاده کردم که فقط سرعت رو زیاد میکنه و وقتی مدارو روشن میکنین موتور خودش روشن میشه. و این رو هم اضافه کنم که در هنگام پروگرم حتما به فیوز بیت ها توجه کنین از جمله اینکه clock dicvide 8 رو غیر فعال کنید.

                  دیدگاه


                    پاسخ : راه اندازی موتور براشلس (BLDC)

                    با حداکثر سرعت(pwm ماکزیمم) و با بار ولتاژ منبع دقیقا 10.35 ولت میشه!
                    سلام خسته نباشید
                    از اینکه برنامتون به اشتراک گذاشتین ممنون :smile:
                    برای اینکه در شاخه 12 ولت افت ولتاژ نداشته باشید از 5 ولت پاورتون 4 یا 5 آمپر جریان بکشید
                    این مدعیان در طلبش بی خبرانند
                    آن را که خبر شد خبری باز نیامد

                    دیدگاه


                      پاسخ : راه اندازی موتور براشلس (BLDC)

                      با سلام،

                      آقای برادر، این موتور شما دقیقا کدومه؟ ( Emax BL2215/25 یا Emax BL2215/20 )
                      شما جدول ملخ های موتورت رو داری؟ فکر کنم با این ملخی که استفاده کردی، باید با 11 ولت 18 آمپر حدود 11000 دور بزنه! که دور خیلی بالائیه. ولی فکر کنم که بهترین ملخ براش 10x45 هستش :mrgreen:

                      فکر کنم در حال حاضر مشکل درایور داری، ماسفت ها و ترانزیستورهات خوبه، شما حتما از این نقشه استفاده کن، با توجه به موتورت، بهتره :
                      http://s2.picofile.com/file/7217691612/SHN_BLMC2.jpg

                      توجه داشته باشید که من توی فایل BLMCconfig.h فلگی رو در نظر گرفتم که Active-High و Active-Low بودن درایور ماسفت های منفی رو میشه انتخاب کرد ( با توجه به شماتیک مورد استفاده ) شما هم باید این نکته رو در برنامه خودتون در نظر داشته باشید! :arrow:

                      این که با اون شماتیک هم PWM کار نمیکنه برام عجیبه، شاید به موضوع بالا که گفتم ربط داشته باشه

                      راستی، ضمن اینکه سلام من رو هم به صدای موتورت میرسونی =)) به این نکته هم توجه کن که در صورتی که نرم افزارت درست کار نکنه و موتور درست روشن نشه، در سرعت پائین ( حدودا زیر 2000 دور اگر کمتر باشه بهتر متوجه میشی ) اگر دقت کنی صدای تیک - تیک از موتور میشنوی و اگر با دوتا انگشت های نازنینت موتور رو لمس کنی، ضربه های خفیفی رو احساس میکنی ( البته مراقب انگشت ها و دستت باش! )
                      مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                      Sh_Nourbakhsh@Yahoo.com

                      http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                      دیدگاه


                        پاسخ : راه اندازی موتور براشلس (BLDC)

                        برادر alireza.r این برنامه بسکام که زحمتش را کشیدی برای ما از پشت کوه آمده ها خیلی مبهم است :angry:
                        لطف می کنید الگریتم آنرا به صورت ساده و با زبان فارسی بیان کنید :biggrin:

                        دیدگاه


                          پاسخ : راه اندازی موتور براشلس (BLDC)

                          با سالام .موتوری که من استفاده کردم2215/25 هست همون که 55 گرمه
                          حق با شماست توی سرعت کم که موتور رو لمس کردم یه لرزش نا درستی احساس کرد و همین طور که گفتید موتور تق تق میکنه اما این تق تق انقدر سریع و پشت سره هم بودن که فکر میکردم صدای خوده موتوره :mrgreen:

                          نوشته اصلی توسط aivhl
                          ( حدودا زیر 2000 دور اگر کمتر باشه بهتر متوجه میشی )
                          :surprised:
                          فکر نمیکنم اصلا به این سرعت برسه.
                          طی دقت های بیشتر که انجام شد متوجه شدم که وقتی pwm نزدیکه 150 میرسه یک صدای سوته خیلی عجیبی از موتور به گوش میرسه و همینطور بیشتر که میشه صدا هم رفته رفته کم میشه.

                          واسه اون درایور دومی که میگم اینو عوض میکنم( LMCconfig.h )و روشن شدن و خاموش شدن فت هارو درست میکنم در غیر این صورت اصلا کار نمیکنه
                          شما موتورتون کاملا درست و با حداکثر سرعتش کار میکنه؟
                          نوشته اصلی توسط mreza17
                          برادر alireza.r این برنامه بسکام که زحمتش را کشیدی برای ما از پشت کوه آمده ها خیلی مبهم است :angry:
                          لطف می کنید الگریتم آنرا به صورت ساده و با زبان فارسی بیان کنید :biggrin:
                          راستش راجب برنامه باید بگم توضیحش خیلی زیاده اما روال کار همون هایی هستند که تا الان جناب نوربخش فرمودند.توی برنامه اکثرا به صورت رجیستری کار شده که برای اینکه متوجه بشین چیکار میکنه راهی جز خوندن دیتاشیت atmeg48 وجود نداره.شماره صفحه رجیسترهایی رو که استفاده کردم توی برنامه به همراه تضیح مختصر روبروش نوشتم که مطالعه کنید کاملا متوجه میشید

                          دیدگاه


                            پاسخ : راه اندازی موتور براشلس (BLDC)

                            حق با شماست توی سرعت کم که موتور رو لمس کردم یه لرزش نا درستی احساس کرد و همین طور که گفتید موتور تق تق میکنه اما این تق تق انقدر سریع و پشت سره هم بودن که فکر میکردم صدای خوده موتوره :mrgreen:
                            سلام
                            پس احتمال داره یه مشکل جزئی توی برنامه باشه درسته؟
                            این مدعیان در طلبش بی خبرانند
                            آن را که خبر شد خبری باز نیامد

                            دیدگاه


                              پاسخ : راه اندازی موتور براشلس (BLDC)

                              نوشته اصلی توسط alireza.r
                              ......
                              شما موتورتون کاملا درست و با حداکثر سرعتش کار میکنه؟
                              ......
                              با سلام،

                              موتور من خیلی نزدیک به دیتاشیت خودش کار میکنه و میتونم بگم که کارکردش کاملا طبیعیه، بدون بار حدود 9800 دور و با بار در ولتاژ 12 ولت تا 6200 دور میزنه و قدرت موتور هم خیلی خوبه ( من برای اندازه گیری سرعت از دورسنج دیجیتالی استفاده میکنم ) ، اگر هواسم نباشه منم از زمین بلند میکنه، من خودم رو با میخ میبندم به زمین =))
                              سعی کردم الگوریتم برنامه رو بهینه کنم، ولی تاثیر چندانی نداشت و سرعت رو فقط در حد 20 دور بر دقیقه افزایش داد ولی موتور به شدت سنگین کار میکرد و گشتاورش هم زیاد شده بود. دیدم به پیچیدگی و افزایش کدش نمی ارزه، بیخیالش شدم :biggrin:

                              حالا دیدی کاکو، همه واقعیات رو بروز ندادی!!! حدس برادر بابک درسته، یه مشکل توی روند اجرای برنامه هست، اما الزاما مربوط به نرم افزار و الگوریتم مربوطه نیست، این مشکل مربوط میشه به اختلال در کار مقایسه کننده، باید بگردی ببینی مشکل از چیه! ممکنه سخت افزاری هم باشه.
                              در درجه اول، سعی کن سر وسطی موتور رو با سرهای کناری جابجا کنی، این کار رو چند بار انجام بده و در نهایت برای جهت صحیح، فقط جای دو سر کناری رو با هم عوض کن. و در قدم بعدی کمی روی قسمت نمونه برداری کار کن و یه مولتی متر به SUMME_UVW متصل کن، ببین تغییراتش از چند تا چنده؟ ( باید از حدود نیم ولت تا حداکثر 3 ولت باشه) ، اگر اسکوپ داری، یه نگاهی به سیگنالهایی که من تصاویرشون رو گذاشتم بنداز، ببین چطوریاست؟ برای اطلاع از محاسبات قسمت نمونه گیر BACK_EMF به فایل PDF ی که قبلا اشاره کردم مراجعه کن....

                              اضافه کنم که این موتور جنابعالی خیلی خفنه، مال من پیشش جوجه است!!! اگر درست راه اندازی بشه، با ملخ 10x45 ، اگر هواست نباشه، حتی اگر خودتم با میخ به زمین وصل کنی، خودتو با کره زمین بلند میکنه oo: :mrgreen:

                              توجه داشته باش که این موتور بدون بار، تقریبا هیچ صدایی نداره و حدود 9800 دور هم میزنه و با این ملخ شما هم هیچی سرعت نداشته باشه، یه 7000 دوری باید بزنه :arrow:
                              مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                              Sh_Nourbakhsh@Yahoo.com

                              http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                              دیدگاه


                                پاسخ : راه اندازی موتور براشلس (BLDC)

                                با سلام مجدد،

                                ای برادر علیرضا، کاکو، کریستال میکرو باید 12 مگاهرتزی باشه، چرا مال شما 8 مگاهرتزیه برادر؟! شاید مشکلت همینجا باشه .....

                                در ضمن، مقدار PWM برای شروع بهتره حدود 60 باشه که تقریبا میشه همون 1800 تا 2000 دور بر دقیقه!
                                مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                                Sh_Nourbakhsh@Yahoo.com

                                http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                                دیدگاه

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