- Необходими компоненти
- Pin диаграма на Atmega328
- Описание на компонентите
- Част 1: Изграждане на веригата Arduino на макет
- Част 2: Изгаряне на Bootloader в Atmega328 IC
- Част 3: Как да програмирате Arduino Bootloader, качено Atmega 328
- Програмиране на Atmega328 чип с помощта на платка Arduino
- Програмиране на Arduino Atmega328 чип с помощта на USB към сериен конвертор
Всички знаем, че Atmega328 IC се използва в борда на Arduino UNO. Този IC е мозъкът на дъската Arduino. Всъщност дизайнерите на Arduino искаха да направят удобна прототипираща дъска за начинаещи, така че организираха всички компоненти по такъв начин, че всеки да има достъп до всички щифтове на интегралната схема Atmega328 и да може да я програмира само като я свърже към компютър. Дъската Arduino е много популярна за изграждане на хоби проекти. Но в индустриални или потребителски продукти не е добра идея да се използва пълната платка Arduino, така че можем да използваме самостоятелна Atmega328 IC, която може да бъде програмирана с Arduino IDE, но без да използваме платка Arduino.
В този урок ще видим как да заменим Arduino платката с Atmega328 IC и с няколко други компонента. За да използваме Atmega328 IC вместо arduino, първо трябва да изгорим Arduino Bootloader в него и след това ще го програмираме с FTDI или с помощта на Arduino Board. Този урок също ще помогне за подмяна на повредената микросхема Atmega328 от платката Arduino. Също така, като използвате описаната по-долу схема, можете да изградите своя собствена платка Arduino, като я репликирате на печатни платки.
Необходими компоненти
- Atmega 328 IC
- Макет
- LM7805
- 16 MHz кристал
- 22pF керамични кондензатори (2)
- 10uF кондензатор (2)
- 10 K резистор
- 1k резистор
- Джъмперни проводници
По желание можете да използвате и 3.3v регулатор на напрежение LM1117-3.3v, за да включите 3.3v релса във вашата верига.
Pin диаграма на Atmega328
Описание на компонентите
Захранваща част-
- 5V регулатор на напрежение: Atmega 328 IC работи на 5V захранване. И така, тук използваме LM7805, за да получим 5v изход, той може да се справи до 30V като вход. Ако имате отделно 5V захранване, можете да оставите тази стъпка.
- Кондензатори: 10uF кондензатор се използва на входната и изходната част на 7805 за байпас на всеки AC компонент към земята.
- LED: Това ще ви покаже, че вашият 5V изход идва.
Микроконтролер част
- Atmega 328: Това е нашият основен компонент на борда. Неговата pin диаграма е дадена по-горе.
- Кристален осцилатор: 16MHz външен кристал е свързан между Pin 9 и Pin 10 на ATmega328. Този кристал се използва за даване на часовник на микроконтролера за по-бързо изпълнение на задачите.
- Бутон: За нулиране на микроконтролера е свързан бутон между щифт 1 и GND. Обикновено е свързан с 5v с помощта на 10k резистор.
- LED: LED е свързан с цифров щифт 13.
Този пълен урок е разделен на три части, за да създадете свой собствен Arduino, работещ на макет:
- Изграждане на веригата Arduino на макет
- Изгаряне на Bootloader в Atmega328 IC
- Как да програмирате Arduino Bootloader, качено Atmega 328 IC на макет.
Сега ще обясним всяка част една по една.
Част 1: Изграждане на веригата Arduino на макет
Стъпка 1: - Свържете захранващата част, както е показано на електрическата схема, и я тествайте с помощта на външно захранване към LM7805. Ще изглежда така.
Стъпка 2: - Сега свържете частта на микроконтролера, както е показано на електрическата схема. Направете връзките внимателно.
Стъпка 3: - Сега свържете захранването и микроконтролера с помощта на джъмпери. Последната ви верига ще изглежда по подобен начин.
И така, това е нашият Arduino на макет. Можете да внедрите същата схема на печатни платки, като използвате прости инструменти като EasyEDA и др. Сега трябва да качим буутлоудъра в новия IC Atmega 328, за да можем да започнем да програмираме IC.
Част 2: Изгаряне на Bootloader в Atmega328 IC
Какво е bootloader и защо се нуждаем от него ??
Bootloader е малко парче изпълним код, който се съхранява постоянно в паметта на микроконтролера. Това заема по-малко от 1Kb памет. Bootloader позволява на IC да приеме кода от компютъра и да го постави в паметта на микроконтролера.
Традиционно всички микроконтролери от Atmel се програмират с помощта на програмисти, които имат някои изискани връзки. Буутлоудърите намаляват сложността и ни позволяват с лесен и ефективен начин за програмиране на микроконтролера. Това означава, че можете да го програмирате само с помощта на USB кабел.
Когато купувате нов Atmega 328 от пазара, в него няма буутлоудър. Така че, за да програмирате вашия Atmega328 с помощта на Arduino IDE, първо трябва да качите буутлоудъра.
За да качим Bootloader, имаме два метода:
- Използване на USBasp програмист
- Използване на Arduino UNO платка
Вторият метод е по-лесен в сравнение с първия. Тъй като изисква по-малко връзки, а също така най-новата версия на Arduino IDE не поддържа изисканите програмисти на USBasp.
И така, в този урок ще качим буутлоудъра, използвайки дъската Arduino Uno.
Качете Arduino Bootloader в чипа Atmega328
Стъпка 1: - Отворете Arduino IDE. Отидете на Файл -> Примери -> ArduinoISP . След това изберете ArduinoISP. Както е показано по-долу.
Стъпка 2: - Сега трябва да качите този код на вашата дъска Arduino. Изберете com порта и дъската от менюто с инструменти и натиснете бутона за качване.
Стъпка 3: - След „ Готово качване“ , изключете платката Arduino от компютъра и направете връзките на платката Arduino с Atmega 328, както е показано на диаграмата по-долу.
Стъпка 4: - Сега свържете платката Arduino с компютъра. Отворете IDE на Arduino.
Отидете на Инструменти, Изберете дъска като Arduino / Genuine Uno, Изберете правилния порт за вашата дъска. Изберете Програмист като „Arduino като ISP“. Не го бъркайте с ArduinoISP. И двете са различни.
Стъпка 5: - Сега отидете отново на Tools и кликнете върху Burn Bootloader точно под опцията Programmer. След няколко секунди буутлоудъра се качва успешно. Ако има грешка при качването, проверете връзките.
Проверете видеото по-долу, за да разберете стъпките, обяснени по-горе, за да качите Bootloader в Atmega 328 IC.
Вашият макет Arduino е готов да работи като истински Arduino борд. Сега възниква въпросът как да програмирам Atmega 328 IC ? Това ще обсъдим в следващия ни раздел.
Част 3: Как да програмирате Arduino Bootloader, качено Atmega 328
Самостоятелният чип Arduino Atmega328 може да бъде програмиран по много начини.
- Използване на празна Arduino платка, т.е. Arduino платка без Atmega 328 IC в нея.
- Използване на модул за преобразуване на USB към сериен TTL (модул FTDI).
- Използване на USBasp програмист (включва много връзки).
Тук ще го програмираме по два метода: USB към сериен конвертор и платка Arduino.
Програмиране на Atmega328 чип с помощта на платка Arduino
Стъпка 1: - Вземете платка Arduino без чип Atmega328. Направете връзките на дъската Arduino с нашия макет Arduino, както е показано на тази диаграма.
Стъпка 2: - Свържете платката Arduino с компютъра и отворете IDE на Arduino. Изберете Arduino Uno от менюто на Board в Tools , Programmer като USBasp и правилния com порт на платката.
Стъпка 3: - Ще започнем с качването на програмата Blink. Затова изберете програма за мигане от Примери и натиснете бутона Качване.
Сега можете да видите, че led на борда ще започне да мига.
Програмиране на Arduino Atmega328 чип с помощта на USB към сериен конвертор
Стъпка 1: - Ако нямате дъска Arduino. Това е най-добрият метод за програмиране на вашия макет Arduino .
Направете връзките като:
RXD щифт на FTDI -> Tx щифт на Atmega328 (щифт 3)
TXD щифт на FTDI -> Rx щифт на Atmega328 (щифт 2)
GND -> GND (щифт 8)
5v -> Vcc (щифт 7)
Някои FTDI модули имат Reset pin, известен също като DTR pin, който трябва да бъде свързан с Reset pin на Atmega328 (pin 1). Ако няма модул за нулиране в модула, не се притеснявайте, ще дам решението, когато програмираме чипа.
Стъпка 2: - Сега свържете FTDI с компютър и отворете диспечера на устройствата в контролния панел. Ще видите раздел Порт, Разширете го. Ако пред драйвера има жълт знак, тогава трябва да актуализирате драйвера на модула си.
Ако няма маркировка, отбележете номера на com порта и отворете Arduino IDE. Отидете на Инструменти -> Портове -> Изберете com, който сте отбелязали.
Стъпка 3: - Сега ще качим програма за мигане в нашия Breadboard Arduino . Отидете на Файл -> Примери -> Основи -> Мига . Изберете Arduino Uno от менюто на борда в инструменти, Програмист като USBasp и правилния com порт на платката.
След това натиснете бутона за качване.
Забележка: Ако вашият FTDI модул няма DTR щифт, след това натиснете бутона Reset на макета и натиснете бутона за качване. Задръжте го натиснат, ако пише Компилиране на скица... Освободете бутона веднага щом пише Качване...
Сега програмата ще бъде качена успешно в чипа Arduino Bootloader Atmega328.
По-долу е видеото за програмиране на Atmega 328 IC без използване на Arduino Board:
Приключихме с нашата верига „Направи си сам“ Arduino. Можете да проектирате тази схема на печатни платки, за да я направите по-компактна.