اطلاعیه

Collapse
No announcement yet.

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

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

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

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

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

    Sh_Nourbakhsh@Yahoo.com

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

    دیدگاه


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

      :surprised:
      میگن نیاز مادر اختراعه هااااا
      روش جالبیه!!

      دیدگاه


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

        سلام بر دوستان گرامی.من نمیدونم چرا یادم میره بیام توی این تایپیک :mrgreen:
        نوشته اصلی توسط erfan m
        منم موافقم توی مجله نویز ساخت هلی کوپتر بود ولی ...
        میگم از این هواپیما هایی که مثل هلی کوپتر بلد میشه درست کنیم
        یه فیلم کوتاه :

        http://eca.ir/sharing/uploads/13455785741.rar
        برادر این که چیزی نیست.عکس های زیرو ببین تا مفهوم خلاقیت رو دریابی




        استتارو حال کردی؟ :surprised:

        نوشته اصلی توسط aivhl
        با سلام،

        دوستان محترم، شرمنده، یه خورده رفته بودم تویه دیوار!!! نتونستم یه چند وقتی بیام خدمت تون....
        کجا رفته بودی اخوی؟ :surprised:

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

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

        دیدگاه


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

          داداش من به شما حق میدم.ما ها خیلی کم کاری کردیم واقعا اکثر کار این درایور رو خود شما انجام دادید ولی حیف نیست میخواید بذاریدش کنار.تقریبا میتونم بگم سخت ترین قسمت کوادروتور طراحی و ساخت اسپیدش بوده بقیش راه اندازی چند تا سنسور و بالانس کردن هست که دیتاشیتشون هم به 20 صفحه نمیرسه!من خودم هم امکانات سخت افزاری چندانی ندارم .وقتم هم نسبتا محدوده.ولی انقدری هست که بشه حداقل یواش یواش کار رو جلو برد. من خودم عزمم جزمه و اگه شرایطش بیاد و وقت ازاد تری داشته باشم حاضرم تمام وقتم رو روی این قضیه بذارم
          اره انصافا شهرام خان خودشون یه تنه همه کارو بردن جلو و درایور رو پله به پله ارتقا دادن و بقیه (مثال بارزش خود من!!) بیشتر استفاده کننده بودن...
          البته برای کواد یه مسئله مهم دیگه فلایت کنترلشه که مدریت 4 تا موتور و سنسور هارو داره...
          برای این مسئله 2 تا برد معروف وجود داره یکیش multiwii هست یکی هم KKMulticopter که soodi جان اولی رو استفاده کرده... تجربه و اطلاعات خوبی هم در این مورد داره :agree:
          این قسمت بیشتر کار روی نرم افزاره تا سخت افزار (البته زیروسکوپ خیلی مهمه)

          دیدگاه


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

            1

            دیدگاه


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

              آقای aivhl با کمال تشکر ازتون باید بگم واقعا خسته نباشید / مطالب مفید و پایه ای رو در این رابطه توضیح داده بودید و نشون میداد درک صحیح و خوبی از عملکردش دارید . ممنون :icon_razz:
              کارتون عالی بود :applause:
              متاسفانه فکر میکردم کل تاپیک بحث های انحرافی باشه . کل صفحه هارو دیده بودم ولی اون چند صفحه پست های مفید شما رو دیگه ریز یابی نکرده بودم . کاش زودتر متوجه میشدم به سختی جواب هام رو با تست گرفتم :sad: مثل
              توجه داشته باشید که سرعت موتور با اعمال PWM به ماسفت های مثبت و اعمال اون به فاز صحیح تعیین میشه و ماسفت های منفی هم نقش یک کلید رو بازی میکنند و فقط سر دیگر فاز مربوطه رو به زمین وصل میکنند.
              دوستان ناراحت نشن ولی بقیه پست ها همه بی ارزش یا کم ارزش /
              در ضمن دلیل این پیچیدگی ها برای من این بوده که اول با سه فاز راه انداختم و مراحل رو بررسی کردم و بعد با روش شما مطابقت نداشته . چون شما با 2 فاز در اصل راه میاندازید . و همچنین بنظرم برای آقا babak و سوالاتشون
              چون اون 6 مرحله اش با این 6 مرحله روش BEM فرق داره و حتی با درایور هم ممکنه به مشکل بخورن

              یه سوال دستور ماسفت های منفی چجوری داده میشه ؟ به اونا PWM داده نمیشه ؟ البت بعید میدونم ولی ایا دستور فقط NOT سوئیچ های بالایی (مثبت ) هست ؟ یه کم توضیح بدین ممنون میشم

              دیدگاه


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

                با سلام،

                خیلی ممنونم دوست عزیز HI VOLTAGE

                یه سوال دستور ماسفت های منفی چجوری داده میشه ؟ به اونا PWM داده نمیشه ؟ البت بعید میدونم ولی ایا دستور فقط NOT سوئیچ های بالایی (مثبت ) هست ؟ یه کم توضیح بدین ممنون میشم
                اول به این شماتیک یه نگاهی بندازید :
                http://s1.picofile.com/file/7431436876/_SHN_BLMC25_SMD_.jpg

                جواب سوال شما توی این عکس هستش :
                http://s2.picofile.com/file/7223582789/BLDC_Steps.jpg

                مثلا در مرحله شماره 1 :

                UH_ON یعنی اینکه PWM به ماسفت مثبت فاز U اعمال میشه
                VL_ON یعنی اینکه ماسفت منفی فاز V کاملا روشن میشه
                SENSE_W یعنی اینکه کنترل و خوندن فیدبک از طریق فاز W توسط مقایسه کننده داخلی میکرو انجام میشه


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

                Sh_Nourbakhsh@Yahoo.com

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

                دیدگاه


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

                  نوشته اصلی توسط mahdi.7
                  اره خیلی خوب پرواز میکنه :job: چند دقیقه میتونه تو هوا بمونه؟
                  اگه بشه از اسپید کنترل های ساخت خودمون استفاده کنیم که دیگه عالی میشه ولی ورژن SMD هم خیلی بزرگه اندازش (ماسفت SMD گیر نمیاد )
                  سلام

                  خیلی ممنون ، شرمنده می کنید
                  مدت پرواز بستگی به باطری داره ، اگر باطری با آمپر بیشتر بزارید و جنس خوب حدود نیم ساعت هم می تونید پرواز کنید ولی باطری های چینی که الان به وفور هم توی بازار پیدا میشه کیفیت خوبی نداره و زود باد میکنه و نهایتا 15 دقیقه پرواز دارید ، من خودم حدود 10 دقیقه پرواز می کنم با باطری 2200 میلی آمپر 3 سل
                  http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

                  دیدگاه


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

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



                    UH_ON یعنی اینکه PWM به ماسفت مثبت فاز U اعمال میشه
                    VL_ON یعنی اینکه ماسفت منفی فاز V کاملا روشن میشه
                    این روشن شدن ماسفت ها با اختلاف فاز چگونه است ، منظور داخل میکرو /؛ PWM فقط برای تغییر سرعته ؟ پس مراحل کموتاسیون با چی کنترل میشه خود فیدبک بعد از گیت هایی به پالس تبدیل و به ماسفت داده میشه
                    یا از روی فیدبک خود میکرو پالس هارو میسازه ؟
                    میخوام بدونم با برنامه به میکرو میگید چی کار کنه (با کنترل سرعت کار ندارم ) فقط از مقایسه تا ساختن 6 پالس خروجی برای ماسفت

                    دیدگاه


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

                      با سلام،

                      ممنونم، انیمیشن زیبا و گویایی هستش...
                      ما هم این مراحل 6 گانه رو که در این انیمیشن بنام clock0 تا clock5 نام گذاری شده رو دقیقا در این روتین اجرا میکنیم ( Case0 تا Case5 ) :
                      کد:
                      void next_commutate_state(unsigned char startup)
                      {
                      	switch(rotor_STATE)
                      	{
                      		case (0):
                      			if(SENSE_L || startup)
                      			{
                      				CTtemp += BEMF_WDT_read();
                      				CTindex++;
                      				
                      				WH_OFF();
                      				UH_ON();
                      				
                      				SENSE_W();
                      				
                      				rotor_STATE = 1;				
                      				BEMF_WDT_set(1);
                      			}
                      			break;
                      
                      		case (1):
                      			if(SENSE_H || startup)
                      			{
                      				CTtemp += BEMF_WDT_read();
                      				CTindex++;
                      
                      				VL_OFF();
                      				WL_ON();
                      				
                      				SENSE_V();
                      				
                      				rotor_STATE = 2;
                      				BEMF_WDT_set(1);				
                      			}
                      			break;
                      
                      		case (2):
                      			if(SENSE_L || startup)
                      			{
                      				CTtemp += BEMF_WDT_read();
                      				CTindex++;
                      
                      				UH_OFF();
                      				VH_ON();
                      				
                      				SENSE_U();
                      
                      				rotor_STATE = 3;
                      				BEMF_WDT_set(1);				
                      			}
                      			break;
                      	
                      		case (3):
                      			if(SENSE_H || startup)
                      			{
                      				CTtemp += BEMF_WDT_read();
                      				CTindex++;
                      
                      				WL_OFF();
                      				UL_ON();
                      				
                      				SENSE_W();
                      
                      				rotor_STATE = 4;
                      				BEMF_WDT_set(1);
                      			}
                      			break;
                      
                      		case (4):
                      			if(SENSE_L || startup)
                      			{
                      				CTtemp += BEMF_WDT_read();
                      				CTindex++;
                      
                      				VH_OFF();
                      				WH_ON();
                      				
                      				SENSE_V();
                      
                      				rotor_STATE = 5;
                      				BEMF_WDT_set(1);
                      			}
                      			break;
                      
                      		case (5):
                      			if(SENSE_H || startup)
                      			{
                      				CTtemp += BEMF_WDT_read();
                      				CTindex++;
                      				
                      				UL_OFF();
                      				VL_ON();
                      				
                      				SENSE_U();
                      
                      				rotor_STATE = 0;
                      				BEMF_WDT_set(1);
                      			}
                      			break;
                      	}//switch
                      }	//next_commutate_state

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

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

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

                      Sh_Nourbakhsh@Yahoo.com

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

                      دیدگاه


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

                        راستی، اینجا رو هم ببین، در مورد Back-EMF هستش :

                        http://www.eca.ir/forum2/index.php?topic=52169.msg324789#msg324789
                        مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                        Sh_Nourbakhsh@Yahoo.com

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

                        دیدگاه


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

                          ممنون از لطفتون و زحمتی که کشیدین . در ضمن تقریبا همه پست هاتون رو خوندم / ولی متاسفانه جوابم رو هنوز نگرفتم شاید من بد میپرسم ؛ با اینکه سعی میکنم منظورمو برسونم :sad:
                          حالا فعلا این شکل موج هارو با یکی از این موتورها گرفتم میذارم تا بعدا ببینم چجوری میتونم جواب بگیرم / میدونید جواب سوال من با یک کلمه (بله - خیر ) پاسخ داده میشه . :redface:
                          حقیقت مراحل رو بلدم میشناسم و مدت ها روشون کار کردم و ملق زدم و دستم اومده که حتی بدون اطلاعات به روش ها و نکات مهمی رسیدم . اینجا توضیح از عملکرد نمیخوام که فقط یه چیز کوچیک رو میخوام در رابطه با میکرو بدونم که ....ببینیم چی میشه :biggrin:

                          دیدگاه


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

                            سلام

                            برای چی این ماسفت بالایی دوتا ترانزیستور داره ولی پاینی یه دونه ؟

                            http://s1.picofile.com/file/7431436876/_SHN_BLMC25_SMD_.jpg

                            دیدگاه


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

                              یکی برای روشن کردن و یکی برای خاموش کردن است و چرا ؟
                              چون / اول بگم که ماسفت برای روشن شدن کامل باید به گیت تا سورس 12 ولت بدیم . ماسفت مثبت (پایین ) با مقاومت که تا مثبت وصله روشن میشه و ترانزیستور برای ریختن منفی در گیت و خاموش کردن گذاشته شده . چون میکرو 5 ولت میده غیر از این نمیشد ماسفت رو روشن کرد
                              در ضمن زمانی که از کلکتور ترانزیستور مصرف میکنیم (امیتر مشترک) با دادن 0.6 ولت به بیس به راحتی ترانزیستور روشن میشه

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

                              دیدگاه


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

                                چرا ماسفت لاجیک نزاریم مستقیم وصلش کنیم به میکرو ؟ اینجوری PCB خیلی ساده تر میشه

                                دیدگاه

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