اطلاعیه

Collapse
No announcement yet.

روش تبدیل میکرو avr به آردوینو

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

    #16
    پاسخ : روش تبدیل میکرو avr به آردوینو

    نوشته اصلی توسط فکر نمایش پست ها
    به عنوان مثال می توان میکروکنترلر روی Arduino Uno که ATmega328P می باشد را برداشت و یک میکروکنترلر ATmega328P جدید را جایگزین آن نمود سپس از طریق پایه های ICSP ، یک مدار برنامه ریز(Programmer) را به Arduino Uno متصل نمود و از طریق گزینه ی Born Bootloader که در نرم افزار برنامه نویسی آردوینو(Arduino IDE) و در فهرست Tools قرار دارد؛ بر روی میکروکنترلر جدید Bootloader ریخت
    ممنون از راهنماییتان فقط اینجاشو متوجه نشدم منظورم اینه وقتی ایسی از سوکن تو برد اردینو خارج کردیم و یه ای سی دیگه با همون مشخصات گذاشتیم(خام) خوب الان هرچی تغییر و تحول لازم هست ذاخل برد اردینو نباید انجام بدیم؟ به گفته شما از طریق پایه های icsp باید به کجا وصل کنیم ایا مدار دومی باید ببندیم چون ای سی داخل خود برد قرار دادیم؟

    دلیل: ادغام دو پست برای جلوگیری از اسپم

    دلیل: ادغام دو پست برای جلوگیری از اسپم


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

    دیدگاه


      #17
      پاسخ : روش تبدیل میکرو avr به آردوینو

      نوشته اصلی توسط farzintey نمایش پست ها
      ممنون از راهنماییتان فقط اینجاشو متوجه نشدم منظورم اینه وقتی ایسی از سوکن تو برد اردینو خارج کردیم و یه ای سی دیگه با همون مشخصات گذاشتیم(خام) خوب الان هرچی تغییر و تحول لازم هست ذاخل برد اردینو نباید انجام بدیم؟ به گفته شما از طریق پایه های icsp باید به کجا وصل کنیم ایا مدار دومی باید ببندیم چون ای سی داخل خود برد قرار دادیم؟
      با سلام و درود
      1- روی اغلب آردوینوها مبدل USB به Serial وجود دارید به عنوان مثال در Arduino Uno R3 یک میکروکنترلر به نام ATmega16U2 کار مبدل USB به Serial را انجام می دهد.
      برای اینکه میکروکنترلر اصلی روی آردوینو بتواند از طریق ارتباط Serial برنامه ریزی شود، نیاز است که از قبل برنامه ای به نام Boot loader روی میکروکنترلر ریخته شود تا پس از آن بتوان آن میکروکنترلر را از طریق ارتباط Serial برنامه ریزی نمود.
      برای ریختن Boot loader در حافظه ی Flash میکروکنترلر از مدارهای برنامه ریز(Programmer) استفاده می شود.
      یک نوع برنامه ریز به نام USBasp وجود دارند که نقشه و برنامه های مورد نیاز برای ساخت آن در دسترس است و می توانید به ساخت آن اقدام نمایید:
      USBasp - USB programmer for Atmel AVR controllers

      2- پایه های ICSP روی Arduino به پایه های ISP برنامه ریز(Programmer) متصل می گردد.
      روش ریختن Boot loader از طریق پایه های ICSP در این مطلب توضیح داده شده است:
      Installing an Arduino Bootloader
      جدیدترین ویرایش توسط فکر; ۰۱:۵۴ ۱۳۹۵/۱۱/۰۱.

      دیدگاه


        #18
        پاسخ : روش تبدیل میکرو avr به آردوینو

        با سلام و خسته نباشید ایا با داشتن یه فایل هگزا میتوان ان فایل را توسط اردینو به میکرو انتقال داد؟

        دیدگاه


          #19
          پاسخ : روش تبدیل میکرو avr به آردوینو

          با درود و خسته نباشید
          با توجه به روش اول که نوشتید اگه من بخوام یک میکروکنترولر Atmega8 رو تبدیل به آردوینو کنم اتصالات به چه شکلی میشه و همچنین تنظیمات نرم افزار آردوینو و فیوزبیتها برای Atmega8 به چه صورت باید تنظیم بشه؟
          ممنون میشم ساده و کامل با جزئیات بگین چون دارم روی یه پروژه کار میکنم و نیاز مبرم به این میکرو دارم.

          دیدگاه


            #20
            پاسخ : روش تبدیل میکرو avr به آردوینو

            نوشته اصلی توسط omidsheikhan نمایش پست ها
            با درود و خسته نباشید
            با توجه به روش اول که نوشتید اگه من بخوام یک میکروکنترولر Atmega8 رو تبدیل به آردوینو کنم اتصالات به چه شکلی میشه و همچنین تنظیمات نرم افزار آردوینو و فیوزبیتها برای Atmega8 به چه صورت باید تنظیم بشه؟
            ممنون میشم ساده و کامل با جزئیات بگین چون دارم روی یه پروژه کار میکنم و نیاز مبرم به این میکرو دارم.
            یک عدد کریستال 16 وصل میکنی به پایه های کریستال(با دو عدد خازن 22 پیکو که از هر طرف به یکی از پایه های کریستال(هر خازن به یک پایه) و از طرف دیگر به گراند
            بعد با یه پروگرمر مثل USBASP بوت لودر Arduino NG (atmega8) رو برن میکنی روش به این صورت که ابتدا در منوی Boards انتخابش میکنی بعد توی همون Tools گزینه ی آخر رو میزنی






            امیرحسین ضیا

            دیدگاه


              #21
              پاسخ : روش تبدیل میکرو avr به آردوینو

              نوشته اصلی توسط azjaguar نمایش پست ها
              یک عدد کریستال 16 وصل میکنی به پایه های کریستال(با دو عدد خازن 22 پیکو که از هر طرف به یکی از پایه های کریستال(هر خازن به یک پایه) و از طرف دیگر به گراند
              بعد با یه پروگرمر مثل USBASP بوت لودر Arduino NG (atmega8) رو برن میکنی روش به این صورت که ابتدا در منوی Boards انتخابش میکنی بعد توی همون Tools گزینه ی آخر رو میزنی
              من برنامه ای رو با ide اردینو نوشتم و بر روی Uno کدها رو تست کردم. نیاز دارم این کدها رو روی اتمگا8 بریزم.
              دقت کنید بنده پروگرمر TNM دارم که داخل ide اردینو لیست نشده است و صرفا میخواهم کدهای هگزی که IDE آردینو بهم داده را روی اتمگا8 بریزم.
              برای این مورد باید چکار کنم؟
              ممنون از توجه شما

              دیدگاه


                #22
                پاسخ : روش تبدیل میکرو avr به آردوینو

                نوشته اصلی توسط eshahnazi نمایش پست ها
                من برنامه ای رو با ide اردینو نوشتم و بر روی Uno کدها رو تست کردم. نیاز دارم این کدها رو روی اتمگا8 بریزم.
                دقت کنید بنده پروگرمر TNM دارم که داخل ide اردینو لیست نشده است و صرفا میخواهم کدهای هگزی که IDE آردینو بهم داده را روی اتمگا8 بریزم.
                برای این مورد باید چکار کنم؟
                ممنون از توجه شما
                سلام. تجربه ی کار با پروگرمر های TNM رو ندارم در صورت مقدور بودن از پشتیبانی خود سازنده کمک بگیرید/ در غیر این صورت برای ریختن هگز روی اتمگا 8 میتونین از USBASP کمک بگیرین و یا یک آردویینو رو تبدیل به ISP کنین/ در صورتی هم که بوتلودر ARDUINO NG رو روی اتمگا 8 ریختین فقط کافیه از تبدیل USB To Serial استفاده کنین






                امیرحسین ضیا

                دیدگاه


                  #23
                  پاسخ : روش تبدیل میکرو avr به آردوینو

                  فرض کنید کد هگزی در اختیار دارید که خروجی کامپایلر اردینو هست. و باید روی اتمگا 8 ریخته بشود. و یک پروگرمر دارید که اسم اون در لیست پروگرمرهای پشتیبانی شده در اردینو نیست.
                  در این صورت باید چکار کرد؟ ایا مراحل زیر صحیح هست؟
                  1- تنظیم فیوزبیت ها
                  2- استفاده از کریستال 16 مگاهرتز
                  3- در نهایت اپلود کدها
                  * باید پینها رو تطابق بدهیم.

                  اگر این مراحل صحیح هست. میتوانیم به جای کریستال 16 مگاهرتز از کریستال 4 مگاهرتز استفاده کنیم؟ در این صورت زمانسنجی تایمرها به چه صورتی انجام خواهد شد؟

                  دیدگاه


                    #24
                    پاسخ : روش تبدیل میکرو avr به آردوینو

                    منم فقط میکرو 328 داشتم و میخاستم کد اردوینو روش بریزم
                    پروگرمر هاتل دارم که تو اردوینو جواب نداد
                    فایل های هگزی که تو نرم افزار بودو ریختم رو میکرو ولی جواب نداد
                    از سایت های مختلف کد هگز دان کردم تا یکیش بلخره جواب داد
                    فکر کنم به خاطر کریستال باشه چون من 16 نداشتم از 12 استفاده میکردم برای همون فایل هگز با کریستال 12 پیدا کردم

                    دیدگاه


                      #25
                      پاسخ : روش تبدیل میکرو avr به آردوینو

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

                      دیدگاه


                        #26
                        پاسخ : روش تبدیل میکرو avr به آردوینو

                        البته بدون کریستال هم میشه بوت لودر رو لود کرد.کافیه یکی از xtal های میکرو رو به پین 9 آردوینو وصل کنید.(پین های 7،8 میکرو 328)اینجوری دیگه به کریستال و اون دو تا خازن نیاز نیست.چون از کریستال خود آردوینو استفاده میکنه.

                        دیدگاه


                          #27
                          پاسخ : روش تبدیل میکرو avr به آردوینو

                          نوشته اصلی توسط فکر نمایش پست ها
                          با سلام و درود
                          بنده Arduino UNO R3 دارم و سیستم عاملی که دارم ویندوز 7 است و با مشکلی از نظر ریختن برنامه در آردوینو مواجه نشده ام.
                          در Arduino UNO R3 برای تبدیل USB به Serial از میکروکنترلر ATmega16U2 استفاده شده است که توانایی اتصال مستقیم در درگاه USB را داراست.



                          من برای ریختن Bootloader در آردوینو ابتدا از فهرست Tools و در زیر فهرست :Board آردوینو مورد نظر خود را انتخاب می کنم سپس در صورتی که آن Bootloader
                          آردوینو توانایی کار روی بیش از یک میکروکنترلر را داشته باشد از بخش :Processor گزینه مورد نظر خود را انتخاب می کنم.(مثلا Arduino Nano هم با ATmega328 و هم با ATmega168 می توانید کار کند.)

                          سپس از بخش :Programmer گزینه USBasp را انتخاب می کنم.

                          پس از آن میکروکنترلر را در برنامه ریز(Programmer) نوع USBasp قرار می دهم و روی گزینه Burn Bootloader کلیک می کنم.

                          دقت داشته باشید گاهی اوقات نرم افزار آردوینو خطا می دهد و مثلا می گوید نسخه USBasp خود را بررسی کنید و از بروز بودن آن مطمئن شوید. طبق تجربه در این مواقع بهتر است که خودتان با وصل کردن میکروکنترلر به یک مبدل USB به Serial و یا قرار دادن آن در آردوینو و ریختن برنامه در آن صحت خطای نرم افزار آردوینو را بررسی کنید زیرا گاهی اوقات برای من خطا ظاهر می شود ولی در اصل Bootloader به درستی به میکروکنترلر منطقل شده است.

                          (البته دقت داشته باشید که برای اتصال میکروکنترلر به مبدل USB به Serial برای ریختن برنامه درون میکروکنترلر از این روش باید یک مدار بازنشانی(Reset) ببندید که شامل یک مقاومت و یک خازن است که با دریافت نقشه آردوینو می توانید به نحوه قرار دادن خازن و مقاومت پی ببرید.)
                          این صفحه Arduino Uno در پایگاه مجازی سازنده است:

                          و شما از بخش Documentation می توانید نقشه این آردوینو را دریافت کنید.



                          به دلیل متن باز بودن برنامه ریز USBasp شما می توانید اقدام به ساخت آن کنید:
                          USB, Programmer, AVR, ATMEL, controller, microcontroller, program, avrdude




                          شما می توانید برای انواع میکروکنترلرها Bootloader بسازید مثلا شما می خواهید از ATmega328 در تناوب 8 مگاهرتز استفاده نمایید در این صورت خودتان می توانید به ساخت Bootloader آردوینو و افزودن آن به نرم افزار آردوینو اقدام کنید.
                          اطلاعات بیشتر:
                          1- Bootloader Development

                          2- USBASP Bootloading a ATMega328p with a 8mhZ internal clock
                          میشه درباره مدار بازنشانی (ریست) میکرو یه ذره بیشتر توضیح بدی و اینکه مدار رو برای چند لحظه باید فعال کنیم یا بصورت دائم وصل باشه؟ این مدار ریست واسه موقعی هست که میخواییم که میخاییم یه avr رو از طریق رابط usb to serial یا TTL پروگرام کنیم؟

                          دیدگاه


                            #28
                            پاسخ : روش تبدیل میکرو avr به آردوینو

                            کابل پرینتر

                            دیدگاه


                              #29
                              پاسخ : روش تبدیل میکرو avr به آردوینو

                              نوشته اصلی توسط فکر نمایش پست ها
                              با سلام و درود
                              به انجمن خوش آمدید.

                              بنده دو روش سراغ دارم.
                              1- یکی اینکه BootLoader را درون میکروکنترلر با استفاده از برنامه ریزهای معمولی مثل USBasp بریزید و پس از آن با استفاده از مبدل USB به Serial و نرم افزار آردوینو به صورت مستقیم برنامه را به میکروکنترلر انتقال دهید که این روش با توضیحات بیشتر در اینجا بیان شده است: http://www.eca.ir/forums/thread71735.html

                              2- یا اینکه برنامه ای که نوشته اید را در یک مکان ذخیره نمایید و سپس از کلیدهای نرکیبی Ctrl + Alt +S استفاده نمایید که در همان مکان 2 عدد HEX تولید می شود که یکی معمولی است و یکی دیگر دارای BootLoader است و سپس می توانید با استفاده از برنامه ریزهای معمولی مثل USBasp آن را درون میکروکنترلر بریزید. توضیحات بیشتر: http://www.eca.ir/forums/thread52681.html

                              دقت داشته باشید که برای ریختن برنامه های آردوینو در میکروکنترلر حتماً باید FuseBit ها را تنظیم نمایید.
                              این موارد را هم ببینید:
                              1- Use Arduino code in non-Arduino AVR microcontrollers
                              2- Arduino on all sorts of Atmels
                              3- upload arduino software sketches using usbasp

                              همچنین اتصال کریستال 16 مگاهرتزی به میکروکنترلر هنگام استفاده از آن در مدار فراموش نشود.

                              شما می توانید برای انواع میکروکنترلرها Bootloader بسازید مثلا شما می خواهید از ATmega328 در تناوب 8 مگاهرتز استفاده نمایید در این صورت خودتان می توانید به ساخت Bootloader آردوینو و افزودن آن به نرم افزار آردوینو اقدام کنید.
                              اطلاعات بیشتر:
                              1- Bootloader Development

                              2- USBASP Bootloading a ATMega328p with a 8mhZ internal clock







                              از اینکه پیگیر هستی خیلی ممنونم.

                              در ابتدا دقت داشته باشید که بنده در این زمان از نسخه ی 1.6.9 نرم افزار آردوینو استفاده می کنم.

                              Fuse Bit یک تنظیم نرم افزاری است که روی سخت افزار اثر دارد مثلاً شما با استفاده از Fuse Bit می توانید تعیین کنید که میکروکنترلر قفل شود یا نه و یا مثلاً منبع تولید نبض(Pulse) را تعیین کنید که داخلی باشد یا خارجی و تناوب(Frequency) آن چقدر باشد و... .

                              1- شما می توانید میکروکنترلر را در برنامه ریزهایی مثل USBasp قرار دهید و بعد از نوشتن برنامه از فهرست Sketch که در بالای نرم افزار آردوینو قرار دارد گزینه ی Upload Using Programmer را انتخاب کنید.
                              احتمالاً باید از فهرست Tools زیر فهرست های Board و Programmer را باز کنید و گزینه مناسب را انتخاب کنید مثلاً برای میکروکنترلر ATmega328 نوع DIP از زیر فهرست Board باید گزینه ی Arduino/Genuino Uno انتخاب گردد و یا مثلاً برای ATmega8 نوع DIP از زیر فهرست Board باید گزینه ی Arduino NG or older انتخاب گردد.

                              2- آردوینو هم به صورت پیش فرض تعدادی Fuse Bit دارد که اگر نرم افزار را در مسیر پیش فرض نصب کرده باشید فهرست این Fuse Bit ها به تفکیک هر آردوینو در مسیر C:\Program Files\Arduino\hardware\arduino\avr\boards.txt موجود است و شما اگر پرونده ی boards.txt را با نرم افزاری مثل ++Notepad باز کنید تعدادی خط منظم می بینید که در بخشی نوشته شده است uno.name=Arduino/Genuino Uno و در زیر آن چندین خط نوشته شده است که بخشی از آن برای پی بردن به Fuse Bit ها استفاده می شود. یعنی موارد زیر:



                              کد:
                              [LEFT]uno.bootloader.low_fuses=0xFF
                              uno.bootloader.high_fuses=0xDE
                              uno.bootloader.extended_fuses=0x05
                              uno.bootloader.unlock_bits=0x3F
                              uno.bootloader.lock_bits=0x0F
                              [/LEFT]
                              توجه داشته باشید بنده از برنامه ریز(programmer) نوع USBasp استفاده می کنم و برای کار با این برنامه ریز از نرم افزار ProgISP نسخه 1.72 استفاده می کنم.

                              حالا که مقادیر Fuse Bit های آردوینو UNO را که هسته آن ATmega328P است به دست آوردیم وارد نرم افزار ProgISP شده و از بخش Select Chip میکروکنترلر خود ATmega328P انتخاب می کنیم سپس گزینه ای که 3 نقطه دارد و سمت راست Auto است را انتخاب می کنیم تا به بخش Fuse Bit ها برویم.
                              تصویر زیر را مشاهده نمایید:



                              وقتی پنجره Fuse&Lock باز شدن زبانه ConfigBit را انتخاب می کنیم و سپس طبق مقادیری که از boards.txt به دست آوردیم، هر چهار بخش LowValue و HighValue و ExtValue و Lock Value را پر می کنیم.

                              مشابه تصویر زیر:



                              حالا پس از اینکه برنامه های خود را در نرم افزار آردوینو نوشتیم آن را در یک مکان ذخیره می کنیم و سپس کلید های ترکیبی Ctrl + Alt + S را می فشاریم تا دو عدد پرونده ی HEX. تولید گردد که یکی حجم بیشتری دارد و Boot Loader نیر همراهش است و یکی کم حجم تر و بدون Boot Loader است.
                              نکته: اگر HEX دارای Boot Loader را بر روی میکروکنترلر بریزید آن وقت می توانید میکروکنترلر را روی آردوینو قرار دهید و با نرم افزار آردوینو برنامه میکروکنترلر را تغییر دهید و یا می توانید میکروکنترلر را به مبدل USB به Serial وصل کنید و برنامه آن را تغییر دهید.
                              مانند تصویر زیر:




                              سپس در نرم افزار ProgISP گزینه ی Load Flash را انتخاب می کنیم و Hex مورد نظر خود را به نرم افزار ProgISP معرفی می کنیم.
                              مانند تصاویر زیر:







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





                              اگر می خواهید ببینید که برنامه ریز USBasp به وسیله نرم افزار ProgISP شناسایی شده است یا نه باید به بخش Program State نگاه کنید و اگر PRG ISP روشن بود یعنی برنامه ریز شناسایی شده است و اگر خاموش بود یعنی شناسایی نشده است.

                              مانند تصویر زیر:





                              بقیه روش ها هم در این بخش ها توضیح داده شده است:
                              1- http://www.eca.ir/forums/thread72093.html#post624905
                              2- http://www.eca.ir/forums/thread71735.html
                              3- http://www.eca.ir/forums/thread52681.html
                              سلام.
                              خسته نباشید.
                              من میخوام برنامه ای که برای آردوینو نوشته شده رو روی میکرو پروگرم کنم.
                              طوری که من فهمیدم اینه:
                              برنامه نوشته شده توسط نرم افزار آردوینو رو یه جا ذخیره کنم بعد کلید ترکیبی ctrl+shift+s رو بزنم بعد فایل hex رو به صورت boot loader ذخیره کنم.
                              بعد با نرم افزار progISP فیوزبیت ها رو برای میکروی خودم تنظیم کنم بعد فایل hex ساخته شده رو وارد کنم و پروگرم کنم. و برای تغییر برنامه هم با نرم افزار آردوینو و مبدل usb به سریال انجام بدم.
                              همین؟ درست فهمیدم؟
                              موقع پروگرم کردن باید کریستال 16مگاهرتز وصل کنم؟
                              یا بعدش برای استفاده در مدار؟

                              دیدگاه

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