اطلاعیه

Collapse
No announcement yet.

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

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

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

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

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

    بوت لودر آردوینو یه جور برنامه ست(نرم افزار) که بودنش رو میکرو باعث میشه میکرو ی ما تبدیل به یک آردوینو بشه. برای پروگرام کردن تقریبا تمام میکروهای avr از پروگرامر ISP استفاده میشه کرد ISP یه جور استاندارد برای پروگرام کردن میکرو های AVR هست. در این نوع پروگرامر ها یک پورت وجود داره به نام ISP که این پورت حاوی 6 عدد پین هست که به پایه های میکرو وصل میشه این پین ها عبارتند از:

    programmer pins micro pins ISP Pins in arduino uno

    1. MISO -----------------------------> MISO -----------------------> PIN 12
    2. VCC 5V -----------------------------> VCC -----------------------> VCC
    3. SCK -----------------------------> SCK -----------------------> PIN 13
    4. MOSI -----------------------------> MOSI -----------------------> PIN 11
    5. RESET ----------------------------> RESET-----------------------> RES
    6. GND ----------------------------> GND ------------------------>GND

    خوب گفتیم توسط این 6 تا پین میکرو های AVR پروگرام میشن اما یه سوال اینجا پیش میاد!!!! چه جوریه که آردوینو ها توسط دو تا پین میتونند پروگرام بشن؟؟؟
    خوب پس الان میشه فهمید که کار بوت لودر آردوینو دقیقا چیه. بوت لودر آردوینو میاد برنامه ای که میخواد پروگرام بشه رو از طریق دو تا پین TX و RX (پورت سریال) دریافت میکنه و برنامه رو روی حافظه ی فلش ذخیره میکنه و این کار رو آسون تر میکنه و این امکان رو فراهم میسازه که با کمترین هزینه بشه از طریق پورت USB به میکرومون برنامه بدیم. در واقع در آردوینو UNO یه چیپ به نام CH340 هست که اطلاعات رو از USB گرفته و به اطلاعات سریال تبدیل کرده و برنامه رو به میکرو میده. ولی در آردوینو UNO R3 این کار بر عهده ی یه میکروی atmega 8 است که کار تبدیل رو انجام میده.

    حالا محتویات بوت لودر چیه؟؟
    وقتی توی برنامه ی آردوینو از منوی Tools و بعد گزینه ی Burn Bootloader رو انتخاب میکنیم ،برنامه ی آردوینو دو کار روی میکرو انجام میده.
    1.ریختن برنامه ی بوت لودر در میکرو
    2.تنظیم فیوز بیت های مخصوص آردوینو روی میکرو

    گزینه ی اول که ساده ست اما گزینه ی دوم: تمام آردوینو uno ها با فرکانس 16 مگا هرتز خارجی کار میکنند و آردوینو پرو مینی ها هم بعضی با 8 مگاهرتز خارجی و بعضی با 16 مگاهرتز خارجی کار میکنند که مقدار فیوز بیت پیش فرض میکروی AVR روی فرکانس 8مگاهرتز داخلی هست که باید تنظیماتش برای آردوینو شدن تغییر کنه.
    یک فیوز بیت هم هست که این اختیار رو برای ما قرار میده که وقتی خواستیم عملیات پروگرام رو انجام بدیم ، برنامه رو از همون Bit 0 یا بهتر بگم از همون اول حافظه ی فلش رایت نکنه و چند کیلوبایت از اول حافظه رو خالی بزاره و از کیلو بایت سوم رایت کنه. این کار به خاطر اینه که بوت لودر در قسمت اول میکرو قرار داره و اگه موقع پروگرام شدن پاک بشه بعدش کلی دردسر خواهیم داشت.
    و یه سری فیوز بیت های دیگه هم تنظیم میشه که دیگه اگه بگم طولانی میشه.

    خوب حالا از اینا بگذریم و برسیم به اصل کار و ببینیم که چه جوری بوت لودر رو روی میکرو بریزیم.

    راه های ریختن بوت لودر توسط نرم افزار آردوینو روی میکرو

    1. از طریق تبدیل آردوینو به پروگرامر usb asp
    2. از طریق پروگرامر ISP
    3. از طریق سوکت ISCP1 در آردوینو uno R3



    1.از طریق تبدیل آردوینو به پروگرامر ISP

    در این روش شما اپتدا باید آردوینوی خودتون رو به یک پروگرامر تبدیل کنید. حالا چه جوری؟؟؟؟؟؟؟؟؟؟
    هیچ کاری نداره تنها کاری که باید انجام داد اینه که باید برنامه ی آردوینو رو باز کرد و رفت توی منوی File و بعد گزینه ی Examples و بعد روی برنامه ی شماره ی 11 که نوشته ArduinoISP کلیک کنید بعدش برنامه رو روی آردوینو آپلود کنید و بعدش توی منوی Tools در قسمت Programmer گزینه ی Arduino as ISP رو انتخاب کنید و بعد از بستن مدار گزینه ی Burn Bootloader رو بزنید.

    طبق شکل زیر پایه های آردوینو رو به میکرو تون وصل کنید. در ضمن باید به میکرو یه کریستال 16مگاهرتز وصل کنید و هر پایه ی کریستال رو با منفی مدار توسط یک خازن 22پیکو فاراد سری کنید.


    http://s6.picofile.com/file/8253345334/bootloader.jpg

    2. از طریق پروگرامر usb asp
    این روش هم مثل روش بالاست مدارش هم به همین شکل بسته میشه تنها فرقش اینه که شما اینجا به وسیله ی پروگرامر برنامه ت رو پروگرام میکنی ولی در قسمت اول ، آردوینو رو تبدیل به یه پروگرامر میکنی و بعد عملیات پروگرام رو انجام میدی.
    البته یه سری پروگرامر های usbasp وجود داره که دارای سوکت ZIF میباشد که شما میکروتون رو بدون نیاز به هیچ مداری روی سوکت قرار میدین و گزینه ی Burn Bootloader رو فشار میدین و پروگرام انجام میشه که خود منم روی میکرو هام از همین راه بوت لودر رو ریختم.
    راستی یادم رفت یه چیزی بگم: قبل از پروگرام کردن به این روش از منوی Tools و گزینه ی Programmer ، گزینه ی usb asp قرار بدین تا برنامه ی آردوینو از طریق این پروگرامر میکرو رو برنامه ریزی کنه.

    اینم یه عکس از پروگرامر خودم در حال ریختن بوت لودر روی atmega328
    http://s7.picofile.com/file/82533462...528_174656.jpg

    3. از طریق سوکت ISCP1 در آردوینو uno R3
    حقیقتش من هر کاری کردم تنونستم از این راه روی میکرو بوت لودر رو نصب کنم اما از اساتیدی که از این راه جواب گرفتند خواهش میکنم که روشش رو برای ماهم توضیح بدن.
    اینم یه عکس از این سوکت:

    http://s7.picofile.com/file/82533476...528_175601.jpg
    اینم یه عکس از ترتیب پایه های
    http://s6.picofile.com/file/82533491...528_175637.jpg

    در کل هر کس دیگه ای در رابطه با این موضوع تجربه ای داره توی همین تاپیک لطف کنه و تجربش رو قرار بده تا بقیه هم استفاده کنن و اینجوری از تجربیات هم بهره مند میشویم.
    جدیدترین ویرایش توسط cjmj; ۱۸:۳۲ ۱۳۹۵/۰۳/۰۸.

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

    من شنیده ام Arduino UNO R3 با ویندوز 7 و 8 مشکل داره اما انواعی که چیپ CH340 رو دارند، این مشکل رو ندارند ولی نمی دونم این حرف تا چه حد درسته؟!

    دیدگاه


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

      نوشته اصلی توسط مهندس نوآور نمایش پست ها
      من شنیده ام Arduino UNO R3 با ویندوز 7 و 8 مشکل داره اما انواعی که چیپ CH340 رو دارند، این مشکل رو ندارند ولی نمی دونم این حرف تا چه حد درسته؟!
      با سلام و درود
      بنده 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
      جدیدترین ویرایش توسط فکر; ۰۵:۵۷ ۱۳۹۵/۰۷/۲۲.

      دیدگاه


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

        سلام
        ببخشید یک سوال دارم برد آردوینو یک کابل داره که یک سر این کابل USB هستش و به کامپیوتر وصل میشه اون یکی سرش که به آردوینو وصل میشه اسمش چیه؟
        Nobody knew her name
        But she turned up just the same
        There was a knock on the door
        A thump on the floor
        And the party turned insane
        As she called out her na-a-a-ame

        And then she walked in looking like dynamite
        She said, "Now come along boogaloo through the night"
        And by the way she's moving, well Dyna might
        Might she not, with all she's got
        She's got the whole town lighting up dynamite
        Nobody quite knowing what to do wrong or right
        But they all know Dyna is dynamite
        And they're right

        دیدگاه


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

          نوشته اصلی توسط cjmj نمایش پست ها
          1.از طریق تبدیل آردوینو به پروگرامر ISP

          در این روش شما اپتدا باید آردوینوی خودتون رو به یک پروگرامر تبدیل کنید. حالا چه جوری؟؟؟؟؟؟؟؟؟؟
          هیچ کاری نداره تنها کاری که باید انجام داد اینه که باید برنامه ی آردوینو رو باز کرد و رفت توی منوی File و بعد گزینه ی Examples و بعد روی برنامه ی شماره ی 11 که نوشته ArduinoISP کلیک کنید بعدش برنامه رو روی آردوینو آپلود کنید و بعدش توی منوی Tools در قسمت Programmer گزینه ی Arduino as ISP رو انتخاب کنید و بعد از بستن مدار گزینه ی Burn Bootloader رو بزنید.

          طبق شکل زیر پایه های آردوینو رو به میکرو تون وصل کنید. در ضمن باید به میکرو یه کریستال 16مگاهرتز وصل کنید و هر پایه ی کریستال رو با منفی مدار توسط یک خازن 22پیکو فاراد سری کنید.



          ممنوم بابت مطلبتون.
          از این روش خودتون شخصاً استفاده کردین؟
          بعد داخل شکل از یک atmega 32bp استفاده کردین. میشه جاش از ای سی های دیگه هم استفاده کرد؟
          کلا که بخوام بگم از چه آی سی هایی پشتیبانی میکنه.

          وسوال بعدی اینکه این مطلبی که شما گذاشتید ارتباطی با این مطلب نداره؟

          آخه من دنبال اینم که میکروی روی برد آروینوی خودم رو بوت لودر کنم در صورتی که شما گفتید یک میکروی دیگه رو بوت لودر کنیم.
          میشه همون Atmega 32 که بوتلودر کردیمش رو جای میکروی اصلی آردوینو بذاریم؟ یا نه؟
          جدیدترین ویرایش توسط msadr471; ۱۳:۵۱ ۱۳۹۵/۰۳/۲۹.
          Nobody knew her name
          But she turned up just the same
          There was a knock on the door
          A thump on the floor
          And the party turned insane
          As she called out her na-a-a-ame

          And then she walked in looking like dynamite
          She said, "Now come along boogaloo through the night"
          And by the way she's moving, well Dyna might
          Might she not, with all she's got
          She's got the whole town lighting up dynamite
          Nobody quite knowing what to do wrong or right
          But they all know Dyna is dynamite
          And they're right

          دیدگاه


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

            نوشته اصلی توسط msadr471 نمایش پست ها
            سلام
            ببخشید یک سوال دارم برد آردوینو یک کابل داره که یک سر این کابل USB هستش و به کامپیوتر وصل میشه اون یکی سرش که به آردوینو وصل میشه اسمش چیه؟
            با سلام
            دوست عزیز اون سر فیش همون USB نوع پلاگ B هستش ولی به طور عامیانه و معروف هست به کابل پرینتر

            دیدگاه


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

              نوشته اصلی توسط msadr471 نمایش پست ها
              ممنوم بابت مطلبتون.
              از این روش خودتون شخصاً استفاده کردین؟
              بعد داخل شکل از یک atmega 32bp استفاده کردین. میشه جاش از ای سی های دیگه هم استفاده کرد؟
              کلا که بخوام بگم از چه آی سی هایی پشتیبانی میکنه.

              وسوال بعدی اینکه این مطلبی که شما گذاشتید ارتباطی با این مطلب نداره؟

              آخه من دنبال اینم که میکروی روی برد آروینوی خودم رو بوت لودر کنم در صورتی که شما گفتید یک میکروی دیگه رو بوت لودر کنیم.
              میشه همون Atmega 32 که بوتلودر کردیمش رو جای میکروی اصلی آردوینو بذاریم؟ یا نه؟
              با سلام و درود
              فکر کنم منظور شما از Atmega 32 همان ATmega328 است زیرا سراغ ندارم روی محصولات رسمی شرکت آردوینو میکروکنترلر ATmega32 استفاده شده باشد.

              بر روی میکروکنترلرهایی که روی آردوینو قرار دارد به صورت پیش فرض BootLoader وجود دارد.
              اگر خواستید که میکروکنترلر جدیدی را جایگزین میکروکنترلر اصلی نمایید و یا اینکه BootLoader میکروکنترلر اصلی به هر نحوی پاک شده باشد در این صورت می توانید از این روش ها استفاده نمایید.
              البته وقتی که بخواهید با استفاده از مبدل USB به Serial هم به یک میکروکنترلر معمولی بدون استفاده از مدارات جانبی آردوینو برنامه دهید باز هم نیاز به BooLoader دارید.

              دیدگاه


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

                سلام . آیا میشه برنامه هاش رو روی نوع های دیگه ای از میکرو aVR ریخت ؟ منظورم 128 یا 64 ؟ یا میکرو باید خودش باشه ؟

                دیدگاه


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

                  نوشته اصلی توسط tree1371 نمایش پست ها
                  سلام . آیا میشه برنامه هاش رو روی نوع های دیگه ای از میکرو aVR ریخت ؟ منظورم 128 یا 64 ؟ یا میکرو باید خودش باشه ؟
                  با سلام و درود
                  بله، با توجه به متن باز و توسعه پذیر بودن آردوینو این امکان وجود دارد:
                  1- http://www.eca.ir/forums/thread52681.html
                  2- ? ATMEL ATMEGA128 Board for ARDUINO
                  3- Use Arduino code in non-Arduino AVR microcontrollers
                  4- Arduino on all sorts of Atmels
                  5- upload arduino software sketches using usbasp

                  کلمه کلیدی مورد استفاده در جست و جو: how to upload arduino sketch to atmega 128

                  البته به دلیل متن باز و توسعه پذیر بودن آردوینو قابلیت اجرا بر روی میکروکنترلرهایی غیر از AVR نیز وجود دارد.
                  این موارد را مشاهده نمایید:
                  1- http://www.eca.ir/forums/thread70288.html
                  2- http://www.eca.ir/forums/thread65165.html
                  جدیدترین ویرایش توسط فکر; ۰۷:۳۳ ۱۳۹۵/۰۴/۰۱.

                  دیدگاه


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

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

                    بنده دو روش سراغ دارم.
                    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





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

                    در ابتدا دقت داشته باشید که بنده در این زمان از نسخه ی 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
                    جدیدترین ویرایش توسط فکر; ۲۳:۱۴ ۱۳۹۶/۰۲/۱۸.

                    دیدگاه


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

                      سلام
                      دوستان من زدم برنامه ی توی هر دوتا میکروی برد مگا رو پاک کردم
                      هم 2560 و هم 16U2
                      2560 هم رو هم فکر کنم زدک قفل شده ( فکر کنم ) چون با پروگرمر asbasp رید سیگنچر نمیشه
                      اما 16U2 رو میشه رید سیگنچر کرد
                      حالا که به کامپیوتر وصل میکنم اصلا به عنوان آردوینو شناخته نمیشه
                      چطوری باید بوت لودر ها رو توش بریزم ؟؟؟؟؟؟؟؟؟؟؟
                      میشه اصلا ؟؟؟؟؟؟؟؟؟؟؟؟؟
                      لطفا راهنمایی کنید من رو !!!

                      دیدگاه


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

                        نوشته اصلی توسط davoud.arabee نمایش پست ها
                        سلام
                        دوستان من زدم برنامه ی توی هر دوتا میکروی برد مگا رو پاک کردم
                        هم 2560 و هم 16U2
                        2560 هم رو هم فکر کنم زدک قفل شده ( فکر کنم ) چون با پروگرمر asbasp رید سیگنچر نمیشه
                        اما 16U2 رو میشه رید سیگنچر کرد
                        حالا که به کامپیوتر وصل میکنم اصلا به عنوان آردوینو شناخته نمیشه
                        چطوری باید بوت لودر ها رو توش بریزم ؟؟؟؟؟؟؟؟؟؟؟
                        میشه اصلا ؟؟؟؟؟؟؟؟؟؟؟؟؟
                        لطفا راهنمایی کنید من رو !!!
                        با سلام و درود

                        1- در مواقعی که میکروکنترلر به دلیل اشتباه در تنظیم Fuse Bit ها قفل می شود، می توان از مدارهایی که اصطلاحاً Fuse Bit Doctor نامیده می شود، استفاده کرد.
                        این یک نمونه از این مدارها است:
                        سلام به همه دوستان بعد از مدتها تونستم مداری رو پیدا کنم که به راحتی میکرو های AVR رو که فیوز بیت آنها خراب شده یا اشتباه پروگرام شده را در چند ثانیه به حالت عادی بر میگردونه و میکرو قابل استفاده و برنامه ریزی میشه. من این مدار رو روی ATMEGA1284P و ATMEGA16A و ATMEGA32A تست کردم و در تمام موارد بازیابی 100% بود. در طراحی اصلی


                        2- برای ریختن کدهای مورد نیاز بر روی میکروکنترلر ATmega2560 و ATmega16U2 در این صفحه و در بخش Programming ؛ راهنمایی هایی درج شده است:
                        Arduino - ArduinoBoardMega2560

                        دیدگاه


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

                          ممنون ولی چیزی ازشون متوجه نشدم

                          دیدگاه


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

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

                            دیدگاه


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

                              نوشته اصلی توسط farzintey نمایش پست ها
                              با سلام ممنون از مطالب مفیدتون یه سوال داشتم اونم اینکه ایا میشه تو برد خود اردینو که میکرو رو سوکت قرار داره برداشت جاش یه میکرو دیگه قرار داد البته با همون تعداد پایه و بوت لودر با نرم افزار بهش زد؟
                              با سلام و درود
                              1- به عنوان مثال می توان میکروکنترلر روی Arduino Uno که ATmega328P می باشد را برداشت و یک میکروکنترلر ATmega328P جدید را جایگزین آن نمود سپس از طریق پایه های ICSP ، یک مدار برنامه ریز(Programmer) را به Arduino Uno متصل نمود و از طریق گزینه ی Born Bootloader که در نرم افزار برنامه نویسی آردوینو(Arduino IDE) و در فهرست Tools قرار دارد؛ بر روی میکروکنترلر جدید Bootloader ریخت تا پس از آن میکروکنترلر جدید بتواند از طریق مبدل USB به Serial که روی آردوینو قرار دارد برنامه ریزی شود.
                              البته قبل از انتخاب گزینه ی Born Bootloader باید از فهرست Tools زیر فهرست :Board باز شود و گزینه ی مناسب انتخاب گردد مثلاً برای ریختن Boot Loader درون میکروکنترلر ATmega328P از نوع DIP که قابل استفاده روی Arduino Uno باشد از گزینه ی Arduino/Genuino Uno استفاده می شود.
                              این مطلب را مطالعه نمایید:
                              Installing an Arduino Bootloader

                              2- اگر قصد استفاده از پایه های ICSP را نداشته باشیم، می توانیم میکروکنترلر را روی یک مدار برنامه ریز(Programmer) قرار دهیم و از فهرست Tools زیر فهرست :Programmer را باز کنیم و مدار برنامه ریزی که در اختیار داریم را از آن فهرست انتخاب کنیم و سپس از فهرست Tools زیر فهرست :Board را باز کنیم و گزینه ی مورد نظر را انتخاب کنیم و سپس از گزینه ی Born Bootloader استفاده نماییم.
                              در صفحه ی نخست همین مطلب توضیحاتی پیرامون این موارد داده شده است:
                              بلاخره تونستم چند روش برای پروگرام کردن بوت لودر آردوینو روی میکرو های avr پیدا کنم که از همه ی این روش ها به جز یکی جواب گرفتم که برای دوستان مراحل کار رو میگم تا بقیه هم بهره ببرند. اپتدا یه سری چیز ها در مورد بوت لودر هم میگم که کاربردش چیه و محتویاتش چیه. بوت لودر آردوینو یه جور برنامه ست(نرم افزار) که بودنش رو میکرو

                              دیدگاه

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