Какие существуют популярные схемы на микроконтроллерах AVR. Как создать простое устройство на микроконтроллере ATtiny13A. Какие программы можно написать для AVR на ассемблере и C. Как разработать проект на микроконтроллере с нуля.
Простейшие схемы на микроконтроллерах AVR для начинающих
Микроконтроллеры семейства AVR от компании Atmel (теперь Microchip) являются одними из самых популярных среди радиолюбителей и разработчиков электроники. Они отличаются низкой стоимостью, широкой доступностью и относительной простотой программирования. Для начинающих изучать микроконтроллеры AVR подойдут следующие простые схемы:
- Мигающий светодиод на ATtiny13
- Управление сервоприводом с помощью ATmega8
- Термометр на DS18B20 и ATmega328
- Часы реального времени на DS1307 и ATmega8
- ШИМ-регулятор яркости светодиода на ATtiny13
Эти проекты позволят освоить основы схемотехники и программирования микроконтроллеров AVR, не требуя при этом сложных компонентов и навыков.
Создание простого устройства на микроконтроллере ATtiny13A
Рассмотрим пример создания самого простого устройства на микроконтроллере ATtiny13A — простейшей сигнализации. Схема будет состоять из следующих компонентов:
- Микроконтроллер ATtiny13A
- Светодиод
- Резистор 220 Ом
- Кнопка или датчик
Принцип работы: при размыкании кнопки или срабатывании датчика микроконтроллер включает светодиод. Схема подключения выглядит следующим образом:
- PB0 — вход для кнопки/датчика
- PB1 — выход для управления светодиодом
- VCC — питание +5В
- GND — общий провод
Данная схема является отличным стартовым проектом для изучения микроконтроллеров AVR.
Программирование микроконтроллеров AVR на языке ассемблера
Для программирования микроконтроллеров AVR на низком уровне используется язык ассемблера. Рассмотрим пример простой программы для ATtiny13A на ассемблере:
; Инициализация
LDI R16, 0b11111110 ; Настройка портов ввода-вывода
OUT DDRB, R16
LDI R16, 0b00000001 ; Включение подтяжки для PB0
OUT PORTB, R16
; Основной цикл
Start:
SBIS PINB, 0 ; Проверка состояния входа PB0
SBI PORTB, 1 ; Включение светодиода
SBIC PINB, 0
CBI PORTB, 1 ; Выключение светодиода
RJMP Start ; Бесконечный цикл
Эта программа реализует простейшую сигнализацию — при размыкании входа PB0 включается светодиод на PB1.
Разработка проектов на микроконтроллерах AVR с использованием языка C
Для более сложных проектов удобнее использовать язык программирования C. Рассмотрим пример программы на C для ATmega328P, реализующей функцию ШИМ-регулятора:
#include <avr/io.h> #include <util/delay.h> int main(void) { DDRB |= (1 << PB1); // Настройка PB1 на выход // Настройка Timer/Counter1 для ШИМ TCCR1A |= (1 << COM1A1) | (1 << WGM10); TCCR1B |= (1 << WGM12) | (1 << CS11); while(1) { for(int i=0; i<255; i++) { OCR1A = i; _delay_ms(10); } for(int i=255; i>0; i--) { OCR1A = i; _delay_ms(10); } } return 0; }
Данная программа реализует плавное изменение яркости светодиода, подключенного к выводу PB1 микроконтроллера.
Популярные проекты на микроконтроллерах AVR
Микроконтроллеры AVR позволяют реализовать множество интересных проектов. Вот некоторые популярные примеры:
- Цифровые часы на семисегментных индикаторах
- Метеостанция с датчиками температуры, влажности и давления
- Система «Умный дом» для управления освещением и климатом
- Программируемый таймер для бытовой техники
- Контроллер полива растений
- Цифровой термостат для управления обогревателем
Эти проекты демонстрируют широкие возможности микроконтроллеров AVR и позволяют создавать полезные устройства своими руками.
Отладка и тестирование устройств на микроконтроллерах AVR
При разработке устройств на микроконтроллерах важным этапом является отладка. Для отладки программ для AVR можно использовать следующие инструменты:
- Симулятор AVR Studio — позволяет пошагово выполнять программу
- Отладочные платы с программатором — для загрузки и отладки прошивки
- Логический анализатор — для просмотра сигналов на выводах МК
- Осциллограф — для анализа аналоговых сигналов
- Светодиоды и LCD-дисплеи — для визуальной индикации
Грамотное использование этих инструментов позволяет быстро находить и устранять ошибки в работе устройства.
Перспективные направления использования микроконтроллеров AVR
Хотя микроконтроллеры AVR уже не являются самыми современными, они по-прежнему широко применяются в различных областях:
- Системы «Умный дом» и автоматизации
- Портативная электроника и носимые устройства
- Робототехника и управление двигателями
- Измерительное оборудование
- Системы сбора и обработки данных
- Обучение и образовательные проекты
Простота освоения и низкая стоимость делают микроконтроллеры AVR отличным выбором для многих задач.
Заключение
Микроконтроллеры AVR остаются популярной платформой для разработки электронных устройств благодаря своей доступности, надежности и обширной документации. Начав с простых проектов, можно постепенно осваивать все более сложные схемы и программы. Разработка устройств на микроконтроллерах — увлекательное занятие, позволяющее воплощать в жизнь самые разнообразные идеи.
Схемы, устройства и проекты на микроконтроллерах AVR
Главная→Рубрики Схемы на AVR 1 2 3 4 5 >>
Схемы, устройства и проекты на микроконтроллерах ATtiny и ATmega (семейство AVR). Для каждого проекта приведен текст программы на языке С (Си) с комментариями, что позволяет начинающим радиолюбителям на конкретных примерах научиться программированию данных микроконтроллеров
Опубликовано автором admin-new2 сентября, 2021
Цифровое измерение расстояний в настоящее время находит широкое применение в системах контроля движения транспортных средств, медицине, устройствах для слабовидящих и т.д. Наиболее дешевым способом измерения расстояний является использование для этой цели ультразвуковых датчиков, среди которых наиболее распространен датчик HC-SR04. В … Читать далее →
Рубрика: Схемы на AVR | Метки: ATtiny85, avr, HC-SR04, OLED дисплей, печатная плата, регулятор напряжения, ультразвуковой датчик | Добавить комментарий
Опубликовано автором admin-new10 февраля, 2021
Рубрика: Схемы на AVR | Метки: atmega16, atmega32, atmega8, ATtiny85, avr | Добавить комментарий
Опубликовано автором admin-new10 августа, 2021
Микроконтроллер ATtiny85 является удобной и сравнительно мощной альтернативой старшим моделям микроконтроллеров семейства AVR. Его применение особенно оправданно в тех случаях, когда вы стремитесь к минимизации размеров вашего устройства. Микросхема ATtiny85 содержит 8 контактов – 6 контактов ввода/вывода (включая Reset) и … Читать далее →
Рубрика: Схемы на AVR | Метки: arduino uno, ATtiny85, avr, программатор | Комментарии ( 5)
Опубликовано автором admin-new30 августа, 2021
ATtiny – это серия самых маленьких микроконтроллеров из семейства AVR. Эти микроконтроллеры могут использовать большинство библиотек, доступных для платформы Arduino. ATtiny85 – это 8-пиновый 8-битный микроконтроллер семейства AVR. Его исключительно малый размер и низкое энергопотребление делают его чрезвычайно удобным для … Читать далее →
Рубрика: Схемы на AVR | Метки: arduino uno, ATtiny85, avr, программатор | Комментарии (7)
Опубликовано автором admin-new2 января, 2021
В этой статье мы рассмотрим создание портативного счетчика шагов (шагомера) на основе микроконтроллера AVR ATtiny85, акселерометра и гироскопа MPU6050, и OLED дисплея. Питание на шагомер будет подавать от простой батарейки на 3V, что позволяет сделать его достаточно компактным и удобным … Читать далее →
Рубрика: Схемы на AVR | Метки: arduino, ATtiny85, avr, MPU6050, OLED дисплей, SSD1306, акселерометр, печатная плата | Добавить комментарий
Опубликовано автором admin-new7 сентября, 2022
GPS модули широко используются в современной электронике для определения местоположения, основываясь на координатах долготы и широты. Системы мониторинга транспортных средств, часы GPS, системы предупреждения о чрезвычайных происшествиях, системы наблюдения – это лишь небольшой список приложений, в которых может потребоваться технология … Читать далее →
Рубрика: Схемы на AVR | Метки: atmega16, atmega32, avr, gps, ЖК дисплей | Комментарии ( 10)
Опубликовано автором admin-new25 июля, 2022
Как показывают многочисленные исследования в современном мире люди более склонны доверять машинам нежели другим людям. Сейчас, когда в мире активно развиваются такие технологии как искусственный интеллект, машинное обучение, чат-боты, синергия (совместная деятельность) между людьми и роботами с каждым годом все … Читать далее →
Рубрика: Схемы на AVR | Метки: atmega32, avr, датчик отпечатков пальцев, ЖК дисплей, система реального времени | Комментарии (12)
Опубликовано автором admin-new30 ноября, 2020
Двигатели постоянного тока относятся к числу наиболее часто используемых двигателей. Их можно встретить где угодно – начиная от простейших конструкций до продвинутой робототехники. В этой статье мы рассмотрим подключение двигателя постоянного тока к микроконтроллеру ATmega16 (семейство AVR). Но сначала немного … Читать далее →
Рубрика: Схемы на AVR | Метки: atmega16, avr, l293d, двигатель постоянного тока, драйвер мотора | Комментарии (4)
Опубликовано автором admin-new1 декабря, 2020
Принцип действия датчиков Холла основан на так называемом «эффекте Холла», открытым Эдвином Холлом (Edwin Hall) в 1869 году. Этот эффект гласит: «эффект Холла основан на явлении возникновения поперечной разности потенциалов (называемой также холловским напряжением) при помещении проводника с постоянным током … Читать далее →
Рубрика: Схемы на AVR | Метки: atmega16, avr, датчик холла, светодиод | Добавить комментарий
Опубликовано автором admin-new23 марта, 2022
Широтно-импульсная модуляция (сокр. ШИМ, от англ. PWM — Pulse Width Modulation) является технологией, позволяющей изменять ширину импульсов в то время как частота следования импульсов остается постоянной. В настоящее время она применяется в разнообразных системах контроля и управления, а также в … Читать далее →
Рубрика: Схемы на AVR | Метки: atmega16, avr, светодиод, ШИМ | Комментарии (6)
Схемы на avr микроконтроллерах
Устройство отображает значение напряжения сети на светодиодном 7″сегментном 3″разрядном индикаторе. При возникновении аварийной ситуации, когда напряжение сети выйдет за допустимые пределы, устройство защиты отключает. Измерения постоянных напряжений. ТЕГИ — навигация по сайту.
Поиск данных по Вашему запросу:
Схемы, справочники, даташиты:
Прайс-листы, цены:
Обсуждения, статьи, мануалы:
Дождитесь окончания поиска во всех базах.
По завершению появится ссылка для доступа к найденным материалам.
Содержание:
- ПЕРВЫЙ ПРОЕКТ НА МИКРОКОНТРОЛЛЕРЕ: схема и описание
- Радиолюбительские схемы и самоделки на микроконтроллерах. Электроника,схемы на микроконтроллере
- МЕТОДИКА ПРОЕКТИРОВАНИЯ ЦИФРОВЫХ СИСТЕМ УПРАВЛЕНИЯ НА БАЗЕ AVR-МИКРОКОНТРОЛЛЕРОВ
- ПЕРВЫЙ ПРОЕКТ НА МИКРОКОНТРОЛЛЕРЕ: схема и описание
- Устройства на микроконтроллерах Atmel серии AVR
- Микроконтроллеры
- Микроконтроллеры
- На микроконтроллерах
- Микроконтроллеры: схемы, конструкции, литература, программы
- ПРОСТОЙ РОБОТ НА МИКРОКОНТРОЛЛЕРЕ (Часть 1)
ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: Устройство на AVR с нуля
youtube.com/embed/-3gQPMJx9n8″ frameborder=»0″ allowfullscreen=»»/>ПЕРВЫЙ ПРОЕКТ НА МИКРОКОНТРОЛЛЕРЕ: схема и описание
Устройство отображает значение напряжения сети на светодиодном 7″сегментном 3″разрядном индикаторе. При возникновении аварийной ситуации, когда напряжение сети выйдет за допустимые пределы, устройство защиты отключает. Измерения постоянных напряжений. ТЕГИ — навигация по сайту. Измеритель активной потребляемой электрической мощности с высокой точностью, на основе специализированной микросхемы ADEx, применяемой в современных электросчетчиках.
Эта интересная схемка может быть применена в малой автоматизации какого либо полезного устройства, её можно пристроить для дозировки жидкости, комплектовки ограничение подачи штучных деталей или ограничить поворот устройства на N-ном количестве оборотов. На основе этой базовой схемы, можно сделать несколько устройств для автоматики:. В статье рассмотрен вариант , датчик — бытовой водомер.
Параметры диапазонов измеряемого тока, 1й диапазон Вольтамперметр для лабораторного БП, имеет четыре канала измерения. Многие домашние заботы можно поручить автоматике. Например, включение выключение освещения. Или можно поручить автоматике, кормить домашних питомцев. В принципе, если, все эти операции повторяются изо дня в день, в таком случае с этим справятся несколько. Таймер обратного отсчёта поможет вам точно отмерять интервал времени в диапазоне от 1 секунды до 24 часов.
Начните ввод заголовка метки. Кол-во строк: 5 10 15 20 25 30 50 Все. При возникновении аварийной ситуации, когда напряжение сети выйдет за допустимые пределы, устройство защиты отключает Тег — это бирка в переводе с англ. Счетчик дозатор. В общем, область применения найдется, там где требуется ограничение лимита по счёту.
Автоматика в подсобном хозяйстве. В принципе, если, все эти операции повторяются изо дня в день, в таком случае с этим справятся несколько Многофункциональный циклический таймер Таймер, устройство управления исполнительными устройствами, нагрузками по временным циклам. Таймер обратного отсчета на МК ATmega8 Таймер обратного отсчёта поможет вам точно отмерять интервал времени в диапазоне от 1 секунды до 24 часов.
Радиолюбительские схемы и самоделки на микроконтроллерах. Электроника,схемы на микроконтроллере
Тахометр применяется в автомобилях для измерения частоты вращения всяких деталей которые способны вращаться. Для моего варианта, вам также…. Эта цветомузыка, имея малый размер и питание 12В, как вариант может использоваться в авто при каких-либо мероприятиях. Зыряновск, Казахстан. Позволяет управлять одной кнопкой раздельно обогревом заднего стекла и зеркал, плюс настраиваемый таймер отключения до полутора часов для каждого канала. Схема построена на микроконтроллере ATtiny13A.
Статьи по микроконтроллерам; схемы на микроконтроллерах; описания USB программатор микроконтроллеров AVR и AT89S, совместимый с.
МЕТОДИКА ПРОЕКТИРОВАНИЯ ЦИФРОВЫХ СИСТЕМ УПРАВЛЕНИЯ НА БАЗЕ AVR-МИКРОКОНТРОЛЛЕРОВ
Проект Eldigi. В связи с этим на сайте могут быть ошибки. Нашли ошибку? Сигнализация контролирует двери, окна, Просмотров: Простой цифровой спидометр с семисегментным индикатором ATmega8 Его отличительной чертой является минимум деталей, всего Mega-Генератор ATmega16, C Простейший бортовой компьютер на любой инжекторный двигатель ATmega8, C Машина у меня Audi с 2-х литровым движком ABT и моновпрыском одна
ПЕРВЫЙ ПРОЕКТ НА МИКРОКОНТРОЛЛЕРЕ: схема и описание
Как сделать робота. Простейший робот Схема и описание простого робота на одной микросхеме. Робот может двигаться на свет или следовать за рукой. Схема и описание первого проекта на микроконтроллере AVR «Hello, world! Робот на микроконтроллере AVR Схема робота на микроконтроллере.
Устройство обеспечивает 13 режимов работы светодиодной ленты: Выключенное состояние. Включены все светодиоды.
Устройства на микроконтроллерах Atmel серии AVR
В данной работе представлена методика программирования AVR -микроконтроллера на примере ATmega 8 как этапа проектирования цифровых систем управления на базе AVR -микроконтроллеров. Рассматриваются структура типового AVR -микроконтроллера и функции его основных компонентов, подробно описаны характеристики микроконтроллера ATmega 8. В конце статьи даны рекомендации по тестированию запрограммированного микроконтроллера. This paper presents a method of programming AVR-microcontroller ATmega8 example of how the design phase of digital control systems based on the AVR-microcontroller. We consider the structure of a typical AVR-microcontroller, and its main components function, described in detail the characteristics of ATmega8 microcontroller.
Микроконтроллеры
Главная Контакты. Пароль Регистрация Забыли пароль? Схемы на микроконтроллерах Схемы аналоговые Аrduino проекты Технологии радиолюбителя Авто электроника Схемы авто проводки Программаторы Софт для радиолюбителя Библиотека Ремонт и заправка принтеров Онлайн калькулятор для MC Рекомендуемые статьи. Преобразователь интерфейсов RS в RS на доступных деталях схема. Универсальный программатор для практически любых радиостанций схема. Схема очень простого балансира, для правильной зарядки литиевых аккумуляторов.
Схема простой разноцветной светодиодной матрицы на базе 5 мм LED и Arduino. ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ AVR. Инструкция.
Микроконтроллеры
Все для изучения и практического программирования микроконтроллеров AVR: литература, программное обеспечение, схемы, конструкции. Доброго дня уважаемые радиолюбители! Данный раздел сайта посвящен микроконтроллерам. Хотя микроконтроллеры фирмы ATMEL и не самые массовые, но у них есть несколько существенных преимуществ, которые отличают их от других микроконтроллеров.
На микроконтроллерах
Ремонт телефона. Аккумуляторы Москва от поставщика. Забыл пароль? Ремонт телефона Недорогой ремонт смартфонов! Аккумуляторы Москва Аккумуляторы Москва от поставщика.
В радио-моделизме, часто используются сервоприводы.
Микроконтроллеры: схемы, конструкции, литература, программы
Войдите , пожалуйста. Хабр Geektimes Тостер Мой круг Фрилансим. Мегапосты: Криминальный квест HR-истории Путешествия гика. Войти Регистрация. Очередная самоделка сделанная своими руками на микроконтроллере.
ПРОСТОЙ РОБОТ НА МИКРОКОНТРОЛЛЕРЕ (Часть 1)
По этому пути давно пошли все более менее известные ресурсы, и вот пришло наше время. А дальше, если будет интерес и не придется разгребать тонны говна рекламных статей, будем думать как развиваться в этом направлении дальше. В общем все в ваших руках, друзья! Это устройство задумывалось как маленький помощник тем, кто любит побродить по лесу — грибникам, лыжникам и другим любителям природы.
Самое простое устройство на микроконтроллере
Микроконтроллеры / Создание устройств /
Разработка устройств на микроконтроллерах
Возможно, вы уже научились чему-то в теме программирования микроконтроллеров. Возможно, вы уже можете написать программу для простого устройства типа бегущих огней новогодней гирлянды. Однако аппетит приходит во время еды. И наверняка вам хочется чего-то большего. Наверняка вам хочется шагнуть на уровень профессионала. Ну хотя бы на первую ступеньку… Подробнее… |
До сих пор я выдавал вам общие сведения о микроконтроллерах, отрывки из документации, иногда немного говорил о программировании. Но ещё ни разу не приводил примеров устройств на микроконтроллерах. А ведь именно в этом весь смысл обучения — в создании собственных устройств.
Так что с этой статьи я начинаю исправлять положение дел, и буду рассказывать именно о создании устройств с примерами схем, программ и т.п. Рассказы будут для начинающих. Как всегда буду стараться, чтобы понятно было даже людям, далёким от электроники и программирования. И первый пример будет настолько простым, насколько это вообще возможно…
Пример устройства на микроконтроллере
Итак, наше первое устройство на микроконтроллере будет не простым, а очень простым. И хотя сделать какой-то полезный прибор с наипростейшей схемой и наипростейшей программой крайне сложно, я всё-таки постараюсь. Конечно, эта полезность будет весьма сомнительной, но всё-таки применить это устройство можно будет не только для обучения, но и на практике (конечно, скорее как игрушку, но всё же).
Для опытов возьмём один из самых дешёвых микроконтроллеров — 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, и светодиод погаснет.
Таким образам исполняется наш простой алгоритм: если датчик “не сработал” (контакт замкнут), то светодиод не горит. Если контакты разомкнулись, то светодиод светится.
На этом пока всё. Если что-то осталось непонятно — посмотрите видео в начале статьи.
Подписаться на канал в YouTube
Вступить в группу «Основы программирования» Подписаться на рассылки по программированию |
Микроконтроллеры для ЧАЙНИКОВ
Бесплатная рассылка о микроконтроллерах. Рассылка содержит как бесплатную информацию для начинающих, так и ссылки на платные продукты (книги, видеокурсы и др.) для тех, кто захочет вникнуть в тему более глубоко. Подробнее… |
Микроконтроллерные схемы — 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.
Нажмите
кнопка. Сначала кажется, что ничего не происходит.
Однако, если вы нажмете на переключатель SW-HL1., Дисплей будет перемещаться вперед на 1 каждый раз, когда переключатель переключается с низкого на высокий.
Возможность обработки прерываний PIC позволит нам обнаружить изменения в коммутаторе.
Теперь давайте посмотрим на операцию более подробно, используя интерактивный отладчик ASM TINA.
Чтобы активировать отладчик, выберите «Опция» в меню «Анализ». Затем установите флажок «Включить отладчик кода MCU», как показано ниже в диалоговом окне «Параметры анализа».
Нажмите кнопку OK, и появится отладчик MCU:
Давайте пошагово проследим за выполнением программы, нажав
Кнопка трассировки в.
После примерно щелчка 14 мы попадаем на метку PT1:, где программа, кажется, находится в бесконечном цикле.
PT1: INCF TEMP, F GOTO PT1
Теперь нажмите переключатель 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
Теперь вы можете продолжить любой шаг за шагом
или в режиме RunX
Рад, что ты в DesignSoft
Давайте поговорим, если вам нужна помощь в поиске нужного продукта или нужна поддержка.
English
Любительские конструкции на микроконтроллерах. Автосхемы, схемы для авто, своими руками
Представляю вторую версию двухканального циклического таймера. Были добавлены новые функции и изменилась принципиальная схема. Циклический таймер позволяет включать и выключать нагрузку, а также выдерживать паузу на заданные интервалы времени в циклическом режиме. Каждый из выходов таймера имеет 2 режима работы — «Логический» и «ШИМ». Если выбран логический режим устройство позволяет управлять с помощью контактов реле освещением, отоплением, вентиляцией и другими электроприборами. Нагрузкой могут выступать любые электрические приборы мощность нагрузки которых не превышает максимального тока реле. Тип выхода «ШИМ» позволяет например подключить через силовой транзистор двигатель постоянного тока, при этом есть возможность установить скважность ШИМ, чтобы двигатель вращался с определенной скоростью.
Часы собранные на микроконтроллере ATtiny2313 и светодиодной матрице показывают время в 6-ти различных режимах.
Светодиодная матрица 8*8 управляется методом мультиплексирования. Токоограничивающие резисторы исключены из схемы, чтобы не испортить дизайн, и, поскольку отдельные светодиоды управляются не постоянно, они не будут повреждены.
Для управления используется только одна кнопка, длительное нажатие кнопки(нажатие и удержание) для поворота меню и обычное нажатие кнопки для выбора меню.
Это хобби-проект, потому точность хода часов зависит лишь от калибровки внутреннего генератора контроллера. Я не использовал кварц в этом проекте, так как он занимал бы два нужных мне вывода ATtiny2313. Кварц может быть использован для повышения точности в альтернативном проекте (печатной плате).
На этот раз я представлю простой малогабаритный частотомер с диапазоном измерения от 1 до 500 МГц и разрешением 100 Гц.
В настоящее время, независимо от производителя, почти все микроконтроллеры имеют так называемые счетные входы, которые специально предназначены для подсчета внешних импульсов. Используя этот вход, относительно легко спроектировать частотомер.
Однако этот счетчый вход также имеет два свойства, которые не позволяют напрямую использовать частотомер для удовлетворения более серьезных потребностей. Одна из них заключается в том, что на практике в большинстве случаев мы измеряем сигнал с амплитудой в несколько сотен мВ, который не может перемещать счетчик микроконтроллера. В зависимости от типа, для правильной работы входа требуется сигнал не менее 1-2 В. Другое заключается в том, что максимальная измеримая частота на входе микроконтроллера составляет всего несколько МГц, это зависит от архитектуры счетчика, а также от тактовой частоты процессора.
Это устройство позволяет контролировать температуру воды в чайнике, имеет функцию поддержания температуры воды на определенном уровне, а также включение принудительного кипячения воды.
В основе прибора микроконтроллер ATmega8, который тактируется от кварцевого резонатора частотой 8МГц. Датчик температуры – аналоговый LM35. Семисегментный индикатор с общим анодом.
Эта декоративная звезда состоит из 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 МГц.
Принцип закрывания дверцы клетки весьма прост. Дверка клетки подпирается специальным упором, сделанным из медной проволоки. К упору крепится капроновая нить нужной длины. Если потянуть за нить, то упор соскальзывает, и дверка клетки под собственным весом закрывается. Но это в ручном режиме, а я хотел реализовать автоматический процесс без участия кого-либо.
Для управления механизмом закрывания дверцы клетки был применен сервопривод. Но в процессе работы он создавал шум. Шум мог спугнуть птицу. Поэтому сервопривод я заменил на коллекторный двигатель, взятый из радиоуправляемой машинки. Он работал тихо и идеально подходил, тем более что управлять коллекторным двигателем не составляло сложностей.
Для определения, находится ли уже птица в клетке, я использовал недорогой датчик движения. Сам датчик движения уже является законченным девайсом, и паять ничего не нужно. Но у данного датчика угол срабатывания весьма большой, а мне нужно, чтобы он реагировал только во внутренней области клетки. Для ограничения угла срабатывания я поместил датчик в цоколь, когда-то служившей эконом-лампы. Из картона вырезал своего рода заглушку с отверстием посередине для датчика. Пошаманив с расстоянием данной заглушки относительно датчика, настроил оптимальный угол для срабатывания датчика.
В качестве зазывалы для птиц я решил применить звуковой модуль WTV020M01 с записанным на микроSD карте памяти пением чижа и щегла. Именно их я и собирался ловить. Поскольку я использовал один звуковой файл, то и управлять звуковым модулем я решил простим способом, без использования протокола обмена между звуковым модулем и микроконтроллером.
При подаче на девятую ножку звукового модуля низкого сигнала, модуль начинал воспроизводить. Как только звук воспроизводился на пятнадцатой ноге звукового модуля, устанавливается низкий уровень. Благодаря этому микроконтроллер отслеживал воспроизведение звука.
Поскольку я реализовал паузу между циклами воспроизведения звука, то для остановки воспроизведения звука программа подает низкий уровень на первую ножку звукового модуля (reset). Звуковой модуль является законченным устройством со своим усилителем для звука, и, по большому счету, в дополнительном усилителе звука он не нуждается. Но мне данного усиления звука показалось мало, и в качестве усилителя звука я применил микросхему TDA2822M. В режиме воспроизведения звука потребляет 120 миллиампер. Учитывая, что поимка птицы займет какое-то время, в качестве автономной батареи питания я применил не совсем новый аккумулятор от бесперебойника (всё равно валялся без дела).
Принцип электронного птицелова прост, и схема состоит в основном из готовых модулей.
Программа и схема —
Поделки с микроконтроллерами – вопрос, как никогда актуальный и интересный. Ведь мы живем в 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 является полезным и ценным средством, особенно, если дело касается любителей мастерить. И, правильно использовав их, придерживаясь правил и рекомендаций по программированию, можно с легкостью обзавестись полезной вещью не только в быту, но и в профессиональной деятельности и просто в повседневной жизни.
Теперь у меня на столе лежит два одинаковых программатора. А всё для того, чтобы попробовать новую прошивку. Эти близняшки буду шить друг друга. Все опыты проводятся под MS Windows XP SP3 .
Цель — увеличение скорости работы и расширение совместимости программатора.
Популярная среда разработки Arduino IDE привлекает большим количеством готовых библиотек и интересных проектов, которые можно найти на просторах Сети.
Некоторое время назад оказались в моем распоряжении несколько микроконтроллеров ATMEL ATMega163 и ATMega163L. Микросхемы были взяты из отслуживших свой срок девайсов. Данный контроллер очень похож на ATMega16, и фактически является его ранней версией.
Привет читателям Датагора! Мне удалось собрать вольтметр минимальных размеров с посегментной разверткой индикатора при довольно высокой функциональности, с автоматическим определением типа индикатора и выбором режимов.
Прочитав статьи Edward Ned’а, я собрал DIP-версию и проверил ее в работе. Действительно вольтметр работал, ток через вывод микросхемы к индикатору не превышал 16 миллиампер в импульсе, так что работа микросхемы без резисторов, ограничивающих токи сегментов, вполне допустима и не вызывает перегрузок элементов.
Не понравилось слишком частое обновление показаний на дисплее и предложенная шкала «999». Хотелось подправить программу, но исходных кодов автор не выкладывает.
В это же мне потребовались вольтметр и амперметр для небольшого блока питания. Можно было собрать на совмещенный вариант, а можно было собрать два миниатюрных вольтметра, причем габариты двух вольтметров получались меньше совмещенного варианта.
Свой выбор я остановил на микросхеме и написал исходный код для посегментной развертки индикатора.
В процессе написания кода возникла идея программируемого переключения шкал и положения запятой, что и удалось реализовать.
Механический энкодер — вещь удобная в использовании, но он имеет некоторые досадные недостатки. В частности, контакты со временем изнашиваются и приходят в негодность, появляется дребезг. Оптические энкодеры гораздо надежнее, но они дороже, многие из них боятся пыли, и они редко встречаются в таком виде, в котором их удобно было бы использовать в радиотехнике.
Короче, когда я узнал о том, что шаговый двигатель можно использовать как энкодер, эта идея мне очень понравилась.
Практически вечный энкодер! Замучить его невозможно: соберешь раз и можешь энкодить всю жизнь.
Предварительный усилитель-коммутатор с цифровым управлением. Применяем с программированием через оболочку Arduino, электронные потенциометры от Microchip, графический TFT.
Разрабатывать и собирать это устройство в мои планы не входило. Ну вот просто никак! У меня уже есть два предварительных усилителя. Оба меня вполне устраивают.
Но, как обычно происходит у меня, стечение обстоятельств или цепь неких событий, и вот нарисовалась задача на ближайшее время.
Здравствуйте, уважаемые читатели ! Хочу представить вам « » — проект подающего робота для настольного тенниса, который будет полезен новичкам и любителям при отработке приёма различного типа подач в любую зону стола, поможет рассчитать тайминг и силу приёма мяча.
А ещё можно просто привыкнуть к новой накладке или ракетке, и хорошенько простучать её.
Приветствую читателей ! Есть у меня пожилой компьютер, которому уже исполнилось лет десять. Параметры у него соответствующие: «пенёк» 3,0 ГГц, пара Гб ОЗУ и древняя материнская плата EliteGroup 915-й серии.
И задумал я куда-нибудь старичка пристроить (подарить, продать), т. к. выбрасывать жалко. Но мешала задуманному одна неприятность: у материнки не срабатывало включение от кнопки питания, и что бы я ни делал, начиная от проверки проводов и заканчивая прозвонкой транзисторов на плате, проблему найти так и не смог. Отдавать в ремонт спецам — ремонт окажется дороже всего компа.
Думал я, думал и нашёл способ запустить моего бедолагу. Выдернул батарею BIOS-а, от чего комп испугался и сразу стартанул при следующем появлении питания! А дальше — почти в каждом BIOS-е есть запуск ПК от любой кнопки клавиатуры или кнопки POWER на клавиатуре. Казалось бы, проблема решена. Ан нет, есть нюансы. С USB-клавиатур запуск не срабатывал. Плюс не хотелось пугать нового хозяина, компьютер должен стартовать от привычной кнопки питания на корпусе.
Бывает идешь мимо припаркованных машин, и замечаешь краем глаза, что кто то уже давно, судя по тусклому свечению ламп, забыл свет выключить. Кто то и сам так попадал. Хорошо когда есть штатный сигнализатор не выключенного света, а когда нету поможет вот такая поделка: Незабывайка умеет пищать, когда не выключен свет и умеет пропикивать втыкание задней передачи.
Схема цифрового индикатора уровня топлива обладает высокой степенью повторяемости, даже если опыт работы с микроконтроллерами незначителен, поэтому разобраться в тонкостях процесса сборки и настройки не вызывает проблем. Программатор Громова – это простейший программатор, который необходим для программирования 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, ни прогромматором Громова. Компьютер просто не видит контроллер и все.
В связи с нововведениями в ПДД, народ стал думать о реализации дневных ходовых огней. Один из возможных путей это включение ламп дальнего света на часть мощности, об этом и есть данная статья.
Это устройство позволит ближнему свету автоматически включиться при начале движения и регулирует напряжение на лампах, ближнего света, в зависимости от скорости с которой вы едите. Так же, это послужит более безопасному движению и продлит срок службы ламп.
Электронные приборы на микроконтроллерах. Схемы и устройства на микроконтроллерах
Схемы на микроконтроллере, статьи и описания с прошивками и фотографиями для автомобиля.
Простой тахометр на микроконтроллере 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, ни прогромматором Громова. Компьютер просто не видит контроллер и все.
В связи с нововведениями в ПДД, народ стал думать о реализации дневных ходовых огней. Один из возможных путей это включение ламп дальнего света на часть мощности, об этом и есть данная статья.
Это устройство позволит ближнему свету автоматически включиться при начале движения и регулирует напряжение на лампах, ближнего света, в зависимости от скорости с которой вы едите. Так же, это послужит более безопасному движению и продлит срок службы ламп.
Что такое микроконтроллер и как он работает?
По
- Бен Луткевич, Технический писатель
Микроконтроллер представляет собой компактную интегральную схему, предназначенную для управления определенной операцией во встроенной системе. Типичный микроконтроллер включает в себя процессор, память и периферийные устройства ввода-вывода (I/O) на одном кристалле.
Микроконтроллеры, иногда называемые встроенными контроллерами или блоками микроконтроллеров (MCU), используются в транспортных средствах, роботах, офисных машинах, медицинских устройствах, мобильных радиопередатчиках, торговых автоматах и бытовой технике, а также в других устройствах. По сути, это простые миниатюрные персональные компьютеры (ПК), предназначенные для управления небольшими функциями более крупного компонента без сложной интерфейсной операционной системы (ОС).
Как работают микроконтроллеры?Микроконтроллер встроен в систему для управления отдельной функцией устройства. Он делает это, интерпретируя данные, которые он получает от своих периферийных устройств ввода-вывода, используя свой центральный процессор. Временная информация, которую получает микроконтроллер, хранится в его памяти данных, где процессор обращается к ней и использует инструкции, хранящиеся в его памяти программ, для расшифровки и применения поступающих данных. Затем он использует свои периферийные устройства ввода-вывода для связи и выполнения соответствующих действий.
Микроконтроллеры используются в самых разных системах и устройствах. Устройства часто используют несколько микроконтроллеров, которые работают вместе внутри устройства для выполнения своих соответствующих задач.
Например, в автомобиле может быть много микроконтроллеров, которые управляют различными отдельными системами внутри, такими как антиблокировочная система тормозов, контроль тяги, впрыск топлива или управление подвеской. Все микроконтроллеры взаимодействуют друг с другом для информирования о правильных действиях. Некоторые могут связываться с более сложным центральным компьютером в автомобиле, а другие могут связываться только с другими микроконтроллерами. Они отправляют и получают данные, используя свои периферийные устройства ввода-вывода, и обрабатывают эти данные для выполнения назначенных им задач.
Из каких элементов состоит микроконтроллер?Основными элементами микроконтроллера являются:
- Процессор (ЦП) — Процессор можно рассматривать как мозг устройства. Он обрабатывает и отвечает на различные инструкции, управляющие работой микроконтроллера. Это включает в себя выполнение основных арифметических, логических операций и операций ввода-вывода. Он также выполняет операции передачи данных, которые передают команды другим компонентам более крупной встроенной системы.
- Память. Память микроконтроллера используется для хранения данных, которые процессор получает и использует для ответа на инструкции, выполнение которых запрограммировано. Микроконтроллер имеет два основных типа памяти:
- Память программ, в которой хранится долговременная информация об инструкциях, выполняемых ЦП. Память программ является энергонезависимой памятью, то есть она хранит информацию с течением времени, не требуя источника питания.
- Память данных, необходимая для временного хранения данных во время выполнения инструкций. Память данных является энергозависимой, то есть хранящиеся в ней данные являются временными и сохраняются только в том случае, если устройство подключено к источнику питания.
- Периферийные устройства ввода/вывода. Устройства ввода и вывода представляют собой интерфейс процессора с внешним миром. Входные порты получают информацию и отправляют ее процессору в виде двоичных данных. Процессор получает эти данные и отправляет необходимые инструкции на устройства вывода, которые выполняют задачи, внешние по отношению к микроконтроллеру.
Хотя процессор, память и периферийные устройства ввода/вывода являются определяющими элементами микропроцессора, часто включаются и другие элементы. Срок Периферийные устройства ввода-вывода Само понятие просто относится к вспомогательным компонентам, взаимодействующим с памятью и процессором. Существует множество вспомогательных компонентов, которые можно отнести к периферийным устройствам. Наличие некоторых периферийных устройств ввода-вывода является элементарным для микропроцессора, потому что они представляют собой механизм, посредством которого применяется процессор.
Другие вспомогательные элементы микроконтроллера включают:
- Аналого-цифровой преобразователь (АЦП) — АЦП представляет собой схему, преобразующую аналоговые сигналы в цифровые. Это позволяет процессору в центре микроконтроллера взаимодействовать с внешними аналоговыми устройствами, такими как датчики.
- Цифро-аналоговый преобразователь (ЦАП). ЦАП выполняет функцию, обратную АЦП, и позволяет процессору в центре микроконтроллера передавать свои исходящие сигналы внешним аналоговым компонентам.
- Системная шина. Системная шина — это соединительный провод, соединяющий все компоненты микроконтроллера вместе.
- Последовательный порт. Последовательный порт является одним из примеров порта ввода-вывода, который позволяет микроконтроллеру подключаться к внешним компонентам. Он выполняет функции, аналогичные 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.Микроконтроллеры дешевле и потребляют меньше энергии, чем микропроцессоры. Микропроцессоры не имеют встроенной ОЗУ, постоянной памяти (ПЗУ) или других периферийных устройств на чипе, а присоединяются к ним своими контактами. Микропроцессор можно считать сердцем компьютерной системы, тогда как микроконтроллер можно считать сердцем встроенной системы.
Правильный выбор микроконтроллераПри выборе микроконтроллера для проекта необходимо учитывать ряд технологических и бизнес-соображений.
Помимо стоимости, важно учитывать максимальную скорость, объем ОЗУ или ПЗУ, количество или типы контактов ввода-вывода на микроконтроллере, а также энергопотребление, ограничения и поддержку разработки. Обязательно задавайте такие вопросы, как:
- Какие аппаратные периферийные устройства требуются?
- Нужны ли внешние коммуникации?
- Какую архитектуру следует использовать?
- Какие сообщества и ресурсы доступны для микроконтроллера?
- Какова доступность микроконтроллера на рынке?
Последнее обновление: ноябрь 2019 г.
Продолжить чтение О микроконтроллере (MCU)- Создание устройств IoT на платформе, которая принимает модули и стандартные интерфейсы
- Интернет вещей дает возможность администратору рабочего стола
- Узнайте разницу между флэш-памятью и оперативной памятью
- Узнайте, как микроконтроллеры играют роль во встроенной безопасности для устройств IoT
- Как выбрать микроконтроллер
неравномерный доступ к памяти (NUMA)
Автор: Рахул Авати
Взгляд на то, как IoT и встроенные системы работают вместе
Автор: Дэн Джонс
64-битный процессор (64-битные вычисления)
Автор: Стивен Бигелоу
интегральная схема (ИС)
Автор: Рахул Авати
ПоискCIO
- Подготовьте экономическое обоснование расходов на технологии на основе роли ИТ и ИТ-директора.
ИТ-директора должны помогать оценивать цели управления для поддержки долгосрочной стратегии. Узнайте, как ИТ может помочь бизнес-целям и обосновать…
- Эксперты выделяют методы доверия и безопасности для метавселенной
По мнению экспертов, создание безопасной метавселенной означает объединение всех заинтересованных сторон.
- ИТ-стратегия, ориентированная на бизнес, представляет теневые ИТ в более позитивном свете
Традиционные теневые ИТ уступают место развертыванию бизнес-технологий, одобренных ИТ-отделом. Но ИТ-директора должны…
ПоискБезопасность
- NCC Group: банда вымогателей IceFire наращивает атаки
В то время как группа программ-вымогателей впервые была замечена в марте, IceFire появился в поле зрения NCC Group в прошлом месяце, когда атаки на …
- Почему нулевое доверие требует микросегментации
Микросегментация — ключевой метод обеспечения безопасности, который позволяет организациям реализовать модель нулевого доверия и помогает обеспечить . ..
- Как попасть в кибербезопасность без опыта
Кибербезопасность нуждается в новых талантах сейчас больше, чем когда-либо, но получение первой работы без степени в области компьютерных наук все еще может быть …
ПоискСеть
- Планирование перехода от SD-WAN к SASE
Предприятиям нужны интегрированные системы безопасности и сети для управления распределенными ИТ-средами, и они ищут SD-WAN …
- Варианты использования Batfish для проверки и тестирования сети
Автоматическая проверка сети перед изменением с помощью Batfish может сэкономить время в процессе управления изменениями в сети и минимизировать …
- Valmont Industries тестирует сеть как услугу для улучшения WAN
Valmont Industries нужна гибкая глобальная сеть, которую компания может модифицировать за несколько дней, а не месяцев. Мировой производитель тестирует …
SearchDataCenter
- Intel расширяет Developer Cloud, обновляет GPU, CPU
Администраторы, которые управляют многими пользователями, могут сделать еще один шаг к оптимизации назначения лицензий, воспользовавшись преимуществами нового…
- Платформа ServiceNow Now «Токио» обеспечивает искусственный интеллект и автоматизацию
ServiceNow удвоила свою приверженность делу упрощения проектов цифровой трансформации, представив новую версию своей…
- Дорожная карта Arm Neoverse нацелена на корпоративную инфраструктуру, облако
Дорожная карта
Arm для ядра Neoverse V2 предназначена для работы с 5G, высокопроизводительными вычислениями и периферийными рабочими нагрузками. Nvidia включит это предложение в свой …
SearchDataManagement
- Как создать эффективную команду DataOps
Все больше организаций обращаются к DataOps для поддержки своих операций по управлению данными. Узнайте, как построить команду с правильным …
- Как Lufthansa переносит свое хранилище данных в облако
Переход от локальной системы данных к облаку может быть сложной операцией. Lufthansa собирается убрать часть …
- Дебют бессерверной базы данных CockroachDB с инструментами миграции
После года предварительной версии поставщик базы данных делает бессерверное предложение общедоступным. Он обеспечивает новый …
Введение в микроконтроллеры — основы схем
В начале 1970-х годов две американские компании, Intel и Texas Instruments, представили миру микропроцессоры и микроконтроллеры. Эти компании предвидели будущее, в котором доминируют однокристальные интегрированные компьютеры.
Сегодня такие устройства играют важную роль почти во всех бытовых электронных устройствах. Вы можете найти микроконтроллеры почти в каждом доме на планете. Мы стали зависимы от микроконтроллеров, но, что удивительно, лишь немногие действительно знают, что такое микроконтроллер.
В этом уроке мы ответим на этот вопрос. Мы также сравним характеристики самых популярных микроконтроллеров, представленных сегодня на рынке.
Система микроконтроллеров
На приведенной ниже схеме система микроконтроллеров представлена как набор частей или устройств с тремя функциями: вход, процесс и выход. Система принимает по крайней мере один вход, выполняет какое-то действие на этом входе и производит один или несколько выходов.
Входы и выходы микроконтроллерной системы представляют собой напряжения, которые мы можем использовать для определения состояния внешних устройств. Микроконтроллер считывает напряжения с входного устройства и использует эту информацию для принятия решения о правильном напряжении на выходе.
Система микроконтроллера встроена в интегральную схему (ИС). Типичный микроконтроллер включает в себя процессор, память программ, ОЗУ, контакты ввода/вывода и многое другое на одном кристалле.
Устройства, которыми можно управлять с помощью микроконтроллеров
Микроконтроллеры могут использоваться для управления широким спектром электронных устройств. Они идеально подходят для приложений, требующих многократных повторяющихся операций или высокоскоростных вычислений. Вот список некоторых устройств, для управления которыми можно использовать микроконтроллер:
- Компьютеры
- Компьютерные периферийные устройства
- Телефонные системы
- Домашние приборы
- Промышленное оборудование
- Системы безопасности
- Датчики и сенсорные массивы
Что является платой разработки
на хлебных досках. Однако по мере увеличения сложности схемы использование макетных плат становится затруднительным. Здесь на помощь приходят макетные платы.
Отладочные платы — это печатные платы, которые содержат конкретную микросхему микроконтроллера и все вспомогательные внешние схемы, упрощающие использование микроконтроллера для быстрой разработки и прототипирования.
Самыми популярными отладочными платами на рынке, без сомнения, являются Raspberry Pi и Arduino Uno. Их знакомство с хобби электроники DIY произвело революцию в том, как люди изучают электронику и создают электронные проекты.
Плата разработки Arduino UnoПлаты для разработки всегда имеют входные/выходные контакты, чтобы упростить добавление датчиков, дисплеев, двигателей и сервоприводов.
Программирование микроконтроллеров
Некоторые микроконтроллеры легче программировать, чем другие, но каждый обычный микроконтроллер должен иметь множество онлайн-ресурсов, которые помогут вам научиться его программировать.
Некоторые микроконтроллеры, такие как Arduino, имеют собственную интегрированную среду разработки (IDE). В Arduino IDE вы можете написать код Arduino и загрузить его в микроконтроллер через USB-кабель. С помощью Arduino IDE можно запрограммировать множество других микроконтроллеров, например, WiFi-модуль ESP8266.
Как выбрать микроконтроллер
Сегодня на рынке так много микроконтроллеров, что выбор лучшего микроконтроллера для вашего проекта может оказаться сложной задачей для начинающих дизайнеров.
Действительно, при выборе микроконтроллера необходимо учитывать множество факторов. Но самое главное — это функциональность, простота программирования, стоимость и, конечно же, наличие поддержки.
Популярные микроконтроллеры будут иметь лучшую поддержку для устранения любых проблем, которые могут у вас возникнуть. Использование более широко распространенного микроконтроллера означает, что вам будет легче быстро получить помощь, если вы застряли.
Сравнение популярных микроконтроллеров
, чтобы помочь вам решить, какой микроконтроллер лучше всего подходит для вашего проекта, в таблице ниже сравниваются особенности самых популярных микроконтроллеров сегодня:
MICROCONTROLLER MICROCONTROLLER | . Характеристики производительности | Язык программирования | Компилятор/IDE | Общие приложения | Atmel Attiny85 | PINS: 8 | GPIO PIN до 5,5 В Рабочая температура: от -40°C до +85°C Arduino (с ограничениями), | C/C++ или код сборки AVR GCC, | MPLAB XC8, MPLAB X IDE, Microchip Studio, Встроенное рабочее место IAR Критические с точки зрения безопасности цепи, промышленные системы управления, импульсные источники питания и системы регулирования мощности, анализ аналоговых сигналов. | Espressif ESP8266 | PIN напряжение: 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++ Компилятор Texas Instruments C/C++, | MSP430 – GCC, BASCOM-AVR Промышленная автоматизация, домашняя автоматизация, сети измерения инфраструктуры, портативное тестовое оборудование, электроника для здоровья и медицины, а также бытовая электроника | PJRC Teensy 3,2 | PINS: 34 | PINS GPIO: 34 32-битная кора Arm Cortex-M4 72 МГц КПУ . таймеры Связь USB, UART, SPI, I2C и I2S Часы реального времени Рабочее напряжение: 3,3 В | Напряжение питания: от 3,6 В до 6,0 В Адаптированный Arduino, | C/C++, Python AVR-GCC , | БАСКОМ-АВР, МикроПитон Управление двигателем, малая электроника, дроны, транспортные средства с дистанционным управлением, роботы и сенсорные сети. | STMicroelectronics STM32 | Контакты GPIO: 51-140 | Связь USB, UART, SPI, I2C и I2S аналоговый преобразователь Часы реального времени Рабочее напряжение: 3,3 В | Напряжение питания: от 1,7 до 3,6 В | Язык C Встроенный компилятор ARM GCC, Arm Keil MDK, | PlatformIO IDE, STM32CubeIDE, Segger Embedded, Studio, SW4STM32 Промышленные контроллеры ПЛК, принтеры и сканеры, системы безопасности, системы видеонаблюдения, системы вентиляции и кондиционирования, измерители мощности, электродвигатели драйверы и периферийные устройства для ПК. | Silicon Labs EFM32 | Контакты GPIO: 18-26 | ЦП ARM Cortex-M3 Флэш-память: 512 кБ ОЗУ: 32 кБ0347 Рабочее напряжение: от 1,98 В до 3,8 В | Рабочая температура: от -40°C до +85°C Язык C | Компилятор GNU ARM C | Маломощные устройства, проекты IoT и системы безопасности | Одноплатные компьютерыМикроконтроллеры могут обрабатывать широкий спектр сложных схемных решений, но их может быть недостаточно для некоторых сложных проектов. В этом случае может потребоваться использование одноплатного компьютера. Одноплатные компьютеры объединяют все функциональные возможности компьютера в устройстве размером с кредитную карту. Here is a comparison of the most popular Raspberry Pi single-board computers:
Here’s a comparison of the most popular BeagleBone single-board computers:
Итак, это краткий обзор самых популярных платформ на рынке сегодня! Не забудьте оставить комментарий ниже, если у вас есть вопросы о чем-либо! Как спроектировать схему микроконтроллераДругие доски Технологии
Схема, необходимая для встроенного микроконтроллера, может быть немного сложной. Одни только техпаспорт и технические справочники могут занимать несколько сотен страниц для продвинутых микроконтроллеров. Прежде чем приступить к проектированию схемы, рекомендуется нарисовать блок-схему, показывающую все основные части проекта, включая все периферийные устройства, которые будут взаимодействовать с микроконтроллером. Микроконтроллер 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. Для получения более подробной информации о создании нового электронного продукта см. мое Полное руководство по разработке нового электронного продукта. Tagged Electronics Maker Pro microcontrollers Skill BuildersHow 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 и т. д. вы просто делаете это как хобби или учитесь, это не будет концом света, если это не работает правильно — просто разочарование. Однако, если вы планируете продавать свой продукт или просто хотите большего спокойствия, пожалуйста, пожалуйста , используйте авторизованный источник. Это улучшит жизнь каждого. Особенности 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, а также вдохновят и мотивируют вас делать это. Если вы что-то делаете, отправьте нам сообщение с изображением того, что вы сделали, чтобы мы могли поделиться им в наших социальных сетях! А пока давайте перейдем к следующему туториалу по микроконтроллерам.
АвторСергей СоколЯ родился, вырос и живу в настоящее время в Украине. Я люблю различные виды электроники и походы, но эти вещи были отложены в сторону из-за войны, которая обрушилась на мою страну, мой народ и мою семью. В ходе этих испытаний, если вы могли бы поддержать меня финансово, я был бы признателен за любую помощь, которую можно было бы отправить через Paypal на [email protected] Связанные часто задаваемые вопросы по EEПолучите новейшие инструменты и учебные пособия, только что из тостера. Как создать собственную плату микроконтроллера STM32В этом пошаговом руководстве вы узнаете, как создать собственную плату микроконтроллера на основе популярного микроконтроллера STM32 от ST Microelectronics. Я разобью весь процесс проектирования на три основных этапа: ЭТАП 1 — Проектирование системы Загрузите пакет проектирования для этого учебного пособия , который включает все файлы проекта (PDF и родной DipTrace), блок-схему, таблицы данных и PDF-файл этой статьи. Содержание Этап 1 – Система/Предварительный проектПри разработке новой схемы первым шагом является высокоуровневый проект системы (который я также называю предварительным проектом). Прежде чем углубляться в детали полной схемы, всегда лучше сначала сосредоточиться на общей картине всей системы. Проектирование системы состоит в основном из двух этапов: создание блок-схемы и выбор всех критических компонентов (микросхемы, датчики, дисплеи и т. д.). При проектировании системы каждая функция рассматривается как черный ящик В технике черный ящик — это объект, который можно рассматривать с точки зрения его входов и выходов, но без каких-либо знаний о его внутренней работе. При проектировании на системном уровне основное внимание уделяется взаимосвязанности и функциональности более высокого уровня. Блок-схемаНиже приведена блок-схема, с которой мы будем работать в этом уроке. В этом уроке мы сосредоточимся только на самом микроконтроллере. В будущих руководствах мы можем расширить дизайн, включив в него все функции, показанные на этой блок-схеме. Блок-схема должна включать блок для каждой основной функции, взаимосвязи между различными блоками, определенные протоколы связи и любые известные уровни напряжения (входное напряжение питания, напряжение батареи и т. д.). Позже, когда все компоненты выбраны и известны требуемые напряжения питания, я хотел бы добавить напряжения питания на блок-схему. Включая напряжение питания для каждого функционального блока, это позволяет легко определить все необходимые напряжения питания, а также любые переключатели уровня. В большинстве случаев, когда два электронных компонента обмениваются данными, они должны использовать одинаковое напряжение питания. Если они питаются от разных напряжений, вам обычно нужно добавить переключатель уровня. Блок-схема системного уровня. Блоки желтого цвета включены в этот начальный учебник. Теперь, когда у нас есть блок-схема, мы можем лучше понять необходимые требования к микроконтроллеру. Пока вы не наметите все, что будет подключаться к микроконтроллеру, невозможно выбрать подходящий микроконтроллер. Выберите микроконтроллерПри выборе микроконтроллера (или практически любого электронного компонента) мне нравится использовать веб-сайт дистрибьютора электроники, такой как Newark.com. Это позволяет легко сравнивать различные варианты на основе различных спецификаций, цен и доступности. Это также простой способ быстрого доступа к техническому описанию компонента. Если вы регулярно читаете этот блог, то знаете, что я большой поклонник микроконтроллеров ARM Cortex-M. Микроконтроллеры Arm Cortex-M — это самая популярная линейка микроконтроллеров, используемых в коммерческих электронных продуктах. Они использовались в десятках миллиардов устройств. Микроконтроллеры от Microchip (включая Atmel) могут доминировать на рынке производителей, но Arm доминирует на рынке коммерческих продуктов. Arm на самом деле не производит чипы самостоятельно. Вместо этого они разрабатывают архитектуры процессоров, которые затем лицензируются и производятся другими производителями микросхем, включая ST, NXP, Microchip, Texas Instruments, Silicon Labs, Cypress и Nordic. ARM Cortex-M — это 32-разрядная архитектура, которая является фантастическим выбором для более ресурсоемких задач по сравнению с тем, что доступно в более старых 8-разрядных микроконтроллерах, таких как ядра 8051, PIC и AVR. Микроконтроллеры Arm поставляются с различными уровнями производительности, включая Cortex-M0, M0+, M1, M3, M4 и M7. Некоторые версии доступны с модулем с плавающей запятой (FPU) и обозначаются буквой F в номере модели, например, Cortex-M4F. Одним из самых больших преимуществ процессоров Arm Cortex-M является их низкая цена за уровень производительности, который вы получаете. На самом деле, даже если для вашего приложения достаточно 8-битного микроконтроллера, вам все равно следует рассмотреть 32-битный микроконтроллер Cortex-M. Доступны микроконтроллеры Cortex-M по цене, очень сравнимой с некоторыми старыми 8-битными чипами. Основание вашего проекта на 32-разрядном микроконтроллере дает вам больше возможностей для роста, если вы захотите добавить дополнительные функции в будущем. STM32 от ST Microelectronics — моя любимая линейка микроконтроллеров ARM Cortex-M. Хотя многие производители чипов предлагают микроконтроллеры Cortex-M, мой фаворит на сегодняшний день — серия STM32 от ST Microelectronics. Линейка микроконтроллеров STM32 довольно обширна и предлагает практически любые функции и уровни производительности, которые вам когда-либо понадобятся. Линия STM32 может быть разбита на несколько подсерий, как показано в таблице 1 ниже.
Таблица 1: Сравнение различных вариантов микроконтроллеров STM32 Подсерия STM32F — это их стандартная линейка микроконтроллеров (по сравнению с подсерией STM32L, специально ориентированной на более низкое энергопотребление). STM32F0 имеет самую низкую цену, но и самую низкую производительность. Еще один шаг вперед — подсерия F1, за которой следуют F3, F2, F4, F7 и, наконец, H7. Для этого урока я выбрал STM32F042K6T7, который поставляется в корпусе с 32-контактными выводами LQFP. Я выбрал корпус с выводами в первую очередь потому, что он упрощает процесс отладки, так как у вас есть легкий доступ к контактам микроконтроллера. В то время как в безвыводном корпусе, таком как QFN, контакты спрятаны под корпусом, что делает невозможным доступ без контрольных точек. Освинцованная упаковка также упрощает замену микроконтроллера в случае его повреждения. Наконец, припаивание безвыводных корпусов к печатной плате обходится дороже, поэтому они увеличивают затраты как на прототипирование, так и на производство. Я выбрал STM32F042, потому что он предлагает умеренную производительность, большое количество контактов GPIO и различные последовательные протоколы, включая UART, I2C, SPI и USB. Это микроконтроллер STM32 начального уровня всего с 32 контактами, но с широким набором функций. Более продвинутые версии имеют до 216 контактов, что было бы слишком много для вводного руководства. Шаг 2. Схематическая схемаПринципиальная схема, показывающая микроконтроллер STM32, линейный регулятор, разъем USB и разъем для программирования. Теперь, когда мы выбрали микроконтроллер, пришло время разработать принципиальную схему. В этом уроке я буду использовать инструмент проектирования печатных плат под названием DipTrace. Доступны десятки инструментов для печатных плат, но когда дело доходит до простоты использования, цены и производительности, я считаю, что DipTrace трудно превзойти, особенно для стартапов и производителей. Если у вас нет пакета для проектирования печатных плат, вы можете рассмотреть возможность загрузки бесплатной версии DipTrace, чтобы внимательно следовать этому руководству. Они также предлагают бесплатную пробную версию своей полной версии. Лучший способ чему-то научиться — это всегда делать это. Для этого руководства достаточно бесплатной версии DipTrace, но для большинства проектов вам потребуется перейти на платную версию. Тем не менее, это руководство будет сосредоточено на процессе проектирования пользовательской платы микроконтроллера, а не на том, как использовать какой-либо конкретный инструмент проектирования печатных плат. Таким образом, независимо от того, какое программное обеспечение для печатных плат вы в конечном итоге используете, вы все равно найдете это руководство полезным. Первым шагом в разработке схемы является размещение всех ключевых компонентов. Для этого первоначального проекта он включает микросхему микроконтроллера, регулятор напряжения, разъем microUSB и разъем для программирования. Для более сложных проектов обычно имеет смысл сначала полностью спроектировать каждую подсхему, а затем объединить их все вместе. В зависимости от сложности проекта (и личных предпочтений) вы также можете разместить каждую подсхему на отдельном листе. Это удерживает схему от превращения в огромного монстра на одном листе. КонденсаторыДалее мы разместим все различные конденсаторы. По большей части вы можете думать о конденсаторах как о крошечных перезаряжаемых батареях, которые удерживают электрический заряд и помогают стабилизировать напряжение в линии питания. Начнем с установки конденсатора 4,7 мкФ на входной контакт линейного регулятора. Это входное напряжение 5 В постоянного тока, подаваемое внешним зарядным устройством USB. Это напряжение подается на линейный регулятор TLV70233, который понижает напряжение до 3,3 В, поскольку на микроконтроллер может поступать не более 3,6 В. Еще один конденсатор емкостью 4,7 мкФ размещается на выходе регулятора как можно ближе к выводу. Этот конденсатор служит для накопления заряда для питания переходных нагрузок, а также для стабилизации внутреннего контура обратной связи регулятора. Без выходного конденсатора большинство стабилизаторов начнут колебаться. Развязывающие конденсаторы должны располагаться как можно ближе к контактам питания микроконтроллера (VDD). Всегда лучше обратиться к техническому описанию микроконтроллера в отношении их рекомендаций по развязке конденсаторов. В описании STM32F042 рекомендуется размещать конденсаторы емкостью 4,7 мкФ и 100 нФ рядом с каждым из двух контактов VDD (входные контакты питания). Также рекомендуется размещать развязывающие конденсаторы емкостью 1 мкФ и 10 нФ рядом с выводом VDDA. Вывод VDDA является питанием для внутреннего аналого-цифрового преобразователя (АЦП) и должен быть особенно чистым и стабильным. В этом руководстве мы не используем АЦП. Обратите внимание, что обычно вы видите конденсаторы двух размеров, указанные вместе для целей развязки. Например, конденсаторы 4,7 мкФ и 100 нФ. Более крупный аккумулятор емкостью 4,7 мкФ может накапливать больше заряда, что помогает стабилизировать напряжение, когда требуются большие скачки тока нагрузки. Конденсатор меньшего размера служит в основном для фильтрации любых высокочастотных помех. Распиновка микроконтроллераХотя STM32F042 предлагает широкий спектр функций, таких как коммуникационные интерфейсы UART, I2C, SPI и USB, вы не найдете ни одной из этих функций, обозначенных на распиновке микроконтроллера. Это связано с тем, что большинство микроконтроллеров назначают различные функции каждому контакту, чтобы уменьшить количество необходимых контактов. Распиновка микроконтроллера STM32F042 в 32-контактном выводном корпусе LQFP. Например, на STM32F042 контакт 9 помечен как PA3, что означает, что это контакт GPIO. При запуске эта функция автоматически назначается этому контакту. Но у него есть и альтернативные функции, которые можно указать в программе прошивки. Контакт 9 можно запрограммировать для выполнения следующих функций: входной контакт для последовательной связи UART, вход для аналого-цифрового преобразователя (АЦП), выход таймера или контакт ввода-вывода для емкостного сенсорного датчика. контроллер. См. таблицу определения контактов в техническом описании микроконтроллера (стр. 33 для STM32F042), в которой показаны все различные функции, доступные для каждого контакта. Всегда проверяйте, чтобы две функции, необходимые для вашего продукта, не пересекались на одних и тех же контактах. ЧасыВсем микроконтроллерам требуются часы для синхронизации. Эти часы просто точный осциллятор. Микроконтроллеры последовательно выполняют запрограммированные команды с каждым тактом. Самый простой вариант, если он доступен на выбранном микроконтроллере, — использовать внутренние часы. Эти внутренние часы известны как часы RC-генератора, потому что они используют временные характеристики резистора и конденсатора. Основным недостатком RC-генератора является точность. Резисторы и конденсаторы (особенно те, которые встроены в микросхему) значительно различаются от устройства к устройству, что приводит к изменению частоты генератора. Температура также существенно влияет на точность. RC-генератор подходит для простых приложений, но если ваше приложение требует точной синхронизации, этого будет недостаточно. В этом начальном уроке мы собираемся использовать внутренние часы RC, чтобы все было просто. Разъем для программированияПрограммирование STM32 осуществляется с помощью одного из двух протоколов: JTAG или Serial Wire Debug (SWD). Более продвинутые версии STM32 (STM32F1 и выше) предлагают интерфейсы программирования JTAG и SWD. Подсерия STM32F0 предлагает только более простой интерфейс программирования SWD, поэтому мы сосредоточимся на нем в этом руководстве. Интерфейс SWD требует только 5 контактов. Это SWDIO (ввод/вывод данных), SWCLK (тактовый сигнал), NRST (сигнал сброса), VDD (напряжение питания) и земля. К сожалению, программатор ST-LINK, который вы будете использовать для программирования STM32, использует 20-контактный разъем JTAG (с функцией SWD). Этот разъем довольно большой и не подходит для плат меньшего размера. Вместо этого вы можете использовать переходную плату с 20 контактов на 10 контактов, такую как эта от Adafruit, чтобы вы могли использовать 10-контактный разъем меньшего размера на своей плате. В этом уроке мы будем использовать 10-контактный разъем. Если это слишком велико для вашего проекта, вы всегда можете использовать 5-контактный разъем и перемычки от 20-контактного выхода программатора, чтобы подключить только 5 линий, необходимых для программирования SWD. Силовая частьПоследняя часть схемы, которую мы рассмотрим, — силовая часть. Микроконтроллер STM32 может питаться напряжением питания от 2,0 до 3,6В. Если у вас нет переменного источника питания, вам потребуется встроенный регулятор для обеспечения соответствующего напряжения питания. Для этой конструкции мы будем питать плату с помощью внешнего зарядного устройства USB с выходным напряжением 5 В постоянного тока. Затем это напряжение подается на линейный регулятор напряжения (TLV70233 от Texas Instruments), который снижает его до стабильных 3,3 В. Для STM32 требуется не более 24 мА, при условии, что ни один из контактов GPIO не является источником тока (каждый контакт GPIO может подавать до 25 мА). Абсолютный максимальный ток, который когда-либо потребуется STM32, составляет 120 мА, если предположить, что различные выводы GPIO являются источниками тока. TLV70233 рассчитан на ток до 300 мА, что должно быть более чем достаточно для этой исходной конструкции. Проверка электрических правилПоследним этапом разработки принципиальной схемы является выполнение шага проверки, называемого проверкой электрических правил (ERC). На этом этапе проверки проверяются такие ошибки, как короткое замыкание между цепями, цепи только с одним выводом, наложенные выводы и несоединенные выводы. Вы также можете настроить различные ошибки типа контакта. Например, если выходной контакт подключен к другому выходу, вы получите сообщение об ошибке. Или, если выходной контакт подключен к линии питания, вы получите сообщение об ошибке. DipTrace использует цветную матрицу сетки, которая позволяет вам определить, соединения какого типа контактов будут вызывать ошибки или предупреждения. Этап 3. Разработка макета печатной платы (PCB)После завершения проектирования схемы наступает время проектирования печатной платы. Начните с вставки всех компонентов в топологию печатной платы. В DipTrace вы можете использовать функцию «Преобразовать в плату» на схеме, чтобы автоматически создать плату со всеми вставленными компонентами. Загрузите пакет проектирования для этого учебного пособия , который включает все файлы проекта (PDF и родной DipTrace), блок-схему, таблицы данных и PDF-файл этой статьи. Размещение компонентовНесмотря на то, что все компоненты вставлены, ваша задача — точно определить, где каждый компонент размещен на печатной плате. Большинство пакетов программного обеспечения для проектирования печатных плат включают функцию автоматического размещения, которая размещает компоненты с целью минимизации длины трассировки. Но я им никогда не пользуюсь, и приходится почти вручную расставлять компоненты в наилучшем расположении. В нашей начальной обучающей схеме размещение компонентов довольно простое. Разместите разъем microUSB рядом с линейным регулятором таким образом, чтобы его выход находился как можно ближе к контактам входного питания (VDD) на микроконтроллере. Наконец, разместите разъем для программирования в любом удобном месте. Размещение важнейших компонентов в исходной конструкции: микроконтроллера (U1), регулятора (U2), разъема micro USB (J1) и разъема для программирования (JTAG-1). Когда все основные компоненты правильно размещены, следующим шагом будет размещение всех пассивных компонентов (резисторы, конденсаторы и катушки индуктивности). В этой первоначальной конструкции единственными пассивными компонентами являются конденсаторы. Одним из ключевых аспектов проектирования электроники, который вам необходимо изучить, является концепция паразитных явлений. Паразитические компоненты — это пассивные компоненты (резисторы, конденсаторы и катушки индуктивности), которые вы намеренно не встраиваете в свою схему. Но, тем не менее, они есть и влияют на производительность. Например, хотя сигнальная дорожка предназначена для идеального короткого замыкания, на самом деле она имеет некоторое конечное сопротивление, емкость и индуктивность, все из которых становятся более значимыми по мере увеличения длины дорожки и количества изгибов и переходных отверстий. . Размещение всех важных компонентов (U1, U2, J1 и JTAG-1) и пассивных компонентов (конденсаторов). Таким образом, это означает, что если источник напряжения расположен далеко от нагрузки, которой в данном случае является микроконтроллер STM32, между нагрузкой и источником, по сути, находится резистор (без учета емкости и индуктивности). Если микроконтроллеру внезапно потребуется быстрый всплеск тока, это вызовет падение напряжения на этом трассировочном резисторе. Таким образом, несмотря на то, что на выходе регулятора напряжения могут быть идеальные 3,30 В, напряжение на выводе микроконтроллера будет ниже во время этого скачка тока. Для решения этой проблемы используются развязывающие конденсаторы. Помните, что конденсаторы похожи на маленькие батарейки, хранящие электрический заряд. Размещение их прямо на выводах питания микроконтроллера позволяет им обеспечивать любые быстрые, переходные токовые потребности микроконтроллера. Как только переходная нагрузка исчезает, конденсаторы перезаряжаются от источника питания, чтобы они были готовы к следующему кратковременному увеличению тока нагрузки. Стек слоев печатной платыПечатная плата состоит из слоев, сложенных друг на друга. Проводящие слои разделены изолирующими слоями. Минимальное количество проводящих слоев — два. Это означает, что верхний и нижний слои могут использоваться для маршрутизации сигналов, и эти два слоя разделены внутренним изолирующим слоем. В этом уроке мы начнем с двухслойной доски, чтобы не усложнять задачу. Но по мере увеличения сложности схемы вы сочтете необходимым добавить дополнительные слои. Количество проводящих слоев всегда четное, поэтому вы можете иметь плату с 2,4,6,8,10,12 проводящими слоями. Для большинства дизайнов потребуется 4-6 слоев, а для более сложных дизайнов может потребоваться 8 или более слоев. МаршрутизацияПосле того, как все компоненты были правильно размещены, пришло время выполнить необходимую разводку. Существует два варианта маршрутизации: ручной и автоматический. Для автоматической трассировки в DipTrace просто выберите Route -> Run Autorouter , и программа автоматически выполнит всю трассировку. К сожалению, автоматические трассировщики в целом делают ужасную работу, и почти во всех случаях вам придется выполнять всю трассировку вручную. В этом уроке мы будем выполнять всю маршрутизацию вручную. Разводка печатной платы (черные дорожки на верхнем слое, серые дорожки на нижнем слое) При разводке на печатной плате необходимо максимально сократить длину каждой дорожки. Вы также хотите свести к минимуму количество переходных отверстий и избежать любых 9Изгибы трасс 0 градусов. Эти рекомендации особенно важны для трасс высокой мощности и высокоскоростных сигналов. via — это отверстие между слоями с проводящим материалом, позволяющее соединить вместе две дорожки на разных слоях. Большинство переходных отверстий известны как через переходные отверстия , что означает сквозные туннели через все слои платы. Сквозные переходные отверстия являются самым простым в изготовлении типом, поскольку их можно просверлить после сборки всего слоя печатной платы. Виа №1 — это классические сквозные переходы, переход №2 — глухие переходы, а переходы №3 — скрытые переходы. Переходные отверстия, которые туннелируют только через подмножество слоев, называются скрытыми и глухими переходными отверстиями. Глухие переходные отверстия соединяют внешний слой с внутренним слоем (таким образом, один конец скрыт внутри стека печатной платы). Скрытые переходные отверстия соединяют два внутренних слоя и полностью скрыты на собранной печатной плате. Глухие и скрытые переходные отверстия позволяют более плотно упаковать конструкцию. Это потому, что они не занимают места на слоях, которые их не используют. С другой стороны, сквозные переходы занимают место на всех слоях. Однако имейте в виду, что глухие и скрытые переходные отверстия резко увеличивают стоимость прототипа вашей платы. В большинстве ситуаций вы должны ограничиваться использованием только сквозных переходных отверстий. Только исключительно сложные конструкции, которые должны помещаться в исключительно маленьком пространстве, вероятно, когда-либо потребуют этих более совершенных типов переходных отверстий. При прокладке любых сильноточных линий электропередач необходимо убедиться, что ширина дорожки способна пропускать необходимый ток. Если вы пропускаете слишком большой ток через дорожку печатной платы, она перегреется и расплавится, что приведет к неисправности платы. Чтобы определить необходимую ширину трассы, я предпочитаю использовать калькулятор ширины трассы печатной платы. Чтобы определить требуемую ширину дорожки, вам нужно сначала узнать толщину дорожки для вашего конкретного процесса изготовления печатной платы. Производители печатных плат позволяют выбрать различную толщину проводящего слоя, обычно измеряемую в унциях на квадратный фут (oz/ft 2 ), но также измеряемую в милах (миль — одна тысячная дюйма) или миллиметрах. Стандартная толщина проводящего слоя составляет 1 унция/фут 2 . В этом уроке я сделал линии питания шириной 10 мил. Использование калькулятора, указанного выше, показывает, что трасса 1 унция/фут 2 шириной 10 мил может фактически проводить ток почти 900 мА. Это явно больше, чем нам нужно, и я мог бы легко сделать линии снабжения гораздо более узкими. Абсолютный максимальный ток, необходимый для STM32F042, составляет 120 мА. Удивительно, но для обработки 120 мА нам нужна только ширина дорожки 0,635 мил! Минимальная ширина трассы, допустимая для большинства процессов, составляет 4–6 мил. Трассы минимальной ширины можно легко использовать для линий подачи в этой конструкции. При этом чем шире дорожка, тем меньше сопротивление и тем стабильнее напряжение питания на каждом компоненте. Если пространство не слишком ограничено, всегда следует проектировать дорожки электропитания с запасом. На самом деле, во многих случаях вам понадобится маршрутизация источника питания на отдельном уровне, чтобы вы могли максимизировать ширину маршрутизации. Наконец, в калькуляторе вы заметите, что требования для внутренних и внешних слоев отличаются. Для этого простого двухслойного дизайна оба слоя являются внешними, поэтому нам нужно использовать «Результаты для внешних слоев в воздухе ». Внутренние слои могут проводить гораздо меньший ток, потому что они не получают охлаждающего эффекта от воздействия воздуха, поэтому дорожки перегреваются при гораздо меньшем токе. Завершенный макет печатной платы (PCB) для этого начального руководства. ПроверкаПосле того, как вся маршрутизация завершена, пришло время выполнить проверки, чтобы убедиться, что все правильно. Именно здесь автоматизация действительно работает хорошо, и любой инструмент проектирования печатных плат предлагает функции автоматической проверки. Существует два основных типа проверки: проверка правил проектирования (DRC) и сравнение схем. DRC проверяет соблюдение всех правил проектирования печатных плат. Сюда входят такие правила, как минимально допустимая ширина дорожки, минимально допустимое расстояние между дорожками, минимальное расстояние между дорожкой и краем платы и т. д. Чтобы запустить проверку DRC, необходимо сначала получить все правила проектирования для конкретного процесса печатной платы, который вы будете использовать. Каждый процесс прототипирования печатной платы имеет немного разные правила, поэтому вы должны иметь правильные правила, прежде чем продолжить. Вы можете получить правила проектирования для вашего конкретного процесса у поставщика прототипа печатной платы. В DipTrace вы определяете правила проектирования, выбирая Verification->Design Rules . Как только все правила будут правильно определены, вы можете запустить DRC, выбрав Проверка->Проверка правил проектирования. После того, как вы убедились, что схема вашей печатной платы соответствует всем правилам проектирования процесса, пришло время проверить, соответствует ли ваша схема печатной платы вашей принципиальной схеме. Для этого в DipTrace просто выберите Verification->Compare to Schematic . В будущих руководствах я покажу вам различные типы ошибок DRC и сравнения схем, а также способы их исправления. Генерация GerberПосле того, как вы убедились, что проект соответствует правилам проектирования процесса и соответствует принципиальной схеме, пришло время заказать прототипы печатных плат. Для этого вам необходимо преобразовать макет печатной платы (который в настоящее время хранится в собственном формате файла) в стандартный для отрасли формат файла, известный как Gerber. Формат Gerber выводит каждый слой вашей платы в виде отдельного файла. Сгенерированные слои — это гораздо больше, чем просто проводящие слои вашей платы. Некоторые из этих слоев включают в себя: 1) Шелковые слои – включает текст и обозначения компонентов. 2) Сборочные слои – Аналогично шелковым слоям, но с особыми инструкциями по сборке. 3) Слои паяльной маски — обозначает зеленый материал на печатной плате, который закрывает любые проводники, к которым вы не хотите припаивать. Это предотвращает случайное замыкание во время пайки. 4) Слои паяльной пасты – Используется для точного нанесения паяльной пасты в места пайки. Вам также потребуется создать так называемый файл Pick-and-Place , который включает координаты и ориентацию всех компонентов. Этот файл используется производителями машин для автоматической установки компонентов. Наконец, вам нужно вывести файл сверления, в котором указано точное расположение и размер любых отверстий, таких как переходные отверстия и монтажные отверстия. Когда у вас есть файлы Gerber, файл Pick-and-Place и файл для сверления, вы можете отправить эти файлы в любой магазин прототипов или производителю для производства вашей платы. РезюмеВ этом учебном пособии вы узнали, как спроектировать блок-схему на уровне системы, выбрать все критические компоненты, спроектировать полную принципиальную схему, спроектировать компоновку печатной платы (PCB) и заказать прототипы готовый проект печатной платы микроконтроллера. В этом руководстве сама схема намеренно сделана довольно простой, чтобы не перегружать вас сложностью схемы, но принципы, изученные здесь, могут быть легко расширены для более сложных проектов. Другой контент, который может вам понравиться:5 11 голосов Рейтинг статьи Микроконтроллеры великолепны, но не стоит упускать из виду обычную электронику» Перейти к дополнениям Микроконтроллеры великолепны, особенно те, что представлены на рынке сегодня. Они позволяют легко управлять устройствами и получать информацию от других с помощью простых программ и схем. Однако не каждому приложению они нужны, но часто они используются в проекте без необходимости. Например, микроконтроллеры часто используются для выполнения таких простых задач, как мигание светодиода. Хотя это может быть хорошим решением для микроконтроллера, это излишне. Это синоним использования настольной пилы для резки листа бумаги, когда стандартные ножницы прекрасно справятся с этой задачей. Многие новички в микроконтроллерах упускают из виду основы электроники и не понимают, что они могут достичь той же цели, используя обычные методы. Используя обычную электронику, в отличие от микро, вы можете использовать несколько больше резисторов и конденсаторов, но ваш проект, вероятно, в конечном итоге будет стоить вам меньше. Кроме того, вам не придется писать программу, и вы узнаете немного больше об основах электроники. Я покажу вам два примера схем, которые не используют микро, но часто строятся с ним. Я также кратко объясню некоторую логику и теорию этих схем. Надеюсь, вы сможете включить их в том виде, в каком они есть, или, по крайней мере, они дадут вам идеи для дальнейшего развития. Эти примеры могут заменить микроконтроллер в простом проекте, но также могут помочь разгрузить часть работы, которую ваш микроконтроллер будет выполнять в большом проекте. Множество маленьких огоньковВ каждом проекте должно быть несколько, если не много, мигающих светодиодов. Мигание светодиода — это, вероятно, первое, что вы сделали, когда узнали, как пользоваться микроконтроллером. К счастью, без него также легко обойтись. Давайте посмотрим, как поочередно мигать двумя светодиодами, используя всего несколько компонентов. Триггеры и RC-схемыЭто можно сделать разными способами, но одним из самых простых является использование так называемого триггера. Триггеры регулярно используются почти во всех цифровых интегральных схемах, включая микроконтроллеры. Триггер принимает состояние выхода одной логической схемы и подает его на вход другой. Затем этот выход подается на вход первой схемы. Таким образом, выход каждой логической схемы зависит от предыдущего состояния другой. Существует множество различных типов шлепанцев. Поиск в Интернете легко найдет много информации о различных типах и о том, как они используются. В дополнение к триггеру вам нужен способ его запуска, например, с помощью RC-цепи. Сами по себе конденсаторы имеют ограниченное применение и хороши для таких вещей, как фильтрация напряжения переменного тока (и шокирование ваших друзей), но при использовании в сочетании с резистором они становятся очень полезными. Соедините эти два устройства вместе, и вы сможете создать RC-цепь. Существует два типа RC-цепей: интеграторы и дифференциаторы. При подаче напряжения на RC-цепь конденсатор «наполняется» энергией. Затем при снятии напряжения резистор «разряжает» конденсатор. Время, необходимое для «заполнения» и «разряда» конденсатора, может измеряться в секундах и называется постоянной времени RC. Изменение значений конденсатора или резистора позволяет регулировать постоянную времени RC. Реальная разница между интегратором и дифференциатором заключается в том, как ведет себя выход. Эти различия показаны на Рисунок 1 . РИСУНОК 1. Различия между интегратором и дифференциатором. Используя триггер и RC-цепочку, вы можете создать базовую схему, которая будет попеременно мигать двумя светодиодами. Я использовал тип RS (RESET-SET), потому что это самый простой триггер и он идеально подходит для моих нужд. Я использовал RC-цепь дифференциатора, потому что она лучше всего подходит для запуска цифровых логических схем. Если вы добавите несколько светодиодов и больше резисторов, у вас будет схема, которая будет попеременно мигать двумя светодиодами. Эта схема показана на Рисунок 2 . РИСУНОК 2. Триггерная схема, которая попеременно мигает двумя светодиодами. Элементы И-НЕЛогические схемы, которые я использовал для создания RS-триггера, представляют собой элементы И-НЕ. Подробнее о вентилях NAND, а также многих других основах цифровой электроники можно узнать здесь . Однако сейчас достаточно понять, что выход вентиля И-НЕ становится высоким только тогда, когда два его входа имеют низкий уровень. Итак, при первой подаче питания на цепь ( Рисунок 2 ), один из двух логических элементов И-НЕ (в зависимости от того, какой из них быстрее) установит на своем выходе высокий уровень. Это подаст питание на дифференциатор, подключенный к выходу первого элемента И-НЕ. Это отправит цифровую «1» на оба входа другого вентиля И-НЕ, что сделает его выход низким (выключив второй светодиод). Первый светодиод будет гореть до тех пор, пока выходное напряжение дифференциатора не упадет до нуля. В это время на выходе второго логического элемента И-НЕ будет высокий уровень (включение второго светодиода), тем самым отправив выходы первого логического элемента И-НЕ на низкий уровень (выключив первый светодиод). Этот процесс будет продолжаться до тех пор, пока подается питание и ничего в цепи не разорвется. Использование схемыЧтобы настроить время мигания светодиодов, вы можете поэкспериментировать с разными значениями для двух конденсаторов. Более высокие значения увеличивают задержку, а более низкие значения уменьшают задержку. Если вы хотите, чтобы оба светодиода горели одинаковое количество времени, используйте одинаковые значения для обоих конденсаторов. Попробуйте разные значения и посмотрите, какие результаты они дают. Вы также можете попробовать использовать разные значения резисторов, чтобы увидеть, какие эффекты они могут иметь. Для создания такой схемы с микроконтроллером вряд ли потребуются какие-либо внешние детали, но вам придется отказаться от двух выходных контактов микроконтроллера. В большом проекте два вывода могут быть весьма дорогостоящими, и даже если вам может понадобиться несколько дополнительных деталей, эта схема сэкономит эти два вывода. Если все, что вам нужно, это поочередно мигать светодиодами (например, для знака железнодорожного переезда на вашей модели поезда), то эта схема идеально подходит для вас, и она, вероятно, будет стоить вам всего пару долларов. Кроме того, вы не будете усыплять свой микроконтроллер. Датчик температурыПолучение показаний температуры — обычное дело для любого любителя электроники. Допустим, у вас есть проект, в котором вы хотите, чтобы сигнал тревоги звучал, если ваша морозильная камера поднимается выше определенной температуры, или вы хотите знать, если что-то становится слишком горячим (например, внутри ящика). Это легко сделать с помощью микроконтроллера, но то же самое можно сделать и с несколькими обычными электронными компонентами. Температурный датчикПервое, что вам нужно для считывания определенной температуры, — это датчик температуры. Температурные датчики обычно могут считывать показания в диапазоне от -50°F до более 300°F. Большинство из них дают выходное напряжение, которое линейно пропорционально температуре зонда. Эти датчики уже откалиброваны, и их точность гарантирована. Некоторые считывают температуру в градусах Фаренгейта, а другие в градусах Цельсия. Для эксперимента я выбрал LM34DZ. Он может работать при напряжении питания от 5 до 30 вольт и измерять температуру от 32°F до 212°F. Каждая степень изменения будет изменять выходной сигнал на 10 мВ. КомпараторLM34 выдает определенное напряжение для каждого градуса температуры. Для того, чтобы обнаружить определенное напряжение от LM34, вам нужен компаратор. Я использовал счетверенный компаратор LM339, потому что он очень распространен, и у меня валялся один, но вы можете использовать любой из множества представленных сегодня на рынке. На самом деле LM339 имеет четыре встроенных компаратора, поэтому вы можете делать с ним какие-то причудливые вещи, если хотите, но я использовал только один из компараторов для своей схемы. Компаратор имеет два входа и один выход. Один из входов настроен как опорное напряжение, а другой вход — это напряжение, которое вы хотите сравнить с опорным напряжением. Если входное напряжение достигает опорного напряжения, на выходе устанавливается высокий уровень. Например, предположим, что вы хотите знать, когда определенный вход достигает шести вольт или более. В этом случае компаратор должен быть неинвертирующим, а опорное напряжение равным шести вольтам. Затем, когда ваш вход достигает шести вольт или более, компаратор установит выход на высокий уровень. Теперь вы можете считывать этот вывод и запускать другую цепь, например сигнализацию, светодиод и т. д. Собираем вместеВы можете соединить эти два устройства, и вы получите отличный температурный выключатель. Переключатель в сборе показан на рис. 3 . Его очень просто построить и легко использовать. РИСУНОК 3. Цепь реле температуры. После подачи питания на схему можно прочитать, какое напряжение на выходе (контакт 2) на LM34. Для этого можно использовать вольтметр. Поместите положительный щуп вольтметра на контакт 2 LM34, а отрицательный щуп на землю. Это даст вам выходное напряжение, соответствующее комнатной температуре, что даст хороший ориентир для расчета того, каким будет напряжение при данной температуре. На LM34 изменение температуры на каждый градус приводит к изменению выходного напряжения на 10 мВ. Используйте это соотношение, чтобы вычислить необходимое опорное напряжение на основе требуемой опорной температуры. Теперь вы можете отрегулировать потенциометр так, чтобы опорное напряжение на контакте 4 LM339 равнялось желаемому опорному напряжению (которое соответствует определенной температуре). Если вам нужна более высокая точность регулировки напряжения, вы можете использовать потенциометр с более высоким значением. Вы можете прекратить регулировку опорного напряжения, как только получите желаемый уровень. Если опорное напряжение не изменится, вы можете заменить потенциометр подходящими постоянными резисторами. ПримерВот пример того, как это сделать. Допустим, вы хотите знать, когда температура снаружи достигает 100°. Прежде всего, нужно прочитать выход LM34 при комнатной температуре. Допустим, ваш вольтметр показывает 2,34 вольта при температуре 72°. Теперь вычислите разницу между двумя температурами, которая составляет 28°. Умножьте это число на 0,01 (изменение на 10 мВ на каждую степень изменения), и вы получите 0,28. Затем добавьте это число к 2,34, и вы получите 2,62. Это то, на что должно быть установлено ваше опорное напряжение. Отрегулируйте потенциометр, пока на выходе не будет 2,62 В, а затем остановитесь. Ваш терморегулятор готов к работе. ИспытаниеПосле того как температурный переключатель откалиброван для определенной температуры, вы можете проверить его, нагрев LM34 феном. На выходе (Vout) можно подключить светодиод. Как только температура достигнет указанной точки, ваш светодиод должен загореться и гореть до тех пор, пока температура снова не упадет. Как и мигающие светодиоды, эту схему легко собрать без микроконтроллера. Вы можете использовать его как есть или изменить в соответствии с любыми вашими целями. Вы также можете многое узнать о том, как работают компараторы. По крайней мере, это подстегнет другие идеи о том, как заставить компараторы работать на вас. Easy as PieЭти два примера схем можно использовать как отдельные схемы или в сочетании с другими. Они могут полностью заменить использование микроконтроллера или, по крайней мере, значительно снизить нагрузку на ваш проект, основанный на микроконтроллерах. Показанные здесь примеры — лишь малая часть того, что доступно любителям электроники; это всего лишь пара идей и, конечно же, есть много других. Мой совет всем, кто начинает работать с микроконтроллерами и электроникой, — возьмите макетную плату, некоторые основные электронные детали (прихватите пару сумок) и начинайте экспериментировать. Для начала продолжайте читать Nuts & Volts и возьмите пару книг по основам электроники. Некоторые из лучших, которые я нашел для начинающих, — это книги Форреста Мимса. Моя старая и потрепанная, но она всегда рядом со мной, когда я экспериментирую. Как я уже сказал в начале этой статьи — микроконтроллеры — это здорово! Постарайтесь не использовать их как костыль, а вместо этого используйте некоторые из тех традиционных электронных устройств, которые существуют уже много лет. |