اطلاعیه

Collapse
No announcement yet.

کدام میکروکنترلر را انتخاب کنم؟

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

    کدام میکروکنترلر را انتخاب کنم؟

    با عرض سلام خدمت دوستان و اساتید گرامی
    من دارم رو پروژه ای کار میکنم که قراره یه میکرو به چنین دستگاه هایی وصل بشه و یه سری دستور کنترلی به اونا بفرسته: انکدر، اینورتر، دو سه تا کنتاکتور و LCD
    حالا سوالی که از دوستان گلم دارم اینه که بین AVR ، PIC و ARM کدوم رو انتخاب کنم و هنگام پاسخ لطفا به این موارد توجه داشته باشید:
    1.توی کارگاه صنعتی دوستم قراره ازین دستگاه استفاده مداوم بشه و یه جورایی میخوام توانایی این رو داشته باشه که حداقل چند سالی بدون خطا کار کنه
    2.دقت و کارایی و عمر بالای دستگاه در اولویته و هزینه تمام شده در اولویت آخر
    3. در نهایت هم اینکه بنده تا الان هر پروژه ای انجام دادم از AVR استفاده کردم و کلا در ARM و PIC تعطیلم!!!

    #2
    پاسخ : کدام میکروکنترلر را انتخاب کنم؟

    شما باید ریز جزئیات رو هم بیان کنید . مثلا اگر اینکودر شما 2000 پالسی باشه و دور موتورتون هم 3000 دور در دقیقه باشه .این میشه100 کیلو سیکل در ثانیه . شاید میکرو های آرم 100 مگا سیکل هم به تنهایی از عهد خواسته های شما بر نمیاد . و شاید چند تا میکرو رو باید باهم شبکه کنید .
    ولی توصیه من به شما ترکیب fpga و آرم هست که مخصوصا با حافظه های sdram جانبی و مخصوصا رم های fifo و غیره می تونید به قابلیت های بسیار بالایی در سرعت های پردازشی بسیار بالا برسید.
    تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
    داشتن عقله زيادتر از دیگر آدم ها است

    دیدگاه


      #3
      پاسخ : کدام میکروکنترلر را انتخاب کنم؟

      دوست عزیز متشکر از جواب خوبتون. باید عرض کنم که اینکدرم 2000 پالسی هست ولی موتور سه فازم 1500 دور در دقیقه.
      پس با توجه به پیشنهاد شما اگه درست متوجه شده باشم باید گفت: avr از پس این پروژه بر نمیاد، درسته؟؟؟
      البته باید بگم که اگر جواب این سوال از نظر شما "بله" باشه فعلا باید بیخیال این پروژه بشم و برم یه 2، 3 ماهی دنبال مطالعه در زمینه arm و fpga
      :cry: :cry: :cry:

      دیدگاه


        #4
        پاسخ : کدام میکروکنترلر را انتخاب کنم؟

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

        دیدگاه


          #5
          پاسخ : کدام میکروکنترلر را انتخاب کنم؟

          دوست گرامی، با توجه به تجربیات من؛ به جز موارد مربوط به توانائی پردازش این حجم از داده، بحث نویز پذیری میکروهای AVR خیلی مهم است. به یاد داشته باشید که هیچگاه نباید (حتی با رعایت مسائلی مثل شیلدینگ، گراندینگ، فیلتر Surge، فیلتر EMI ، فیلتر Hum، وریستور و ...)؛ میکرو AVR را با کنتاکتورها در یک محفظه (Enclosure) مشترک قرار دهید، چون ممکن است حتی برنامه بار شده در حافظه فلاش میکرو، در اثر جرقه های کنتاکتها، پاک شود. بنابراین، اگر ناچار به استفاده از میکرو در تابلو برق هستید، باید جعبه برد کنترلر را با تابلو برق از یکدیگر کاملا جدا و دور کنید و از کابلهای شیلد دار برای اتصال آنها به یکدیگر استفاده کنید یا اینکه از یک PLC یا مینی PLC استفاده کنید.

          دیدگاه


            #6
            پاسخ : کدام میکروکنترلر را انتخاب کنم؟

            با سلام خدمت شما

            اگر تمامی اصول مقابله با نویز رو رعایت کنید تقریبا با هر میکرویی می تونید کار کنید ولی معمولا بدلیل پاسخ مناسب و طراحی مقاوم به نویز pic این سری از میکرو بهتر عمل می کنه

            به هر حال دست شما کاملا بازه

            اینم یک نمونه از مدار مقاوم به نویز با pic
            http://www.eca.ir/forum2/index.php?topic=85272.0

            [glow=black,2,300]بردی جالب با سیستم عاملی جالب !!![/glow]

            دیدگاه


              #7
              پاسخ : کدام میکروکنترلر را انتخاب کنم؟

              جناب طراح عزیز به مسئله خوبی اشاره کردید در مورد ضرب دو عددی که aliilla مطرح کرد. موتور من 1500 دور در دقیقه یا به عبارتی 25 دور در ثانیه است و انکدر نیز 2500 پالس در "دور" می باشد ولی از آنجا که به دلیل افزایش دقت دستگاه سرعت پایین است انکدر در یک ثانیه یک دور کامل هم نمیزند. با این اوصاف تعداد سیکل کاری که allilla عزیز مطرح کردند از حاصل ضرب 25 در 2500 هم کمتر می باشد.
              آیا این عرایض بنده صحیح است؟؟؟
              و سوال دوم اینکه با وجود این شرایط چه فرکانسی را برای میکرو پیشنهاد میدید؟؟؟
              و سول سوم اینکه آیا از کریستال خارجی استفاده کنم؟؟؟

              دیدگاه


                #8
                پاسخ : کدام میکروکنترلر را انتخاب کنم؟

                نوشته اصلی توسط مهندس نوآور
                دوست گرامی، با توجه به تجربیات من؛ به جز موارد مربوط به توانائی پردازش این حجم از داده، بحث نویز پذیری میکروهای AVR خیلی مهم است. به یاد داشته باشید که هیچگاه نباید (حتی با رعایت مسائلی مثل شیلدینگ، گراندینگ، فیلتر Surge، فیلتر EMI ، فیلتر Hum، وریستور و ...)؛ میکرو AVR را با کنتاکتورها در یک محفظه (Enclosure) مشترک قرار دهید، چون ممکن است حتی برنامه بار شده در حافظه فلاش میکرو، در اثر جرقه های کنتاکتها، پاک شود. بنابراین، اگر ناچار به استفاده از میکرو در تابلو برق هستید، باید جعبه برد کنترلر را با تابلو برق از یکدیگر کاملا جدا و دور کنید و از کابلهای شیلد دار برای اتصال آنها به یکدیگر استفاده کنید یا اینکه از یک PLC یا مینی PLC استفاده کنید.
                مهندس نوآور باتوجه به تجربیات شما اگه مدار میکرو را در یک محفظه جدا قرار بدم و کنتاکت ها رو در فاصله حداقل 30cm از آن مشکلی به وجود نمیاد؟؟؟

                دیدگاه


                  #9
                  پاسخ : کدام میکروکنترلر را انتخاب کنم؟

                  نوشته اصلی توسط amin.fooladi
                  مهندس نوآور باتوجه به تجربیات شما اگه مدار میکرو را در یک محفظه جدا قرار بدم و کنتاکت ها رو در فاصله حداقل 30cm از آن مشکلی به وجود نمیاد؟؟؟
                  فکر می کنم باید دست کم یک متر آنها را از یکدیگر جدا کنید. بخشهای الکتریکی و کنترلی را در دو تابلوی تمام فلزی جداگانه نصب کنید و بدنه آنها را هم گراند کنید. پین Vcc میکرو را از مسیر یک چوک 10uH به خط مثبت تغذیه و همزمان با یک خازن 100nF سرامیکی یا تانتالیوم زمین کنید. اگر شد یک صفحه مسی متصل به شاسی را نیز به صورت سرتاسری، بالای میکرو نصب کنید و سعی کنید در متن برنامه میکرو Watchdog را فعال کنید. این مقاله هم مفید است:

                  http://knowledgeplus.ir/userfiles/AVR_Noise.pdf

                  دیدگاه


                    #10
                    پاسخ : کدام میکروکنترلر را انتخاب کنم؟

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

                    1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
                    2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
                    3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

                    دیدگاه


                      #11
                      پاسخ : کدام میکروکنترلر را انتخاب کنم؟

                      نوشته اصلی توسط amin.fooladi
                      جناب طراح عزیز به مسئله خوبی اشاره کردید در مورد ضرب دو عددی که aliilla مطرح کرد. موتور من 1500 دور در دقیقه یا به عبارتی 25 دور در ثانیه است و انکدر نیز 2500 پالس در "دور" می باشد ولی از آنجا که به دلیل افزایش دقت دستگاه سرعت پایین است انکدر در یک ثانیه یک دور کامل هم نمیزند. با این اوصاف تعداد سیکل کاری که allilla عزیز مطرح کردند از حاصل ضرب 25 در 2500 هم کمتر می باشد.
                      آیا این عرایض بنده صحیح است؟؟؟
                      و سوال دوم اینکه با وجود این شرایط چه فرکانسی را برای میکرو پیشنهاد میدید؟؟؟
                      و سول سوم اینکه آیا از کریستال خارجی استفاده کنم؟؟؟
                      هر انکودر به تعداد 4 برابر تعداد پالس های آن لبه ایجاد می کند که در صورت نیاز به حداکثر دقت می توان از هر 4 لبه استفاده کرد. بنابراین برای یک انکودر 2500 پالس، در یک دور 10000 لبه ایجاد می شود که دقت 10000 قسمت در دور را ایجاد می کند. برای تشخیص پالس های انکودر از روش های نرم افزاری مانند استفاده از وقفه خارجی می توان استفاده کرد. اما در عمل اگر لرزشی در سیستم وجود داشته باشد، استفاده از روش های نرم افزاری می تواند در طول زمان منجر به ایجاد خطا شود. از طرف دیگر استفاده از روش های نرم افزاری باعث ایجاد Load برای cpu می شود که با افزایش دور و بالا رفتن تعداد پالس در ثانیه درگیری cpu بیشتر می شود. روش اساسی برای اتصال انکودر استفاده از واحد های سخت افزاری شمارش انکودر است که در خانواده های XMEGA و یکسری از ARM های LPC و STM32 و ... چنین سخت افزاری پیش بینی شده است. برای تعداد پالس های بالا و در صورتی که ایجاد خطا در شمارش انکودر قابل قبول نباشد باید از چنین خانواده هایی استفاده کنید که مجهز به سخت افزاری شمارش انکودر باشند. اما برای تعداد پالس های نه چندان بالا (مانند صورت مسئله شما که به دلیل مکانیزم کاهش دور، تعداد لبه ها در ثانیه کمتر از 10000 لبه است) و در صورتی که ایجاد خطا در حد چند پالس قابل قبول باشد می توانید از همان خانواده AVR استفاده کنید. در مورد سوالات بعدی به دلیل بار پردازشی زیاد، هر چه فرکانس میکروکنترلر بالاتر باشد مناسب تر خواهد بود و استفاده از کریستال خارجی در صورت نیاز به دقت در کلاک به استفاده از اسیلاتور داخلی ارجحیت دارد.
                      اوژن: به معنای افکننده و شکست دهنده است
                      دانایی، توانایی است-Knowledge is POWER
                      برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                      وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                      قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                      اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                      ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                      دیدگاه


                        #12
                        پاسخ : کدام میکروکنترلر را انتخاب کنم؟

                        اگه از من بپرسی میگم برو دنبال میکرو های arm چون خیلی کامل هستند.
                        مبکرو های ای وی ار به درد ساخت مدارات ساده میخورند و در صنعت هیچ کاربردی ندارند.
                        xmegaهم خوبه اگه خاستی یه چنتا بهت معرفی کنم
                        پیام خصوصی بذارید لطفا.
                        Telegram:
                        @reza_br_2489


                        Instagram:
                        _amp_c

                        دیدگاه


                          #13
                          پاسخ : کدام میکروکنترلر را انتخاب کنم؟

                          نوشته اصلی توسط noorworkshop
                          مبکرو های ای وی ار به درد ساخت مدارات ساده میخورند و در صنعت هیچ کاربردی ندارند.
                          سلام،
                          هنوز پر فروش ترین میکروکنترلر در بازار ما AVRها هستند و این نظر شما اساساً درست نیست. اگرچه بهتره برای طراحی های جدید از میکروکنترلرهای مدرن تر استفاده بشه اما این هم صحبت درستی نیست که گفته بشه AVR در صنعت هیچ کاربردی نداره!
                          There is nothing so practical as a good theory. — Kurt Lewin, 1951

                          دیدگاه


                            #14
                            پاسخ : کدام میکروکنترلر را انتخاب کنم؟

                            کسی به avr را نشناخته باشه مثل این هست که پیامبر خود را نشناخته باشد.
                            در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

                            1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
                            2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
                            3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

                            دیدگاه

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