Atmega328P datasheet на русском pdf: портал и журнал для разработчиков электроники

Даташит на русском Atmega8 — Практическая электроника

Что такое даташит

Даташит — это техническое описание на какой-либо радиокомпонент. Где его найти? Ну, конечно же, в интернете! Так так почти вся радиоэлектронная продукция выпускается «за бугром», то и описание на них, соответственно, «забугорское», а точнее, на английском языке. Те, кто хорошо дружит с разговорным английским, не факт, что сможет прочитать технические термины в даташитах.

Даташит на английском на Atmega8

Давайте попробуем пролить свет истины на основные характеристики МК ATmegа8. Для этого качаем даташит. В нашей статье мы будем рассматривать только основные сведения нашего подопечного.

Вот что мы видим на первой странице даташита:

 

Даташит на русском  Atmega8

Запоминаем правило: в фирменном описании нет ни одного лишнего слова! (иногда информации не хватает, но это уже другой случай)

Features. Переводится как «функции». В среде электронщиков просто «фичи».

— High Performance, Low Power AVR® 8-Bit Microcontroller

Высокопроизводительный, потребляющий мало энергии, 8-битный микроконтроллер.

Понимаем как рекламу, единственно полезное то, что данный микроконтроллер — 8 битный.

— Advanced RISC Architecture

Расширенная RISC архитектура.

RISC и CISC — технологии построения процессорных систем. Но нам это не важно, по крайней мере, пока.

— 130 Powerful Instructions – Most Single Clock Cycle Execution

130 команд, большинство из них выполняются за один цикл.

А вот это уже интереснее! Во-первых, такое большое количество команд (например, у микроконтроллеров PIC всего 35 команд) уже подразумевает ориентацию этого МК под языки высокого уровня. Во-вторых, узнаем, что одна команда выполняется за один такт генератора. Т.е., при тактовой частоте 1 МГц одна команда будет выполняться 1 микросекунду (1 мкс, одну миллионную часть секунды — 10^-6). А при 10 МГц — в десять раз быстрее, т.е., 0,1 мкс.

— 32 x 8 General Purpose Working Registers

32 восьмибитных регистра общего пользования.

Про регистры поговорим позднее, просто запомним, что большое количество регистров — весьма неплохо, ведь регистр — это ячейка памяти в самом МК. А чем больше такой памяти – тем «шустрее» работает МК!

Объединив эти данные с количеством поддерживаемых микроконтроллером команд, в очередной раз убеждаемся в изначальной ориентации данного МК под высокоуровневые языки вроде Си, Паскаля и других.

— Fully Static Operation

Полностью статическая структура.

Вспоминаем о типах памяти: динамической и статической. Этот пункт заверяет нас, что МК сохранит свою работоспособность при тактовой частоте ниже сотен герц и даже при отсутствии тактовой частоты на его специальных выводах.

(Также нелишним будет напомнить о том, что потребляемая мощность большинства типов МК напрямую зависит от тактовой частоты: чем выше тактовая частота, тем больше он  потребляет)

— Up to 16 MIPS Throughput at 16 MHz

До 16 миллионов выполняемых команд при тактовой частоте 16 МГц.

За одну секунду при тактовой частоте 16 МГц может быть выполнено до 16 000 000 команд! Следовательно, одна однобайтовая команда может быть выполнена за 0,07 мкс. Весьма недурно для маленькой микросхемы.

С учетом предыдущего пункта понимаем, как работает на частотах от 0 Гц до 16 МГц.

— On-chip 2-cycle Multiplier

В данном МК имеется встроенный умножитель, который умножает числа за два такта.

Ну, это хорошо. Даже очень. Но мы пока не будет вгрызаться в эти нюансы…

— High Endurance Non-volatile Memory segments

Надежная энергонезависимая память, построенная в виде нескольких сегментов.

Вспоминаем типы памяти: EEPROM и FLASH.

— 8KBytes of In-System Self-programmable Flash program memory

— 8 Кбайт встроенной в МК памяти. Память выполнена по технологии Flash. В самом МК имеется встроенный программатор.

Этот объем весьма хорош! Для обучения (да и не только) — с запасом. А наличие встроенного программатора этой памяти, позволяет загружать данные в память, используя простой внешний программатор (в простейшем случае это пять проводков, которыми микроконтроллер подключают к LPT порту компьютера).

— 256 Bytes EEPROM

В МК имеется 256 байт энергонезависимой памяти EEPROM.

Следовательно, можно сохранить еще дополнительную информацию, которую можно изменять программой МК, без внешнего программатора.

— 1024 Bytes Internal SRAM

В МК имеется 1024 байт оперативной памяти (ОЗУ/RAM).

Также весьма приятный объем

— Write/Erase cyles: 10,000 Flash/100,000 EEPROM

Память Flash выдерживает 10 000 циклов записи/стирания, а память EEPROM — до 100 000

Проще говоря, программу в МК можно изменять до 10 000 раз, а свои данные в 10 раз больше.

— Data retention: 20 years at 85°C/100 years at 25°C

Сохранность данных в памяти МК — до 20 лет при температуре хранения 85°C, и 100 лет — при температуре 20°C.

Если ваши внуки и правнуки включат вашу «мигалку» или музыкальную шкатулку, то они смогут насладиться их работой ))

— Optional Boot Code Section with Independent Lock Bits

— Programming Lock for Software Security

МК имеет несколько областей памяти (не уточняем каких), которые можно защитить от прочтения установкой специальных бит защиты.

Ну, тут всё понятно: свои труды вы можете защитить от вычитывания программы из памяти МК.

Далее идет описание имеющейся в данном микроконтроллере периферии (т.е., встроенных в него аппаратных устройств типа таймеров, источников прерываний и интерфейсов связи)

— Two 8-bit Timer/Counters

— One 16-bit Timer/Counter

В МК имеется два таймера/счетчика: 8 и 16 бит.

— Three PWM Channels

Три канала ШИМ

– 8-channel ADC in TQFP and QFN/MLF package

Eight Channels 10-bit Accuracy

– 6-channel ADC in PDIP package

Six Channels 10-bit Accuracy

В составе МК есть несколько каналов АЦП: 6 – для корпуса PDIP и 8 – для корпуса QFN/MLF. Разрядность АЦП — 10 бит.

— Byte-oriented Two-wire Serial Interface

— Programmable Serial USART

В данном МК реализован аппаратный двухпроводный интерфейс связи USART, байт ориентированный и программируемый — имеется возможность настройки параметров интерфейса.

Master/Slave SPI Serial Interface

Реализован SPI интерфейс связи, режимы Мастер/Подчиненный.

[quads id=1]

— Programmable Watchdog Timer with Separate On-chip Oscillator

Сторожевой таймер с собственным автономным генератором.

— On-chip Analog Comparator

Аналоговый компаратор.

— Power-on Reset and Programmable Brown-out Detection

Реализованы режимы контроля напряжения питания и защита работы МК при плохом питании (гарантирует увеличение надёжности работы всей системы).

— Internal Calibrated RC Oscillator

Встроенный калиброванный RC-генератор (можно запустить МК без внешних элементов).

— External and Internal Interrupt Sources

Реализовано несколько типов внешних и внутренних прерываний.

— Five Sleep Modes

Пять режимов «сна» (уменьшение энергопотребления МК за счет отключения некоторых внутренних узлов или специальных методов замедления их работы)

Понимаем как возможность выбора такого режима, при котором соотношение «потребляемая энергия/возможности» будут оптимальны для решения наших задач. Весьма полезная возможность при необходимости экономить энергию: питании от батарей, аккумуляторов и других источников.

— 28-pin PDIP, 32-lead TQFP, 28-pad QFN/MLF and 32-pad QFN/MLF

Указаны типы корпусов, в которых выпускается данный микроконтроллер. Видим «28 DIP» — это хорошо! Не надо покупать специализированные дорогостоящие панели и мучиться с тоненькими и часто расположенными выводами на корпусе МК.

Temperature Range:

 -40°C to 85°C

Рабочая температура: -40°C … +85°C

Очень важный параметр! Бывают модели микроконтроллеров, которые работоспособны только при положительных температурах окружающего воздуха.

(Был у меня горький опыт, когда в устройстве был применен именно такой «теплолюбивый» микроконтроллер. А устройство поместили на улицу… И каждую зиму «благодарные» пользователи моего устройства «хвалили» меня за «замерзание» микроконтроллера, которое проявлялось в виде полного его зависания)

Напряжение питания и тактовая частота

– 2. 7 — 5.5V for ATmega8L

– 4.5 — 5.5V for ATmega8

Имеется две модификации данного МК: одна работоспособна при широком диапазоне питающих напряжение, вторая — в узком.

ATmega8L: 0 – 8 MHz @ 2.7 — 5.5V

ATmega8: 0 – 16 MHz @ 4.5 — 5.5V

Максимальная тактовая частота:

— Atmega8L: 0 – 8 МГц при напряжении питания 2,7 – 5,5 вольт

— Atmega8: 0 – 16 МГц при напряжении питания 4,5 – 5,5 вольт.

И что мы видим? А то, что модификация МК, работоспособная в широком диапазоне питающих напряжений, не может быть тактируема частотами выше 8 МГц. Следовательно, и ее вычислительные возможности будут ниже.

Power Consumption at 4 Mhz, 3V, 25°C

— Active: 3.6 mA

— Idle Mode: 1. 0 mA

— Power-down Mode: 0.5 µA

Потребляемая мощность:

— при работе на частоте 4 МГц и напряжении питания 3 вольта потребляемый ток: 3,6 миллиампер,

— в различных режимах энергосбережения потребляемый ток: от 1 миллиампер до 0,5 микроампера

Распиновка Atmega8

На следующей странице публикуется расположение выводов данного микроконтроллера при использовании разных типов корпусов:

Советую этот листок из даташита распечатать и иметь под рукой. В процессе разработки и сборки схемы очень полезно иметь эти данные перед глазами.

Внимание!

Обратите внимание на такой факт: микросхема микроконтроллера может иметь (и имеет в данной модели) несколько выводов для подключения источника питания. То есть имеется несколько выводов для подключения «земли» — «общего провода», и несколько выводов для подачи положительного напряжения.

Изготовители микроконтроллеров рекомендуют подключать соответствующие выводы вместе, т. е., минус подавать на все выводы, помеченные как Gnd (Ground — Земля), плюс — на все выводы помеченные как Vcc.

При этом через одинаковые выводы МК не должны протекать токи, так как внутри корпуса МК они соединены тонкими проводниками! То есть при подключении нагрузки эти выводы не должны рассматриваться как «перемычки».

Блочная диаграмма

Листаем описание далее, видим главу «Overview» (Обзор).

В ней имеется раздел «Block Diagram» (Устройство). На рисунке показаны устройства, входящие в состав данного микроконтроллера.

Генератор тактовой частоты

Но самым важным для нас в настоящее время является блок «Oscillator Circuits/Clock Generation» (Схема генератора/Генератор тактовой частоты).

В программе часто возникает необходимость сделать временную задержку в ее выполнении — паузу. А точную паузу можно организовать только методом подсчета времени. Время считаем исходя из количества тактов генератора микроконтроллера.

Да и не лишним будет заранее просчитать: успеет ли МК выполнить тот или иной фрагмент программы за отведенное для этого время.

В даташите ищем соответствующую главу: «System Clock and Clock Options» (Тактовый генератор и его параметры). В ней видим раздел «Clock Sources» (Источники тактового сигнала), в котором имеется таблица с перечнем видов тактовых сигналов. В этом разделе указано, что данный МК имеет встроенный тактовый RC-генератор. В разделе «Default Clock Source» имеется указание о том, что МК продается уже настроенным для использования встроенного RC-генератора. При этом тактовая частота МК — 1 МГц.

Из раздела «Calibrated Internal RC Oscillator» (Калиброванный RC-генератор) узнаем, что встроенный RC-генератор имеет температурный дрейф в пределах 7,3 — 8,1 МГц. Может возникнуть вопрос: если частота встроенного тактового генератора 7,3 — 8,1 МГц, то как была получена частота 1 МГц? Дело в том, что тактовый сигнал попадает в схемы микроконтроллера через программируемый делитель частоты (Об это рассказано в разделе «System Clock Prescaler»).

В данном микроконтроллере он имеет несколько коэффициентов деления: 1, 2, 4 и 8. При выборе первого мы получим частоту самого тактового генератора, при включении последнего — в 8 раз меньше, т.е., 8/8=1 МГц. С учетом вышесказанного получаем, что тактовая частота данного МК при включенном делителе с коэффициентом 8 будет в пределах от 7,3/8 = 0,9125 МГц (9125 КГц) до 8,1/8 = 1,0125 МГц.

Обратите внимание на один ну очень важный факт: стабильность частоты дана при температуре МК 25 градусов по шкале Цельсия. Вспомним, что внутренний генератор выполнен по RC схеме. А емкость конденсатора очень зависит от температуры!

Конденсаторы по питанию

Перед тем, как подать на микроконтроллер питающее напряжение, выполним правило, которое обязательно для всех цифровых микросхем: в непосредственной близости от выводов питания микросхемы должен быть керамический конденсатор емкостью 0,06 — 0,22 мкф. Обычно устанавливают конденсатор 0,1 мкф. Его часто называют блокировочным конденсатором.

В схему необходимо установить и электролитический конденсатор емкостью 4-10 мкф. Он также является блокировочным фильтром, но на менее высоких частотах. Такой конденсатор можно устанавливать один для нескольких микросхем. Обычно на 2-3 корпуса микросхем.

Дело в том, что микроконтроллер (как и другие цифровые микросхемы) состоит из транзисторных ячеек, которые в процессе работы постоянно переключаются из открытого состояния в закрытое, и наоборот. При этом изменяется потребляемая транзисторными ячейками энергия. В линии питания возникают кратковременные «провалы» напряжения. Этих ячеек в микроконтроллере сотни тысяч (думаю, что сейчас уже миллионы!), поэтому по питающим проводам начинают гулять импульсные помехи с частотами от единиц до десятков тысяч Герц.

Для предотвращения распространения этих помех по цепям схемы, да и самой микросхемы микроконтроллера, параллельно его выводам питания устанавливают такой блокировочный конденсатор. При этом на каждую микросхему необходимо устанавливать индивидуальный конденсатор.

Конденсатор для постоянного тока является изолятором. Но при установке конденсатора в цепи с непостоянным током он делается сопротивлением. Чем выше частота, тем меньшее сопротивление оказывает конденсатор. Следовательно, блокировочный конденсатор с малой емкостью пропускает через себя (шунтирует) высокочастотные сигналы (десятки и сотни Герц), а конденсатор с бОльшей емкостью — низкочастотные. Об этом я писал еще в статье Конденсатор в цепи постоянного и переменного тока

Выводы

— микроконтроллер AVR ATmega-8 при поставке с завода работает на тактовой частоте 0,91—1,1 МГц;

— напряжение питания должно быть в пределах 4,5 — 5,5 Вольт. Мы будем использовать микросхемы с питающим напряжением 5 Вольт, поэтому и МК будет питаться этим же напряжением. (Хотя работоспособность сохранится при напряжении питания 2,7 Вольт для обычных, не низковольтных моделей МК)

Читайте отдельную статью про ATmega328P.

Где и как искать компоненты и даташиты ? Смотрите в видео:

ATMEGA328P-PU как замена Arduino

Раз уж Arduino стал практически мейнстримом, напишу обзор про микроконтроллеры ATMEGA328

Данный микроконтроллер является сердцем Arduino Uno, Nano, Pro Mini и ряда других плат.

Но Arduino — это слишком просто. Купил, подключил, загрузил программу и вот уже гордо мигает светодиод на плате. Мы же легких путей не ищем и

программируем голые микроконтроллеры на ассемблере

поэтому и куплены данные микросхемы. Тем кому интересно, прошу под кат.

Итак зачем все это нужно?

Ну во первых, это экономия в деньгах (Правда с ценами на Pro Mini очень сомнительная)

Во вторых, экономия места

В третьих, микросхемы без всяких преобразователей и светодиодов очень экономичны, что немаловажно в проектах с батарейным питанием.

В четвертых, проекты на Arduino весьма неопрятны из за мотка проводов вокруг платы. Микроконтроллеры же вполне можно паять на макетках или нормальных печатных платах.

Ну и в пятых, это ведь интересно и познавательно!

Заказал я данные микросхемы на Алиэксперсс. Лот состоит из 10 микроконтроллеров, 10 панелек для них, и 10 кварцевых резонаторов на 16МГц. Сейчас лот подорожал до $35 и купить за адекватную цену Atmegу можно разве что на Таобао.

Заказ шел целых 97 дней. Трек быстро отозвался в Китае и завис, не дойдя до России. Я успел пообщаться с продавцом, открыть спор и выиграть его, когда нежданно посылка нарисовалась в Москве. Деньги я вернул продавцу на PayPal, видимо у него где-то есть еще и магазин.

Итак все довольны — продавец получил заслуженную прибыль, а я долгожданный товар.

Подробное описание ATMEGA328 можно посмотреть на сайте atmel.com.

Буковка «P» в названии означает низкое энергопотребление, а PU-корпус DIP28, который удобно паять обычным паяльником.

Сам товар:

Контроллер с панелькой и кварцем

Как это все готовить?

Для программирования взят очень дешевый программатор USBasp за 3.14 (Пи?) баксов.

Для простоты, используем ICSP разъем стандартной Arduino UNO


В панельку Arduino вставляем наш микроконтроллер.

Далее качаем и устанавливаем драйвер для программатора. Запускам стандартную ArduinoIDE, выбираем в меню «Сервис->Программатор->USBasp», плату ArduinoUNO и нажимаем «Записать загрузчик». После окончания процесса загрузки мы получаем контроллер, такой же как и в UNO, в который можно уже в дальнейшем заливать программы через стандартный USB Ардуины.

Далее мне захотелось использовать встроенный кварцевый резонатор на 8МГц, чтобы иметь минимум деталей на плате.

Открываем файл с описанием микроконтроллера c:\Program Files (x86)\Arduino\hardware\arduino\boards.txt

Копируем блок с Uno и правим в нм Фьюзы. Это специальные биты для настроки контроллера. Прочитать про них можно здесь. Сконфигурировать при помощи онлайн-калькулятора. Загрузив в калькулятор значения от UNO я устанавливаю стандартное значение с встроенным кварцем на 8МГц.

Затем заменяю значение в файле с описанием плат и получаю такое описание:

tmega328_8.name=Atmega328 (5V, 8 MHz internal) 

atmega328_8.upload.protocol=arduino
atmega328_8.upload.maximum_size=30720
atmega328_8.upload.speed=57600

atmega328_8.bootloader.low_fuses=0xE2
atmega328_8.bootloader.high_fuses=0xDE
atmega328_8.bootloader.extended_fuses=0x05
atmega328_8.bootloader.path=optiboot
atmega328_8.bootloader.file=optiboot_atmega328.hex
atmega328_8.bootloader.unlock_bits=0x3F
atmega328_8.bootloader.lock_bits=0x0F

atmega328_8.build.mcu=atmega328p
atmega328_8.build.f_cpu=8000000L
atmega328_8.build.core=arduino
atmega328_8.build.variant=standard


Затем в среде Arduino выбираю свой микроконтроллер и снова прошиваю загрузчик.

Все, я получил микроконтроллер, в который можно заливать скетчи на Arduino UNO плате, а затем использовать его без внешнего кварца.

Можно не прошивать контроллеру загрузчик, но тогда заливать в него программы всегда придется через программатор.

Чтобы не соединять самому 10пинвый разъем на USBasp к 6-ти пиновому ICSP на Arduino заказал такой переходник

Потом подумал, и заказал такой переходник для программатора, позволяющий обходится без Arduino Uno. Так что надеюсь, следующие микросхемы буду шить с большим комфортом.

Рекомендую ли я данные микроконтроллеры — скорее нет. При цене на Arduino Pro Micro — $2.88 это не особенно целесообразно. Сейчас я бы купил Atmega8 стоимостью около 1$ или Atiny, для проектов, где не нужно возможности Atmega328.

Где я все это планирую применять?

Хочу сделать сенсорные беспроводные выключатели света, вентиляторов и др. устройств, причем разместить их прямо в корпусах выключателей.

В люстрах, для получения радиокоманд от этих выключателей, а также для диммирования.

В миниатюрном погодном датчике на аккумуляторе за окном.

В контроллере управления вентилятором на кухне и в ванной.

Да мало ли сколько еще «нужных и полезных» устройств можно сделать?

А как же мозг не вскипел все это реализовывать?

Ну конечно же был помощник

Все статьи мои статьи можно найти в моем блоге samopal.pro

OSEPP — OSEPP™ UNO R4 Plus

Плата OSEPP™ Uno R4 Plus — самая популярная плата Arduino на рынке Arduino! На этой плате используется 8-разрядный микроконтроллер ATmega328P на базе AVR и RISC от Atmel.
• Разъем микро-USB
• 4 дополнительных контакта питания 5 В и GND
• Дополнительные аналоговые контакты A6 и A7

Дополнительные функции:

• Разъем mini-USB заменен на более популярный разъем micro-USB
.
• удален разъем Molex

Особенности:

• 8-разрядный микроконтроллер AVR RISC, работающий на частоте 16 МГц
• Подключается к компьютеру с помощью стандартного USB-кабеля
.
• Гибкий источник питания (USB или питание постоянного тока)
• Заголовок ICSP для программирования микроконтроллера
• Совместимость с существующими программными библиотеками Arduino
• Совместимость со всеми платами Arduino для Arduino UNO.

Характеристики:

  • ATmega328P поставляется с предустановленным загрузчиком Arduino. Существует заголовок ICSP (внутрисхемное последовательное программирование) для ATmega328, который при необходимости может заменить загрузчик.
  • В качестве дополнительной меры предосторожности плата поставляется с сбрасываемым предохранителем на пути подключения USB. Чтобы предотвратить повреждение USB-порта, предохранитель сработает, когда ток в порту превысит 500 мА.
  • Входные и/или выходные контакты выведены на разъемы, что обеспечивает удобный способ прототипирования проектов без необходимости пайки или демонтажа.

 

 

Технические характеристики

Микроконтроллер ATmega328P
Тактовая частота 16 МГц
Флэш-память 32 КБ
ОЗУ 2 КБ
ЭСППЗУ 1 КБ
Рабочее напряжение
Входное напряжение 6-12 В
Количество контактов цифрового ввода/вывода 14 (включая 6 для выхода ШИМ)
Количество контактов аналогового входа 8
Прочие соединения микро-USB
ICSP для ATmega328p
Разъем питания постоянного тока
4-контактный разъем I2C с защелкой
Размеры 2,95 x 2,13 x 0,61 дюйма (75,0 x 54,0 x 15,5 мм)
Источник питания USB или внешний источник питания постоянного тока

Примечания:

Эта плата основана на Arduino Uno, разработанной Arduino. cc, и выпущена под лицензией Creative Commons Attribution Share-Alike License. Оригинальный дизайн можно найти по адресу http://arduino.cc/en/Main/ArduinoBoardUno

 

Загрузки

OSEPP Uno R4 Схема

 

Складской код Название продукта
УНО-04 OSEPP™ Uno R4 Plus

 

Учебный центр:

Что вам нужно
  • Программное обеспечение Arduino (http://arduino.cc/en/Main/Software)
  • USB-мини-USB
  • ПК/Mac с портом USB

 

Загрузка вашего первого скетча
  1. Получите программное обеспечение Arduino, если вы еще этого не сделали
    1. Загрузите с http://arduino.cc/en/Main/Software
    2. Разархивируйте zip-файл куда-нибудь, например, C:\ (в Windows), так что в итоге вы получите папку, подобную C:\arduino-0022
  2. Подготовка к последовательной связи
    1. Подключите конец кабеля USB-B к плате
    2. Подключите другой конец кабеля к порту USB на вашем ПК/Mac
    3. Если ваш компьютер запрашивает драйверы, укажите его в подпапке «drivers\FTDI USB Drivers» программного обеспечения Arduino, например «C:\arduino-0022\drivers\FTDI USB-драйверы»
    4. Теперь вы должны увидеть, что светодиод с надписью ON рядом с кнопкой сброса загорается.
  3. Загрузить скетч
    1. Откройте программное обеспечение Arduino
    2. Откройте скетч мигания светодиода: меню «Файл» > «Примеры» > «Основы» > «Мигание 9».0002

    3. Выберите Arduino/Genuino Uno: Инструменты > Плата > Arduino/Genuino Uno

    4. Выберите последовательный порт: Сервис > Последовательный порт. Это последовательный порт для встроенного в плату FTDI. Если вы не знаете, какой именно, вы можете узнать это, зайдя в Диспетчер устройств > Порты (COM и LPT) и найти «Последовательный порт USB (COMx)»

      .

    5. Загрузите скетч: File > Upload to I/O Board
    6. Дождитесь сообщения «Готово» в нижней синей строке состояния
  4. Светодиод с маркировкой L рядом с контактом 13 теперь должен медленно мигать

  5. Поздравляем! Вы успешно загрузили свой первый скетч на доску.

 

Альтернативные руководства по установке
  • Windows :  http://arduino. cc/en/guide/windows

  • Mac :  http://arduino.cc/en/guide/macOSX

  • Linux :  http://playground.arduino.cc/Learning/Linux

Также на главной странице Arduino есть руководства по устранению основных ошибок: http://arduino.cc/en/guide/troubleshooting

ARDUINO UNO REV3 (ORGINAL) — ELKIM Arduino Uno можно запрограммировать с помощью (программного обеспечения Arduino (IDE)). Выберите «Arduino Uno» в меню «Инструменты» > «Плата» (в зависимости от микроконтроллера на вашей плате). Подробнее см. в справочнике и руководствах.

ATmega328 на Arduino Uno поставляется с предварительно запрограммированным загрузчиком, который позволяет загружать в него новый код без использования внешнего аппаратного программатора. Он обменивается данными с использованием исходного протокола STK500 (ссылка, заголовочные файлы C).

Вы также можете обойти загрузчик и запрограммировать микроконтроллер через заголовок ICSP (внутрисхемное последовательное программирование) с помощью Arduino ISP или аналогичного; подробности см. в этих инструкциях.

Исходный код прошивки ATmega16U2 (или 8U2 на платах rev1 и rev2) доступен в репозитории Arduino. В ATmega16U2/8U2 загружен загрузчик DFU, который можно активировать:

  • На платах Rev1: подсоедините перемычку на обратной стороне платы (рядом с картой Италии) и затем сбросьте 8U2.
  • На платах версии 2 или более поздних: имеется резистор, который замыкает линию HWB 8U2/16U2 на землю, что упрощает переход в режим DFU.

Затем вы можете использовать программное обеспечение FLIP от Atmel (Windows) или программатор DFU (Mac OS X и Linux) для загрузки новой прошивки. Или вы можете использовать заголовок ISP с внешним программатором (перезаписав загрузчик DFU). Дополнительную информацию см. в этом руководстве, созданном пользователями.

Предупреждения

Плата Arduino Uno имеет сбрасываемый предохранитель, который защищает USB-порты вашего компьютера от короткого замыкания и перегрузки по току. Хотя большинство компьютеров обеспечивают собственную внутреннюю защиту, предохранитель обеспечивает дополнительный уровень защиты. Если на USB-порт подается более 500 мА, предохранитель автоматически разорвет соединение до тех пор, пока короткое замыкание или перегрузка не будут устранены.

Отличия от других плат

Uno отличается от всех предыдущих плат тем, что в ней не используется микросхема драйвера FTDI USB-to-serial. Вместо этого он оснащен Atmega16U2 (Atmega8U2 до версии R2), запрограммированным как преобразователь USB-последовательный порт.

Питание

Плата Arduino Uno может питаться через соединение USB или от внешнего источника питания. Источник питания выбирается автоматически.

Внешнее (не USB) питание может поступать либо от адаптера переменного тока в постоянный (настенный), либо от аккумулятора. Адаптер можно подключить, вставив штекер 2,1 мм с центральным положительным контактом в разъем питания на плате. Выводы от аккумулятора можно вставить в контактные разъемы GND и Vin разъема POWER.

Плата может работать от внешнего источника питания от 6 до 20 вольт. Однако при подаче менее 7 В на контакт 5 В может подаваться менее пяти вольт, и плата может работать нестабильно. При использовании более 12 В регулятор напряжения может перегреться и повредить плату. Рекомендуемый диапазон от 7 до 12 вольт.

Контакты питания следующие:

  • Вин. Входное напряжение платы Arduino при использовании внешнего источника питания (в отличие от 5 вольт от USB-соединения или другого регулируемого источника питания). Вы можете подавать напряжение через этот контакт или, если подаете напряжение через разъем питания, получить к нему доступ через этот контакт.
  • 5V. Этот контакт выводит регулируемое напряжение 5V от регулятора на плате. Плата может питаться от разъема питания постоянного тока (7–12 В), разъема USB (5 В) или контакта VIN платы (7–12 В). Подача напряжения через контакты 5 В или 3,3 В обходит регулятор и может повредить вашу плату. Мы этого не советуем.
  • 3В3. Питание 3,3 В, генерируемое бортовым регулятором. Максимальный потребляемый ток составляет 50 мА.
  • Земля. Заземляющие штифты.
  • ИОРЕФ. Этот контакт на плате Arduino обеспечивает опорное напряжение, с которым работает микроконтроллер. Правильно сконфигурированный экран может считывать напряжение на контакте IOREF и выбирать соответствующий источник питания или включать преобразователи напряжения на выходах для работы с 5 В или 3,3 В.

Память

ATmega328 имеет 32 КБ (из которых 0,5 КБ занято загрузчиком). Он также имеет 2 КБ SRAM и 1 КБ EEPROM (который можно читать и записывать с помощью библиотеки EEPROM).

Ввод и вывод

См. сопоставление контактов Arduino и портов ATmega328P. Отображение для Atmega8, 168 и 328 идентично.

ОТОБРАЖЕНИЕ КОНТАКТОВ ATmega328P

Каждый из 14 цифровых контактов на Uno можно использовать как вход или выход с помощью функций pinMode(), digitalWrite() и digitalRead(). Они работают от 5 вольт. Каждый контакт может обеспечить или получить 20 мА в рекомендуемых рабочих условиях и имеет внутренний подтягивающий резистор (отключен по умолчанию) на 20-50 кОм. Максимум 40 мА — это значение, которое нельзя превышать ни на одном выводе ввода-вывода, чтобы избежать необратимого повреждения микроконтроллера.

Кроме того, некоторые контакты имеют специальные функции:

  • Серийный номер: 0 (RX) и 1 (TX). Используется для приема (RX) и передачи (TX) последовательных данных TTL. Эти контакты подключены к соответствующим контактам последовательного чипа ATmega8U2 USB-to-TTL.
  • Внешние прерывания: 2 и 3. Эти контакты могут быть настроены для запуска прерывания по низкому значению, нарастающему или падающему фронту или изменению значения. Подробности смотрите в описании функции attachInterrupt().
  • PWM: 3, 5, 6, 9, 10 и 11. Обеспечьте 8-битный вывод PWM с помощью функции AnalogWrite().
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Эти контакты поддерживают связь SPI с использованием библиотеки SPI.
  • Светодиод

  • : 13. Имеется встроенный светодиод, управляемый цифровым выводом 13. Когда на выводе ВЫСОКОЕ значение, светодиод горит, когда на выводе НИЗКИЙ, он выключен.
  • TWI: контакт A4 или SDA и контакт A5 или SCL. Поддержка связи TWI с помощью библиотеки Wire.

Uno имеет 6 аналоговых входов, помеченных от A0 до A5, каждый из которых обеспечивает разрешение 10 бит (т. е. 1024 различных значения). По умолчанию они измеряют от земли до 5 вольт, хотя можно изменить верхнюю границу их диапазона с помощью вывода AREF и функции AnalogReference(). На плате есть еще пара контактов:

  • АРЕФ. Опорное напряжение для аналоговых входов. Используется с AnalogReference().
  • Сброс. Установите на этой линии НИЗКИЙ уровень, чтобы перезагрузить микроконтроллер. Обычно используется для добавления кнопки сброса к экранам, которые блокируют кнопку на плате.

Связь

Arduino Uno имеет ряд средств для связи с компьютером, другой платой Arduino или другими микроконтроллерами. ATmega328 обеспечивает последовательную связь UART TTL (5V), которая доступна на цифровых контактах 0 (RX) и 1 (TX). ATmega16U2 на плате направляет эту последовательную связь через USB и отображается как виртуальный COM-порт для программного обеспечения на компьютере. Прошивка 16U2 использует стандартные драйверы USB COM, и внешний драйвер не требуется. Однако в Windows требуется INF-файл. Программное обеспечение Arduino (IDE) включает в себя последовательный монитор, который позволяет отправлять простые текстовые данные на плату и с нее. Светодиоды RX и TX на плате будут мигать, когда данные передаются через микросхему USB-to-serial и USB-подключение к компьютеру (но не при последовательной связи на контактах 0 и 1).

Библиотека SoftwareSerial позволяет осуществлять последовательную связь на любом из цифровых контактов Uno.

ATmega328 также поддерживает связь I2C (TWI) и SPI. Программное обеспечение Arduino (IDE) включает библиотеку Wire для упрощения использования шины I2C; подробности см. в документации. Для связи SPI используйте библиотеку SPI.

Автоматический (программный) сброс

Вместо физического нажатия кнопки сброса перед загрузкой плата Arduino Uno сконструирована таким образом, что ее можно сбросить программным обеспечением, запущенным на подключенном компьютере. Одна из линий аппаратного управления потоком (DTR) ATmega8U2/16U2 подключена к линии сброса ATmega328 через конденсатор емкостью 100 нанофарад. Когда эта линия активна (низкий уровень), линия сброса падает на время, достаточное для сброса микросхемы. Программное обеспечение Arduino (IDE) использует эту возможность, чтобы вы могли загружать код, просто нажимая кнопку загрузки на панели инструментов интерфейса. Это означает, что загрузчик может иметь более короткий тайм-аут, так как снижение DTR может быть хорошо согласовано с началом загрузки.

Эта настройка имеет и другие последствия. Когда Uno подключен к компьютеру с Mac OS X или Linux, он сбрасывается каждый раз, когда к нему подключается программное обеспечение (через USB). Следующие полсекунды или около того загрузчик работает на Uno. Хотя он запрограммирован на игнорирование искаженных данных (то есть всего, кроме загрузки нового кода), он будет перехватывать первые несколько байтов данных, отправленных на плату после открытия соединения. Если скетч, работающий на плате, получает одноразовую конфигурацию или другие данные при первом запуске, убедитесь, что программное обеспечение, с которым он взаимодействует, ждет секунду после открытия соединения и перед отправкой этих данных.

Плата Uno содержит трассировку, которую можно обрезать, чтобы отключить автоматический сброс. Площадки с обеих сторон дорожки можно спаять вместе, чтобы снова включить ее. Он помечен как «RESET-EN». Вы также можете отключить автосброс, подключив резистор 110 Ом от 5В к линии сброса; подробности см. в этой ветке форума.

Ревизии

Ревизия 3 платы имеет следующие новые функции:

  • 1.0 распиновка: добавлены контакты SDA и SCL, расположенные рядом с контактом AREF, и два других новых контакта, расположенные рядом с контактом RESET, IOREF, которые позволяют экраны для адаптации к напряжению, подаваемому с платы. В будущем шилды будут совместимы как с платой, использующей AVR, работающей от 5 В, так и с платой Arduino Due, работающей от 3,3 В.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *