اطلاعیه

Collapse
No announcement yet.

تولید موج سینوسی با AVR

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

    #76
    پاسخ : تولید موج سینوسی با AVR

    نسخه بعدی پروژه تولید سینوسی که منحنی V/f به آن اضافه شده است:

    http://www.eca.ir/forum2/index.php?t...4364#msg254364
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

    دیدگاه


      #77
      پاسخ : تولید موج سینوسی با AVR

      با سلام مهندس ممنون از برنامه میشه لطف کنید درباره این منحنی و نحوه بدست آوردنش و دلیل اینکه در جایی از برنامه if(speed>=f_Base) از این شرطها استفاده کردید یه توضیح بدید

      دیدگاه


        #78
        پاسخ : تولید موج سینوسی با AVR

        نوشته اصلی توسط زوار
        با سلام مهندس ممنون از برنامه میشه لطف کنید درباره این منحنی و نحوه بدست آوردنش و دلیل اینکه در جایی از برنامه if(speed>=f_Base) از این شرطها استفاده کردید یه توضیح بدید
        در منحنی V/f در فرکانسهای کوچکتر از f_Boost و بزرگتر از f_Base دامنه منحنی ثابت است و در بین این دو مقدار هم بصورت خطی افزایش می یابد. در برنامه نوشته شده همین روال پیاده سازی شده است.
        اوژن: به معنای افکننده و شکست دهنده است
        دانایی، توانایی است-Knowledge is POWER
        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

        دیدگاه


          #79
          پاسخ : تولید موج سینوسی با AVR

          با سلام و تشکر از پاسختون شما در پستهای قبل گفتید برای اعمال acceleration -deceleratio-boost و... بهتره برنامه عوض بشه چه تغییراتی باید انجام بشه؟این تغییرات کلیه یا جزیی؟من میخوام mc3phac را با میکرو بسازم آیا با این برنامه امکانش هست یا چیز خوبی از آب در نمیاد؟در کنترل دورها نوشته نمودار به صورت خطی یا سهمی این یعنی چی؟ببخشید سوالام زیاد ممنون از پاسختون

          دیدگاه


            #80
            پاسخ : تولید موج سینوسی با AVR

            این برنامه را می توان به عنوان پایه برای تغییرات بیشتر استفاده کرد.اما برای مثلا Acceleration باید سرعت خواندن از جدول بجای یک عدد ثابت، یک عدد متغیر باشد. همچنین بهتر است دقت PWM بجای 8 بیتی، 9 یا 10 بیتی باشد تا در دامنه های کوچکتر شکل سینوسی خود را کمتر از دست بدهد. اگر شما از نظر برنامه نویسی در مرحله ای هستید که کل برنامه را بصورت کامل درک می کنید و در صورت لزوم هم می توانید در آن تعییراتی بدهید، امکان رسیدن به موارد مورد نظر را خواهید داشت.
            منحنی سهمی در کاربردهایی مثل پمپ ها مورد استفاده دارد که در دورهای کم به گشتاور بالایی احتیاج ندارد، اما با افزایش دور گشتاور بار بصورت مضاعف افزایش می یابد. بنابراین بجای منحنی خطی از سهمی در آن استفاده می شود.
            اوژن: به معنای افکننده و شکست دهنده است
            دانایی، توانایی است-Knowledge is POWER
            برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
            وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
            قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
            اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
            ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

            دیدگاه


              #81
              پاسخ : تولید موج سینوسی با AVR

              با سلام مهندس وتبریک سال نو ممنون از پاسختون میشه در این موارد مرا راهنمایی کنید
              1- اساسه برنامه همینه و تغییراتی که گفتید جزییه؟
              2-در مورد boost واضافه کردن ان به برنامه میشه توضیح بدید؟
              3-آیا اضافه کردن dead time به این برنامه کار سختیه؟
              ممنون از پاسختون

              دیدگاه


                #82
                پاسخ : تولید موج سینوسی با AVR

                من هم نوروز و سال نو را به شما تبریک می گویم وبرایتان آرزوی موفقیت دارم.
                اساس برنامه برای خواندن از یک جدول و ایجاد 3 سینوسی با لحاظ دامنه از نظر کلی به همین شکل است و بقیه تغییرات می تواند روی همین چارچوب اعمال شود. اضافه کردن ناحیه Boost به این دلیل است که مقاومت ناشی از سلف داخلی موتور با کاهش فرکانس بصورت خطی کاهش می یابد.اما مقاومت اهمی آن ثابت است و در فرکانس های پائین که مقاومت اهمی غالب می شود،دامنه ولتاژ هم باید تقریبا ثابت بماند. اضافه کردن Dead time با استفاده از گیت های منطقی و مقاومت وخازن به راحتی میسر است و اگر قصد انجام اینکار در داخل میکروکنترلر را دارید، باید گزینه XMEGA را انتخاب کنید. البته در mega64 هم در صورت بکار گرفتن هر 6 خروجی pwm در دو تایمر 16 بیتی با تمهیداتی قابل انجام است. اما کار مشکلی است و دو تایمر 16 بیتی را اشغال می کند که عملا سایر عملیات نرم افزاری مربوط به زمان گیری را با مشکل مواجه می کند.
                اوژن: به معنای افکننده و شکست دهنده است
                دانایی، توانایی است-Knowledge is POWER
                برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                دیدگاه


                  #83
                  پاسخ : تولید موج سینوسی با AVR

                  با سلام مهندس از پاسخهای شما ممنونم ببخشید اگر سوالاتم زیاده ممنونم از شما برای وقتی که برای پاسخگویی به سوالات اختصاص میدید مهندس منظورم از boost همونه که در mc3phac به نوشته شدهvoltage boost که با اضافه کردنش قدرت موتور بیشتر میشه که فکر کنم بهش میگن اضافه کردن هارمونیک سوم 2- برای این جمله مدار پیشنهادی دارید((گیت های منطقی و مقاومت وخازن))

                  دیدگاه


                    #84
                    پاسخ : تولید موج سینوسی با AVR

                    برای ناحیه ای که ولتاژ را ثابت درنظر می گیریم، هر چه مقدار این ولتاژ بیشتر باشد بصورت طبیعی جریان کشی وقدرت موتور هم بیشتر خواهد شد. همچنین ممکن است این ولتاژ در سرتاسر ناحیه ثابت نباشد، بلکه شیب کاهش آن کمتر باشد. شکل 4-6 را در فایل زیر برای درک بهتر ببینید:

                    http://www.motorola.com.cn/semicondu...ote/AN1664.pdf

                    برای مدار Dead time میتوانید از یک گیت AND از نوع اشمیت تریگر استفاده کنید که به یک ورودی آن پالس PWM اعمال می شود و به ورودی دوم همین پالس بعد از گذر از یک فیلتر RC پائین گذر اعمال می شود. بنابراین اگر یک شدن پالس را به عنوان فرمان روشن شدن IGBT در نظر بگیرید، در خروجی AND این فرمان با تاخیر انجام می شود. اما فرمان خاموش شدن بدون تاخیر انجام می شود. زیرا برای یک شدن خروجی باید هر دو ورودی یک باشند ( و یک ورودی دارای تاخیر است) اما برای صفر شدن تنها یک ورودی کافی است که صفر باشد و تاخیر ورودی دوم در آن تاثیری ندارد. برای فرمان IGBT دوم دوم هم می توان در ساده ترین شکل در مورد NOT پالس PWM همین کار را انجام داد.اگر منطق روشن شدن لازم باشد معکوس باشد بجای AND میتوان از NAND استفاده کرد.
                    اوژن: به معنای افکننده و شکست دهنده است
                    دانایی، توانایی است-Knowledge is POWER
                    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                    دیدگاه


                      #85
                      پاسخ : تولید موج سینوسی با AVR

                      با سلام مهندس میخوام از اضافه کردن acceleration به برنامه شروع کنم کدوم بخش را شما برای acceleration ثابت گذاشتید که من متغیرش کنم؟آیا برای acceleration تا 3000 ثانیه باید تغییر کلی در برنامه بدم؟

                      دیدگاه


                        #86
                        پاسخ : تولید موج سینوسی با AVR

                        نوشته اصلی توسط زوار
                        با سلام مهندس میخوام از اضافه کردن acceleration به برنامه شروع کنم کدوم بخش را شما برای acceleration ثابت گذاشتید که من متغیرش کنم؟آیا برای acceleration تا 3000 ثانیه باید تغییر کلی در برنامه بدم؟
                        مقدار OCR3A که توسط ADC بصورت ثابت تعیین می شود، برای شتاب باید ابتدا توسط یک تایمر دیگر شروع به کاهش کند تا به حد مورد نظر توسط ADC برسد. این مسئله که قصد تغییر برنامه برای پیاده سازی این امر را دارید، کار خوب و مثبتی است. اما به نظر می رسد اگر در ابتدا روی یک شکل ساده تر (مثلا یک PWM ساده که نور یک LED تغییر می دهد) کار کنید، بهتر باشد تا دچار پیچیدگی های برنامه نشوید.
                        اوژن: به معنای افکننده و شکست دهنده است
                        دانایی، توانایی است-Knowledge is POWER
                        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                        دیدگاه


                          #87
                          پاسخ : تولید موج سینوسی با AVR

                          با سلام مهندس باید سعیم را بکنم که این کار را انجام دهم البته تا اینجا متوجه شدم که کار سختیه
                          امیدوارم با راهنمایی شما بتونم این کاررا انجام دهم میشه لطف کنید این قسمت برنامه را یه توضیح
                          بدید که چه جوری این قسمت را بدست آوردید ممنون

                          unsigned char A_calc(unsigned char sine, unsigned char Ain)
                          {
                          unsigned int sine_temp;
                          unsigned char sine1;
                          sine1=((sine<128)?~sine:sine);
                          sine_temp=(((unsigned int)sine1)<<1);
                          sine_temp-=255;
                          sine_temp*=Ain;
                          sine_temp>>=8;
                          sine_temp+=255;
                          sine_temp>>=1;
                          sine1=(unsigned char)sine_temp;
                          if (sine<128) sine1=~sine1;
                          return sine1;
                          }
                          و همچنین این مقادیررا

                          #define freq_Base 50U // 50Hz
                          #define freq_Boost 10U // 10Hz
                          #define A_Boost 25UL //
                          #define f_Base (freq_Base * 10U -5U)
                          #define f_Boost (freq_Boost * 10U -5U)
                          #define N (255UL-A_Boost)
                          #define M (f_Base-f_Boost)

                          دیدگاه


                            #88
                            پاسخ : تولید موج سینوسی با AVR

                            عملیات انجام شده در تابع برای حذف DC از شکل موج و اعمال ضریب تضعیف به بخش AC و مجددا اضافه کردن DC به آن است. مقادیر دوم هم متناظر همان شکلی است که لینک آن را در دو پست قبل داده بودم. 50 متناظر فرکانس برق شهر است، اما A_Boost و f_Boost بصورت انتخابی قرار داده شده اند و مقدار آن را می توان بسته به شرایط برای تغییر مشخصه عملکرد موتور تغییر داد.
                            اوژن: به معنای افکننده و شکست دهنده است
                            دانایی، توانایی است-Knowledge is POWER
                            برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                            وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                            قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                            اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                            ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                            دیدگاه


                              #89
                              پاسخ : تولید موج سینوسی با AVR

                              سلام
                              عیدتون مبارک

                              مهندس کی نژاد یه سوال از شما دارم :
                              من حدود دو هفته پیش رفته بودم کارخونه موتوژن تبریز ، بعد اونجا با یکی از مهندساش گپ میزدیم که گفت که دانشجویی اصفهانی یه پروزه ای آورده بود که برای تبدیل تک فاز به سه فاز بود و میکفت زیر 20 تومن ساخته شده ( البته من مدار رو ندیدم
                              اونجا که داشتیم حرف میزدیم ایشون گفتند که با یک فاز میشه سه فاز با ولتاژ خط 380 ولت بدست آورد ولی بر اساس روشه تغیر اختلاف فاز هست ولی من یادمه که شما تو یکی از تایپیک ها گفتین که اختلاف 220 ولت حداکثرا میشه بدست آورد و تو عمل با ضریب 0.85 میشه !

                              میشه بیشتر توضیح بدین
                              ممنون
                              صدایی از قلب آذربایجان

                              Ya$a odlar yurdum AZERBAICANIM

                              دیدگاه


                                #90
                                پاسخ : تولید موج سینوسی با AVR

                                با سلام ممنون از پاسختون مهندس برای اضافه کردن acceleration باید یک تایمر را فعال کرد مثلا برای 10 ثانیه و دراین زمان به مقدار مثلا temp اضافه شود تا به مقدار adc برسد؟

                                دیدگاه

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