Site Loader

Содержание

Самое простое устройство на микроконтроллере

Микроконтроллеры / Создание устройств /

Разработка устройств на микроконтроллерах

Возможно, вы уже научились чему-то в теме программирования микроконтроллеров. Возможно, вы уже можете написать программу для простого устройства типа бегущих огней новогодней гирлянды. Однако аппетит приходит во время еды. И наверняка вам хочется чего-то большего. Наверняка вам хочется шагнуть на уровень профессионала. Ну хотя бы на первую ступеньку… Подробнее…

До сих пор я выдавал вам общие сведения о микроконтроллерах, отрывки из документации, иногда немного говорил о программировании. Но ещё ни разу не приводил примеров устройств на микроконтроллерах. А ведь именно в этом весь смысл обучения — в создании собственных устройств.

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

п. Рассказы будут для начинающих. Как всегда буду стараться, чтобы понятно было даже людям, далёким от электроники и программирования. И первый пример будет настолько простым, насколько это вообще возможно…

Пример устройства на микроконтроллере

Итак, наше первое устройство на микроконтроллере будет не простым, а очень простым. И хотя сделать какой-то полезный прибор с наипростейшей схемой и наипростейшей программой крайне сложно, я всё-таки постараюсь. Конечно, эта полезность будет весьма сомнительной, но всё-таки применить это устройство можно будет не только для обучения, но и на практике (конечно, скорее как игрушку, но всё же).

Для опытов возьмём один из самых дешёвых микроконтроллеров — ATtiny13A, о котором я уже немало поведал на этом сайте.

Самая простая схема на микроконтроллере

Наше первое устройство, можно сказать, почти не будет делать ничего полезного. Но зато оно очень простое и новичкам будет проще разобраться как со схемотехникой, так и с программой микроконтроллера.

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

Конечно, это всё достаточно примитивно. Однако в давние времена, когда я занимался (в том числе) и обслуживанием систем сигнализации, мы использовали такие самодельные “датчики”. Например, обматывали решётку на окне тонким проводом и подключали его в шлейф прибора сигнализации. Если злодей выдернет решётку — провод порвётся и сигнализация сработает.

Ну а теперь к схеме.

Микроконтроллер ATtiny13A по умолчанию использует внутренний генератор на 9,6 МГц (это следует из документации, и я писал об этом здесь). И если нас такое решение устраивает (а нас оно устраивает), то это означает, что никаких внешних цепей для задания тактовой частоты нам не потребуется.

Микроконтроллер ATtiny13A выпускается в нескольких корпусах. Будем считать, что у нас корпус 8PDIP/SOIC (подробнее об этом здесь). Тогда схема будет такой:

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

На схеме SA1 может быть либо охранным датчиком, либо просто тонким проводом, обмотанным, например, вокруг какого-то охраняемого предмета. При обрыве провода (или размыкании контакта) сигнализация “срабатывает” и светодиод загорается.

Конечно, это слишком несовершенная система. Но мы же только учимся. И в начале пути создания устройств на микроконтроллерах это лучшее решение, потому что оно самое простое.

Простая программа микроконтроллера

Ну а теперь можно перейти к программированию. Я буду использовать ассемблер и среду разработки AVRStudio 4. Почему я использую именно эту среду, хотя есть более новые версии, я рассказал здесь.

Итак, пройдём путь от создания проекта до написания программы.

Запускаем среду разработки AVRStudio 4 и видим окно:

Нажимаем кнопку NEW PROJECT. Откроется окно:

Здесь можно выбрать вид проекта — на ассемблере или на Си, задать имя проекта и выбрать каталог для файлов проекта.

ВНИМАНИЕ!
В пути к файлу не должно быть русских букв. То есть если вы сохраните проект в папку МОИ_ПРОГРАММЫ, то программа не скомпилируется, так как AVR Studio 4 может не понять путь с русскими буквами.

Мы будем писать программу на ассемблере. Проект назовём myprog.

Теперь можно нажать кнопку ДАЛЕЕ (NEXT).

В следующем окне надо выбрать отладочную платформу и тип микроконтроллера:

Выберем AVR Simulator. Ну и поскольку у нас микроконтроллер ATtiny13A, то выберем

ATtiny13. Затем нажимаем FINISH.

Ну вот. Проект создан. Редактор исходного кода открыт. Теперь можно приступить к написанию программы. Она может быть примерно такой:


; Сообщить ассемблеру модель микроконтроллера
.device ATtiny13A
.nolist
; Подключить файл с объявлениями для ATtiny13A
.include "tn13def.inc"  
.list

; Инициализация
Init:
  ; PB0 - вход, остальные - выходы
  LDI R16,  0b11111110
  OUT DDRB, R16
  ; Включить подтяжку для PB0
  LDI R16,  0b00000001
  OUT PortB, R16

; Начало программы
Start: SBIS PinB, 0
; Проверить датчик SBI PortB, 1 ; Если обрыв, то включить светодиод SBIC PinB, 0 ; Проверить датчик CBI PortB, 1 ; Если замкнут, то погасить светодиод RJMP Start ; Возвращаемся к началу программы

При инициализации мы определяем, какие выводы будут входами, а какие — выходами. Если в бит регистра DDRB записать 0, то соответствующий вывод порта

В будет входом, если 1 — выходом.

У нас к выводу РВ0 подключен датчик, следовательно, РВ0 будет входом. К выводу РВ1 подключен светодиод, значит, РВ1 будет выходом. Неиспользуемые выводы лучше всегда делать выходами (хотя здесь у каждого свои предпочтения).

С помощью команды LDI мы записываем число в регистр R16, который используем как временную переменную. Это необходимо, потому что команда OUT не может записать в регистр DDRB непосредственное значение.

Далее мы включаем подтягивающий резистор для вывода РВ0. Для этого в регистр PortB надо в соответствующий бит записать 1.

Ну а далее начинается программа.

Сначала выполняем команду SBIS. Эта команда проверяет указанный вход. И если на этом входе 1, то следующая команда НЕ БУДЕТ выполнена. То есть в этом коде:


SBIS PinB,  0 
SBI  PortB, 1 
SBIC ...

мы проверяем РВ0. Если там единица, то мы переходим к команде SBIC. Если же ноль (датчик разомкнут — сигнализация сработала), то выполняем команду SBI, которая устанавливает указанный выход (то есть в нашем случае зажигает светодиод, подавая напряжение на вывод РВ1).

Затем выполняем команду SBIC. Эта команда также проверяет указанный вход. Но если на этом входе 0, то следующая команда не будет выполнена. Если же 1 (контакты датчика замкнуты), то будет выполнена команда CBI, которая обнуляет указанный вывод. То есть на РВ1 будет подан 0, и светодиод погаснет.

Таким образам исполняется наш простой алгоритм: если датчик “не сработал” (контакт замкнут), то светодиод не горит. Если контакты разомкнулись, то светодиод светится.

На этом пока всё. Если что-то осталось непонятно — посмотрите видео в начале статьи.



Микроконтроллеры для ЧАЙНИКОВ

Бесплатная рассылка о микроконтроллерах. Рассылка содержит как бесплатную информацию для начинающих, так и ссылки на платные продукты (книги, видеокурсы и др.) для тех, кто захочет вникнуть в тему более глубоко. Подробнее…


Самоделки своими руками на микроконтроллере / Хабр

Всем привет.Очередная самоделка сделанная своими руками на микроконтроллере. Как-то на днях между мной и знакомым зашел разговор о птицах. Как выяснилось из разговора, он занимается разведением различных певчих птиц, при этом он ловит диких птиц, с последующим одомашниванием. Особой хитрости в устройствах для поимки птиц нет. Используют клетки как с механическими срабатывающими устройствами, так и с примитивными дерганиями за веревку. Также используют для приманки как непосредственно саму птицу, посаженную в клетку, так и воспроизводят пение нужной птицы при помощи какого-то проигрывателя. У меня сразу созрел план реализации данного устройства на микроконтроллере. Вот и решил поделиться результатом своего творения.

Сразу встал вопрос, какую клетку применить. Поскольку у меня ничего подходящего не было, то нужно было приобретать или изготовить клетку самому. Делать клетку мне не хотелось, больше хотелось сосредоточиться на электронике. Покупать – не вариант: дорого, да и нужна она мне только на время. Особо птиц ловить я не собирался – так, побаловаться. Вот и решил прошвырнуться по своим знакомым в надежде найти что-то подходящее для данного проекта. И – о чудо! – на чердаке было обнаружена в пыли слегка поржавевшая клетка. Она великолепно подошла для моего проекта. Дверка в клетке открывалась вертикально, что значительно облегчало управление защелкиванием дверей.
Потратив немного времени, я придумал схему. Написание программы для микроконтроллера также не заняло много времени – буквально полчаса, и мое творение уже работало.

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

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

Для определения, находится ли уже птица в клетке, я использовал недорогой датчик движения. Сам датчик движения уже является законченным девайсом, и паять ничего не нужно. Но у данного датчика угол срабатывания весьма большой, а мне нужно, чтобы он реагировал только во внутренней области клетки. Для ограничения угла срабатывания я поместил датчик в цоколь, когда-то служившей эконом-лампы. Из картона вырезал своего рода заглушку с отверстием посередине для датчика. Пошаманив с расстоянием данной заглушки относительно датчика, настроил оптимальный угол для срабатывания датчика.

В качестве зазывалы для птиц я решил применить звуковой модуль WTV020M01 с записанным на микроSD карте памяти пением чижа и щегла. Именно их я и собирался ловить. Поскольку я использовал один звуковой файл, то и управлять звуковым модулем я решил простим способом, без использования протокола обмена между звуковым модулем и микроконтроллером.

При подаче на девятую ножку звукового модуля низкого сигнала, модуль начинал воспроизводить. Как только звук воспроизводился на пятнадцатой ноге звукового модуля, устанавливается низкий уровень. Благодаря этому микроконтроллер отслеживал воспроизведение звука.

Поскольку я реализовал паузу между циклами воспроизведения звука, то для остановки воспроизведения звука программа подает низкий уровень на первую ножку звукового модуля (reset). Звуковой модуль является законченным устройством со своим усилителем для звука, и, по большому счету, в дополнительном усилителе звука он не нуждается. Но мне данного усиления звука показалось мало, и в качестве усилителя звука я применил микросхему TDA2822M. В режиме воспроизведения звука потребляет 120 миллиампер. Учитывая, что поимка птицы займет какое-то время, в качестве автономной батареи питания я применил не совсем новый аккумулятор от бесперебойника (всё равно валялся без дела).
Принцип электронного птицелова прост, и схема состоит в основном из готовых модулей.

Программа и схема — atmel-programme.clan.su/Levushka.zip

Работу данного устройства можно посмотреть на видео.

 Электроника,схемы на микроконтроллере. Схемы и устройства на микроконтроллерах

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

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

Для определения, находится ли уже птица в клетке, я использовал недорогой датчик движения. Сам датчик движения уже является законченным девайсом, и паять ничего не нужно. Но у данного датчика угол срабатывания весьма большой, а мне нужно, чтобы он реагировал только во внутренней области клетки. Для ограничения угла срабатывания я поместил датчик в цоколь, когда-то служившей эконом-лампы. Из картона вырезал своего рода заглушку с отверстием посередине для датчика. Пошаманив с расстоянием данной заглушки относительно датчика, настроил оптимальный угол для срабатывания датчика.

В качестве зазывалы для птиц я решил применить звуковой модуль WTV020M01 с записанным на микроSD карте памяти пением чижа и щегла. Именно их я и собирался ловить. Поскольку я использовал один звуковой файл, то и управлять звуковым модулем я решил простим способом, без использования протокола обмена между звуковым модулем и микроконтроллером.

При подаче на девятую ножку звукового модуля низкого сигнала, модуль начинал воспроизводить. Как только звук воспроизводился на пятнадцатой ноге звукового модуля, устанавливается низкий уровень. Благодаря этому микроконтроллер отслеживал воспроизведение звука.

Поскольку я реализовал паузу между циклами воспроизведения звука, то для остановки воспроизведения звука программа подает низкий уровень на первую ножку звукового модуля (reset). Звуковой модуль является законченным устройством со своим усилителем для звука, и, по большому счету, в дополнительном усилителе звука он не нуждается. Но мне данного усиления звука показалось мало, и в качестве усилителя звука я применил микросхему TDA2822M. В режиме воспроизведения звука потребляет 120 миллиампер. Учитывая, что поимка птицы займет какое-то время, в качестве автономной батареи питания я применил не совсем новый аккумулятор от бесперебойника (всё равно валялся без дела).
Принцип электронного птицелова прост, и схема состоит в основном из готовых модулей.

Программа и схема —

Бывает идешь мимо припаркованных машин, и замечаешь краем глаза, что кто то уже давно, судя по тусклому свечению ламп, забыл свет выключить. Кто то и сам так попадал. Хорошо когда есть штатный сигнализатор не выключенного света, а когда нету поможет вот такая поделка: Незабывайка умеет пищать, когда не выключен свет и умеет пропикивать втыкание задней передачи.

Схема цифрового индикатора уровня топлива обладает высокой степенью повторяемости, даже если опыт работы с микроконтроллерами незначителен, поэтому разобраться в тонкостях процесса сборки и настройки не вызывает проблем. Программатор Громова – это простейший программатор, который необходим для программирования avr микроконтроллера. Программатор Горомова хорошо подходит как для внутрисхемного, так и для стандартного схемного программирования. Ниже приведена схема контроля индикатора топлива.

Плавное включение и выключение светодиодов в любом режиме (дверь открыта, и плафон включен). Так же авто выключение через пять минут. И минимальное потребление тока в режиме ожидания.

Вариант 1 — Коммутация по минусу. (с применением N-канальных транзисторов) 1) «коммутация по минусу», т.е такой вариант при котором один питающий провод лампы соединен с +12В аккумулятора (источника питания), а второй провод коммутирует ток через лампу тем самым включает ее. В данном варианте будет подаваться минус. Для таких схем нужно применять N-канальные полевые транзисторы в качестве выходных ключей.

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

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

Изначально в Lifan Smily (да и не только) режим работы заднего дворника — единственный, и называется он «всегда махать». Особенно негативно воспринимается такой режим в наступивший сезон дождей, когда на заднем стекле собираются капли, но в недостаточном для одного прохода дворника количестве. Так, приходится либо слушать скрип резины по стеклу, либо изображать робота и периодически включать-выключать дворник.

Немного доработал схему реле времени задержки включения освещения салона для автомобиля Форд (схема разрабатывалась для вполне конкретного автомобиля, как замена штатного реле Ford 85GG-13C718-AA, но была успешно установлена в отечественную «классику»).

Уже не первый раз проскакивают такие поделки. Но почему-то люди жмуться на прошивки. Хотя в большинстве своём они основаны на проекте elmchan «Simple SD Audio Player with an 8-pin IC». Исходниник не открывают аргументируя, что пришлось исправлять проект, что в у меня качество лучше… и т.д. Короче взяли open source проект, собрали, и выдаёте за своё.

Итак. Микроконтроллер Attiny 13- так сказать сердце данного устройства. С его прошивкой долго мучился, никак не мог прошить.Ни 5ю проводками через LPT, ни прогромматором Громова. Компьютер просто не видит контроллер и все.

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

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

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

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

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

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

Из этого следует, что применить такое устройство можно в технике для вычисления, такой, как калькулятор, материнка, контроллеры компакт-дисков. Используют их также в электробытовых аппаратах – это и микроволновки, и стиральные машины, и множество других. Также микроконроллеры широко применяются в индустриальной механике, начиная от микрореле и заканчивая методиками регулирования станков.

Микроконроллеры AVR

Ознакомимся с более распространенным и основательно устоявшимся в современном мире техники контроллером, таким как AVR. В его состав входят высокоскоростной RISC-микропроцессор, 2 вида затратной по энергии памяти (Flash-кэш проектов и кэш сведений EEPROM), эксплуатационная кэш по типу RAM, порты ввода/вывода и разнообразные удаленные сопряженные структуры.

  • рабочая температура составляет от -55 до +125 градусов Цельсия;
  • температура хранения составляет от -60 до +150 градусов;
  • наибольшая напряженность на выводе RESET, в соответствии GND: максимально 13 В;
  • максимальное напряжение питания: 6.0 В;
  • наибольший электроток линии ввода/вывода: 40 мА;
  • максимальный ток по линии питания VCC и GND: 200 мА.

Возможности микроконтроллера AVR

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

Обещанное количество оборотов переписи кэша у микроконтроллеров AVR второго поколения равен 11 тысячам оборотов, когда стандартное количество оборотов равно 100 тысячам.

Конфигурация черт строения вводных и выводных портов у AVR заключается в следующем: целью физиологического выхода имеется три бита регулирования, а никак не два, как у известных разрядных контроллеров (Intel, Microchip, Motorola и т. д.). Это свойство позволяет исключить потребность обладать дубликатом компонентов порта в памяти с целью защиты, а также ускоряет энергоэффективность микроконтроллера в комплексе с наружными приборами, а именно, при сопутствующих электрических неполадках снаружи.

Всем микроконтроллерам AVR свойственна многоярусная техника пресечения. Она как бы обрывает стандартное течение русификатора для достижения цели, находящейся в приоритете и обусловленной определенными событиями. Существует подпрограмма преобразования запрашивания на приостановление для определенного случая, и расположена она в памяти проекта.

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

Поделки на базе микроконтроллера AVR

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

«Направлятор»

Такое приспособление проектировалось, как небольшой ассистент в качестве помощника тем, кто предпочитает гулять по лесу, а также натуралистам. Несмотря на то, что у большинства телефонных аппаратов есть навигатор, для их работы необходимо интернет-подключение, а в местах, оторванных от города, это проблема, и проблема с подзарядкой в лесу также не решена. В таком случае иметь при себе такое устройство будет вполне целесообразно. Сущность аппарата состоит в том, что он определяет, в какую сторону следует идти, и дистанцию до нужного местоположения.

Построение схемы осуществляется на основе микроконтроллера AVR с тактированием от наружного кварцевого резонатора на 11,0598 МГц. За работу с GPS отвечает NEO-6M от U-blox. Это, хоть и устаревший, но широко известный и бюджетный модуль с довольно четкой способностью к установлению местонахождения. Сведения фокусируются на экране от Nokia 5670. Также в модели присутствуют измеритель магнитных волн HMC5883L и акселерометр ADXL335.


Беспроводная система оповещения с датчиком движения

Полезное устройство, включающее в себя прибор перемещения и способность отдавать, согласно радиоканалу, знак о его срабатывании. Конструкция является подвижной и заряжается с помощью аккумулятора или батареек. Для его изготовления необходимо иметь несколько радиомодулей HC-12, а также датчик движения hc-SR501.

Прибор перемещения HC-SR501 функционирует при напряжении питания от 4,5 до 20 вольт. И для оптимальной работы от LI-Ion аккумулятора следует обогнуть предохранительный светодиод на входе питания и сомкнуть доступ и вывод линейного стабилизатора 7133 (2-я и 3-я ножки). По окончанию проведения этих процедур прибор приступает к постоянной работе при напряжении от 3 до 6 вольт.


Внимание: при работе в комплексе с радиомодулем HC-12 датчик временами ложно срабатывал. Во избежание этого необходимо снизить мощность передатчика в 2 раза (команда AT+P4). Датчик работает на масле, и одного заряженного аккумулятора, емкостью 700мА/ч, хватит свыше, чем на год.

Минитерминал

Приспособление проявило себя замечательным ассистентом. Плата с микроконтроллером AVR нужна, как фундамент для изготовления аппарата. Из-за того, что экран объединён с контроллером непосредственно, то питание должно быть не более 3,3 вольт, так как при более высоких числах могут возникнуть неполадки в устройстве.


Вам следует взять модуль преобразователя на LM2577, а основой может стать Li-Ion батарея емкостью 2500мА/ч. Выйдет дельная комплектация, отдающая постоянно 3,3 вольта во всём трудовом интервале напряжений. С целью зарядки применяйте модуль на микросхеме TP4056, который считается бюджетным и достаточно качественным. Для того чтобы иметь возможность подсоединить минитерминал к 5-ти вольтовым механизмам без опаски сжечь экран, необходимо использовать порты UART.

Основные аспекты программирования микроконтроллера AVR

Кодирование микроконтоллеров зачастую производят в стиле ассемблера или СИ, однако, можно пользоваться и другими языками Форта или Бейсика. Таким образом, чтобы по факту начать исследование по программированию контроллера, следует быть оснащенным следующим материальным набором, включающим в себя: микроконтроллер, в количестве три штуки — к высоковостребованным и эффективным относят — ATmega8A-PU, ATtiny2313A-PU и ATtiny13A- PU.

Чтобы провести программу в микроконтроллер, нужен программатор: лучшим считают программатор USBASP, который дает напряжение в 5 Вольт, используемое в будущем. С целью зрительной оценки и заключений итогов деятельности проекта нужны ресурсы отражения данных − это светодиоды, светодиодный индуктор и экран.


Чтобы исследовать процедуры коммуникации микроконтроллера с иными приборами, нужно числовое приспособление температуры DS18B20 и, показывающие правильное время, часы DS1307. Также важно иметь транзисторы, резисторы, кварцевые резонаторы, конденсаторы, кнопки.

С целью установки систем потребуется образцовая плата для монтажа. Чтобы соорудить конструкцию на микроконтроллере, следует воспользоваться макетной платой для сборки без пайки и комплектом перемычек к ней: образцовая плата МВ102 и соединительные перемычки к макетной плате нескольких видов — эластичные и жесткие, а также П-образной формы. Кодируют микроконтроллеры, применяя программатор USBASP.

Простейшее устройство на базе микроконтроллера AVR. Пример

Итак, ознакомившись с тем, что собой представляют микроконтроллеры AVR, и с системой их программирования, рассмотрим простейшее устройство, базисом для которого служит данный контроллер. Приведем такой пример, как драйвер низковольтных электродвигателей. Это приспособление дает возможность в одно и то же время распоряжаться двумя слабыми электрическими двигателями непрерывного тока.

Предельно возможный электроток, коим возможно загрузить программу, равен 2 А на канал, а наибольшая мощность моторов составляет 20 Вт. На плате заметна пара двухклеммных колодок с целью подсоединения электромоторов и трехклеммная колодка для подачи усиленного напряжения.

Устройство выглядит, как печатная плата размером 43 х 43 мм, а на ней сооружена минисхемка радиатора, высота которого 24 миллиметра, а масса – 25 грамм. С целью манипулирования нагрузкой, плата драйвера содержит около шести входов.

Заключение

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

Схемы на микроконтроллере, статьи и описания с прошивками и фотографиями для автомобиля.

Простой тахометр на микроконтроллере ATmega8

Тахометр применяется в автомобилях для измерения частоты вращения всяких деталей которые способны вращаться. Есть много вариантов таких устройств, я предложу вариант на AVR микроконтроллере ATmega8. Для моего варианта, вам также…

Читать полностью

Цветомузыка на микроконтроллере Attiny45 в авто

Эта цветомузыка, имея малый размер и питание 12В, как вариант может использоваться в авто при каких-либо мероприятиях. Первоисточник этой схемы Радио №5, 2013г А. ЛАПТЕВ, г. Зыряновск, Казахстан. Схема…

Читать полностью

Контроллер обогрева зеркал и заднего стекла

Позволяет управлять одной кнопкой раздельно обогревом заднего стекла и зеркал, плюс настраиваемый таймер отключения до полутора часов для каждого канала. Схема построена на микроконтроллере ATtiny13A. Описание работы:

Читать полностью

Диммер для плафона автомобиля

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

Читать полностью

GSM сигнализация с оповещением на мобильник

Представляю очень популярную схему автомобильной сигнализации на базе микроконтроллера ATmega8. Такая сигнализация дает оповещение на мобильник админа в виде звонков или смс. Устройства интегрируется с мобильником с помощью…

Читать полностью

Моргающий стопак на микроконтроллере

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

Читать полностью

ДХО плюс стробоскопы

Эта поделка позволяет стробоскопить светодиодными ДХО. Поделка имеет малый размер, управление всего одной кнопкой, широкие возможности настройки. Размер платы 30 на 19 миллиметров. С обратной стороны расположен клемник…

Читать полностью

Делаем и подключаем доводчик к сигнализации

Количества автомобилей с автоматическим стеклоподъемниками постоянно растет, и даже если в машине нет такого, многие делают его своими руками. Моей целю было собрать такое устройства и подключить его к…

Читать полностью

Светодиоды включаются от скорости

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

Читать полностью

Цифровой тахометр на AVR микроконтроллере (ATtiny2313)

Тахометр измеряет частоту вращения деталей, механизмов и других агрегатах автомобиля. Тахометр состоит из 2-х основных частей — из датчика, который измеряет скорость вращения и из дисплея, где будет…

Читать полностью

Простой цифровой спидометр на микроконтроллере ATmega8

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

Читать полностью

Плавный розжиг приборки на микроконтроллере

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

В данной статье предлагается схема цифрового термометра на микроконтроллере AVR ATtiny2313, датчике температуры DS1820 (или DS18b20), подключенному к микроконтроллеру по протоколу 1-wire, и ЖК-дисплее 16×2 на контроллере HD44780. Описываемое устройство может найти широкое применение среди радиолюбителей.

Программа для микроконтроллера написана на ассемблере в среде AVR Studio. Монтаж выполнен на макетной плате, кварцевый резонатор на 4МГц, микроконтроллер ATtiny2313 можно заменить на AT90S2313, предварительно перекомпилировав исходный код программы. Погрешность датчика DS1820 около 0,5 С. В архиве также находится прошивка для случая если используется датчик DS18B20. Опрос датчика производится каждую секунду.

WAV-плеер собран на микроконтроллере AVR ATtiny85 (можно использовать ATtiny25/45/85 серии). У микроконтроллеров этой серии всего восемь ножек и два ШИМ (Fast PWM) с несущей 250kHz. Для управления картой памяти достаточно всего 6 проводов: два для питания и четыре сигнальные. Восемь ножек микроконтроллера вполне достаточно для работой с картой памяти, вывода звука и кнопки управления. В любом случае данный плеер очень прост.

С помощью данного измерителя ёмкости можно легко измерить любую ёмкость от единиц пФ до сотен мкФ. Существует несколько методов измерения емкости. В данном проекте используется интеграционный метод.

Главное преимущество использования этого метода в том, что измерение основано на измерении времени, что может быть выполнено на МК довольно точно. Этот метод очень подходит для самодельного измерителя ёмкости, к тому же он легко реализуем на микроконтроллере.

Данный проект был сделан по просьбе друга для установки на дверь в складское помещение. В дальнейшем было изготовлено ещё несколько по просьбе друзей и знакомых. Конструкция оказалась простой и надёжной. Работает данное устройство так: пропускает только те RFID-карты, которые были заранее занесены в память устройства.

1.2. Разработка конструкций на микроконтроллерах . Микроконтроллеры AVR: от простого к сложному

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

Один из вариантов последовательности действий при разработке конструкций на микроконтроллерах приведен ниже.

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

2. Составить подробное описание конструкции так называемого верхнего уровня — на этом этапе еще неизвестно ни типа микроконтроллера, ни типа использованных микросхем и схемных решений, поэтому структурная схема представляет собой набор прямоугольников, подписанных наименованием узла, например АЦП. Составляется обобщенная блок-схема, описывающая работу программы. Если нужно — временные диаграммы.

3. Определиться с выбором аппаратных узлов (микросхем и т. д.) для схемы.

4. Выбрать тип микроконтроллера.

5. Убедиться в том, что микроконтроллер подходит для реализации схемы. Следует учитывать быстродействие микроконтроллера, наличие нужной периферии, число линий ввода/вывода, потребляемую мощность и другие, существенные для конкретной конструкции параметры. Не следует «бить из пушки по воробьям» — использовать более мощный микроконтроллер для простейшей задачи, с которой может справиться и более простой (и более дешевый). С другой стороны, не следует увлекаться слабыми микроконтроллерами, усложняя схему, добавляя схему увеличения числа выводов, так как достаточно часто (но не всегда) экономия, полученная за счет применения более дешевого микроконтроллера, полностью теряется из-за увеличившейся стоимости печатной платы (ведь ее размеры увеличились), стоимости дополнительных элементов и т. д.

6. Теперь следует определиться, какие инструменты (программы) будут использоваться для разработки программы для микроконтроллера. Это может быть транслятор языка ассемблер или компилятор языка высокого уровня, чаще всего С.

7. После того как стали известны используемые узлы микроконтроллера и внешние схемы, подключаемые к нему, можно приступать к написанию и отладке программы. Целесообразно разделить конструкцию на функциональные узлы и отлаживать их следующим образом: изготовить часть схемы, реализующей собой один из узлов, написать фрагмент программы, управляющей этим узлом, и отладить его. После этого аналогично работать со следующим узлом, и так до тех пор, пока все части схемы не будут отлажены отдельно друг от друга. При этом можно пользоваться уже отлаженными узлами для облегчения проверки правильности работы следующих, только отлаживаемых узлов. Например, для простого калькулятора можно выделить следующие узлы: индикатор, клавиатура. Отлаживая индикатор, можно написать программу, выводящую на индикатор какое-либо число. Затем, отлаживая клавиатуру, можно использовать индикатор для вывода, например, номера нажатой клавиши. И только убедившись, что оба узла работают верно, следует переходить к реализации программы собственно калькулятора.

8. Теперь следует объединить все части схемы воедино и отладить их работу совместно. Если в процессе объединения обнаружится, что какой-либо из узлов реализован не совсем удачно, следует вернуться в предыдущий пункт.

9. Очень важно в процессе составления схемы конструкции и написания программы для нее как можно более подробно документировать все изменения в схеме или программе. Это очень важно не только для записи проделанной работы (а в хорошо документированной схеме и программе можно быстро разобраться при необходимости ее повторного использования), но и для облегчения дальнейшего усовершенствования или обслуживания собранной системы.

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

Электронные приборы на микроконтроллерах. Схемы и устройства на микроконтроллерах

Схемы на микроконтроллере, статьи и описания с прошивками и фотографиями для автомобиля.

Простой тахометр на микроконтроллере ATmega8

Тахометр применяется в автомобилях для измерения частоты вращения всяких деталей которые способны вращаться. Есть много вариантов таких устройств, я предложу вариант на AVR микроконтроллере ATmega8. Для моего варианта, вам также…

Читать полностью

Цветомузыка на микроконтроллере Attiny45 в авто

Эта цветомузыка, имея малый размер и питание 12В, как вариант может использоваться в авто при каких-либо мероприятиях. Первоисточник этой схемы Радио №5, 2013г А. ЛАПТЕВ, г. Зыряновск, Казахстан. Схема…

Читать полностью

Контроллер обогрева зеркал и заднего стекла

Позволяет управлять одной кнопкой раздельно обогревом заднего стекла и зеркал, плюс настраиваемый таймер отключения до полутора часов для каждого канала. Схема построена на микроконтроллере ATtiny13A. Описание работы:

Читать полностью

Диммер для плафона автомобиля

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

Читать полностью

GSM сигнализация с оповещением на мобильник

Представляю очень популярную схему автомобильной сигнализации на базе микроконтроллера ATmega8. Такая сигнализация дает оповещение на мобильник админа в виде звонков или смс. Устройства интегрируется с мобильником с помощью…

Читать полностью

Моргающий стопак на микроконтроллере

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

Читать полностью

ДХО плюс стробоскопы

Эта поделка позволяет стробоскопить светодиодными ДХО. Поделка имеет малый размер, управление всего одной кнопкой, широкие возможности настройки. Размер платы 30 на 19 миллиметров. С обратной стороны расположен клемник…

Читать полностью

Делаем и подключаем доводчик к сигнализации

Количества автомобилей с автоматическим стеклоподъемниками постоянно растет, и даже если в машине нет такого, многие делают его своими руками. Моей целю было собрать такое устройства и подключить его к…

Читать полностью

Светодиоды включаются от скорости

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

Читать полностью

Цифровой тахометр на AVR микроконтроллере (ATtiny2313)

Тахометр измеряет частоту вращения деталей, механизмов и других агрегатах автомобиля. Тахометр состоит из 2-х основных частей — из датчика, который измеряет скорость вращения и из дисплея, где будет…

Читать полностью

Простой цифровой спидометр на микроконтроллере ATmega8

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

Читать полностью

Плавный розжиг приборки на микроконтроллере

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

В данной статье предлагается схема цифрового термометра на микроконтроллере AVR ATtiny2313, датчике температуры DS1820 (или DS18b20), подключенному к микроконтроллеру по протоколу 1-wire, и ЖК-дисплее 16×2 на контроллере HD44780. Описываемое устройство может найти широкое применение среди радиолюбителей.

Программа для микроконтроллера написана на ассемблере в среде AVR Studio. Монтаж выполнен на макетной плате, кварцевый резонатор на 4МГц, микроконтроллер ATtiny2313 можно заменить на AT90S2313, предварительно перекомпилировав исходный код программы. Погрешность датчика DS1820 около 0,5 С. В архиве также находится прошивка для случая если используется датчик DS18B20. Опрос датчика производится каждую секунду.

WAV-плеер собран на микроконтроллере AVR ATtiny85 (можно использовать ATtiny25/45/85 серии). У микроконтроллеров этой серии всего восемь ножек и два ШИМ (Fast PWM) с несущей 250kHz. Для управления картой памяти достаточно всего 6 проводов: два для питания и четыре сигнальные. Восемь ножек микроконтроллера вполне достаточно для работой с картой памяти, вывода звука и кнопки управления. В любом случае данный плеер очень прост.

С помощью данного измерителя ёмкости можно легко измерить любую ёмкость от единиц пФ до сотен мкФ. Существует несколько методов измерения емкости. В данном проекте используется интеграционный метод.

Главное преимущество использования этого метода в том, что измерение основано на измерении времени, что может быть выполнено на МК довольно точно. Этот метод очень подходит для самодельного измерителя ёмкости, к тому же он легко реализуем на микроконтроллере.

Данный проект был сделан по просьбе друга для установки на дверь в складское помещение. В дальнейшем было изготовлено ещё несколько по просьбе друзей и знакомых. Конструкция оказалась простой и надёжной. Работает данное устройство так: пропускает только те RFID-карты, которые были заранее занесены в память устройства.

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

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

Для определения, находится ли уже птица в клетке, я использовал недорогой датчик движения. Сам датчик движения уже является законченным девайсом, и паять ничего не нужно. Но у данного датчика угол срабатывания весьма большой, а мне нужно, чтобы он реагировал только во внутренней области клетки. Для ограничения угла срабатывания я поместил датчик в цоколь, когда-то служившей эконом-лампы. Из картона вырезал своего рода заглушку с отверстием посередине для датчика. Пошаманив с расстоянием данной заглушки относительно датчика, настроил оптимальный угол для срабатывания датчика.

В качестве зазывалы для птиц я решил применить звуковой модуль WTV020M01 с записанным на микроSD карте памяти пением чижа и щегла. Именно их я и собирался ловить. Поскольку я использовал один звуковой файл, то и управлять звуковым модулем я решил простим способом, без использования протокола обмена между звуковым модулем и микроконтроллером.

При подаче на девятую ножку звукового модуля низкого сигнала, модуль начинал воспроизводить. Как только звук воспроизводился на пятнадцатой ноге звукового модуля, устанавливается низкий уровень. Благодаря этому микроконтроллер отслеживал воспроизведение звука.

Поскольку я реализовал паузу между циклами воспроизведения звука, то для остановки воспроизведения звука программа подает низкий уровень на первую ножку звукового модуля (reset). Звуковой модуль является законченным устройством со своим усилителем для звука, и, по большому счету, в дополнительном усилителе звука он не нуждается. Но мне данного усиления звука показалось мало, и в качестве усилителя звука я применил микросхему TDA2822M. В режиме воспроизведения звука потребляет 120 миллиампер. Учитывая, что поимка птицы займет какое-то время, в качестве автономной батареи питания я применил не совсем новый аккумулятор от бесперебойника (всё равно валялся без дела).
Принцип электронного птицелова прост, и схема состоит в основном из готовых модулей.

Программа и схема —

Эта декоративная звезда состоит из 50 специальных светодиодов RGB, которые контролируются ATtiny44A . Все светодиоды непрерывно изменяют цвет и яркость в случайном порядке. Также есть несколько разновидностей эффектов, которые также активируются случайно. Три потенциометра могут изменять интенсивность основных цветов. Положение потенциометра индицируется светодиодами при нажатии кнопки, а изменение цвета и скорость эффекта можно переключать в три этапа. Этот проект был полностью построен на компонентах SMD из-за специальной формы печатной платы. Несмотря на простую схему, структура платы довольно сложная и вряд ли подойдет для новичков.

В этой статье описывается универсальный трехфазный преобразователь частоты на микроконтроллере(МК) ATmega 88/168/328P . ATmega берет на себя полный контроль над элементами управления, ЖК-дисплеем и генерацией трех фаз. Предполагалось, что проект будет работать на готовых платах, таких как Arduino 2009 или Uno, но это не было реализовано. В отличие от других решений, синусоида не вычисляется здесь, а выводится из таблицы. Это экономит ресурсы, объем памяти и позволяет МК обрабатывать и отслеживать все элементы управления. Расчеты с плавающей точкой в программе не производятся.

Частота и амплитуда выходных сигналов настраиваются с помощью 3 кнопок и могут быть сохранены в EEPROM памяти МК. Аналогичным образом обеспечивается внешнее управление через 2 аналоговых входа. Направление вращения двигателя определяется перемычкой или переключателем.

Регулируемая характеристика V/f позволяет адаптироваться ко многим моторам и другим потребителям. Также был задействован интегрированный ПИД-регулятор для аналоговых входов, параметры ПИД-регулятора могут быть сохранены в EEPROM. Время паузы между переключениями ключей (Dead-Time) можно изменить и сохранить.

Этот частотомер с AVR микроконтроллером позволяет измерять частоту от 0,45 Гц до 10 МГц и период от 0,1 до 2,2 мкс в 7-ми автоматически выбранных диапазонах. Данные отображаются на семиразрядном светодиодном дисплее. В основе проекта микроконтроллер Atmel AVR ATmega88/88A/88P/88PA, программу для загрузки вы можете найти ниже. Настройка битов конфигурации приведена на рисунке 2 .

Принцип измерения отличается от предыдущих двух частотомеров. Простой способ подсчета импульсов через 1 секунду, используемый в двух предыдущих частотомерах(частотомер I, частотомер II), не позволяет измерять доли Герц. Вот почему я выбрал другой принцип измерения для своего нового частотомера III. Этот метод намного сложнее, но позволяет измерять частоту с разрешением до 0,000 001 Гц.

Это очень простой частотомер на микроконтроллере AVR. Он позволяет измерять частоты до 10 МГц в 2-х автоматически выбранных диапазонах. Он основан на предыдущем проекте частотомера I , но имеет 6 разрядов индикатора вместо 4-х. Нижний диапазон измерения имеет разрешение 1 Гц и работает до 1 МГц. Более высокий диапазон имеет разрешение 10 Гц и работает до 10 МГц. Для отображения измеренной частоты используется 6-разрядный светодиодный дисплей. Прибор построен на основе микроконтроллера Atmel AVR ATtiny2313A или ATTiny2313

Микроконтроллер тактируется от кварцевого резонатора частотой 20 МГц (максимально допустимая тактовая частота). Точность измерения определяется точностью этого кристалла, а также конденсаторов C1 и C2. Минимальная длина полупериода измеряемого сигнала должна быть больше периода частоты кварцевого генератора (ограничение архитектуры AVR). Таким образом, при 50% рабочем цикле можно измерять частоты до 10 МГц.

Это, вероятно, самый простой частотомер на микроконтроллере AVR. Он позволяет измерять частоты до 10 МГц в 4-х автоматически выбранных диапазонах. Самый низкий диапазон имеет разрешение 1 Гц. Для отображения измеренной частоты используется 4-разрядный светодиодный дисплей. Прибор построен на основе микроконтроллера Atmel AVR ATtiny2313A или ATtiny2313 . Настройку битов конфигурации вы можете найти ниже.

Микроконтроллер тактируется от кварцевого резонатора частотой 20 МГц (максимально допустимая тактовая частота). Точность измерения определяется точностью этого кристалла. Минимальная длина полупериода измеряемого сигнала должна быть больше периода частоты кварцевого генератора (ограничение архитектуры MCU). Таким образом, при 50% рабочем цикле можно измерять частоты до 10 МГц.


Вариант 1: ATmega8 + Nokia 5110 LCD + питание 3V

В схеме используются Atmega8-8PU (внешний кварц частотой 8MHz), Nokia 5110 LCD и транзистор для обработки импульсов от геркона. Регулятор напряжения на 3,3V обеспечивает питание для всей цепи.

Все компоненты были смонтированы на макетной плате, включая разъемы для: ISP — программатора (USBAsp), 5110 Nokia LCD, питания (5V, подаваемого на 3.3V — регулятор), геркона, кнопки сброса и 2-контактный разъем, используемый для считывания полярности обмотки двигателя привода станка, чтобы знать, увеличивать или уменьшать счетчик.

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

Исполнительным устройством дозатора являются насосы-помпы вибрационного типа линейки ULKA. В связи с возможностью использования разных моделей данных насосов в устройстве предусмотрена калибровка производительности каждого канала и регулировка подводимой мощности методом ШИМ. В моем устройстве применены насосы широко распространенной модели ULKA EX5 230V 48W .

В данном радиоприемнике используется готовый модуль на чипе TEA5767 . Информация отображается на красивом OLED-дисплеем (SSD1306 ), разрешением 128×64 пикселя. Модулем приемника и дисплеем управляет микроконтроллер ATmega8 , тактируется от внутреннего генератора частотой 8MHz. Печатная плата приемника (наряду с батареей от телефона Samsung L760) была спроектирована так, чтобы она могла вписаться в спичечную коробку. Имеются 4 клавиши управления + клавиша сброса. В настоящее время радио не имеет аудиоусилителя (планируется установка соответствующего усилительного модуля).

Бывает идешь мимо припаркованных машин, и замечаешь краем глаза, что кто то уже давно, судя по тусклому свечению ламп, забыл свет выключить. Кто то и сам так попадал. Хорошо когда есть штатный сигнализатор не выключенного света, а когда нету поможет вот такая поделка: Незабывайка умеет пищать, когда не выключен свет и умеет пропикивать втыкание задней передачи.

Схема цифрового индикатора уровня топлива обладает высокой степенью повторяемости, даже если опыт работы с микроконтроллерами незначителен, поэтому разобраться в тонкостях процесса сборки и настройки не вызывает проблем. Программатор Громова – это простейший программатор, который необходим для программирования avr микроконтроллера. Программатор Горомова хорошо подходит как для внутрисхемного, так и для стандартного схемного программирования. Ниже приведена схема контроля индикатора топлива.

Плавное включение и выключение светодиодов в любом режиме (дверь открыта, и плафон включен). Так же авто выключение через пять минут. И минимальное потребление тока в режиме ожидания.

Вариант 1 — Коммутация по минусу. (с применением N-канальных транзисторов) 1) «коммутация по минусу», т.е такой вариант при котором один питающий провод лампы соединен с +12В аккумулятора (источника питания), а второй провод коммутирует ток через лампу тем самым включает ее. В данном варианте будет подаваться минус. Для таких схем нужно применять N-канальные полевые транзисторы в качестве выходных ключей.

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

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

Изначально в Lifan Smily (да и не только) режим работы заднего дворника — единственный, и называется он «всегда махать». Особенно негативно воспринимается такой режим в наступивший сезон дождей, когда на заднем стекле собираются капли, но в недостаточном для одного прохода дворника количестве. Так, приходится либо слушать скрип резины по стеклу, либо изображать робота и периодически включать-выключать дворник.

Немного доработал схему реле времени задержки включения освещения салона для автомобиля Форд (схема разрабатывалась для вполне конкретного автомобиля, как замена штатного реле Ford 85GG-13C718-AA, но была успешно установлена в отечественную «классику»).

Уже не первый раз проскакивают такие поделки. Но почему-то люди жмуться на прошивки. Хотя в большинстве своём они основаны на проекте elmchan «Simple SD Audio Player with an 8-pin IC». Исходниник не открывают аргументируя, что пришлось исправлять проект, что в у меня качество лучше… и т. д. Короче взяли open source проект, собрали, и выдаёте за своё.

Итак. Микроконтроллер Attiny 13- так сказать сердце данного устройства. С его прошивкой долго мучился, никак не мог прошить.Ни 5ю проводками через LPT, ни прогромматором Громова. Компьютер просто не видит контроллер и все.

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

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

Рекомендуем также

Микроконтроллерные схемы — TINA

Jump to TINA Main Page & General Information 

ТИНА поддерживает много (ПОС, AVR, Ардуино8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) микроконтроллеры; новые MCU постоянно добавляются. Вы можете видеть, изменять и отлаживать программу, работающую в процессоре, и, конечно же, вы можете создавать свой собственный код.

Существует два способа предоставления программы для микроконтроллеров в TINA. Вы можете использовать двоичный код и файл отладки, созданные стандартным компилятором (например, MPLAB для PIC), или вы можете просто загрузить свой код сборки для запуска и отладки в TINA, используя встроенный ассемблер-отладчик.

Создание простой счетной схемы с использованием микроконтроллера PIC с программированием на ассемблере

Создание простой счетной схемы с использованием микроконтроллера PIC с программированием на языке Си

Базовая отладка микроконтроллера с использованием TINA

В TINA микроконтроллеры можно моделировать не только отдельно, но и вместе с аналоговыми, цифровыми, HDL или другими моделями. 

Запуск и редактирование кода MCU

Загрузите схему PIC Flasher.TSC из папки examplesMicrocontrollersPic. 

Следующая схема с использованием микроконтроллера PIC 16F73 появится вместе с микроконтроллером PIC 16F73:

Дважды щелкните MCU, чтобы увидеть код ASM в нем. (подробности см. в руководстве Быстрый старт).

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

Давайте сделаем следующее изменение в коде:

Измените инструкцию (выделенную выше) в строке 25 (номер строки можно увидеть в правом нижнем углу окна редактора кода):

из дополнения 01H

добавить 02H

Сохраните измененный код в TINA, нажав

значок и закройте открытые окна MCU.

Если вы нажмете

Теперь кнопка увеличится на 2! 

Обратите внимание, что измененный код будет автоматически сохранен в файле TINA .TSC.

Использование отладчика

Давайте посмотрим на другое приложение с большей интерактивностью.

Загрузите пример TINA PIC16F84interrupt_rb0.TSC из папки examplesMicrocontrollersPic.

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

Чтобы активировать отладчик, выберите «Опция» в меню «Анализ». Затем установите флажок «Включить отладчик кода MCU», как показано ниже в диалоговом окне «Параметры анализа».

Нажмите кнопку OK, и появится отладчик MCU:

Теперь нажмите переключатель SW-HL1 и измените его на High. (Вы должны щелкнуть, когда курсор изменится на стрелку, направленную вверх Î). Вернитесь в отладчик и нажмите кнопку Трассировка в кнопку дважды. Программа распознает прерывание и перейдет в

NT_SERV: label.
INT_SERV: INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORT

увеличьте СЧЕТЧИК и скопируйте в ПОРТ A, и на выходе будет 1. После этого программа вернется к «бесконечному циклу» в PT1.

Редактирование кода в отладчике

Теперь давайте внесем небольшое изменение в программу, чтобы продемонстрировать использование отладчика. Дублируйте оператор INCF COUNTER, F, используя Copy и Paste, следующим образом:

        INT_SERV:
        INCF COUNTER, F 
        INCF COUNTER, F 
        MOVF COUNTER, 0
        MOVWF PORTA    

Теперь, когда вы нажимаете

программа спросит:

Нажмите Да и нажмите

кнопку еще раз. Теперь при каждом изменении переключателя с низкого на высокое значение приращения будет равно 2.

Вы также можете проверить цепь в режиме непрерывной работы отладчика, нажав

кнопку.

Даже если отладчик будет работать быстро, вы все равно сможете увидеть «бесконечный цикл», а затем перейти к серверной части прерывания (INT_SERV:) при смене переключателя.

Создание точки останова

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

Чтобы остановиться на определенной строке, вы можете пометить целевой оператор, установив «точку останова».

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

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

Чтобы продемонстрировать это, щелкните оператор приращения на нашем сервере прерываний после метки INT_SERV: и нажмите

Переключить кнопку разрыва.

Теперь нажмите

Кнопка запуска. Программа начинает работать в «бесконечном цикле».

Даже если вы установили точку останова, выполнение кода не остановится, потому что оно никогда не достигнет точки останова. Тем не менее, когда вы переключите переключатель с низкого на высокий уровень, программа остановится на отмеченном операторе:

   INT_SERV:
             INCF COUNTER, F

Теперь вы можете продолжить любой шаг за шагом

или в режиме Run

Ссылки | Любительские конструкции на микроконтроллерах

На этой странице выложены ссылки на ресурсы со схожей тематикой.

http://easyelectronics.ru — по моему мнению один из лучших сайтов микроконтроллерной направленности. Материал изложен очень доходчиво.

http://avrdevices.ru — интересные устройства на микроконтроллерах. Анализ и опыт применения разнообразных  узлов и микросхем.

ARV Research

http://avr.nikolaew.org — сайт простейшего программатора АВР

http://www.getchip.net — готовые решения для проектов AVR, а также пример красивого оформления блога.

http://avrproject.ru — проекты на микроконтроллерах AVR

http://www.lockdog.ru  — личный блог, где автор пишет о своих разработках. Основной упор делается на подключение различных дисплеев и робототехнику.

http://chipenable.ru — электроника, микроконтроллеры, программирование.

http://samou4ka.net — электронные устройства и микроконтроллеры

http://www.servodroid.ru -робототехника для начинающих своими руками

http://radioelektr.ru — микроконтроллеры AVR, программирование и не только.

?нформация по ремонту электронной аппаратуры. Большое количество принципиальных схем , справочники ,статьи .Форум для всех и закрытый для СЦ РБ..

http://easystm32.ru — STM32 — это просто

http://yysup.narod.ru — Схемы на микроконтроллерах, программы на Ассемблере. Только авторский контент.

— Радиотехника студентам, инженерам и радиолюбителям по старым учебникам «Основы радиотехники». Cтруктурно сайт выполнен как алфавитный предметный указатель.

http://smartelectronix.biz/ — Домашняя страничка нашего коллеги Eddy 71, где он представляет свои конструкции на PIC — контроллерах и без них. Работы не громоздкие, а скажем так: практично-автомобильно-бытовые полезные усовершенствования.


— Паятель.net — статьи и простые схемы, конструкции для начинающих и профессионалов.

А здесь я покупаю радиодетали:

http://www.dealextreme.com — …. чудный китайский интернет-магазин, неоднократно описанный на моём сайте

Что такое микроконтроллер и как он работает?

Микроконтроллер представляет собой компактную интегральную схему, предназначенную для управления определенной операцией во встроенной системе. Типичный микроконтроллер включает в себя процессор, память и периферийные устройства ввода-вывода (I/O) на одном кристалле.

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

Как работают микроконтроллеры?

Микроконтроллер встроен в систему для управления отдельной функцией устройства. Он делает это, интерпретируя данные, которые он получает от своих периферийных устройств ввода-вывода, используя свой центральный процессор. Временная информация, которую получает микроконтроллер, хранится в его памяти данных, где процессор получает к ней доступ и использует инструкции, хранящиеся в его памяти программ, для расшифровки и применения входящих данных.Затем он использует свои периферийные устройства ввода-вывода для связи и выполнения соответствующих действий.

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

Например, в автомобиле может быть много микроконтроллеров, которые управляют различными отдельными системами внутри, такими как антиблокировочная система, контроль тяги, впрыск топлива или управление подвеской. Все микроконтроллеры взаимодействуют друг с другом для информирования о правильных действиях.Некоторые могут связываться с более сложным центральным компьютером в автомобиле, а другие могут связываться только с другими микроконтроллерами. Они отправляют и получают данные, используя свои периферийные устройства ввода-вывода, и обрабатывают эти данные для выполнения назначенных им задач.

Из каких элементов состоит микроконтроллер?

Основными элементами микроконтроллера являются:

  • Процессор (ЦП) — Процессор можно рассматривать как мозг устройства. Он обрабатывает и отвечает на различные инструкции, управляющие работой микроконтроллера.Это включает в себя выполнение основных арифметических, логических операций и операций ввода-вывода. Он также выполняет операции передачи данных, которые передают команды другим компонентам более крупной встроенной системы.
  • Память. Память микроконтроллера используется для хранения данных, которые процессор получает и использует для ответа на инструкции, выполнение которых запрограммировано. Микроконтроллер имеет два основных типа памяти:
    1. Память программ, в которой хранится долговременная информация об инструкциях, выполняемых ЦП.Память программ является энергонезависимой памятью, то есть она хранит информацию с течением времени, не требуя источника питания.
    2. Память данных, необходимая для временного хранения данных во время выполнения инструкций. Память данных является энергозависимой, то есть хранящиеся в ней данные являются временными и сохраняются только в том случае, если устройство подключено к источнику питания.
  • Периферийные устройства ввода/вывода. Устройства ввода и вывода представляют собой интерфейс процессора с внешним миром.Входные порты получают информацию и отправляют ее процессору в виде двоичных данных. Процессор получает эти данные и отправляет необходимые инструкции на устройства вывода, которые выполняют задачи, внешние по отношению к микроконтроллеру.

Хотя процессор, память и периферийные устройства ввода-вывода являются определяющими элементами микропроцессора, часто включаются и другие элементы. Сам термин периферийных устройств ввода-вывода просто относится к вспомогательным компонентам, взаимодействующим с памятью и процессором.Существует множество вспомогательных компонентов, которые можно отнести к периферийным устройствам. Наличие некоторых периферийных устройств ввода-вывода является элементарным для микропроцессора, потому что они представляют собой механизм, посредством которого применяется процессор.

Другие вспомогательные элементы микроконтроллера включают:

  • Аналого-цифровой преобразователь (АЦП) — АЦП представляет собой схему, преобразующую аналоговые сигналы в цифровые. Это позволяет процессору в центре микроконтроллера взаимодействовать с внешними аналоговыми устройствами, такими как датчики.
  • Цифро-аналоговый преобразователь (ЦАП). ЦАП выполняет функцию, обратную АЦП, и позволяет процессору в центре микроконтроллера передавать свои исходящие сигналы внешним аналоговым компонентам.
  • Системная шина. Системная шина — это соединительный провод, соединяющий все компоненты микроконтроллера вместе.
  • Последовательный порт. Последовательный порт является одним из примеров порта ввода-вывода, который позволяет микроконтроллеру подключаться к внешним компонентам.Он выполняет функции, аналогичные USB или параллельному порту, но отличается способом обмена битами.

Характеристики микроконтроллера

Процессор микроконтроллера зависит от приложения. Варианты варьируются от простых 4-битных, 8-битных или 16-битных процессоров до более сложных 32-битных или 64-битных процессоров. Микроконтроллеры могут использовать типы энергозависимой памяти, такие как оперативная память (RAM) и типы энергонезависимой памяти, включая флэш-память, стираемую программируемую постоянную память (EPROM) и электрически стираемую программируемую постоянную память (EEPROM).

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

Архитектура микроконтроллера

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

Процессоры микроконтроллера

могут быть основаны на вычислениях со сложным набором команд (CISC) или вычислениях с сокращенным набором команд (RISC). CISC обычно имеет около 80 инструкций, а RISC — около 30, а также больше режимов адресации, 12-24 по сравнению с RISC 3-5. Хотя CISC может быть проще в реализации и более эффективно использует память, его производительность может снижаться из-за большего количества тактов, необходимых для выполнения инструкций.RISC, который уделяет больше внимания программному обеспечению, часто обеспечивает более высокую производительность, чем процессоры CISC, которые уделяют больше внимания аппаратным средствам, благодаря упрощенному набору команд и, следовательно, большей простоте конструкции, но из-за того, что упор делается на программное обеспечение, программное обеспечение может быть более сложным. Какой ISC используется, зависит от приложения.

Когда микроконтроллеры впервые стали доступны, они использовали исключительно язык ассемблера. Сегодня язык программирования C является популярным вариантом.Другие распространенные языки микропроцессоров включают Python и JavaScript.

Микроконтроллеры

имеют входные и выходные контакты для реализации периферийных функций. К таким функциям относятся аналого-цифровые преобразователи, контроллеры жидкокристаллических дисплеев (LCD), часы реального времени (RTC), универсальный синхронный/асинхронный приемник-передатчик (USART), таймеры, универсальный асинхронный приемник-передатчик (UART) и универсальная последовательная шина ( USB) возможность подключения. Датчики, собирающие данные, связанные, в частности, с влажностью и температурой, также часто подключаются к микроконтроллерам.

Типы микроконтроллеров Общие микроконтроллеры

включают Intel MCS-51, часто называемый микроконтроллером 8051, который был впервые разработан в 1985 году; микроконтроллер AVR, разработанный Atmel в 1996 году; программируемый контроллер интерфейса (PIC) от Microchip Technology; и различные лицензированные микроконтроллеры Advanced RISC Machines (ARM).

Ряд компаний производит и продает микроконтроллеры, включая NXP Semiconductors, Renesas Electronics, Silicon Labs и Texas Instruments.

Приложения для микроконтроллеров Микроконтроллеры

используются во многих отраслях и приложениях, в том числе в домашнем хозяйстве и на предприятии, в автоматизации зданий, производстве, робототехнике, автомобилестроении, освещении, интеллектуальной энергетике, промышленной автоматизации, связи и развертывании Интернета вещей (IoT).

Одним из очень специфических применений микроконтроллера является его использование в качестве процессора цифровых сигналов. Часто входящие аналоговые сигналы имеют определенный уровень шума.Шум в этом контексте означает неоднозначные значения, которые не могут быть легко переведены в стандартные цифровые значения. Микроконтроллер может использовать свои АЦП и ЦАП для преобразования входящего зашумленного аналогового сигнала в ровный исходящий цифровой сигнал.

Простейшие микроконтроллеры облегчают работу электромеханических систем, используемых в повседневных предметах повседневного обихода, таких как духовки, холодильники, тостеры, мобильные устройства, брелоки, системы видеоигр, телевизоры и системы полива газонов. Они также распространены в офисных машинах, таких как копировальные аппараты, сканеры, факсимильные аппараты и принтеры, а также в интеллектуальных счетчиках, банкоматах и ​​системах безопасности.

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

Микроконтроллеры и микропроцессоры

Различие между микроконтроллерами и микропроцессорами стало менее четким, поскольку плотность и сложность микросхем стали относительно дешевыми в производстве, и, таким образом, микроконтроллеры интегрировали более «общие компьютерные» функциональные возможности.В целом, однако, можно сказать, что микроконтроллеры работают сами по себе с пользой, с прямым подключением к датчикам и исполнительным механизмам, в то время как микропроцессоры предназначены для максимизации вычислительной мощности чипа, с внутренними подключениями к шине (а не с прямым вводом-выводом). к вспомогательному оборудованию, такому как ОЗУ и последовательные порты. Проще говоря, в кофеварках используются микроконтроллеры; настольные компьютеры используют микропроцессоры.

Микроконтроллер Microchip Technology ATtiny817.

Микроконтроллеры дешевле и потребляют меньше энергии, чем микропроцессоры.Микропроцессоры не имеют встроенной ОЗУ, постоянной памяти (ПЗУ) или других периферийных устройств на чипе, а присоединяются к ним своими контактами. Микропроцессор можно считать сердцем компьютерной системы, тогда как микроконтроллер можно считать сердцем встроенной системы.

Правильный выбор микроконтроллера

При выборе микроконтроллера для проекта необходимо учитывать ряд технологических и бизнес-соображений.

Помимо стоимости важно учитывать максимальную скорость, объем ОЗУ или ПЗУ, количество или типы контактов ввода-вывода на микроконтроллере, а также энергопотребление, ограничения и поддержку разработки.Обязательно задавайте такие вопросы, как:

  • Какие аппаратные периферийные устройства необходимы?
  • Нужны ли внешние коммуникации?
  • Какую архитектуру следует использовать?
  • Какие сообщества и ресурсы доступны для микроконтроллера?
  • Какова доступность микроконтроллера на рынке?

Основы микроконтроллеров. Сборка электронных схем

Во время учебы мне нравилось изучать основы микроконтроллеров.Это означало, что я мог начать использовать преимущества микроконтроллеров в своих электронных проектах. Мне казалось, что с этим знанием меня уже не остановить. Я мог построить ВСЕ!

И это действительно так. Микроконтроллеры — мощные компоненты. Они позволяют вам писать программы для управления вашей электроникой. Объедините эти знания с тем, как создавать собственные печатные платы, и вы будете делать удивительные вещи.

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

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

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

Доступны 8-битные, 16-битные и 32-битные микроконтроллеры. Простейшие микроконтроллеры 8-битные. Они могут многое, но не могут справиться с операциями, требующими сложных вычислений.

Я не буду перечислять их все здесь. Но есть два семейства 8-битных микроконтроллеров, которые легко использовать как любителям, так и новичкам, — это AVR и PIC.Они отлично подходят для изучения основ микроконтроллеров.

AVR от Atmel, и это микроконтроллер, который я использовал чаще всего. Он действительно популярен среди любителей. PIC от Microchip. Я не использовал PIC, но люди говорят, что это хорошо. Он также очень популярен среди любителей.

Существует несколько типов микроконтроллеров PIC и AVR. Что отличает их друг от друга, так это объем памяти, количество контактов ввода-вывода и типы периферийных устройств, которые у них есть. Периферийные устройства выполняют такие функции, как широтно-импульсная модуляция, аналого-цифровое преобразование, последовательный периферийный интерфейс, I2C и т. д..

Если вам нужен только простой микроконтроллер для включения/выключения выводов, вам не нужно беспокоиться обо всех периферийных устройствах. Просто найдите тот, у которого достаточно контактов ввода-вывода и который вам удобно программировать.

Например, обратите внимание на ATtiny2313 — простой и дешевый микроконтроллер для начала работы.

Основы микроконтроллеров: их использование в проектах

Существует два способа использования микроконтроллеров в проекте:

  1. Используйте плату микроконтроллера
  2. Интегрируйте микроконтроллер в печатную плату

Самый простой способ начать работу — использовать плату микроконтроллера.

Но будет и дешевле, и компактнее, и менее грязно, если вы интегрируете микроконтроллер в свою плату.

Использование плат микроконтроллеров

Самая известная плата микроконтроллера — Arduino. Это аппаратно-программный комплекс, разработанный для того, чтобы упростить начало программирования микроконтроллеров. Узнайте о программировании Arduino.

Но можно найти и другие платы микроконтроллеров. Обычно у них есть только микросхема микроконтроллера и необходимые компоненты для его работы.Это отличный способ протестировать микроконтроллер, который вы раньше не использовали.

Чтобы начать работу и изучить основы микроконтроллеров, я определенно рекомендую приобрести плату Arduino. Это самый простой способ начать. По одному вместе с некоторыми основными компонентами, и начните экспериментировать.

Нажмите здесь, чтобы получить стартовый комплект Arduino

Использование микросхем микроконтроллера

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

Это позволяет довольно легко установить и запустить плату микроконтроллера.

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

(Не забудьте убедиться, что у вас есть способ программирования вашего микроконтроллера. Это не всегда добавляется в справочную схему)

Чтобы расширить основы микроконтроллеров, изучите программирование микроконтроллеров, чтобы узнать, как программировать микроконтроллеры.

Возврат от основ микроконтроллера к схемам электроники

Как спроектировать схему микроконтроллера

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

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

Микроконтроллер ARM Cortex-M

В этой статье основное внимание будет уделено схемотехнике включения микроконтроллера ARM Cortex-M. Архитектура микроконтроллера ARM Cortex-M предлагается несколькими производителями микросхем в различных версиях.

ARM Cortex-M — это 32-разрядная архитектура, которая особенно подходит для задач с интенсивными вычислениями по сравнению с тем, что доступно в типичных 8-разрядных микроконтроллерах. 32-разрядный микроконтроллер также удобен, если у вас есть приложение, требующее большего адресного пространства памяти или нуждающееся в простом пути миграции для будущих расширений.

Мы будем обсуждать линейку микроконтроллеров ARM Cortex-M от ST Microelectronics под названием STM32, или, точнее, мы сосредоточимся на серии STM32F4.

Тем не менее, серия STM32 огромна и включает также линейку STM32L со сверхнизким энергопотреблением, а также версии с более высокой и более низкой производительностью по сравнению с STM32F4. Версия с самой высокой производительностью — STM32F7, которая может выполнять более 1 миллиарда инструкций в секунду. На другом конце спектра производительности STM32L0 выполняет всего 26 миллионов инструкций в секунду.

См. принципиальную схему ниже на рисунке 1, на которой показана схема STM32F4, на которую мы будем ссылаться в этой статье.

Рис. 1. Щелкните, чтобы увеличить изображение.

Конструкция блока питания

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

Ток, потребляемый микроконтроллером, определяется несколькими факторами, такими как рабочее напряжение, тактовая частота и нагрузка на контакты ввода-вывода.

Каждый вывод VDD источника питания на микроконтроллере должен иметь керамические конденсаторы емкостью 1 мкФ и 100 нФ (например, см. C7 и C8 на рис. 1), расположенные как можно ближе друг к другу, чтобы обеспечить развязку источника питания. Дополнительный керамический конденсатор емкостью 4,7 мкФ (C1 на рис. 1) следует разместить рядом с микросхемой на дорожке основной цепи, питающей VDD.

Микроконтроллеры

с аналого-цифровым преобразователем (АЦП) также обычно имеют отдельные контакты питания (VDDA) и заземления (VSSA) только для аналоговых сигналов. Эти штифты должны быть особенно чистыми от любого шума.

Вывод VDDA должен иметь керамические конденсаторы емкостью 1 мкФ и 10 нФ (C10 и C11 на рис. 1), расположенные как можно ближе к выводу VDDA. В большинстве случаев я считаю хорошей идеей также включить катушку индуктивности (L1 на рис. 1) на выводе VDDA, чтобы сформировать LC-фильтр нижних частот, дающий еще более чистое аналоговое напряжение питания.

Если напряжение питания выше максимального входного напряжения микроконтроллера, обычно требуется линейный стабилизатор напряжения с малым падением напряжения. Например, TPS795xx от Texas Instruments имеет особенно низкий уровень шума и может выдавать до 500 мА.
Если напряжение питания значительно выше требуемого напряжения микроконтроллера, лучшим выбором будет импульсный понижающий стабилизатор. Линейные стабилизаторы тратят слишком много энергии, когда их входное напряжение значительно выше регулируемого выходного напряжения.

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

Часы

STM32F4 можно запускать от внутренних или внешних системных часов.Системные часы при включении питания являются внутренними часами (16 МГц), и после инициализации системы в программном обеспечении можно выбрать другой внешний источник часов.

Выводы тактовых импульсов на STM32F4 могут управлять внешним кристаллом с частотой от 4 до 26 МГц (см. X1 на рис. 1) или можно использовать независимый источник тактовых импульсов с частотой до 50 МГц.

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

GPIO

Штырьки ввода-вывода общего назначения (GPIO) на микроконтроллерах программируются и могут программно конфигурироваться как вход или выход.

Например, S1 на рис. 1 — это кнопка, подключенная к GPIO, запрограммированному как вход. STM32 имеет внутренние подтягивающие резисторы, поэтому для этой кнопки нет необходимости во внешнем подтягивающем резисторе. Показан пример выхода GPIO, управляющего светодиодом.

Большинство контактов GPIO имеют альтернативные функции, и различные встроенные периферийные устройства получают доступ к внешнему миру через эти многофункциональные контакты.

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

Выводы GPIO могут использоваться для управления различными нагрузками, и большинство выводов могут потреблять или выдавать до 25 мА. Однако, как правило, хорошей идеей является наличие какой-либо внешней схемы привода, чтобы разгрузить требования привода. Например, см. MN1, управляющий светодиодом на рисунке 1.

STM32 имеет максимально допустимый ток, указанный для каждого вывода отдельно, а также ограничения на общий ток для всех выводов GPIO, суммированных вместе.

Подключение периферийных устройств

STM32 обеспечивает последовательное подключение через различные интерфейсы, включая UART, I2C, SPI и USB.

В качестве примера на рисунке 1 датчик температуры (U2 – LM75BDP) подключен к микроконтроллеру по шине I2C. На шине I2C требуются два подтягивающих резистора (R2 и R3), поскольку устройства, подключаемые к шине, имеют драйверы с открытым стоком.

Для низкоскоростных приложений, таких как большинство датчиков, я обычно предпочитаю последовательный протокол I2C, поскольку для связи он использует только две линии.Кроме того, в отличие от SPI, который требует отдельной линии выбора микросхемы для каждого периферийного устройства, I2C использует уникальные адреса. Это означает, что для подключения к нескольким периферийным устройствам можно использовать только две линии.

Шина SPI на рис. 1 подключена к 9-осевому датчику движения MPU-9250 (U3) от Invensense. MPU-9250 включает в себя 3-осевой акселерометр, 3-осевой гироскоп и 3-осевой магнитометр.

Разъем для программирования

STM32F4 предлагает два интерфейса внутрисистемного программирования (ISP): Serial-Wire-Debug (SWD) и JTAG.Более дешевые версии STM32 предлагают только интерфейс SWD. SWD и JTAG — два наиболее распространенных интерфейса программирования, используемых для микроконтроллеров.

Заключение

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

LDK Эксперимент 6: Схемы микроконтроллера

Введение

Добро пожаловать в эксперимент 6 набора LilyPad Design Kit, где вы погрузитесь в проектирование и создание схемы микроконтроллера.

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

Предлагаемая литература

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

Предыдущие руководства по LDK
Другие соответствующие руководства

Сбор материалов

Для начала вам понадобятся эти детали. Если вы используете Lilypad Design Kit, у вас уже есть все!

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

Положительные следы

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

Когда вы знаете, куда хотите поместить компоненты, и уверены, что места хватит для всего, отложите в сторону все, кроме держателя батареи. Пока не вставляйте батарею! Пришейте положительную булавку дальше всего от того места, где вы хотите разместить свою крошечную доску, затем пришейте несколько стежков к ближайшей положительной булавке. Сшейте и это. Если вы следили за всей серией LDK, вы, вероятно, уже стали экспертом в этой части! Пока не обрывайте нить.

Продолжая дорожку от положительного вывода батареи, пришейте к положительному выводу платы LilyTiny и пришейте ее несколькими стежками.

Завяжите узел и обрежьте нить перед следующим шагом.

Начиная с новой нити, пришейте одну из пронумерованных булавок на доске Tiny. От этого штифта прошейте линию стежков туда, где должен быть светодиод, и пришейте положительный штырь этого светодиода. Завяжите узел и обрежьте нить, а отрицательный штифт пока оставьте в покое.

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

Отрицательные следы

Это финишная полоса! Отрицательной стороной этой схемы будет одна длинная дорожка, поэтому убедитесь, что ваша нить достаточно длинная!

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

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

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

Как это работает

Каждый индикатор будет вести себя по-разному. Контакт 0 будет «дышащим» замиранием. Контакт 1 будет мигать шаблоном сердцебиения. Контакт 2 будет мигать и выключаться. И контакт 3 будет отображать случайное мерцание. Это отличные примеры некоторых световых эффектов, которых можно достичь с помощью кода Arduino. Когда вы будете готовы начать программировать самостоятельно, вы найдете код, используемый в этой плате, на странице продукта LilyTiny в разделе «Документы»

.

ЛилиТвинкл

Если вам нравится схема LilyTiny и вы хотите попробовать другой предварительно запрограммированный микроконтроллер, обратите внимание на LilyTwinkle! Это точно такая же плата, которую вы только что использовали, но с другим кодом.Это означает, что вы будете подключать источники света таким же образом, но вместо того, чтобы выполнять 4 разных действия, все они будут отображать мерцающий эффект вместе. Милый!

Примеры проектов

Посмотрите на эти крутые проекты, сделанные с помощью этой схемы:

Ресурсы и дальнейшее продвижение

Хотите сделать больше с вашими досками LilyTiny и LilyTwinkle? Существует множество руководств, которые помогут и вдохновят вас на достижение больших результатов с помощью наших маленьких досок!

Введение в микроконтроллеры — основы схем

В начале 1970-х годов две американские компании, Intel и Texas Instruments, представили миру микропроцессоры и микроконтроллеры.Эти компании предвидели будущее, в котором доминируют однокристальные интегрированные компьютеры.

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

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

Система микроконтроллеров

На приведенной ниже диаграмме система микроконтроллера представлена ​​как набор частей или устройств с тремя функциями: вход, процесс и выход. Система принимает по крайней мере один вход, выполняет какое-то действие на этом входе и производит один или несколько выходов.

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

Система микроконтроллера встроена в интегральную схему (ИС). Типичный микроконтроллер включает в себя процессор, память программ, ОЗУ, контакты ввода/вывода и многое другое на одном кристалле.

Устройства, которыми можно управлять с помощью микроконтроллеров

Микроконтроллеры

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

  • Компьютеры
  • Компьютерная периферия
  • Телефонные системы
  • Бытовая техника
  • Промышленное оборудование
  • Системы безопасности
  • Датчики и массивы датчиков

1 What is a1 Development Board

Опытные сборщики электроники своими руками легко могут создавать схемы на макетных платах.Однако по мере увеличения сложности схемы использование макетных плат становится затруднительным. Здесь на помощь приходят макетные платы.

Платы для разработки

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

Самыми популярными платами для разработки на рынке, без сомнения, являются Raspberry Pi и Arduino Uno. Их знакомство с хобби электроники DIY произвело революцию в том, как люди изучают электронику и создают электронные проекты.

Плата разработки Arduino Uno Платы для разработки

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

Программирование микроконтроллеров

Некоторые микроконтроллеры легче программировать, чем другие, но для каждого распространенного микроконтроллера должно быть много онлайн-ресурсов, которые помогут вам научиться его программировать.

Некоторые микроконтроллеры, такие как Arduino, имеют собственную интегрированную среду разработки (IDE).В Arduino IDE вы можете написать код Arduino и загрузить его в микроконтроллер через USB-кабель. С помощью Arduino IDE можно запрограммировать множество других микроконтроллеров, например, WiFi-модуль ESP8266.

Как выбрать микроконтроллер

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

Это правда, что при выборе микроконтроллера необходимо учитывать множество факторов.Но самое главное — это функциональность, простота программирования, стоимость и, конечно же, наличие поддержки.

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

Сравнение популярных микроконтроллеров

Чтобы помочь вам решить, какой микроконтроллер лучше всего подходит для вашего проекта, в таблице ниже сравниваются характеристики самых популярных микроконтроллеров, доступных сегодня:

Микроконтроллер Характеристики Эксплуатационные характеристики Язык программирования Компилятор / IDE Общие приложения
Atmel ATtiny85 Pins: 8
GPIO контакты: 6
512 байт RAM
8 КБ SRAM
512 байт EEPROM
Тактовая частота: внутренние часы 20 МГц
Два таймера
Аналого-цифровой преобразователь
Рабочее напряжение: 2.от 7 В до 5,5 В
Рабочая температура: от -40°C до +85°C
Arduino (с ограничениями),
C/C++ или код сборки
AVR GCC,
MPLAB XC8, MPLAB X IDE,
Microchip Studio,
IAR Embedded Workbench
Цепи, важные для безопасности, промышленные системы управления, импульсные источники питания и системы регулирования мощности, а также анализ аналоговых сигналов.
Espressif ESP8266 Контакты: 30
Контакты GPIO: 16
Флэш-память: 4 МБ
SRAM: 64 КБ
Тактовая частота: 80 МГц3 В
Напряжение питания: 7–12 В
Arduino Arduino IDE Сетевые и подключенные к Интернету устройства, прототипы устройств IoT, маломощные схемы и проекты, требующие интерфейсов с WiFi и Bluetooth.
Intel 8051 Контакты: 40
4 КБ ПЗУ
128 байт ОЗУ °C
Сборка,
BASIC, C\C++
CX51 Compiler,
IAR Embedded Workbench,
BASCOM-AVR
Автомобили, медицинские приборы, бытовая техника, системы связи, робототехника, промышленные системы управления, радио и сетевое оборудование , и
дистанционное зондирование.
Texas Instruments MSP430 Контакты GPIO: 51
Энергонезависимая память: 64 КБ
ОЗУ: 2 КБ
Аналого-цифровой преобразователь
Часы реального времени В – 5,5 В
Активный режим: 330 мкА при 1 МГц, 3 В.
Сборка,
C/C++
Компилятор C/C++ Texas Instruments,
MSP430 – GCC,
BASCOM-AVR
Промышленная автоматизация, домашняя автоматизация, сети измерения инфраструктуры, портативное испытательное оборудование, электроника для здоровья и медицины, а также бытовая электроника
PJRC Teensy 3.2 Выводы: 34
Выводы GPIO: 34
32-битный ARM Cortex-M4 72 МГц ЦП
Флэш-память: 256 КБ
ОЗУ: 64 КБ
EEPROM: 2 КБ
Широтно-импульсная модуляция
Семь таймеров USB, UART, SPI
, связь I2C и I2S
Часы реального времени
Рабочее напряжение: 3,3 В
Напряжение питания: от 3,6 В до 6,0 В MicroPython
Управление двигателем, малая электроника, дроны, транспортные средства с дистанционным управлением, роботы и сенсорные сети.
STMicroelectronics STM32 Контакты GPIO: 51-140
Связь USB, UART, SPI, I2C и I2S аналоговый преобразователь
Часы реального времени
Рабочее напряжение: 3,3 В
Напряжение питания: от 1,7 В до 3,6 В

Язык C
Встроенный компилятор ARM GCC, Arm Keil MDK,
PlatformIO IDE,
STM32Cube09, Segger Ember09, 90 ,
SW4STM32
Промышленные контроллеры ПЛК, принтеры и сканеры, системы безопасности, системы видеонаблюдения, системы отопления, вентиляции и кондиционирования воздуха, измерители мощности, драйверы двигателей и периферийные устройства для ПК.
Silicon Labs EFM32 Контакты GPIO: 18–26
ЦП ARM Cortex-M3
Флэш-память: 512 кБ
ОЗУ: 32 кБ от 1,98 В до 3,8 В
Рабочая температура: от -40°C до +85°C
Язык C Компилятор GNU ARM C Маломощные устройства, проекты IoT и системы безопасности

Одноплатные компьютеры

Микроконтроллеры

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

Вот сравнение самых популярных одноплатных компьютеров Raspberry Pi:

4 4 порта

Прибор RAM Процессор USB Ethernet WiFi Bluetooth HDMI Другое Видео MicroSD
Малина Pi А + 512 700 МГц ARM11 1 Порт Да DSI, композитный Да
Малина Pi B 512MB 700 MHZ ARM11 10/100 Мбит / с DSI, Composite Да Да
Raspberry Pi 2B 1 ГБ 900 МГц ЧЕЛОВЕКА ARM Cortex-A7 4 порта 10/100 Мбит/с Да 903 87 DSI, Композитный Да
Raspberry Pi 3B 1 ГБ Чемъядерный 64-битный ARM Cortex A53 4 Порты 10/100 Мбит / с 802.11n 4.1 Да Да DSI, Композит Да
+ 64-битный ARM Кортекс A53 4 Порты 300 / MBPS / POE 802.11AC 4,2 Да Да DSI, Composite Да
512MB 512MB 1 ГГц одноъядерный ARM11 1 Micro USB Mini-HDMI Да
Беспроводная связь Raspberry Pi Zero 512 МБ 1 ГГц, одноядерный ARM11 1 Micro USB 7 8.2.11n 4.1 Мини-HDMI Да

Вот сравнение самых популярных одноплатных компьютеров BeagleBone:

Прибор Память Процессор USB Сеть Видео Поддерживаемые интерфейсы расширения MicroSD
PocketBeagle 512 МБ DDR3 (800 МГц x 16) AM3358, 1 ГГц ARM Cortex-A8 USB 2.0 Порт хост/клиент 480 Мбит/с, USB 2.0 на разъеме расширения надстройки Дисплеи SPI 3x UART, 4x PWM, 2x SPI, 2x I2C, 8x аналого-цифровой преобразователь, 2x шина CAN (без физического уровня) , 2x квадратурный энкодер, USB да да
Beaglebone Bea Bea Beagly 512MB DDR3 (800 МГц х 16), 4 ГБ встроенное хранение с использованием EMMC AM3358, 1 ГГц ARM Cortex-A8 USB 2.0 480 Мбит / с хоста / клиентский порт / клиент , хост-порт USB 2.0 10/100 Ethernet microHDMI, надстройки Cape 4x UART, 12x PWM/таймеров, 2x SPI, 2x I2C, 7x АЦП, 2x шина CAN (без физического уровня) , ЖК-дисплей, 3-кратный квадратурный энкодер, SD/MMC, GPMC Да
BeagleBone Blue 512 МБ DDR3 (800 МГц x 16), 4 ГБ встроенной памяти с использованием eMMC 7 9003 Cortex-A8 AM3358, 1 ГГц, 1 ГГц 2.0 Порт хост/клиент 480 Мбит/с, порт хоста USB 2.0 2,4 ГГц WiFi, Bluetooth, BLE Дисплеи SPI 4x UART, 2-элементный LiPo, 2x SPI, I2C, 4x аналого-цифровой преобразователь, шина CAN (с PHY), 8x 6V серводвигатель, 4x двигатель постоянного тока, 4x квадратурный энкодер Да
BeagleBone AI 1 ГБ DDR3 (2x 512Mx16, двухканальный), 16 ГБ встроенной памяти с использованием eMMC , AMxARM , AMxARM 9038 Cortex-A15 USB 3.0 5 Гбит/с хост-порт/клиент, хост-порт USB 2.0 Gigabit Ethernet, 2.4/5 ГГц WiFi, Bluetooth, BLE microHDMI, надстройки Cape 4x UART, 12x PWM/таймеров, 2x SPI, 2x I2C, 7x аналого-цифровой преобразователь, шина CAN (без физического уровня), LCD, 3x квадратурный энкодер, SD/MMC Да
BeagleBone Green ОЗУ DDR3 512 МБ.
8-разрядная флэш-память eMMC емкостью 4 ГБ
AM3358 ARM Cortex-A8, 1 ГГц USB 2.0 480 Мбит/с порт хост/клиент, хост-порт USB 2.0 Ethernet /D-преобразователь, шина CAN (без физического уровня), ЖК-дисплей, SD/MMC Да
BeagleBone Green Wireless ОЗУ DDR3 512 МБ.
8-разрядная флэш-память eMMC емкостью 4 ГБ
AM3358 ARM Cortex-A8, 1 ГГц 4 порта USB 2.0 480 Мбит/с для хоста/клиента, хост-порт USB 2.0 4x UART, 12x ШИМ/таймеров, 2x SPI, 2x I2C, 7x АЦП, шина CAN (без физического уровня), LCD, 3x квадратурный энкодер, SD/MMC Да
BeagleBoard XM 128–512 МБ оперативной памяти DDR3. 8-разрядная встроенная флэш-память eMMC AM37x 1 ГГц ARM Cortex-A8 USB 2.0 Порт хост/клиент 480 Мбит/с, хост-порт USB 2.0 Ethernet Порт S-Video UART, ШИМ/таймеры, SPI, I2C, аналого-цифровой преобразователь, шина CAN (без физического уровня), LCD, SD/ MMC Да

Итак, это краткий обзор самых популярных платформ на рынке сегодня! Не забудьте оставить комментарий ниже, если у вас есть вопросы о чем-либо!


How to Use a Simple Microcontroller (PIC10F200) — Part…

Эти учебные пособия по микроконтроллерам основаны на идее создания интересных вещей с использованием самого простого и примитивного микроконтроллера.Итак, если вы хотите узнать о микроконтроллерах, основах микроконтроллеров и особенно микроконтроллерах PIC, давайте начнем!

Я не одинок в желании делать что-то с помощью маленького микроконтроллера; Вы можете найти несколько интересных проектов, например, здесь: The 1kB Challenge.

Некоторые из них действительно впечатляют, и первое, что приходит на ум, это «Как?!? Как люди могут уместить это всего в 1 КБ кода?»

Итак, я принял вызов и решил попробовать сделать что-то подобное сам, и то, что я обнаружил, было потрясающим.Управление светодиодами и зуммерами? – Не может быть проще! Сделать термометр? — Ага! Радиоуправляемый робот? Робот, избегающий препятствия? Робот следует за линией? — Почему бы нет?

Если вы уже заинтригованы, то эта серия для вас. Я сделал это для тех, кто хочет глубже узнать, как все устроено. Для тех, кто хочет понять, что скрывается под функциями digitalRead и digitalWrite Arduino, кому интересно, как устройства общаются друг с другом — тем, кто хочет знать, как реализован код на низком уровне .

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

Обзор микроконтроллера PIC10F200

В качестве простого микроконтроллера я выбрал микроконтроллер PIC10F200.Это самый примитивный микроконтроллер, который до сих пор находится в производстве и его можно легко купить. Это 8-битный микроконтроллер и один из самых дешевых доступных микроконтроллеров. Этот микроконтроллер выпускается в нескольких корпусах — чрезвычайно маленьком бесконтактном корпусе DFN8 (2×3 мм), достаточно маленьком корпусе SOT23 (3×2,5 мм) с разводными контактами и удобном для прототипирования DIP8 (см. рис. 1). Таким образом, это может быть либо микроконтроллер с 8 выводами, либо микроконтроллер с 6 выводами, даже если варианты с 8 выводами имеют два контакта, которые не используются.

Рисунок 1 – Пакеты микроконтроллеров PIC10F200

Таким образом, вы можете использовать любой из этих пакетов в зависимости от ваших навыков пайки и любых размеров устройства, требуемых вашим проектом. Если у вас нет конкретной идеи проекта и вы просто хотите следовать этой серии, мы рекомендуем пакет DIP, так как с ним проще всего работать.

Цена микроконтроллера PIC10F200 варьируется примерно от 0,25 долл. США (в корпусе SOT23) до примерно 0,6 долл. США (в корпусе DIP). Вы можете купить его непосредственно на сайте Microchip или у какого-либо официального дистрибьютора, такого как OnlineComponents, Digikey, Mouser и т. д., или из интернет-магазинов, таких как eBay, Aliexpress и т. д. Вы рискуете, выбирая неавторизованного дистрибьютора, такого как Aliexpress, но если вы делаете это просто как хобби или учитесь, это не будет концом света. если это не работает правильно – просто разочарование. Однако, если вы планируете продавать свой продукт или просто хотите большего спокойствия, пожалуйста, пожалуйста , используйте авторизованный источник. Это улучшит жизнь каждого.

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

Микроконтроллер PIC10F200 имеет только 256 слов флэш-памяти, что позволяет записать в нее всего 256 команд.Для сравнения, ATMega328P, установленный в микроконтроллере Arduino Uno, имеет 32 кбайт флэш-памяти, что позволяет записать в нее до 32768 команд. Это в 128 раз больше памяти! Но что, если я скажу, что с помощью этого крошечного PIC10F200 можно управлять как минимум половиной шилдов Arduino? Невероятный? Это правда, и я покажу вам!

Язык программирования Ассемблер

Сразу хочу предупредить, что для написания компактного кода мы будем использовать язык Ассемблер.Пусть это вас не пугает, обещаю, это будет не так уж и сложно. Микроконтроллер PIC10F200, который мы будем использовать, имеет всего 33 инструкции по сборке, и обычно вам потребуется менее 20 из них. Легкий! Таким образом, опыт программирования был бы полезен, но не обязателен для дальнейшего изучения.

Итак, почему сборка? В чем польза от его использования? Язык ассемблера является языком низкого уровня, поэтому вы пишете код, максимально приближенный к собственному коду микроконтроллера, машинному коду. Это дает преимущества как в размере кода, так и в скорости выполнения.Например, простая программа мигания светодиодов для Arduino тратит 930 байт памяти кода (вы можете проверить это самостоятельно, загрузив и скомпилировав пример Blink). Для сравнения, та же программа для PIC10F200, написанная на ассемблере, использует всего 15 слов кодовой памяти, что в 62 раза компактнее! Если вы еще не поняли, Arduino обычно выдает очень неоптимизированный и избыточный код. Это плата за простоту использования. Другая цена — замедление выполнения кода, потому что микроконтроллеру нужно выполнять множество ненужных команд и тратить на них время.Другие микроконтроллеры и языки программирования могут быть значительно более эффективными, чем Arduino, но ассемблер почти всегда является наиболее эффективным кодом для запуска.

Не думайте, что это означает, что вы должны избавиться от своих Arduino и начать писать весь код только на ассемблере! Я люблю Ардуино; они очень удобны, когда нужно очень быстро сделать какой-то прототип. Просто соберите схему с помощью макетной платы, загрузите готовую библиотеку в Arduino и запустите ее. Не нужно вообще думать — просто подключи и работай.

Смысл этой серии не только в том, чтобы показать, как все делается на более низком уровне, но также и в том, что Arduino в некоторых случаях чрезвычайно избыточен и может быть заменен микроконтроллером за 0,25 доллара. И я хочу показать вам, как это сделать.

После введения в курс дела, в следующих руководствах по микроконтроллерам я дам вам всю информацию, необходимую для работы с микроконтроллером PIC10F200, так что все необходимое оборудование и его использование — все, кроме самого микроконтроллера.После этого я дам вам примеры кода с подробным объяснением того, как они работают. Я надеюсь, что эти статьи заложат основу знаний, необходимых вам для разработки собственных устройств с использованием PIC10F200, а также вдохновят и мотивируют вас делать это. Если вы что-то делаете, отправьте нам сообщение с изображением того, что вы сделали, чтобы мы могли поделиться им в наших социальных сетях! А пока давайте перейдем к следующему туториалу по микроконтроллерам.

Схемы микроконтроллеров — TINA

Перейти на главную страницу TINA и общую информацию -XMC ) микроконтроллеры; постоянно добавляются новые микроконтроллеры.Вы можете видеть, изменять и отлаживать программу, работающую в процессоре, и, конечно же, вы можете создавать свой собственный код.

Существует два способа предоставления программы для микроконтроллеров в TINA. Вы можете использовать двоичный код и файл отладки, созданный стандартным компилятором (например, MPLAB для PIC), или вы можете просто загрузить свой ассемблерный код для запуска и отладки в TINA, используя встроенный ассемблер-отладчик.

Создание простой схемы счетчика с помощью микроконтроллера PIC с программированием на языке ассемблера

Создание простой схемы счетчика с использованием микроконтроллера PIC с программированием на языке C вместе с аналоговыми, цифровыми, HDL или другими моделями.

Запуск и редактирование кода MCU

Загрузите схему PIC Flasher.TSC из папки ExamplesMicrocontrollersPic.

Следующая схема, использующая микроконтроллер PIC 16F73, появится с микроконтроллером PIC 16F73:

Дважды щелкните MCU, чтобы увидеть код ASM в нем. (подробнее см. в руководстве по быстрому запуску).

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

Вносим в код следующее изменение:

Изменяем инструкцию (выбранную выше) в строке 25 (номер строки виден в правом нижнем углу окна редактора кода):

с addlw 01H

на addlw 02H

Сохраните измененный код в TINA, нажав значок

, и закройте открытые окна MCU.

Если сейчас нажать кнопку

, приращение будет 2!

Обратите внимание, что измененный код будет автоматически сохранен в файле TINA .TSC.

Использование отладчика

Давайте посмотрим на другое приложение с большей интерактивностью.

Загрузите пример PIC16F84interrupt_rb0.TSC TINA из папки ExamplesMicrocontrollersPic.

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

Чтобы активировать отладчик, выберите Option в меню Analysis.Затем установите флажок «Включить отладчик кода MCU», как показано ниже, в диалоговом окне «Параметры анализа».

Нажмите кнопку OK, и появится отладчик MCU:

Теперь нажмите на переключатель SW-HL1 и измените его на High. (Вы должны щелкнуть, когда курсор изменится на стрелку, указывающую вверх Î). Вернитесь в отладчик и дважды нажмите кнопку Trace Into. Программа распознает прерывание и перейдет к метке
 
NT_SERV:.
INT_SERV: СЧЕТЧИК ИНФР, F СЧЕТЧИК ДВИГАТЕЛЯ, 0 МОВВФ PORT

увеличьте СЧЕТЧИК и скопируйте в PORT A, и на выходе будет 1.После этого программа вернется к «бесконечному циклу» на PT1.

Редактирование кода в отладчике

Теперь давайте внесем небольшое изменение в программу, чтобы продемонстрировать использование отладчика. Скопируйте оператор INCF COUNTER, F с помощью копирования и вставки следующим образом:

 INT_SERV:
        СЧЕТЧИК INCF, F
        СЧЕТЧИК INCF, F
        СЧЕТЧИК ДВИГАТЕЛЯ, 0
        MOVWF PORTA 

Теперь, когда вы нажмете

, программа спросит:

Нажмите Да и снова нажмите кнопку

.Теперь приращение будет 2 при каждом изменении переключателя Low-High.

Вы также можете проверить схему в непрерывном режиме работы отладчика, нажав кнопку

.

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

Создание точки останова

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

Чтобы остановиться на определенной строке, вы можете пометить целевой оператор, установив «точку останова».

Запустите программу в непрерывном режиме отладчика с помощью команды

Run и теперь программа будет останавливаться на нужной строке перед выполнением отмеченной команды.

Чтобы продемонстрировать это, щелкните оператор приращения на нашем сервере прерываний после метки INT_SERV: и нажмите кнопку

Toggle break.

alexxlab

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

Ваш адрес email не будет опубликован.