- Componenten vereist
- Pin Diagram van Atmega328
- Componentbeschrijvingen
- Deel 1: Het Arduino-circuit bouwen op Breadboard
- Deel 2: de bootloader in Atmega328 IC branden
- Deel 3: Hoe Arduino Bootloader te programmeren, geüploade Atmega 328
- Programmering Atmega328-chip met behulp van Arduino-bord
- Programmering Arduino Atmega328 Chip met behulp van USB naar serieel converter
We weten allemaal dat Atmega328 IC wordt gebruikt in het Arduino UNO-bord. Dit IC is het brein van het Arduino-bord. Eigenlijk wilden Arduino-ontwerpers een handig prototype-bord voor beginners maken, zodat ze alle componenten zo organiseerden dat iedereen toegang heeft tot alle pinnen van de Atmega328 IC en het kan programmeren door het gewoon op de computer aan te sluiten. Arduino-bord is erg populair voor het bouwen van hobbyprojecten. Maar in industriële of consumentenproducten is het geen goed idee om het volledige Arduino-bord te gebruiken, dus we kunnen standalone Atmega328 IC gebruiken, die kan worden geprogrammeerd met Arduino IDE maar zonder Arduino-bord te gebruiken.
In deze tutorial zullen we zien hoe we het Arduino-bord kunnen vervangen door Atmega328 IC en met enkele andere componenten. Om Atmega328 IC te gebruiken in plaats van arduino, moeten we eerst de Arduino Bootloader erin branden en dan programmeren we het met FTDI of met Arduino Board. Deze tutorial zal ook helpen bij het vervangen van een beschadigd Atmega328 IC van het Arduino-bord. Ook door het hieronder beschreven circuit te gebruiken, kunt u uw eigen Arduino-bord bouwen door het op PCB te repliceren.
Componenten vereist
- Atmega 328 IC
- Breadboard
- LM7805
- 16 MHz kristal
- 22pF keramische condensatoren (2)
- 10uF condensator (2)
- 10 K weerstand
- 1k weerstand
- Doorverbindingsdraden
Optioneel kunt u ook 3.3v spanningsregelaar LM1117-3.3v gebruiken om 3.3v rail in uw circuit op te nemen.
Pin Diagram van Atmega328
Componentbeschrijvingen
Stroomvoorziening onderdeel
- 5V spanningsregelaar: Atmega 328 IC werkt op 5V voeding. Dus hier gebruiken we LM7805 om 5v-uitvoer te krijgen, het kan tot 30V als invoer aan. Als u een aparte 5V-voeding heeft, kunt u deze stap verlaten.
- Condensatoren: een condensator van 10uF wordt gebruikt aan het ingangs- en uitgangsgedeelte van 7805 om elke AC-component naar aarde te omzeilen.
- LED: dit geeft aan dat uw 5V-output eraan komt.
Microcontroller onderdeel
- Atmega 328: dit is ons belangrijkste onderdeel op het breadboard. Het pin-diagram is hierboven weergegeven.
- Kristaloscillator: een extern kristal van 16 MHz is aangesloten tussen pin 9 en pin 10 van de ATmega328. Dit kristal wordt gebruikt om de microcontroller een klok te geven om de taken sneller uit te voeren.
- Drukknop: Om de microcontroller te resetten is een drukknop aangesloten tussen pin 1 en GND. Normaal gesproken is het verbonden met 5v met behulp van een weerstand van 10k.
- LED: Een led is verbonden met digitale pin 13.
Deze complete tutorial is onderverdeeld in drie delen om je eigen Arduino op een breadboard te laten draaien:
- Het Arduino-circuit bouwen op Breadboard
- De Bootloader in Atmega328 IC branden
- Hoe Arduino te programmeren Bootloader uploadde Atmega 328 IC op breadboard.
Nu zullen we elk deel een voor een uitleggen.
Deel 1: Het Arduino-circuit bouwen op Breadboard
Stap 1: - Sluit het voedingsgedeelte aan zoals weergegeven in het schakelschema en test het met behulp van een externe voeding naar LM7805. Het ziet er zo uit.
Stap 2: - Sluit nu het microcontroller-onderdeel aan zoals weergegeven in het schakelschema. Maak de aansluitingen zorgvuldig.
Stap 3: - Verbind nu de voeding en het microcontroller-gedeelte met behulp van jumpers. Je laatste circuit ziet er ongeveer zo uit.
Dit is dus onze Arduino op breadboard. U kunt dezelfde schakeling op de printplaat implementeren met behulp van eenvoudige tools zoals EasyEDA, enz. Nu moeten we de bootloader uploaden naar de nieuwe Atmega 328 IC, zodat we kunnen beginnen met het programmeren van de IC.
Deel 2: de bootloader in Atmega328 IC branden
Wat is bootloader en waarom hebben we het nodig ??
Bootloader is een klein stukje uitvoerbare code dat permanent wordt opgeslagen in het geheugen van de microcontroller. Dit neemt minder dan 1 KB geheugen in beslag. Met Bootloader kan de IC de code van de computer accepteren en deze in het geheugen van de microcontroller plaatsen.
Traditioneel worden alle microcontrollers van Atmel geprogrammeerd met behulp van programmeurs die een aantal mooie verbindingen hebben. Bootloaders verminderen de complexiteit en stellen ons in staat om op een gemakkelijke en efficiënte manier de microcontroller te programmeren. Dit betekent dat u het kunt programmeren door alleen een USB-kabel te gebruiken.
Wanneer u een nieuwe Atmega 328 van de markt koopt, bevat deze geen bootloader. Dus om je Atmega328 te programmeren met Arduino IDE, moet je eerst de bootloader uploaden.
Om de Bootloader te uploaden, hebben we twee methoden:
- Met behulp van USBasp programmeur
- Arduino UNO-bord gebruiken
De tweede methode is gemakkelijker in vergelijking met de eerste. Omdat het minder verbindingen vereist en ook de nieuwste versie van Arduino IDE ondersteunt de chique USBasp-programmeurs niet.
Dus in deze tutorial zullen we de bootloader uploaden met behulp van het Arduino Uno-bord.
Upload de Arduino Bootloader in Atmega328 Chip
Stap 1: - Open Arduino IDE. Ga naar Bestand -> Voorbeelden -> ArduinoISP . Kies dan voor ArduinoISP. Zoals hieronder getoond.
Stap 2: - Nu moet je deze code uploaden naar je Arduino-bord. Kies de com-poort en het bord in het toolmenu en druk op de uploadknop.
Stap 3: - Koppel na ' Klaar met uploaden' het Arduino-bord los van de computer en maak de verbindingen van het Arduino-bord met Atmega 328 zoals weergegeven in onderstaand diagram.
Stap 4: - Verbind nu het Arduino-bord met de computer. Open Arduino IDE.
Ga naar Tools, kies bord als Arduino / Genuine Uno, kies de juiste poort voor je bord. Kies Programmer als "Arduino als ISP". Verwar het niet met ArduinoISP. Beiden zijn verschillend.
Stap 5: - Ga nu opnieuw naar Tools en klik op Bootloader branden net onder de optie Programmer. Na een paar seconden is de bootloader met succes geüpload. Als er een fout is opgetreden bij het uploaden, controleer dan de verbindingen.
Bekijk de onderstaande video om de bovenstaande stappen te begrijpen om Bootloader te uploaden in Atmega 328 IC.
Je breadboard Arduino is klaar om te werken als een echt Arduino-bord. Nu rijst de vraag dat hoe Atmega 328 IC te programmeren ? Dat zullen we in onze volgende sectie bespreken.
Deel 3: Hoe Arduino Bootloader te programmeren, geüploade Atmega 328
Standalone Arduino Atmega328 Chip kan op vele manieren worden geprogrammeerd.
- Gebruik een blanco Arduino-bord, dwz een Arduino-bord zonder Atmega 328 IC erin.
- Met behulp van USB naar Seriële TTL-convertermodule (FTDI-module).
- Met behulp van USBasp-programmeur (veel verbindingen omvatten).
Hier zullen we het op twee manieren programmeren: USB naar seriële converter en Arduino-bord.
Programmering Atmega328-chip met behulp van Arduino-bord
Stap 1: - Neem een Arduino-bord zonder Atmega328-chip. Maak de verbindingen van het Arduino-bord met ons breadboard Arduino zoals weergegeven in dit diagram.
Stap 2: - Verbind het Arduino-bord met de computer en open de Arduino IDE. Kies Arduino Uno in het menu Bord in Tools , Programmer als USBasp en de juiste com-poort van het bord.
Stap 3: - We beginnen met het uploaden van het Blink-programma. Dus kies het knipperprogramma uit Voorbeelden en druk op de knop Uploaden.
Nu kun je zien dat de led op het breadboard gaat knipperen.
Programmering Arduino Atmega328 Chip met behulp van USB naar serieel converter
Stap 1: - Als je geen Arduino-bord hebt. Dit is de beste methode om uw breadboard Arduino te programmeren.
Maak de verbindingen als:
RXD-pin van FTDI -> Tx-pin van Atmega328 (pin 3)
TXD-pin van FTDI -> Rx-pin van Atmega328 (pin 2)
GND -> GND (pin 8)
5v -> Vcc (pin 7)
Sommige FTDI-modules hebben een Reset-pin, ook bekend als DTR-pin, die moet worden verbonden met de Reset-pin van Atmega328 (pin 1). Als er geen reset-pin in de module zit, maak je geen zorgen, ik zal de oplossing geven wanneer we de chip programmeren.
Stap 2: - Verbind nu de FTDI met de computer en open Apparaatbeheer in het configuratiescherm. Je zult het Port-gedeelte zien, Expand it. Als er een geel merkteken voor het stuurprogramma staat, moet u uw modulestuurprogramma bijwerken.
Als er geen markering is, noteer dan het com-poortnummer en open Arduino IDE. Ga naar Extra -> Poorten -> Selecteer de com die je hebt genoteerd.
Stap 3: - Nu zullen we het knipperingsprogramma uploaden naar onze Breadboard Arduino . Ga naar Bestand -> Voorbeelden -> Basis -> Knipperen . Kies Arduino Uno uit het bordmenu in tools, Programmer als USBasp en de juiste com-poort van het bord.
Druk vervolgens op de uploadknop.
Opmerking: als uw FTDI-module geen DTR-pin heeft, druk dan op de Reset-knop op het breadboard en druk op de uploadknop. Houd de knop ingedrukt als er staat Compiling sketch... Laat de knop los zodra er staat Uploading...
Nu zal het programma met succes worden geüpload naar de Arduino Bootloader Atmega328-chip.
Hieronder vindt u de video voor het programmeren van Atmega 328 IC zonder Arduino-bord te gebruiken:
We hebben het gedaan met ons DIY Breadboard Arduino Circuit. U kunt dit circuit op PCB ontwerpen om het compacter te maken.