Разработка микроконтроллерных устройств на базе Arduino
Настоящая революция в области создания электронных устройств произошла с появлением Ардуино – аппаратно-программной платформы, построенной на компактной плате ввода-вывода. Система команд заложена в архитектуре микроконтроллера, и считывание кода выражается в выполнении внутренними элементами микросхемы определенных операций. Среда разработки сделана на базе Processing-Wiring.
Секрет популярности в том, что для работы с Arduino не обязательно быть программистом. Стандартные библиотеки доступны бесплатно и отрывают широкий простор для творчества аматоров-автоматизаторов. Простой проект сможет сделать даже школьник.
Оболочка IDE написана на Java и работает на операционных оболочках Windows, Linux и Mac OS X. В состав входит:
- текстовый редактор,
- препроцессорный компилятор,
- инструменты загрузки кода,
- менеджер проектов.
Фактически, Ардуино позволяет создавать любые устройства на микроконтроллерах. К чипу можно подключать датчики, электроприводы, замки, роутеры, дисплеи, да хоть электрический утюг. Также предусмотрены дополнительные платы для соединения по сети Интернет, GPS, Bluetooth, Wi-Fi и др.
Обозначение общего провода
В сложных электрических цепях с целью улучшения читаемости схемы часто проводники, соединенные с отрицательной клеммой источника питания, не изображают. А вместо них применяют знаки, обозначающие отрицательных провод, который еще называют общий или масса или шасси или земля.
Рядом со знаком заземления часто, особенно в англоязычных схемах, делается надпись GND, сокращенно от GRAUND – земля.
Однако следует знать, что общий провод не обязательно должен быть отрицательным, он также может быть и положительным. Особенно часто за положительный общий провод принимался в старых советских схемах, в которых преимущественно использовались транзисторы p—n—p структуры.
Поэтому, когда говорят, что потенциал в какой-то точке схемы равен какому-то напряжению, то это означает, что напряжение между указанной точкой и «минусом» блока питания равен соответствующему значению.
Например, если напряжение в точке 1 равно 8 В, а в точке 2 оно имеет величину 4 В, то нужно положительный щуп вольтметра установить в соответствующую точку, а отрицательный – к общему проводу или отрицательной клемме.
Таким подходом довольно часто пользуются, поскольку это очень удобно с практической точки зрения, так как достаточно указать только одну точку.
Особенно часто это применяется при настройке или регулировке радиоэлектронной аппаратуре. Поэтому учиться читать электрические схемы гораздо проще, пользуясь потенциалами в конкретных точках.
Buck-boost преобразователь с цифровым управлением на STM32F334 в режиме CC/CV
Наиболее популярные топологии dc/dc преобразователей buck и boost имеют существенное ограничение: топология buck может лишь понижать входное напряжение, а топология boost только повышает его. Однако бывают задачи, когда диапазон входного напряжения требует одновременно работы и на повышение и на понижение, например, мы имеем вход 3…15В, а на выходе необходимо получить стабилизированные 12В. Знакомая ситуация?
Тут возможны 2 решения:
- С помощью преобразователя boost повысить входное напряжение из 3…15В до стабильных 15В на выходе, а затем уже с помощью топологии buck понизить напряжение до требуемых 12В;
- Применить топологию buck-boost, которая позволяет оптимально решить данную задачу.
Очевидным минусом первого способа является необходимость применять 2 дросселя, увеличенное количество конденсаторов и не самый оптимальный режим работы, а значит более низкий КПД. Buck-boost топология лишена данных недостатков, поэтому сегодня рассказ пойдет о ней. Чтобы было интересно, я решил не брать какой-то готовый контроллер и реализовал dc/dc преобразователь с цифровым управлением на базе STM32F334C8T6.
В рамках данной статьи я кратко расскажу про аппаратную реализацию преобразователя и о том, как реализовать систему управления для различных режимов работы. Интересно? Тогда поехали…
Схема сброса
Резистор на RESET. AVR имеет собственную схему сброса, сигнал RESET оснащен резистором на 100 кОм к VCC. Но это не надежно! Лучше подтянуть RST до питания при помощи резистора 10 кОм.
Еще одна схема сброса
Ее преимущество в том, что когда схема включается, конденсатор находится в разряженном состоянии и напряжение на RST почти нулевое, микроконтроллер не начинает свою работу, ибо ему выдается непрерывный сброс. Но вскоре конденсатор получит заряд через резистор и напряжение на RST составит лог1, и МК будет запущен.
Задержка равняется T=R*C ( в примере: 1 сек.). Она требуется, чтобы МК не начал работать раньше остальных устройств.
Знакомство с FPGA iCE40 UltraPlus Mobile Development Platform от фирмы Lattice Semiconductor
Из песочницы
Введение
Всем доброго времени суток, друзья! Недавно на работе обзавелись новенькой навороченной платой iCE40 UltraPlus Mobile Development Platform от фирмы Lattice Semiconductor. Со слов разработчиков на официальном сайте iCE40 UltraPlus MDP — это плата, на которой расположены 4 ПЛИС iCE40 UltraPlus, каждая из которых управляет своим набором периферии. В набор входят:
- мобильный дисплей с разрешением 240×240 с интерфейсом MIPI DSI;
- датчик изображения с разрешение 640×480 (OVM7692);
- малопотребляющие микрофоны в количестве 4 штук;
- BLE модуль для беспроводной передачи данных;
- программируемая SPI Flash память;
- пак различных датчиков (давления, компас, гироскоп и акселерометр);
- ну и всякие кнопочки и лампочки.
Вся круть данного кита заключается в том, что на нем с помощью специальных программных пакетов можно разворачивать нейронные сети для работы с видео и звуком. И это не говоря уже о том, что ПЛИСы фирмы Lattice являются низкопотребляемыми, малогабаритными и достаточно дешевыми.
Простой частотомер на микросхеме своими руками — характеристики и схема
Параметры предлагаемого частотомера приведены в следующей таблице:
Режим работы | Частотомер | Частотомер | Цифровая шкала |
Диапазон измерений | 1 Гц…20 МГц | 1–200 МГц | 1–200 МГц |
Дискретность | 1 Гц | 10 Гц | 100 Гц |
Чувствительность | 40 мВ | 100 мВ | 100 мВ |
Данный частотомер обладает целым рядом преимуществ по сравнению с предшествующими:
- современная дешевая и легко доступная элементная база;
- максимальная измеряемая частота — 200 МГц;
- совмещение в одном приборе частотомера и цифровой шкалы;
- возможность увеличения максимальной измеряемой частоты до 1,2 ГГц при незначительной доработке входной части прибора;
- возможность коммутации во время работы до 4 ПЧ.
Принципиальная схема частотомера и необходимые детали
Список необходимых радиоэлементов:
- 6 микросхем — DD1 (К555ЛА3); DD2 (К193ИЕ3); DD4 (КР1816ВЕ31); DD5, DD7 (2хК555ИР22); DD6 (К555ИД7); DD8 (К573РФ2).
- Логическая ИС (DD3) — К555ИЕ19.
- 17 биполярных транзисторов (VT1, VT2–VT17) — КТ368А и 16хКТ361В
- Стабилитрон (VD1) — КС113А.
- 7 конденсаторов — С1 (0.01 мкФ); С2, С8 (2х0.1 мкФ); С3 (56 пФ); С4 (1000 пФ); С5 (22 пФ); С6 (12 пФ).
- Подстроечный конденсатор (С7) — 5-20 пФ.
- Электролитический конденсатор (С9) — 3.3 мкФ.
- 41 резистор — R1 (51 Ом); R2, R25–R40 (17х68 кОм, R2 по ошибке в схеме указана как R3); R3 (10 кОм); R4, R6 (2х560 Ом); R5 (33 Ом); R6, R7 (2х1 кОм, в схеме по ошибке два резистора R6); R8–R23 (16х20 кОм); R24 (2 кОм).
- Кварцевый резонатор (ZQ1) — 8.86 МГц.
- Вакуумно люминисцентный индикатор (HL1) — ИВ-18.
- Переключатель (S1)
- Блок переключателей (S2)
Печатная плата частотомера и рекомендации по монтажу своими руками
Печатная плата частотомера:
Видео, как собрать частотомер на одной микросхеме:
Структурная схема AVR микроконтроллера
Посмотрим на рисунок ниже и разберемся из каких блоков состоит микроконтроллер и как они связаны между собою:
Рис. 2. Структурная схема AVR микроконтроллера.
Рассмотрим кратко что изображено на блоках в схеме:
- JTAG Interface (Joint Test Action Group Interface) — интерфейс внутрисхемной отладки (4 провода);
- FLASH — перепрограммируемая память для сохранения программы;
- Serial Peripheral Interface, SPI — последовательный периферийный интерфейс (3 провода);
- EEPROM (Electrically Erasable Programmable Read-Only Memory) — перепрограммируемое ПЗУ, энергонезависимая память;
- CPU (ЦПУ) — центральный процессор управления, сердце микроконтроллера, 8-битное микропроцессорное ядро;
- ALU (АЛУ) — арифметико-логическое устройство, основа блока CPU;
- RAM (Random Access Memory) — оперативная память процессора;
- Program Counter — счетчик команд;
- 32 General Purpose Registers — 32 регистра общего назначения;
- Instruction Register — регистр команд, инструкций;
- Instruction Decoder — декодер команд;
- OCD (On-Chip Debugger) — блок внутренней отладки;
- Analog Comparator — аналоговый компаратор, блок сравнения аналоговых сигналов;
- A/D Converter (Analog/Digital converter) — аналогово-цифровой преобразователь;
- LCD Interface (Liquid-Crystal Display Interface) — интерфейс для подключения жидко-кристаллического дисплея, индикатора;
- USART (Universal Asynchronous Receiver-Transmitter), UART — универсальный асинхронный приемопередатчик;
- TWI (Two-Wire serial Interface) — последовательный интерфейс с двухпроводным подключением;
- Watchdog Timer — сторожевой или контрольный таймер;
- I/O Ports — порты вода/вывода;
- Interrupts — блок управления и реакции на прерывания;
- Timers/Counters — модули таймеров и счетчиков.
Доработка питания 3D-принтера
Опубликовано вс, 08/27/2017 — 13:50 пользователем trol
3D-принтеры бывают разные, но электроника подавляющего большинства любительских аппаратов делается на основе связки плат Arduino + RAMPS,
либо одной платы MKS Gen. В качестве блока питания обычно служит БП для светодиодных лент. Он служит источником для питания электроники, шаговых
двигателей, нагревателя(лей) экструдеров и термостола. И тут возникает ряд проблем, связанных с тем, что импульсные помехи от БП + помехи, создаваемые
ШИМ-контроллером нагревателя экструдера прилетают на управляющий микроконтроллер. В результате возможны сбои и перезагрузка программы, появление
мусора на экране, а также большие ошибки при измерении температуры экструдера (что может приводить к тому, что управляющая программа
не может стабилизировать температуру нагревателя экструдера).
Для решения этой проблемы схема питания принтера была доработана: питание цифровой части отделено от питания нагревателей и подаётся через
двойные LC-фильтры, эфективно снижающие уровень шума ИБП. Для питания нагревателей была добавлена плата управления на мощных полевых транзисторах.
Доработка позволила полностью избавится от проблем с питанием — после исправлений температура экструдера стала нормально устанавливаться, исчезли
перезагрузки и мусор с экрана.
Обозначение проводов и их соединений на схемах
Электрические провода выполняют функцию объединения всех электронных элементов в единую цепь. Они выполняют роль «трубопровода» — снабжают электронные компонент электронами. Провода характеризуются множеством параметров: сечением, материалом, изоляцией и т.п. Мы же будем иметь дело с монтажными гибкими проводами.
На печатных платах проводами служат токопроводящие дорожки. Вне зависимости от вида проводника (проволока или дорожка) на чертежах электрических схем они обозначаются единым образом – прямой линией.
Например, для того, что бы засветить лампу накаливания необходимо напряжение от аккумуляторной батареи подвести с помощью соединительных проводов к лампочке. Тогда цепь будет замкнута и в ней начнет протекать ток, который вызовет нагрев нити лампы накаливания до свечения.
Проводник принять обозначать прямой линией: горизонтальной или вертикальной. Согласно стандарту, провода или токоведущие дорожки могут изображаться под углом 90 или 135 градусов.
В разветвленных цепях проводники часто пересекаются. Если при этом не образуется электрическая связь, то точка в месте пересечения не ставится.
Если в месте пересечения проводников образуется электрическая связь, то это место обозначается точкой, называемой электрическим узлом. В узле могут пересекаться одновременно несколько проводников. Здесь я советую познакомиться с первым законом Кирхгофа.
Газовая духовка
Встраиваемый духовой шкаф вполне может быть и газовым. Однако такое подключение к сети может выполняться только специалистами газовой службы – все эти нюансы ими тщательно контролируются.
Совет! Перед подключением духовки подача газа в квартиру перекрывается. Поэтому выгоднее устанавливать и варочную поверхность сразу.
Процесс подключения состоит в соединении духового шкафа с трубой, которая подает газ в кухню, посредством специальных газовых шлангов, при этом источник газа должен находиться на расстоянии до 1,2м от духовки.
Перед окончательным включением техники газ обязательно проверяется на включение – как только появится характерный запах, подача газа вновь перекрывается до устранения неполадок. По завершению работ технику подключают к электрической сети (от электричества работают поджиг, освещение).
- Выбираем встраиваемую технику для кухни
- Выбираем газовый духовой шкаф — шпаргалка для покупателя из 7 шагов
- Все нюансы выбора газовой варочной панели
- 4 этапа выбора встраиваемого холодильника и нюансы его установки
- Выбираем варочную панель: что нужно знать перед покупкой
- Сломалась посудомойка – можно ли починить самостоятельно?
Светодиодная УФ-лампа для изготовления печатных плат
Опубликовано вс, 09/20/2015 — 17:50 пользователем trol
Решил соорудить себе светодиодныю лампу для экспонирования фоторезиста и паяльной маски. Для чего на алиэкспрессе были закуплены в количестве 500 штук
5мм-светодиоды на 2000 милликандел с длиной волны около 400нм.
Питать их решил от блока питания с напряжением 12В. Т.к. на одном светодиоде падает напряжение около 3.5В, то соединять их надо в цепочки по 3
штуки и для тока через светодиод около 20мА сопротивление токоограничивающего резистора будет 68 Ом.
Светодиодную матрицу решил делать размерами 18 х 26 светодиодов с шагом между ними в 1 см. Матрица собрана на двух одиноковых печатных платах
(18 х 13 светодиодов в каждой).
Корпус для лампы фабричный, алюминиевый. Был куплен в «Ашане» занедорого, там он более известен под кодовым названием «противень для выпекания
пирогов» :).
Как подключить кнопку или светодиод к микроконтроллеру
Если говорить о взаимодействии с внешней средой, то в качестве самостоятельного устройства микроконтроллер не представляет особого интереса — просто что-то там внутри сам с собой тикает. А если вы решите отобразить его действия, то уже станет интереснее.
Светодиод или кнопку можно подключить используя ряд нехитрых операций:
Для кнопки необходимо выбрать ножку I/O, и произвести ее подключение при помощи кнопки на землю. Конфигурация самого вывода будет представлять собой DDRxy=0 PORTxy=1 (вход с подтяжкой).
При этом, если кнопка не находится в нажатом положении, при помощи подтягивающего резистора, вход будет иметь большое напряжение, а из бит PINху при чтении мы получим 1. При нажатой кнопке, вход будет на земле, а напряжение на этом входе упадет до нулевого, из PINxy будет прочитываться 0. По нулевым позициям в битах PINх регистра нам становится известно о нажатом состоянии кнопки.
Пунктиром выделен еще один подтягивающий резистор. Хотя внутри AVR возможно подключение к порту подтяжки, она будет ненадежной: 100 кОм. Поэтому она может быть просто придавлена к земле при помощи наводки или помехи, что даст ложное срабатывание. Для хорошей схемы необходима внешняя подтяжка на 10 кОм.
Способы подключения светодиода к порту
Всего существуют 2 схемы:
- Порт-Питание;
- Порт-земля.
В первом случае диод зажигается при выдаче в порт логический ноль: уровень низкий (близок к нулю). При втором способе, чтобы диод зажегся, следует выдать в порт логическую единицу: уровень высокий, приравненный к значению VCC.
Для AVR подходит любой их этих способов, но старые модели МК тянули вниз лучше, поэтому Порт-Питание более популярен. Настройка вывода порта на выход для светодиода (DDRxy=1), при этом, зависимо от параметра в PORTxy ножка будет иметь либо низкое либо высокое напряжение.
Производить подключение светодиода следует через резистор. Так как уровень прямого сопротивления светодиода небольшой. И при отсутствии лимитов проходящего сквозь него тока, он может сгореть, а также прожечь вывод МК. Для нормальной работы светодиода достаточно примерно 3…15 мА.
Как работает адресная светодиодная лента?
Наверное этот вопрос «как работает» очень многим покажется глупым. Ответ почти очевиден: адресная светодиодная лента состоит из множества последовательно соединенных «умных светодиодов». Это можно увидеть просто рассматривая устройство ленты. Видны отдельные микросхемы, припаянные к гибкому шлейфу, видны соединения: микросхемы соединены последовательно всего тремя проводами, при этом два из них это питание и земля. Только один провод передает данные о цвете пикселей. Как же это? Что такое «умный светодиод»?
Дальше я расскажу о протоколе передачи данных, используемом в светодиодной ленте на базе WS2812B, и, более того, я почти создам свою «микросхему светодиодной ленты» в микросхеме ПЛИС.
С чего лучше всего начать программировать ?
Эта статья посвящена тем, кто ещё не научился программировать, и не освоил микроконтроллеры, а хочет. Потому что здесь, как и в любом другом деле главное желание. И если желание появилось, остаётся только правильно организовать свой «процесс самообразования».
И так ближе к сути! Прежде всего, чем дело дойдет до «прошивки» микроконтроллера вам необходимо написать и отладить программу его работы. И на этом этапе многие начинают передирать чужие проги и судорожно пытаться понять, что же там написано – это в корне не верный подход – не делайте так. На самом деле программу проще написать самому чем разодраться в чужой, но программа начинается не с команд, кучи символов и терабайтов печатного текста. Любая программа начинается с алгоритма!!!
Тактовый сигнал и его источник
Тактовый генератор является центром МК. По всем импульсам происходят различные операции в контроллере — данные ходят по шинам и регистрам, выводы портов переключаются, и т.д. При большей скорости тактовой частоты, МК будет быстрее выполнять свою работу и использовать большее количество энергии.
Задают импульсы при помощи встроенного в МК тактового генератора, или внешнего. Быстрота внутреннего генератора может зависеть от настроек МК и обвязки.
Типы генератора:
- внутренний (имеющий внутреннюю задающую цепочку RC).
- Обвязка не нужна. Выводы XTAL2 и XTAL1 нет необходимости подключать, но их можно оставить в качестве портов ввода вывода (при возможности). Выбирается 1 из 4 (по умолчанию) значений внутренней частоты.
- внутренний(имеющий внешнюю задающую RC цепь).Нужен внешний для мк резистор и конденсатор. Можно менять в процессе тактовую частоту, изменяя значение резистора.
- внутренний (имеющий внешний задающий кварц).С внешней стороны устанавливается кварцевый резонатор и 2 конденсатора. При низкочастотном кварце (до 1 МГц) конденсатор не потребуется.
- внешний. Другое устройство подает на вход МК прямоугольный сигнал, задающий такты.
Плюсы различных схем
При наличии внутренней цепи RC мы может получить экономию места на плате, не потребуются дополнительные элементы, но не будет максимальной частоты, плюс она будет зависеть от температуры.
Внешний кварц является точным, нужны дополнительные элементы. Возможен максимальный уровень производительности МК.
Методы тактования МК можно посмотреть в даташите в System Clock and Clock Options, при этом важна конфигурация фьюз битов. Фьюз биты лучше не трогать, если пока вы не являетесь спецом в настройках.
Что такое электрическая схема
Это графическое изображение, где указаны все электронные элементы, связанные между собой проводниками. Поэтому знание электрических цепочек – это залог правильно собранного электронного прибора. А, значит, основная задача сборщика – это знать, как на схеме обозначаются электронные компоненты, какими графическими значками и дополнительными буквенными или цифровыми значениями.
Все принципиальные электрические схемы состоят из электронных элементов, которые имеют условное графическое обозначение, короче УЗО. Для примера дадим несколько самых простых элементов, которые в графическом исполнении очень похожи на оригинал. Вот так обозначается резистор:
Резистор
Как видите, очень похоже на оригинал. А вот так обозначается динамик:
Динамик
То же большое сходство. То есть, существуют некоторые позиции, которые сразу же можно опознать. И это очень удобно. Но есть и совершенно непохожие позиции, которые или надо запомнить, или надо знать их конструкции, чтобы легко определять на принципиальной схеме. К примеру, конденсатор на рисунке снизу.
Конденсатор
Тот, кто давно разбирается в электротехнике, то знает, что конденсатор – это две пластинки, между которыми размещен диэлектрик. Поэтому в графическом изображении был и выбран этот значок, он в точности повторяет конструкцию самого элемента.
Самые сложные значки у полупроводниковых элементов. Давайте рассмотрим транзистор. Необходимо отметить, что у этого прибора три выхода: эмиттер, база и коллектор. Но и это еще не все. У биполярных транзисторов встречаются две структуры: «n – p – n» и «p – n – p». Поэтому и на схеме они обозначаются по-разному:
Транзистор
Как видите, транзистор по своему изображению на него-то и не похож. Хотя, если знать структуру самого элемента, то можно сообразить, что это именно он и есть.
Простые схемы для начинающих, зная несколько значков, можно читать без проблем. Но практика показывает, что простыми электросхемами в современных электронных приборах практически не обходятся. Так что придется учить все, что касается принципиальных схем. А, значит, необходимо разобраться не только со значками, но и с буквенными и цифровыми обозначениями.
Что обозначают буквы и цифры
Все цифры и буквы на схемах являются дополнительной информацией, это опять-таки к вопросу, как правильно читать электросхемы? Начнем с букв. Рядом с каждым УЗО всегда проставляется латинская буква. По сути, это буквенное обозначение элемента.
Это сделано специально, чтобы при описании схемы или устройства электронного прибора, можно было бы обозначать его детали. То есть, не писать, что это резистор или конденсатор, а ставить условное обозначение. Это и проще, и удобнее.
Теперь цифровое обозначение. Понятно, что в любой электронной схеме всегда найдутся элементы одного значения, то есть, однотипных. Поэтому каждую такую деталь пронумеровывают. И вся эта цифровая нумерация идет от верхнего левого угла схемы, затем вниз, далее вверх и опять вниз.
И последнее. Все электронные элементы имеют определенные свои параметры. Их обычно также прописывают рядом со значком или выносят в отдельную таблицу. К примеру, рядом с конденсатором может быть указана его номинальная емкость в микро- или пикофарадах, а также номинальное его напряжение (если такая необходимость возникает).
Вообще, все, что связано с полупроводниковыми деталями должно обязательно дополняться информацией. Это не только упрощает чтение схемы, но и позволяет не ошибиться при выборе самого элемента в процессе сборки.
Иногда цифровые обозначения на электросхемах отсутствуют. Что это значит? К примеру, взять резистор. Это говорит о том, что в данной электрической схеме показатель его мощности не имеет значения. То есть, можно установить даже самый маломощный вариант, который выдержит нагрузки схемы, потому что в ней течет ток малой силы.
И еще несколько обозначений. Проводники графически обозначаются прямой непрерывной линией, места пайки точкой. Но учтите, что точка ставиться только в том месте, где соединяются три или более проводников.
Заключение
Вот в принципе и все что изначально полезно знать о структуре микроконтроллера AVR. Дальше, в процессе работы и программирования, у вас будет возможность на практике изучить даташиты для разных моделей AVR чипов, узнать более детально принципы работы каждого из структурных кубиков МК и изучить как они работают, поиграться с отладкой и т.п.
В следующей статье попробуем разобраться с маркировкой микроконтроллеров, поразмышляем о наиболее доступных и подходящих для начального изучения чипах.
Начало цикла статей: Программирование AVR микроконтроллеров в Linux на языках Asembler и C.