Автор | Сообщение |
---|---|
admin | |
AVR – это название популярного семейства микроконтроллеров, которое выпускает компания Atmel. Кроме АВР под этим брендом выпускаются микроконтроллеры и других архитектур, например, ARM и i8051. Какими бывают AVR микроконтроллеры? Существует три вида микроконтроллеров:
Самым популярным уже более десятка лет является именно 8-битное семейство микроконтроллеров. Многие радиолюбители начинали изучать микроконтроллеры с него. Почти все они познавали мир программируемых контроллеров делая свои простые поделки, вроде светодиодных мигалок, термометров, часов, а также простой автоматики, типа управления освещением и нагревательными приборами. Микроконтроллеры AVR 8-bit в свою очередь делятся на два популярных семейства:
Самым мощным подсемейством микроконтроллеров является xMega – эти микроконтроллеры выпускаются в корпусах с огромным количеством пинов, от 44 до 100. Столько необходимо для проектов с большим количеством датчиков и исполнительных механизмов. Кроме того, увеличенный объем памяти и скорость работы позволяют получить высокое быстродействие. Расшифровка: Пин (англ. pin – иголка, булавка) – это вывод микроконтроллера или как говорят в народе – ножка. Отсюда же слово «распиновка» - т.е. информация о назначении каждой из ножек. Для чего нужны и на что способны микроконтроллеры? Микроконтроллеры применяются почти везде! Практически каждое устройство в 21 веке работает на микроконтроллере: измерительные приборы, инструменты, бытовая техника, часы, игрушки, музыкальные шкатулки и открытки, а также многое другое; одно лишь перечисление займет несколько страниц текста. Разработчик может использовать аналоговый сигнал подовая его на вход микроконтроллера и манипулировать с данными о его значении. Эту работу выполняет аналогово-цифровой преобразователь (АЦП). Данная функция позволяет общаться пользователю с микроконтроллером, а также воспринимать различные параметры окружающего мира с помощью датчиков. В распространенных AVR-микроконтроллерах, например, Atmega328, который на 2017 году является сердцем многих плат Arduino, но о них позже. Используется 8 канальный АЦП, с разрядностью 10 бит. Это значит вы сможете считать значение с 8 аналоговых датчиков. А к цифровым выводам подключаются цифровые датчики, что может быть очевидным. Однако цифровой сигнал может являться только 1 (единицей) или 0 (нулем), в то время как аналоговый может принимать бесконечное множество значений. Пояснение: Разрядность – это величина, которая характеризует качество, точность и чувствительность аналогового входа. Звучит не совсем понятно. Немного практики: 10 битный АЦП, записать аналоговую информацию с порта в 10 битах памяти, иначе говоря плавно изменяющийся цифровой сигнал микроконтроллером распознается как числовое значение от 0 до 1024. 12 битный АЦП видит тот же сигнал, но с более высокой точностью – в виде от 0 до 4096, а это значит, что измеренные значения входного сигнала будут в 4 раза точнее. Чтобы понять откуда взялись 1024 и 4096, просто возведите 2 в степени равную разрядности АЦП (2 в степени 10, для 10 разрядного и т.д.) Чтобы управлять мощностью нагрузки к вашему распоряжению есть ШИМ-каналы, их можно задействовать, например, для регулировки яркости, температуры, или оборотов двигателя. В том же 328 контроллере их 6. В общем структура AVR микроконтроллера изображена на схеме: Все узлы подписаны, но всё же некоторые названия могут быть не столь очевидными. Давайте рассмотрим их обозначения.
Выходы микроконтроллера довольно слабые, имеется в виду то, что ток через них обычно до 20-40 миллиампер, чего хватит для розжига светодиода и LED-индикаторов. Для более мощной нагрузки – необходимы усилители тока или напряжения, например, те же транзисторы. Что нужно чтобы начать изучение микроконтроллеров? Для начала нужно приобрести сам микроконтроллер. В роли первого микроконтроллера может быть любой Attiny2313, Attiny85, Atmega328 и другие. Лучше выбирать ту модель, которая описана в уроках, по которым вы будете заниматься. Следующее что Вам нужно – программатор. Он нужен для загрузки прошивки в память МК, самым дешевым и популярным считается USBASP. Немногим дороже, но не менее распространенный программатор AVRISP MKII, который можно сделать своими руками – из обычной платы Arduino Другой вариант – прошивать их через USB-UART переходник, который обычно делается на одном из преобразователей: FT232RL, CH340, PL2303 и CP2102. В некоторых случаях для такого преобразователя используют микроконтроллеры AVR с аппаратной поддержкой USB, таких моделей не слишком много. Вот некоторые:
Одно лишь «но» – в память микроконтроллера предварительно нужно загрузить UART бутлоадер. Разумеется, для этого все равно нужен программатор для AVR-микроконтроллеров. Интересно: Bootloader – это обычная программа для микроконтроллера, только с необычной задачей – после его запуска (подключения к питания) он ожидает какое-то время, что в него могут загрузить прошивку. Преимуществом такого метода – можно прошить любым USB-UART переходником, а они очень дешевы. Недостаток – долго загружается прошивка. Для работы UART (RS-232) интерфейса в микроконтроллерах AVR выделен целый регистр UDR (UART data register). UCSRA (настройки битов приемопередатчика RX, TX), UCSRB и UCSRС – набор регистров отвечающие за настройки интерфейса в целом. В чем можно писать программы? Кроме программатора для написания и загрузки программы нужно IDE – среда для разработки. Можно конечно же писать код в блокноте, пропускать через компиляторы и т.д. Зачем это нужно, когда есть отличные готовые варианты. Пожалуй, один из наиболее сильных – это IAR, однако он платный. Официальным IDE от Atmel является AVR Studio, которая на 6 версии была переименована в Atmel studio. Она поддерживает все микроконтроллеры AVR (8, 32, xMega), автоматически определяет команды и помогает ввести, подсвечивает правильный синтаксис и многое другое. С её же помощью можно прошивать МК. Наиболее распространённым является - C AVR, поэтому найдите самоучитель по нему, есть масса русскоязычных вариантов, а один из них - Хартов В.Я. «Микроконтроллеры AVR. Практикум для начинающих». Смотрите также подробные обучающие видеокурсы по программированию микроконтроллеров для начинающих Максима Селиванова: Программирование и создание устройств на микроконтроллерах AVR. Самый простой способ изучить AVR Купите или сделайте своими руками плату Arduino. Проект ардуино разработан специально для учебных целей. Он насчитывает десятки плат различных формами и количеством контактов. Самое главное в ардуино – это то что вы покупаете не просто микроконтроллера, а полноценную отладочную плату, распаянную на качественной текстолитовой печатной плате, покрытой маской и смонтированными SMD компонентами. Самые распространенные – это Arduino Nano и Arduino UNO, они по сути своей идентичны, разве что «Нано» меньше примерно в 3 раза чем «Уно». Несколько фактов:
Выводы Микроконтроллеры станут отличным подспорьем в вашей радиолюбительской практике, что позволит вам открыть для себя мир цифровой электроники, конструировать свои измерительные приборы и средства бытовой автоматики. Источник: http://electrik.info/main/praktika/1333-ustroystvo-mikrokontrollerov-avr.html |
|
Сообщения: 463 |