Популярные микроконтроллеры и их аналоги
21 февраля в 13:17
Публикации /
Контроллер – слово, образовавшееся от инфинитивной формы английского глагола «to control» – повелевать, управлять. Контроллеры разделяются по группам и, в зависимости от принципа работы, используются в конструировании механических или электронных устройств. Механические изобретения – дорогие и ненадежные.
Когда пользователь строит электронное приспособление, по окончанию работ система настраивается, и в процессе эксплуатации постоянно регулируется, что требует дополнительных затрат.
Существующий рынок микроконтроллеров
Рынок микроконтроллеров заполнен различными моделями такого вида устройств. Большинство производителей выпускают мини-компьютеры, в функционал которых заложена работа микроконтроллеров.
Самый интересный проект – выпуск pcDuino. Такой мини компьютер отличается средней производительностью. Главный плюс заключается в количестве пинов для ввода и вывода.
Кроме того, шилды напрямую идут от микроконтроллера Arduino.
С помощью описанного оборудования разработали концепцию «умный дом». Над системой работали несколько десятков лет, учитывая, что сфера электроники развивается в медленном темпе. Цены на эту систему заоблачные. Постепенно «умный дом» приобретает новые «знания». Бюджетный вариант для создания умного дома – розетки и сенсор движения от производителя Belkin Wemo.
Рассмотрим популярные компании, которые производят микропроцессоры, в таблице ниже.
Микроконтроллер | Особенности |
МК Iskra JS | Это флагманская плата. В «мозги» микропроцессора включен интерпретатор на языке JavaScript. Продукт создан на основе платформы Espruino. Подходит для совместной работы с Ардуино. Пригодится в проектах, где внимание уделено скорости и комфорту разработки. Техническое приспособление максимально совместимо с платами расширения и сенсорными инструментами.Пользователь начинает знакомство с устройством с изучения языка, который внедрен в микропроцессор. Особенности языка можно посмотреть в разделах вики. |
МК Mbed компании ARM | Компания ARM занимается созданием программно-аппаратных платформ и ОС (операционных систем) для электронных девайсов с 32-разрядными микроконтроллерами из группы ARM Cortex-M.Данный проект запускался одновременно с другими производителями подобной техники. Работа девайса проходит в онлайн-режиме. В платформу включена IDE, в которую входит:
Аппаратная часть состоит из:
|
Микропроцессоры Wemos | В линейку разработок этой компании вошли такие известные модели, как wemos d1 mini, lolin esp32 oled wemos, wemos lolin32, bme wemod d1.Последнее устройство выпущено сравнительно недавно, и по характеристикам многим нравится: встроен usb-порт и разъем под батарею, главная особенность – esp-wroom-32 модуль с 4 Мб памяти. |
МК Arduino | Arduino – наиболее популярный микропроцессор среди начинающих электронщиков. На платформе находится процессор с памятью. Количество пинов = 20 штук. К контактам подключается периферия:
Если сравнивать arduino и esp8266, то многие профессионалы ругают первый микроконтроллер за его стоимость.Для новичка Ардуино легок для освоения: достаточно создать код, загрузить его в платформу и подцепить периферийные устройства. |
Raspberry | Наиболее популярная модель от этой компании – Raspberry Pi Zero. Плата построена по принципу Model A+, только гораздо уменьшена в размерах. В отличие от Arduino, raspberry pi по цене выходит дешевле – 300р или 420р.На микрокопьютере с таким миропроцессором легко запускается любой дистрибутив Линукса. Платформа загружает и запускает Raspbian или подобную ОС (операционную систему). Однако встроенной памяти на половину гигабайта вряд ли на что-то большее хватит. Зато устройство пригодно для конструирования электронных систем в качестве микроконтроллера.Микропроцессор поддерживает 2 штуки microUSB порта. Из вышеперечисленных устройств это самый мощный девайс для разрешения задач повышенной сложности: обрабатывание информации и визуализация. |
Raspberry Pi Zero
Аналоги популярных МК: плюсы и минусы
Ниже представлены популярные аналоги некоторых перечисленных выше микроконтроллеров.
Аналоги ардуино:
- Актуальные микропроцессоры, предназначенные для разработки в веб-индустрии и аналгичные ардуино, – particle photon и btphone d1 mini. Девайс поставляется с помощью вай-фая. Сегодня такой микроконтроллер – актуальная замена Ардуино. Программный код пишется аналогично Ардуино. Пользователь набирает код программы и переносит на МК.
- Teensy является также известной альтернативой МК Ардуино. С помощью Тинси создаются собственные проекты с электронными устройствами. Код, посредством загрузчика, переносится на микроконтроллер с помощью юсб-порта с флеш-накопителя.
- Основа этого МК – ARM. Основно преимущество – совместимость расположенных на платформе контактов. Пользователь может поискать на технических рынках модели нетдуино, однако стоимость таких девайсов достаточно высока.
- Совершенно новый подход к прототипированию устройств представляет аналог из линейки ардуино-устройств. Многие ардуино-платы формы выпуска мини или уно не пригодны для многих вещей, которые разработчики активно используют в создании электронного устройства. АТтини85 помогает без подключения всевозможных проводов и программаторов: код легко обкатывается. Это проводится для конструкции легких проектов, для программирования на низкоуровневых языка такой МК вряд ли пригодится. Наиболее пригодны для программирования robotdyn uno r3 или arduino digispark.
Аналоги популярного микроконтроллера Вемос:
- Вемос д1 мини про. Формфактор относительно других моделей более компактный. Формат сильно походит на Ардуино Уно. Так же, как и в других моделя подобных устройств, сначала программируется код на бесплатной среде разработки, после чего программа загружается на платформу. Юные электронщики с помощью такой платы создают автополивы и автоматизируют аквариумы. Ширина равняется 2 с половиной см. Длина немного больше – 3,5 см.
- Другие модели, на которых встроены доступные порты ЕСП32. Бонусное добавление – зарядка для Лион-батареи. Такое же сооружение встроено в клон avrisp mkil. То есть платформы могут работать в автономном режиме бесперебойно за счет встроенной батареи. Даже если в розетке возникло переменное напряжение, устройство не пострадает и продолжит свою работу. Не нужно придумывать дополнительных конструкций для поддержания рабочего состояния.
Заключение
Безусловно, каждый пользователь самостоятельно выбирает подходящее устройство для своего проекта. Однако некоторые разработчики заинтересованы в том, чтобы девайс по ценам был приемлемым.
Источник: https://ArduinoPlus.ru/analogi-mikrokontrollerov/
¡- Что такое микроконтроллер
Наверное, не многие люди слышали такой термин как «микроконтроллер» (за исключением наших читателей), но на самом деле это очень распространенное устройство — без него редко обходится какая-либо современная техника. Телевизоры, стиральные машины, мобильные телефоны, компьютеры и периферия, автомобили и многое другое — все они содержат в себе микроконтроллеры.
В этой небольшой статье я постараюсь рассказать о том, что это за зверь такой «микроконтроллер», какие у них плюсы и минусы, их особенностях и возможностях, а также о том, как их можно применять в мозгочинских целях.
Что такое микроконтроллер?
Микроконтроллер по сути дела является небольшим компьютером, выполненным в виде небольшой микросхемы, в которой на одном «кристалле» содержатся все основные компоненты: процессор, периферия, устройства ввода-вывода, а также, чаще всего, оперативная память (ОЗУ) и энергонезависимая память (ПЗУ). Конечно, мощность такого компьютера совсем небольшая и не сравниться с мощностью настольного или портативного компьютера. Но ведь далеко не для всех задач она и нужна — для относительно простых зада и применяют микроконтроллеры, и их мощности предостаточно. Основным же плюсом использования одного микроконтроллера, в котором интегрированы все необходимые компоненты, вместо россыпи отдельных микросхем (процессор, ОЗУ, ПЗУ, периферия), является снижение стоимости, размеров, энергопотребления, а также затрат на разработку и сборку необходимого устройства. Ранее микроконтроллеры называли «однокристальными микро-ЭВМ», но со временем это название было вытеснено более современным (и лучше отражающим предназначение этого девайса) словом микроконтроллер (от англ. слова control — «управление»).
Общий вид микроконтроллера
Впервые такое устройство как микроконтроллер, которое тогда называлось еще однокристальной микро-ЭВМ, было разработано в 1971 году сотрудниками компании Texas Instruments, инженерами М. Кочрену и Г. Буну, которые и предложили интегрировать изобретенный незадолго до этого микропроцессор на один кристалл со всеми необходимыми компонентами.
Поскольку под разные задачи лучше всего использовать наиболее подходящие для них микроконтроллеры, а количество применений для микроконтроллеров поистине неиссякаемое, то логично, что компании производители выпускают большое, измеряемое в сотнях, количество самых разнообразных по своим техническим характеристикам микроконтроллеров. По своим характеристикам, микроконтроллеры бывают как совсем простые — четырех разрядные (4 битные) с небольшой рабочей частотой, измеряемой в килогерцах, так и очень навороченные — до 64 битных с тактовой частотой, измеряемой в мегагерцах.
Микроконтроллеры выпускаются очень большим количеством разнообразных компаний, для перечисления которых не хватило бы даже целой статьи, так что я расскажу о микроконтроллерах, которые производит корпорация Атмел (Atmel), основанная в далеком 1984 году. Семейство этих микроконтроллеров зовётся AVR — это восьмибитные микроконтроллеры, разработанные в 1996 году. Фирма Atmel выпускает несколько семейств микроконтроллеров:
- 4-разрядные
- 8-разрядные: MCS-51, AVR
- 32-разрядные: ARM, AVR32
Само семейство микроконтроллеров AVR делится на две большие группы микроконтроллеров: Tiny и Mega. Отличаются они между собой набором функций, которые в них заложены.
Основным же различием внутри группы является внутренняя частота и объём памяти, используемый для хранения программы.
Большее распространение среди радиолюбителей получили микроконтроллеры семейства Mega по причине того, что они имеют больше возможностей и функций, конкретнее – ATmega8, который имеет тактовую частоту 16 МГц и объём памяти в 8 Кбайт.
Возможности и особенности микроконтроллеров
Так что же могут микроконтроллеры? Благодаря тому что микроконтроллер является маленьким компьютером — его возможности очень широки. К примеру, микроконтроллеру можно поручить измерение разнообразных величин, обработку различных сигналов и управление широким спектром разных девайсов.
Во многом возможности микроконтроллеров ограничены только вашим воображением и умениями работать с ними.
Но у микроконтроллеров есть и определенные особенности, одной из которых является то, что все микроконтроллеры поступают с завода в продажу «пустые», то есть, если на них подать напряжение, то мы не получим ровным счетом ничего. Просто кусок кремния.
Для того, что бы микроконтроллер начал выполнять какие-то операции, начиная с включения светодиода, заканчивая ШИМ-регулированием напряжения — ему нужно «объяснить» как это сделать, т.е. прошить микроконтроллер исполняющей программой, которую можно написать на ассемблере или на Си.
Многие, наверняка, уже догадались, что можно сделать с микроконтроллерами, дочитав для этого момента. Конечно же, их можно и нужно применять в компьютерном моддинге! Поскольку так называемым «обвесом» микроконтроллера (набором электродеталей, периферией и т.д.
) может быть практически всё (реле, транзисторы, светодиоды, индикаторы, LCD дисплеи и многое другое), в зависимости от нужных функций микроконтроллера (сигнализация, управление), то и возможности использования микроконтроллеров в моддинге поистине безграничны.
Коротко перечислим некоторые из них.
Микроконтроллеры можно «научить» считывать сигнал с таходатчика (датчика скорости вращения) вентилятора или помпы и выводить значения на LCD или индикаторный дисплей. Таким же образом микроконтроллер может послужить для вычисления основных электрических величин: сопротивления, напряжения и силы тока. Всё это так же можно вывести на LCD дисплей.
Если к микроконтроллеру подключить необходимый датчик, то из него можно сделать термометр на светодиодных индикаторах, который отлично впишется в ваш проект, а затраты на изготовление будут минимальными (до 4 у.е.)!
Термометр на основе светодиодных индикаторов
Если приловчиться, изучить микроконтроллеры более детально и освоить необходимый язык программирования, то можно написать программу для ШИМ-регулятора, который, в свою очередь, будет управлять скоростью вращения корпусных вентиляторов.
Так же можно использовать микроконтроллеры как средство вывода информации о загрузке процессора, оперативной памяти или заполненности винчестера на тот же LCD дисплей, который органично впишется в любой дизайн.
Индикатор, собранный на основе микроконтроллеров
Использование микроконтроллеров
Как я уже писал, для того чтобы использовать микроконтроллер его необходимо прошить соответствующей программой, но это не все, поскольку микроконтроллер это не товар конечного потребления (как, например, MP3 плеер), а электронный компонент, на основе которого можно сделать необходимое устройство. Обычно этот процесс состоит из нескольких пунктов:
- Определение задач, которые будет исполнять микроконтроллер
- Создание схемы на основе микроконтроллера или, как бывает чаще, поиск нужной схемы в интернете
- Написание программы-прошивки для микроконтроллера или, опять же, скачка программы, сделанной другим энтузиастом
- Прошивка программы в микроконтроллер
- Сборка и подключение всего устройства
- Использование самодельного гаджета
Для того чтобы прошить микроконтроллер его необходимо подключить к ПК, для чего используется специальное устройство, которое называется программатор. С его помощью и осуществляется взаимосвязь между микроконтроллером и компьютером. Можно даже сказать, что программатор — это своеобразный мост.
Программу для микроконтроллера пишете на языке программирования Си (кстати, Си намного проще, чем ассемблер), после чего создаёте файл прошивки и с помощью программы прошивальщика прошиваете ваш микроконтроллер данной прошивкой.
На самом деле всё довольно просто и, при желании, достаточно легко осваивается! Лично я использую для всех этих действий программу CodeVisionAVR так как она очень удобна и поддерживает практически все виды программаторов.
От себя — очень советую!
Собирать устройство на основе микроконтроллера можно как на протравленной плате, так и на макетной или даже методом навесного монтажа, в зависимости от того, как вам удобней и сложности предполагаемого устройства.
Выводы про микроконтроллеры
Микроконтроллеры — весьма перспективная штука, так как на ее основе можно создавать разнообразные гаджеты и примочки для вашего проекта, которые выведут его на качественно новый уровень, как по внешнему виду, так и по функционалу. Причем особый плюс заключается в том, что именно с помощью микроконтроллеров можно реализовать различные сложные кастомные гаджеты, которых попросту нет в продаже, что позволит сделать ваш проект действительно уникальным.
Из плюсов микроконтроллеров я бы выделил:
- широкий спектр применения
- минимум материальной базы для изготовления устройств
- нет трудностей с приобретением
Ну, куда без минусов:
- для начала нужно иметь программатор
- придётся выучить Си или ассемблер, хотя бы на самом базовом уровне
На мой взгляд, плюсы в данном случае однозначно перевешивают минусы. Если вы заинтересовались микроконтроллерами, то не пугайтесь трудностей, в лице изучения языка программирования Си для микроконтроллеров. Лично я его не знаю , но это не мешает мне создавать интересные гаджеты. Тем более, в интернете полно литературы по изучению этого языка. Спасибо всем, кто дочитал статью до этих строк.
Источник: http://mozgochiny.ru/electronics-2/chto-takoe-mikrokontroller/
Микроконроллеры: краткий обзор — DRIVE2
Первый микроконтроллер
Перый микроконтроллер появился на свет в 1976 году, через 5 лет после создания первого микропроцессора. Это была микросхема фирмы Intel, получившая имя 8048.
Помимо центрального процессора, на кристалле находились 1 КБайт памяти программ, 64 байта памяти данных, два восьмибитных таймера, генератор часов и 27 портов ввода/вывода.
Микроконтроллеры семейства 8048 использовались в игровых консольных приставках Magnavox Odyssey, в клавиатурах первых IBM PC и в ряде других устройств.
Существует также мнение, что первым микроконтроллером был 4-х pазpядный TMS1000 от Texas Instruments, котоpый содеpжал ОЗУ (32 байта), ПЗУ (1К), часы и поддеpжку ввода-вывода, что позволяло считать его именно первым микpоконтpоллеpом. Выпущенный в 1972 году, он имел новую по тем временам возможность — добавление новых инструкций.
8051
Следующий микроконтроллер Intel 8051, выпущенный в 1980 году, стал поистине классическим образцом устройств данного класса.
Этот 8-битный чип положил начало целому семейству микроконтроллеров, которые господствовали на рынке вплоть до недавнего времени.
Аналоги 8051 выпускали советские предприятия в Минске, Киеве, Воронеже, Новосибирске, на них выросло целое поколение отечественных разработчиков.
Большинство фирм производителей микроконтроллеров и сегодня выпускают устройства, основанные на этой архитектуре. Среди них Philips, Atmel, Dallas, OKI, Siemens — можно перечислить более полутора десятков имен. Но 51-е семейство постепенно сдает свои позиции более молодым и совершенным микроконтроллерам.
Motorola и Zilog
Другими яркими представителями восьмиразрядных микроконтроллеров явились изделия компаний Motorola (68HC05, 68HC08, 68HC11) и Zilog (Z8).
Motorola длительное время не предоставляла средств, позволяющих дешево и быстро начать работать с ее контроллерами, что явно не способствовало их популярности у некорпоративных разработчиков. Однако стоит заметить, что за рубежом микроконтроллеры от Motorola занимают лидирующее положение на рынке.
В нашей стране их популярность не очень высока, возможно, еще в силу отсутствия достаточного количества доступных учебных материалов и средств разработки.
Микроконтроллеры фирмы Zilog, основанной бывшими сотрудниками Intel, еще недавно казавшиеся столь многообещающими, не выдержали гонки в стремительно развивающемся секторе рынка, и сегодня система команд Z8 выглядит достаточно устаревшей.
Microchip
Первые значительные перемены произошли с появлением PIC-контроллеров фирмы Microchip. Эти чипы предлагались по рекордно низким ценам, что позволило им в короткий срок захватить значительную часть рынка микроконтроллеров.
К тому же кристаллы от Microchip оказались не уступающими, а нередко и превосходящими микроконтроллеры х51 по производительности и не требовали дорогостоящего программатора.
Вместе с контроллерами появились дешевые комплекты PICSTART, содержащие все, что было нужно для того, чтобы, не имея ни средств, ни навыков работы с PIC-контроллерами, быстро создать и отладить на нем продукт.Эти микроконтроллеры имели хорошие порты, но все остальное было сделано весьма неудобно.
Архитектура оставляла желать лучшего, система команд была крайне ограничена. Тем не менее, PIC-контроллеры остаются популярными в тех случаях, когда требуется создать недорогую систему, не предъявляющую высоких требований по ее управлению.
Обзор различных семейств микроконтроллеров PIC можно посмотреть здесь — ru.wikipedia.org/wiki/PIC
Scinex
На волне успеха PIC-контроллеров появились очень похожие на них изделия фирмы Scinex. Они обладали уже 52-мя командами против PIC-овских 33-х.
Были добавлены хорошие инструкции для работы с памятью, улучшена архитектура, каждая команда выполнялась за один такт, что при прочих равных условиях было вчетверо быстрее, чем у Microchip, и к тому же их тактовая частота достигала 100 МГц.
Столь высокая скорость контроллера позволяет его создателям отказаться от различной периферии — таймеров, счетчиков, регистров сдвига в приемопередатчиках, — все это рекомендуется реализовывать чисто программными средствами, благо быстродействия для этого хватает: внутри — лишь сверхбыстрое ядро, память да порты ввода/вывода.
В радиолюбительской практике распространения данные МК не получили.
Atmel
Настоящая революция в мире микроконтроллеров произошла в 1996 году, когда корпорация Atmel представила свое семейство чипов на новом прогрессивном ядре AVR. Более продуманная архитектура AVR, быстродействие, превосходящее контроллеры Microchip, привлекательная ценовая политика способствовали оттоку симпатий многих разработчиков от недавних претендентов на звание контроллера номер 1.
Микроконтроллеры AVR имеют более развитую систему команд, насчитывающую до 133 инструкций, производительность, приближающуюся к 1 MIPS/МГц, Flash ПЗУ программ с возможностью внутрисхемного перепрограммирования. Многие чипы имеют функцию самопрограммирования. AVR-архитектура оптимизирована под язык высокого уровня Си. Кроме того, все кристаллы семейства совместимы “снизу вверх”.
Огромную роль сыграла доступность программного обеспечения и средств поддержки разработки. У Atmel много бесплатно распространяемых программных продуктов.
Хорошо известно, что развитые средства поддержки разработок при освоении и знакомстве с любым микроконтроллерным семейством играют не менее значимую роль, чем сами кристаллы. Фирма Atmel уделяет этому вопросу большое внимание.
Чрезвычайно удачная и совершенно бесплатная среда разработки AVR Studio, работающая под Windows.
Ведущие сторонние производители выпускают полный спектр компиляторов, программаторов, ассемблеров, отладчиков, разъемов и адаптеров.
https://www.youtube.com/watch?v=4lasEs_ioMA
Для начинающего разработчика немаловажным является и то, что для программирования AVR можно обойтись вовсе без аппаратного программатора. Самым популярным сопособом программирования этих микроконтроллеров являются пять проводков, подсоединенных к параллельному порту персонального компьютера.
Стандартные семейства:
• tinyAVR (ATtinyxxx):Флеш-память до 16 Кб; SRAM до 512 б; EEPROM до 512 б;Число линий ввода-вывода 4-18 (общее количество выводов 6-32);
Ограниченный набор периферийных устройств.
• megaAVR (ATmegaxxx): Флеш-память до 256 Кб; SRAM до 16 Кб; EEPROM до 4 Кб;Число линий ввода-вывода 23-86 (общее количество выводов 28-100);Аппаратный умножитель;
Расширенная система команд и периферийных устройств.
• XMEGA AVR (ATxmegaxxx): Флеш-память до 384 Кб; SRAM до 32 Кб; EEPROM до 4 Кб;Четырёхканальный DMA-контроллер;
Инновационная система обработки событий.
Как правило, цифры после префикса обозначают объём встроенной flash-памяти (в КБ) и модификацию контроллера.
А именно — максимальная степень двойки, следующая за префиксом, обозначает объём памяти, а оставшиеся цифры определяют модификацию (напр.
, ATmega128 — объём памяти 128 КБ; ATmega168 — объём памяти 16 КБ, модификация 8; ATtiny44 и ATtiny45 — память 4 КБ, модификации 4 и 5 соответственно).
ST Microelectronics
Появились сравнительно недавно – в 2008 году и сразу пробились в тройку лидеров. Основными преимуществами является единообразие, позволяющее «перетянуть» без особых усилий проект с STM8 на STM32 в отличии от, например, AVR имеющих 3 семейства.Также, что отличает архитектуру STM, так это наличие единого адресного пространства для кода и данных.
Внутри себя процессор имеет Гарвардскую архитектуру, но с точки зрения программиста он фон-Неймановский. Это существенно облегчает использование языка C по сравнению с Atmel и 8051.Периферия STM несколько отличается от Атмеловской. Прежде всего, не все ноги контроллера равны. Некоторые имеют допустимый ток 20 мА (high sink), некоторые нет.
Один из выводов заявлен как управляющий пищалкой (BEEP). Альтернативные функции выводов переключаются специальной битовой картой, а не как у Atmel — каждый по своему. Битов конфигурирования порта на 1 больше, чем у Atmel.
В результате каждый вывод может иметь следующие состояния:• Плавающий вход• Вход, подтянутый к + питания• Выход с открытым коллектором• Обычный выход• Выход с пониженной скоростью
Из полезностей можно отметить Auto-wakeup. Это по сути аналог комбинации из пустого обработчика прерывания и команды sleep. Позволяет усыпить процессор на заданное время. Остальные интерфейсы довольно стандартны, разве что USART несколько более развесистый, чем у AVR или 8051. Кроме того, в отличии от PIC и AVR микроконтроллеры SRM имеют “на борту” ЦАП и контроллер CAN.
Источник: https://www.drive2.ru/b/2520018/
Микроконтроллеры в моддинге | Лучший моддинг сайт
Наверное, не многие люди слышали такой термин как «микроконтроллер», но на самом деле это очень распространенное устройство — без него редко обходиться какая-либо современная техника. Телевизоры, стиральные машины, мобильные телефоны, компьютеры и периферия, автомобили и многое другое — все они содержат в себе микроконтроллеры.
В этой небольшой статье я постараюсь рассказать о том, что это за зверь такой «микроконтроллер», какие у них плюсы и минусы, их особенностях и возможностях, а также о том, как их можно применять в моддинге.
Что такое микроконтроллер
Микроконтроллер, по сути дела, является небольшим компьютером, выполненным в виде небольшой микросхемы, в которой на одном «кристалле» содержатся все основные компоненты: процессор, периферия, устройства ввода-вывода, а также, чаще всего, оперативная память (ОЗУ) и энергонезависимая память (ПЗУ).
Конечно, мощность такого компьютера совсем небольшая и не сравниться с мощностью настольного или портативного компьютера, но ведь далеко не для всех задач она и нужна — для, относительно, простых задач, для которых, обычно, и применяют микроконтроллеры их мощности предостаточно.
Основным же плюсом использования одного микроконтроллера, в котором интегрированы все необходимые компоненты, вместо россыпи отдельных микросхем (процессор, ОЗУ, ПЗУ, периферия), является снижение стоимости, размеров, энергопотребления, а также затрат на разработку и сборку необходимого устройства.
Ранее микроконтроллеры называли «однокристальными микро-ЭВМ», но со временем это название было вытеснено более современным (и лучше отражающим предназначение этого девайса) словом микроконтроллер (от англ. слова control — «управление»).
Общий вид микроконтроллера ATmega8
Впервые такое устройство как микроконтроллер, которое тогда называлось еще однокристальной микро-ЭВМ, было разработано в далеком 1971 году сотрудниками компании Texas Instruments, инженерам М. Кочрену и Г. Буну, которые и предложили интегрировать изобретенный незадолго до этого микропроцессор на один кристалл со всеми необходимыми компонентами.
Поскольку под разные задачи лучше всего использовать наиболее подходящие для них микроконтроллеры, а количество применений для микроконтроллеров поистине неиссякаемое, то логично, что компании производители выпускают большое, измеряемое в сотнях, количество самых разнообразных по своим техническим характеристикам микроконтроллеров. По своим характеристикам, микроконтроллеры бывают как совсем простые — четырех разрядные (4 битные) с небольшой рабочей частотой, измеряемой в килогерцах, так и очень навороченные — до 64 битных с тактовой частотой, измеряемой в мегагерцах.
Микроконтроллеры выпускаются очень большим количеством разнообразных компаний, для перечисления которых не хватило бы даже целой статьи, так что в сегодняшней статье я расскажу о микроконтроллерах, которые производит корпорация Атмел (Atmel), основанная в далеком 1984 году. Семейство этих микроконтроллеров зовётся AVR — это восьмибитные микроконтроллеры, разработанные в 1996 году. Фирма Atmel выпускает несколько семейств микроконтроллеров:
- 4-разрядные
- 8-разрядные: MCS-51, AVR
- 32-разрядные: ARM, AVR32
Само семейство микроконтроллеров AVR делится на две большие группы микроконтроллеров: Tiny и Mega. Отличаются они между собой набором функций, которые в них заложены.
Основным же различием внутри группы является внутренняя частота и объём памяти, используемый для хранения программы.
Большее распространение среди радиолюбителей получили микроконтроллеры семейства Mega по причине того, что они имеют больше возможностей и функций, конкретнее – ATmega8, который имеет тактовую частоту 16 МГц и объём памяти в 8 Кбайт.
Возможности и особенности микроконтроллеров
Так что же могут микроконтроллеры? Благодаря тому, что микроконтроллер, по сути дела, является маленьким компьютером его возможности очень широки. К примеру, микроконтроллеру можно поручить измерение разнообразных величин, обработку различных сигналов и управление широким спектром разных девайсов.
Во многом возможности микроконтроллеров ограничены только вашим воображением и умениями работать с ними.
Но у микроконтроллеров есть и определенные особенности, одной из которых является то, что все микроконтроллеры поступают с завода в продажу «пустые», то есть, если на них подать напряжение, то мы не получим ровным счетом ничего. Просто кусок кремния.
Для того, что бы микроконтроллер начал выполнять какие-то операции, начиная с включения светодиода, заканчивая ШИМ-регулированием напряжения — ему нужно «объяснить» как это сделать, т.е. прошить микроконтроллер исполняющей программой, которую можно написать на ассемблере или на Си.
Применение микроконтроллеров в моддинге
Многие, наверняка, уже догадались, что можно сделать сделать с микроконтроллерами, дочитав для этого момента. Конечно же, их можно и нужно применять в компьютерном моддинге! Поскольку так называемым «обвесом» микроконтроллера (набором электродеталей, периферией и т.д.
) может быть практически всё (реле, транзисторы, светодиоды, индикаторы, LCD дисплеи и многое другое), в зависимости от нужных функций микроконтроллера (сигнализация, управление), то и возможности использования микроконтроллеров в моддинге поистине безграничны.
Коротко перечислим некоторые из них:
Микроконтроллеры можно «научить» считывать сигнал с таходатчика (датчика скорости вращения) вентилятора или помпы и выводить значения на LCD или индикаторный дисплей. Таким же образом микроконтроллер может послужить для вычисления основных электрических величин: сопротивления, напряжения и силы тока. Всё это так же можно вывести на LCD дисплей.
Если к микроконтроллеру подключить необходимый датчик, то из него можно сделать термометр на светодиодных индикаторах, который отлично впишется в ваш моддинг проект. Такое устройство хорошо впишется во многие дизайны, а затраты на изготовление будут минимальными (до 4 у.е.)!
Термометр на основе светодиодных индикаторов
Если приловчиться, изучить микроконтроллеры более детально и освоить необходимый язык программирования, то можно написать программу для ШИМ-регулятора, который, в свою очередь, будет управлять скоростью вращения корпусных вентиляторов. Многие моддеры мечтали об эксплозивном реобасе — вот ваш шанс!
Так же можно использовать микроконтроллеры как средство вывода информации о загрузке процессора, оперативной памяти или заполненности винчестера на тот же LCD дисплей, который органично впишется в любой дизайн. Один из таких информационных дисплеев, отображающих загрузку процессора и сетевого подключения на стрелочных индикаторах, уже всплывал у нас в новостях.
Индикатор, собранный на основе микроконтроллеров
Самое простое применение микроконтроллеров в моддинге — это заставить «мигать» светодиоды в нужном вам режиме. Это я осуществил в своём проекте «Modular Wire Adapter», где светодиоды хаотично мигают и создают вид «работы» устройства. Достаточно эффектно! Смотрите сами:
Использование микроконтроллеров
Как я уже писал, для того чтобы использовать микроконтроллер его необходимо прошить соответствующей программой, но это не все, поскольку микроконтроллер это не товар конечного потребления (как, например, MP3 плеер), а электронный компонент, на основе которого можно сделать необходимое устройство. Обычно этот процесс состоит из нескольких пунктов:
- Определение задач, которые будет исполнять микроконтроллер
- Создание схемы на основе микроконтроллера или, как бывает чаще, поиск нужной схемы в интернете
- Написание программы-прошивки для микроконтроллера или, опять же, скачка программы, сделанной другим энтузиастом
- Прошивка программы в микроконтроллер
- Сборка и подключение всего устройства
- Использование самодельного гаджета
Источник: http://www.modmag.net/articles/info/mikrokontrolleri-v-moddinge
Гид по выбору платформы разработки
Итак, у вас есть замысел проекта, но вы сомневаетесь, какую плату выбрать в качестве мозга устройства? Попробуем помочь вам определиться.
Если вы просто хотите освоить схемотехнику, программирование, Linux и конкретной цели кроме обучения пока нет, возможно лучшим выбором станет один из готовых обучающих наборов.
Но если вы уже освоились, и хотите сделать конкретный проект, этот гид поможет определиться с платформой для разработки и сделать взвешенный выбор.
Arduino или Raspberry Pi? Микроконтроллер или микрокомпьютер?
Все платы для разработки можно разбить на 2 большие категории:
Платы на микроконтроллере
(MCU, MicroController Unit)Одноплатные компьютеры
(SoC, System on a Chip)Типичный представитель —
Arduino UnoТипичный представитель —
Raspberry PiМикроконтроллеры могут одновременно исполнять всего одну задачу и отлично с этим справляются. А одноплатные компьютеры исполняют программы в рамках операционной системы (чаще всего Linux), обладают большей производительностью и широкими мультимедийными возможностями.
Существуют также гибридные платформы, где на одной плате расположен и микроконтроллер и процессор.
Идея в том, чтобы оставить мощному процессору сложные задачи: выход в сеть, обработку медиа, а на микроконтроллер возложить функцию точного управления приводами, реле, сенсорами и другой периферией.
Вы можете создать гибрид и сами, если возьмёте по одной плате из каждого семейства. У всех них найдутся общие интерфейсы, через которые можно организовать их взаимодействие.
И в одном и в другом лагере можно найти специализированные платы, которые сильно выделяются среди прочих какой-нибудь особенностью, но сравнить возможности среднестатистических микроконтроллеров и компьютеров поможет таблица.
МикроконтроллерОдноплатный компьютер Производительность 1 ядро, десятки-сотни МГц, десятки КБ оперативки, десятки-сотни КБ постоянной памяти.
1 или более ядер, сотни-тысячи МГц, сотни МБ оперативки, гигабайты постоянной памяти.
Многозадачность Нет.
Но можно эмулировать.Да.
Управляется ОС.Удобство работы с интернетом ★☆☆
Обычно нужны дополнительные модули и глубокое знание протоколов.
★★★
Легко подключается из коробки, сетевой модуль обычно уже на борту.
Длительность работы от батареек ★★★
Потребляет единицы-десятки мА. Возможны недели работы от батареек.
★☆☆
Потребляет сотни-тысячи мА. Заряда большого аккумулятора хватит от силы на десяток часов.
Скорость реакции в проектах критичных к времени ★★★
100% контроль над временем и длительностью подачи сигналов.
★☆☆
Из-за многозадачности критический процесс может проспать своё время.
Выбор языков программирования ★☆☆
Ограниченный. Чаще C/C++.
★★★
Python, JavaScript, Bash и десяткии других: любые доступные в ОС.
Возможности для работы с видео, компьютерным зрением ☆☆☆
Не хватит мощности.
★★★
OpenCV, аппаратные видеокодеки, HDMI-выход.
Возможности для работы со звуком ★★☆
На мощных микроконтроллерах возможен синтез звука. Для работы с MP3/OGG/WAV нужны дополнительные модули.
★★★
Поддержка MP3/OGG/WAV на уровне ОС. Аудиовыход HDMI и/или разъём 3,5 мм.
Итак, в зависимости от своей задачи вы определились нужен ли вам микроконтроллер или компьютер. Как решить какая именно плата подойдёт лучше всего?
Так как нет большого смысла сравнивать лицом к лицу микроконтроллеры и микрокомпьютеры, далее мы отдельно приведём преимущества и недостатки конкретных плат в рамках своего семейства.
Сравнение микроконтроллеров
Если рассматривать микроконтроллерные платы в отрыве от задач вашего проекта, сложно в двух словах объективно описать преимущества и недостатки разных платформ. То, что в общем является недостатком, в вашем устройстве может не играть роли и наоборот.
Мы попытались сравнить платы, отталкиваясь от возможностей флагманской DIY-платформы Arduino Uno, так как платы именно этого семейства дали невероятный пинок развитию хобби-электроники во всём мире.
Разные компании выпускают модули, сенсоры, платформы, дополнения с шильдами «Arduino compatible», «Designed for Arduino» и т.д.
За этими словами стоит электронная и программная совместимость в первую очередь с Arduino Uno, а уж затем со всем остальным.
Как правило, с помощью ухищрений или дополнительных компонентов можно подключить что угодно, к чему угодно. Но ведь вам хочется сосредоточиться на своём проекте, а не на борьбе с электроникой? Поэтому волей не волей хочется сравнить любую плату на микроконтроллере именно с Arduino Uno. Так и сделаем.
Arduino Uno Процессор на 16 МГц, 32 КБ постоянной и 2 КБ оперативной памяти, 20 портов ввода-вывода, 6 аналоговых входов, 6 каналов ШИМ, 2 аппаратных прерывания, может, и не впечатляют, но без балласта в виде операционной системы и интерпретаторов, они позволяют решать практически любые задачи по точному дирижированию множеством сенсоров и исполнительных устройств.Тонны документации, уроков и готовых библиотек, огромное сообщество, работа из простой в освоении среды Arduino IDE с языком Arduino C++. Всё это просто не даст вам возможности сказать «не осилил».Родное напряжение в 5 вольт, которое является де-факто стандартом и колодки для установки плат расширения, аналоговые входы, всевозможные аппаратные интерфейсы позволяют подключить практически любую периферию, сенсоры и исполнительные устройства.Arduino Leonardo Та же Arduino Uno, но с другим микроконтроллером, который находится в том же классе, но имеет некоторые отличия положительного характера.Большее количество аналоговых входов (12 против 6) для сенсоров, больше каналов ШИМ (7 против 6), больше пинов с аппаратным прерыванием (5 против 2), раздельные независимые serial-интерфейсы для USB и UART.Arduino Leonardo может притворяться клавиатурой или мышью (HID-устройством) для компьютера. Это позволяет легко сделать своё собственное устройство ввода.Из-за распиновки чуть отличной от Arduino Uno возможна несовместимость с некоторыми платами расширения. Такие случаи, однако, редки, и в нашем магазине мы явно их прописываем.Iskra Neo Та же Arduino Leonardo, но произведённая нами, в России.Заметно дешевле оригинала.Arduino Mini Та же Arduino Uno, но в другом форм-факторе.Компактная. Всего 30×18 мм.Из-за форм-фактора нельзя без ухищрений устанавливать платы расширения Arduino. Предполагается соединение с дополнительными модулями проводами и/или через макетную плату.На плате нет USB-порта, поэтому прошивать нужно через отдельный USB-Serial адаптер.Iskra Mini Та же Arduino Mini, но произведённая нами, в России.Заметно дешевле оригинала.Есть в варианте с распаянными колодками и с незапаянными отверстиями.Arduino Micro Та же Arduino Leonardo, но в другом форм-факторе.Компактная. Всего 48×18 мм.Из-за форм-фактора нельзя без ухищрений устанавливать платы расширения Arduino. Предполагается соединение с дополнительными модулями проводами и/или через макетную плату.Arduino Mega Как Arduino Uno, но на базе более мощного микроконтроллера той же архитектуры. Отличный выбор «на вырост» или если Arduino Uno перестала справляться.В разы больше памяти: 256 КБ постоянной и 8 КБ оперативной. В разы больше портов: 60 из них 16 аналоговых и 15 с ШИМ.Немного длиннее базовой Arduino Uno: 101×53 мм против 69×53 мм.Arduino Due Одна из самых производительных плат от Arduino на микроконтроллере Cortex-M3 по форм-фактору аналогичная Arduino Mega.Процессор на 84 МГц и 512 КБ памяти. 66 пинов ввода-вывода, из которых 12 могут быть аналоговыми входами, 12 поддерживают ШИМ и все 66 могут быть настроены, как аппаратные прерывания.Встроенный контроллер шины CAN позволяет создавать сеть из Due или взаимодействовать с автомобильной электроникой. Два канала ЦАП позволяют синтезировать стереозвук с разрешением в 4,88 Гц.Родным напряжением для платы является 3,3 В, а не традиционные 5 В. Необходимо следить, чтобы выбираемая периферия поддерживала работу с этим уровнем или ставить преобразователи уровней напряжения.Iskra JS Плата на ядре Espruino: её программируют на JavaScript.JavaScript — язык высокого уровня. Программы писать проще, они компактнее и выразительнее. Особенно если речь идёт о многочисленных строковых операциях, массивах данных, веб-интерфейсе.Мощный микроконтроллер Cortex M4 на 168 МГц, 1 МБ флеш, 192 КБ оперативной памяти, десятки портов с ШИМ и аналоговых входов, 2 аналоговых выхода, по нескольку I²C, SPI, UART — всё это даёт подключить и одновременно работать с самыми разнообразными сенсорами и модулями.Несмотря на то, что родной уровень для платы — 3,3 вольта, пины толерантны к 5 вольтам: подключение пятивольтовой периферии тривиально.Из-за другой среды и экосистемы для программирования, может не существовать готовой библиотеки для выбранной периферии. Её придётся реализовать самостоятельно.Strela Робототехническая платформа «всё в одном» содержит в себе большинство тех вещей, которые нужны при создании любого лёгкого мобильного робота. Strela, как и любая другая Arduino, программируется из Arduino IDE, а в основе содержит тот же микроконтроллер, что и Arduino Leonardo.Встроенный драйвер для двух двигателей, 4 разъёма для сервоприводов, 4 кнопки и 4 светодиода свободного назначения, зуммер, слоты для ЖК-экрана и модуля беспроводной связи.Мощный регулятор питания позволяет без ухищрений использовать множество различных аккумуляторов.11 входов-выходов выведены в виде 3-контактных разъёмов для лёгкого подключения дополнительных датчиков и модулей. ЖК-экран, кнопки и светодиоды подключены через расширитель портов, поэтому они не занимают входы-выходы общего назначения.На плате не предусмотрены колодки для установки плат расширения Arduino.Из-за изменённой нумерации контактов (в сравнении с базовой Arduino Leonardo), необходимо использовать немного другие функции для работы с пинами платы. Они предоставлены в одноимённой библиотеке.Arduino Yún Уникальный гибрид Arduino Leonardo и микрокомпьютера на OpenWRT Linux. Отличный выбор для «интернета вещей».Плата оснащена Ethernet и WiFi, через которые можно общаться с устройством и даже перепрошивать платформу удалённо.Мощь Linux позволяет работать с мультимедиа, а его сетевые возможности легко интегрироваться с социальными сетями и другими веб-сервисами.OpenWRT — это порезанный Linux. На микрокомпьютере можно установить не любой Linux-софт. А в качестве скриптовых языков программирования из коробки можно использовать только Bash и Python.STM32 Nucleo F401RE Плата с мощным микроконтроллером Cortex-M4. Платформа программируется не через Arduino IDE, а через онлайн-среду mbed.org. Субъективно, она мощнее и стройнее Arduino IDE, хотя и не так распространена. Для пытливого ума — отличный выбор.Процессор на 84 МГц, 512 КБ постоянной и 96 КБ оперативной памяти. 50 портов ввода-вывода, из которых 16 аналоговых и 29 с ШИМ. Родной уровень напряжения — 3,3 В, но все пины толерантны к 5 В, поэтому проблем электронной совместимости с Arduino-периферией возникнуть не должно.Колодки для плат расширения по конфигурации совпадают с Arduino Uno, поэтому на Nucleo можно поставить множество плат расширения от Arduino.На плате не выведен отдельный SPI-разъём. Платы расширения Arduino, которые используют SPI через ICSP-разъём без ухищрений не будут работать.Из-за другой среды и экосистемы для программирования, может не существовать готовой библиотеки для выбранной периферии. Её придётся реализовать самостоятельно.Teensy 3.2 Компактная плата с мощным микроконтроллером Cortex-M4. Программируется из привычной Arduino IDE.Меньше Arduino Micro (35×17 мм), но почти столь же мощная, как Nucleo: процессор 72 МГц, 256 КБ постоянной и 64 КБ оперативной памяти, 34 порта ввода-вывода, из которых 21 могут быть аналоговыми, а 12 поддерживают ШИМ.Teensy 3.1 очень энергоэффективна. У неё нет регулятора напряжения, но входным может являться любое от 3,3 до 5,5 В. Это же напряжение и будет логическим уровнем. В режиме сна плата потребляет всего 0,25 мА, что даёт возможность работать от аккумулятора несколько месяцев.Встроенный контроллер шины CAN позволяет создавать сеть из Due или взаимодействовать с автомобильной электроникой. Два канала ЦАП позволяют синтезировать стереозвук с разрешением в 4,88 Гц.Плата поставляется с нераспаянными контактами. Вам предстоит самостоятельно впаять штырьковые соединители или проводки.Из-за большой разницы в архитектуре с классическим Arduino не все библиотеки для сторонней периферии могут работать из коробки.Рабочее напряжение равно входному, а поэтому плывёт по мере разряда батарейки. Это может оказаться важным при выборе периферии, если она рассчитана на какой-то конкретный вольтаж.Netduino 2 Плата повторяет форм-фактором Arduino Uno, но имеет мощную начинку, достаточную для исполнения программ, написанных на платформе .NET. Netduino программируется на C# или любом другом .NET-языке в привычной любому .NET-разработчику среде Visual Studio. В качестве стандартной библиотеки предоставляется .NET Micro Framework.В Visual Studio работает автодополнение, подсказки, контекстная помощь в MSDN и полноценный отладчик. Вам доступны breakpoint’ы, пошаговое исполнение кода, наблюдение за переменными. Отладка происходит без ухищрений, просто с подключённым USB-кабелем. Благодаря всему этому, скорость разработки под Netduino в разы превосходит скорость разработки под любую другую платформу.На плате не выведен отдельный SPI-разъём. Платы расширения Arduino, которые используют SPI через ICSP-разъём без ухищрений не будут работать.Из-за другой среды и экосистемы для программирования, может не существовать готовой библиотеки для выбранной периферии. Её придётся реализовать самостоятельно.Netduino Plus 2 Как Netduino, только мощнее и с Ethernet на борту. Отличный выбор для реализации проектов интернета вещей.Те же, что и у Netduino 2.
Сравнение одноплатных компьютеров
Законодателем моды среди одноплатных компьютеров является Raspberry Pi. Эта сверхпопулярная платформа в своё время перевернула представление о возможностях, габаритах и стоимости полноценного компьютера для DIY-электронщиков.
Опять же, для каждого проекта может лучше подойти тот или иной одноплатный компьютер, но в силу популярности Raspberry Pi, будем сравнивать другие платформы именно с ней.
Raspberry Pi 3 Model B Один из самых популярных одноплатников. Четыре ядра по 1200 МГц, 1 ГБ оперативной памяти и полноценный Linux, основанный на Debian помогут решить множество задач, требовательных к вычислительным ресурсам. Среди них можно выделить компьютерное зрение, обработку звука в реальном времени, создание веб-сервисов.Тонны документации, уроков и готовых библиотек, огромное сообщество. Всё это просто не даст вам возможности сказать «не осилил».Привычные порты HDMI, 3,5 мм аудио, 4 USB помогут с лёгкостью подключить монитор, колонки, клавиатуру, мышь и другие USB-устройства. Модули BLE и WiFi на борту помогут соединить компьютер с другими устройствами без проводов.На плате нет АЦП, поэтому подключение аналоговых сенсоров возможно только с помощью внешних, дополнительных компонентов.Предоставляется лишь 1 аппаратный ШИМ-канал, что усложняет работу с периферией, которая управляется ШИМ’ом.BeagleBone Black Микрокомпьютер схожий с Raspberry Pi, который даёт больше благ, привычных для микроконтроллерных плат. Отличный выбор для проектов интернета вещей, когда необходимо управляться с множеством сенсоров и исполнительных устройств.Мощная среда для разработки Cloud9 IDE. Вы просто заходите на BeagleBone через браузер и программируете на любимом языке будь то Python, JavaScript (Node.js), Bash или любой другой язык Linux. Результат можно проверить мгновенно, а если что-то не заработало, использовать встроенный в среду полноценный отладчик.На борту уже установлена флеш-память eMMC на 4 ГБ с операционной системой Linux. Память может быть увеличена внешней microSD-картой.Широкие возможности по подключению периферии. 8 ШИМ-выходов и 7 аналоговых входов. Возможны аппаратные прерывания.Диковинный разъём microHDMI для подключения монитора. Для передачи звука используется он же.Вычислительная мощность скромнее, чем у Raspberry Pi: 1 ядро на 400 МГц и 512 МБ оперативной памяти.
Источник: http://amperka.ru/page/development-board-guide