اطلاعیه

Collapse
No announcement yet.

راه اندازی استپر موتور با قابلیت Pattern generation در awex

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

    راه اندازی استپر موتور با قابلیت Pattern generation در awex

    با درورد

    من یک استپر با درایور ایمتر مشترک با TIP122 بستم
    برای راهندازی حداکثری توان استپر میخوام با تایمر راهندازی کنم
    و سوال بعدی بهتره مدار قدرتو کلکتور مشترک ببندم یا ایمتر؟

    خب برای راهندازی تایمر از چه مدی و با چه مقدار TOP شروع کنم؟
    کسی تجربه ای داره
    هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
    بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
    میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

    تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

    #2
    پاسخ : راه اندازی استپر موتور با قابلیت Pattern generation در awex

    راه اندازی استپر موتور به دو روش unipolar و bipolar قابل انجام است که در روش دوم به شرطی که XMEGA وظیفه کنترل سوئیچ های پل قدرت را داشته باشد، می توان از قابلیت اضافه کردن Dead time در واحد awex استفاده کرد. همچنین بخش Pattern generation می تواند برای تولید شکل موج در فواصل زمانی مشخص بکار رود. در هر صورت لازم است اطلاعات بیشتری از آرایش سیم پیچ های موتور و نوع درایو آن را ارائه دهید.
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

    دیدگاه


      #3
      پاسخ : راه اندازی استپر موتور با قابلیت Pattern generation در awex

      موتور مورد استفاده
      6 سیم بوده ،ارایشی که استفاده کردیم بدین صورت است چهار پین اول پورت C به موتور اول و چهار پین اول پورت F به موتور دوم و هر پین توسط یک TIP122 که بصورت ایمتر مشترک بسته شده راهندازی می شود
      دو کد من تا اینجا استفاده کردم
      کد راهندازی تایمر
      کد:
        TC_SetPeriod( &TCC0, 0xFFFF );
        TC0_ConfigWGM( &TCC0, TC_WGMODE_SS_gc );
        TC0_EnableCCChannels( &TCC0, TC0_CCAEN_bm );
        TC0_EnableCCChannels( &TCC0, TC0_CCBEN_bm );
        TC0_EnableCCChannels( &TCC0, TC0_CCCEN_bm );
        TC0_EnableCCChannels( &TCC0, TC0_CCDEN_bm );
        TC0_ConfigClockSource( &TCC0, TC_CLKSEL_DIV1_gc );
      کد کنترل موتور
      کد:
        for(i=6550;i<65500;i+=40){
         TC_SetCompareA( &TCC0, i );
         TC_SetCompareB( &TCC0, i/10 );
         TC_SetCompareD( &TCC0, 65500-i );
         
         TC_SetCompareD( &TCF0, i );
         TC_SetCompareC( &TCF0, i/10 );
         TC_SetCompareA( &TCF0, 65500-i );
      
        }
        
        for(i=6550;i<65500;i+=40){
         TC_SetCompareB( &TCC0, i );
         TC_SetCompareC( &TCC0, i/10 );
         TC_SetCompareA( &TCC0, 65500-i );
         
         TC_SetCompareC( &TCF0, i );
         TC_SetCompareB( &TCF0, i/10 );
         TC_SetCompareD( &TCF0, 65500-i );
        }
        
        for(i=6550;i<65500;i+=40){
         TC_SetCompareC( &TCC0, i );
         TC_SetCompareD( &TCC0, i/10 );
         TC_SetCompareB( &TCC0, 65500-i );
         
         TC_SetCompareB( &TCF0, i );
         TC_SetCompareA( &TCF0, i/10 );
         TC_SetCompareC( &TCF0, 65500-i );
        }
        
        for(i=6550;i<65500;i+=40){
         TC_SetCompareD( &TCC0, i );
         TC_SetCompareA( &TCC0, i/10 );
         TC_SetCompareC( &TCC0, 65500-i );
         
         TC_SetCompareA( &TCF0, i );
         TC_SetCompareD( &TCF0, i/10 );
         TC_SetCompareB( &TCF0, 65500-i );
        }
      این کد رو بصورت یک سیم پیچ فعال هم نوشتم
      ولی در کل کد زیر که بدون تایمر راهندازی میکند
      قدرت بهتری از موتور گرفتیم
      کد:
        m10on;
        m11on;
        m12off;
        m13off;
        m20on;
        m21on;
        m22off;
        m23off;
        delay_us(15000);
        m10off;
        m11on;
        m12on;
        m13off;
        m20off;
        m21on;
        m22on;
        m23off;
        delay_us(15000);
        m10off;
        m11off;
        m12on;
        m13on;
        m20off;
        m21off;
        m22on;
        m23on;
        delay_us(15000);
        m10on;
        m11off;
        m12off;
        m13on;
        m20on;
        m21off;
        m22off;
        m23on;
        delay_us(15000);

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

      تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

      دیدگاه


        #4
        پاسخ : راه اندازی استپر موتور با قابلیت Pattern generation در awex

        بنا به توضیحات ارائه شده هر موتور را بصورت unipolar درایو کرده اید ، اما مشخص نیست کد اول در تغییر خطی مقدار مقایسه موج های pwm بر چه اساسی نوشته شده است. آیا منظور شما پیاده سازی روش های Full step یا Half step است؟
        اوژن: به معنای افکننده و شکست دهنده است
        دانایی، توانایی است-Knowledge is POWER
        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

        دیدگاه


          #5
          پاسخ : راه اندازی استپر موتور با قابلیت Pattern generation در awex

          کد اول چیزی بین فول و هالفه ولی کد زیر میکرواستپ استفاده کردم
          کد:
           for(i=0;i<65500;i+=20){
             TC_SetCompareA( &TCC0, i );
             TC_SetCompareD( &TCF0, i );
             TC_SetCompareD( &TCC0, 65500-i );
             TC_SetCompareA( &TCF0, 65500-i );
            }
            
            for(i=0;i<65500;i+=20){
             TC_SetCompareB( &TCC0, i );
             TC_SetCompareC( &TCF0, i );
             TC_SetCompareA( &TCC0, 65500-i );
             TC_SetCompareD( &TCF0, 65500-i );
            }
            
            for(i=0;i<65500;i+=20){
             TC_SetCompareC( &TCC0, i );
             TC_SetCompareB( &TCF0, i );
             TC_SetCompareB( &TCC0, 65500-i );
             TC_SetCompareC( &TCF0, 65500-i );
            }
            
            for(i=0;i<65500;i+=20){
             TC_SetCompareD( &TCC0, i );
             TC_SetCompareA( &TCF0, i );
             TC_SetCompareC( &TCC0, 65500-i );
             TC_SetCompareB( &TCF0, 65500-i );
            
            }
          مهم نیست از چه مدی استفاده کنم فقط حداکثر سرعت و حداکثر قدرت رو لازم دارم
          هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
          بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
          میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

          تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

          دیدگاه


            #6
            پاسخ : راه اندازی استپر موتور با قابلیت Pattern generation در awex

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

            دیدگاه


              #7
              پاسخ : راه اندازی استپر موتور با قابلیت Pattern generation در awex

              با تشکر از جناب طراح
              سوال داشتم ایا میتونید شماتیک و نمونه کدی به من معرفی کنید تا بتونم روی این مورد کار کنم
              و awex برروی سری a3 فقط روی یکپورت موجود است
              ایا امکان کنترل 2 steper را دارا می باشد(با توجه به چپ گرد و راست گرد موتور های در زمان های مختلف)
              هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
              بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
              میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

              تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

              دیدگاه


                #8
                پاسخ : راه اندازی استپر موتور با قابلیت Pattern generation در awex

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

                دیدگاه


                  #9
                  پاسخ : راه اندازی استپر موتور با قابلیت Pattern generation در awex

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

                  من avr رو تو این سایت یاد گرفتم و زندگیم رو عوض کردم حالا تو یک پروژه جدید می خوام کلا برم به سمت xmega چون واقعا سخت افزار های داخلی فوق العادش منو مجذوب خودش کرده و می خوام یک انقلاب تو طراحی های خودم بوجود بیارم

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

                  من می خوام با xmega یک استپ موتور رو بدون درگیری cpu راه بندازم البته می دونم باید یه حداقلی کار بکشم ولی می خوام در حد یه اینیشیالایز باشه و بس چون موتور من به یک سمت و با یک سرعت ثابت در حرکته

                  من فهمیدم که میشه sequence کاری استپ موتور که مثلا 4 تاست و یا حتی bldc که 6 تا هست رو به صورت بیت پترن بدم به قسمت pattern generator و اونم برام می سازتش

                  ابتدا فکر کردم باید یه چند تا رجیستر کنترلی رو ردیف کنم و بعدش مثلا تو 6 تا رجیستر sequence های bldc رو بزارم ولی بعد که دقیق خوندم دیتا شیتو دیدم همش 2 بافر برای پترن داره و اگر بخواهی پترن مختلف بریزی تو خروجی باید cpu رو درگیر کنی و بافر رو دوباره پر کنی

                  دوستان بگید من درست فهمیدم یا خیر به علاوه اینکه اگر اینچیزی که من می گم درست باشه فقط این pattern generator به درد این می خوره که با یک منبع pwm تو چند تا پین pwm رو بسازی و مثلا برای کنترل تورک یا اسپید bldc ازش بهره ببری ولی برای این کار من نمی دونم می شه یا نه

                  البته می تونم با dma و ذخیره 4 byte تو رم و انتقالش به port کار کنم ولی اونجوری سرعت نور می شه و دیگه موتور کار نمی کنه :icon_razz:

                  اگر منو برای رسیدن به این خواستم راهنمایی کنید ممنون می شوم.

                  قبل راهنمایی بسیار متشکرم.

                  محمد حسن زاده
                  همانطور كه مايل نيستم بنده كسي باشم، حاضر نيستم آقاي كسي باشم. كساني كه مخالف آزادي ديگرانند، خود لياقت آزادي را ندارند.((آبراهام لينكن))

                  قدرت شگفت انگيز نيروهاي خلاق و استعدادهاي نهفته آدمي هنگامي آشكار مي شود كه نيازي حياتي، تواناييهاي او را به فعاليت وادارد و كشش آرزويي، سراپاي وجودش را به جنب و جوش درآورد.((آبراهام لينكن))

                  [img width=343 height=100]http://www.elecdesigner.com/uploads/PRO-DESIGNER-GROUP.jpg[/img]

                  دیدگاه


                    #10
                    پاسخ : راه اندازی استپر موتور با قابلیت Pattern generation در awex

                    نوشته اصلی توسط mohammad hassanzade
                    البته می تونم با dma و ذخیره 4 byte تو رم و انتقالش به port کار کنم ولی اونجوری سرعت نور می شه و دیگه موتور کار نمی کنه
                    راه حل در استفاده از DMA با انتخاب تایمر به عنوان منبع تریگر DMA است که در اینصورت انتقال DMA با فاصله زمانی تعیین شده توسط تایمر انجام می شود.
                    اوژن: به معنای افکننده و شکست دهنده است
                    دانایی، توانایی است-Knowledge is POWER
                    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                    دیدگاه


                      #11
                      پاسخ : راه اندازی استپر موتور با قابلیت Pattern generation در awex

                      ایول جوابمو گرفتم ممنون جناب کی نژاد

                      ولی چقدر خفن شده سایت سوالمو آوردین تو این پست :biggrin:

                      ولی من از دو کانال dma بهره گرفتم و یکی هم برای این بکار ببرم می ترسم بعدا کم بیارم چون بردم 3 تا peripheral موازی تو ebi داره و امکان بهره گیری high speed از uart و adc رو نمی خوام از دست بدم
                      به نظرتون کار دیگری امکان پذیر نیست؟

                      همانطور كه مايل نيستم بنده كسي باشم، حاضر نيستم آقاي كسي باشم. كساني كه مخالف آزادي ديگرانند، خود لياقت آزادي را ندارند.((آبراهام لينكن))

                      قدرت شگفت انگيز نيروهاي خلاق و استعدادهاي نهفته آدمي هنگامي آشكار مي شود كه نيازي حياتي، تواناييهاي او را به فعاليت وادارد و كشش آرزويي، سراپاي وجودش را به جنب و جوش درآورد.((آبراهام لينكن))

                      [img width=343 height=100]http://www.elecdesigner.com/uploads/PRO-DESIGNER-GROUP.jpg[/img]

                      دیدگاه


                        #12
                        پاسخ : راه اندازی استپر موتور با قابلیت Pattern generation در awex

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

                        دیدگاه


                          #13
                          پاسخ : راه اندازی استپر موتور با قابلیت Pattern generation در awex

                          YES SIR

                          ممنون از جوابتون و وقتی که گذاشتید همین کارو می کنم اگر نیاز پیدا کردم به DMA بیشتر اونوقت مجبورم کلک آخرمو بزنم و چهار تو پین CPLD مدارو واسه استپ موتور بردارم :job: :icon_razz:

                          ولی اول نظر شما رو پیاده می کنم

                          یا علی
                          همانطور كه مايل نيستم بنده كسي باشم، حاضر نيستم آقاي كسي باشم. كساني كه مخالف آزادي ديگرانند، خود لياقت آزادي را ندارند.((آبراهام لينكن))

                          قدرت شگفت انگيز نيروهاي خلاق و استعدادهاي نهفته آدمي هنگامي آشكار مي شود كه نيازي حياتي، تواناييهاي او را به فعاليت وادارد و كشش آرزويي، سراپاي وجودش را به جنب و جوش درآورد.((آبراهام لينكن))

                          [img width=343 height=100]http://www.elecdesigner.com/uploads/PRO-DESIGNER-GROUP.jpg[/img]

                          دیدگاه


                            #14
                            پاسخ : راه اندازی استپر موتور با قابلیت Pattern generation در awex

                            با سلام خدمت دوستان
                            من می خواهم 2 فرکانس 10 و 20 کیلو هرتز را به همراه not آنها با استفاده از تایمر xmega تولید کنم. با استفاده از قابلیت awex تونستم فقط یک فرکانس را تولید کنم . یعنی فقط CCA در این مد قابل قبوله و کانال های دیگه عملا نمی توانند در فرکانس دیگری کار کنند. آیا راه حلی وجود داره که بتونم با تایمر 0 این کار را انجام بدهم؟

                            دیدگاه


                              #15
                              پاسخ : راه اندازی استپر موتور با قابلیت Pattern generation در awex

                              اگر هدف شما از استفاده از بخش AWeX استفاده از قابلیت Not بودن دو شکل موج (یا احتمالا اضافه کردن Dead time) است، از روش های مختلفی می توان این کار را انجام داد. اما قبل از آن توضیح دهید که آیا محدودیتی در استفاده از یک تایمر دارید و یا می توان از بیش از یک تایمر هم استفاده کرد.
                              اوژن: به معنای افکننده و شکست دهنده است
                              دانایی، توانایی است-Knowledge is POWER
                              برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                              وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                              قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                              اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                              ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                              دیدگاه

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