sådan brænder du bootloaderen på ATmega328 microcontroller
introduktion
hvis du ser dette projekt, har du muligvis brugt et Arduino-kort. ATmega328 mikrocontroller på ArduinoUNO vil sandsynligvis mislykkes efter en bestemt periode (eller forkert forbindelse). For at genbruge ArduinoBoard har du brug for en ny ATmega328IC med Bootloader. Der er andre grunde til at brænde Bootloader ATMEGA328 microcontroller på den, hvis du har skrevet din egen Bootloader og vil teste den, eller du vil lære mere om microcontrollers arbejdssituation.
Advarsel: Hvis du ikke er bekendt med denne slags ting, anbefales det ikke at justere bootloaderen i Arduino.
Hvad er Bootloader?
kort sagt, Bootloader er et lille stykke kode (eksekverbar kode i .i mikrocontrollerens hukommelse. Bootloaderen i Arduino giver os mulighed for at programmere Arduino gennem den serielle port, det vil sige ved hjælp af USB-kablet.
Bootloaderens opgave i Arduino er at acceptere koden fra computeren og sætte den i mikrocontrollerens hukommelse.
Hvorfor har vi brug for en Bootloader?
traditionelt programmeres mikrocontrollere som ATMEL ATmega328 MCU ved hjælp af dedikerede programmører, som involverer nogle ejendommelige forbindelser. Bootloader eliminerer denne kompleksitet og giver os en enkel måde at programmere mikrocontrolleren på, det vil sige ved hjælp af et USB-kabel.
Bootloader er placeret i en særlig sikker placering af programmerbar flashhukommelse. Mikrocontrollere optager normalt mindre end 1 kB hukommelse.
Hvad skal jeg brænde Bootloader på ATMEL ATMEGA328?
som tidligere nævnt, hvis du vil uploade programmet til den helt nye ATmega328 microcontroller IC, skal du bruge en speciel programmør (og indstille sikringsbit). Men hvis du brænder bootloaderen på ATmega328-chippen, behøver du kun at programmere mikrocontrolleren via den serielle port (USB-kabel).
når ATMEGA328 mikrocontroller er klar til bootloader, kan du blot bruge den. Hvis du planlægger at lave dit eget Arduino board, skal du bruge det som et Arduino board (som et alternativ) eller bruge det som en mikrocontroller.
Sådan brænder du Bootloader på ATMEGA328?
der er flere måder at brænde bootloaderen på ATMEGA328IC. Den første metode er at bruge dedikeret AVR programmør. Den anden metode er at bruge et fungerende Arduino-kort som programmør og brænde bootloaderen på målet Arduino ATmega328 mikrocontroller.
i dette projekt vil jeg bruge den anden metode, som er at bruge Arduino som programmør.
kredsløbsdiagram
kredsløbsdiagrammet til brænding af bootloaderen på ATMEGA328 ved hjælp af Arduino-mikrocontrolleren er vist nedenfor.
pindiagrammet til ATmega328 mikrocontroller er som vist nedenfor.
nødvendige komponenter
ArduinoUNO
ATmega328 mikrocontroller IC
16mg krystal
22pfh2 keramisk kondensator
10k-modstand
knap
330-modstand
led
breadboard
tilslut ledningerne
5V strømforsyning
processen med programmering af bootloader på ATmega328 datablad.
som tidligere nævnt bruges ArduinoUNO som AVR-programmør her. For at opnå dette skal du uploade et specielt program til dit arduinouno-bord, kaldet “ArduinoISP”.
før du opretter forbindelsen, skal du tilslutte arbejdsarduino for at forbinde UNO til computeren ved hjælp af et USB-kabel og vælge det relevante kort og PORT i ArduinoIDE.
gå nu til ArduinoISP. Upload denne kode til ArduinoUNO for at konvertere arduinouno-tavlen til en AVRISP-programmør.
når du har gennemført dette trin, skal du foretage de nødvendige forbindelser (hvis ikke). Gå nu til værktøjer>programmør og vælg “ArduinoasISP” indstillingen. Herefter er du klar til at brænde bootloaderen.
bare gå til “værktøjer” og klik på “BurnBootloader”. Din mål ATMEGA328 mikrocontroller vil blive programmeret ved hjælp af bootloader.
Upload billedet til ATmega328 pakker
når du har uploadet bootloaderen til ATmega328 mikrocontroller, kan du fortsætte med at uploade testskitsen. For at gøre dette skal du holde de samme forbindelser som før og åbne eventuelle skitser, f.eks.
skift ikke nogen indstillinger, det vil sige, programmereren er stadig indstillet til “ArduinoasISP”. Hold nu knappen “Skift” nede på tastaturet, og klik på ikonet “Upload”. Dette uploader skitsen til ATmega328 microcontroller IC ved hjælp af ArduinoUNO som programmør.
når du har afsluttet denne handling, kan du afbryde ArduinoUNO fra Atmel ATmega328 mikrocontroller og bruge ATMEGA328IC som en selvstændig enhed til at køre Blinksketch på den.
følgende figur viser ATMEGA328 mikrocontroller kører Blinksketch efter Upload ved hjælp af ArduinoUNO.
Bemærk: For at uploade koden til ArduinoUNO, skal du sørge for at skifte programmøren tilbage til “AVRISPmkII”.
konklusion
i dette projekt viste jeg dig, hvordan du brænder bootloaderen på ATmega328 microcontroller IC. Som en ekstra mulighed viste jeg dig også, hvordan du bruger ArduinoUNO til at uploade Arduino-skitsen til ATmega328 med Bootloader.