Вход на сайт

Зарегистрировавшись на сайте Вы сможете добавлять свои материалы






Самодельный частотник на микроконтроллере


РадиоКот :: Частотный преобразователь

РадиоКот >Схемы >Цифровые устройства >Защита и контроль >

Частотный преобразователь

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

 Основные достоинства частотнорегулируемого привода (может для кого-то повторюсь):

 Формируем из одной фазы 220В полноценные 3 фазы 220В со сдвигом 120 град., и имеем полный вращающий момент и мощность на валу.

 Увеличенный пусковой момент и плавный пуск без большого пускового тока

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

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

 Вот какая схемка собралась:

 3-фазный мост на IGBT транзисторах c обратными диодами (использовал имеющиеся G4PH50UD) управляется через оптодрайвера HCPL 3120 (бутстрепная схема запитки) микроконтроллером PIC16F628A. На входе гасящий конденсатор для плавного заряда электролитов DC звена. Затем его шунтирует реле и на микроконтроллер одновременно приходит логический уровень готовности. Также имеется триггер токовой защиты от к.з. и сильной перегрузки двигателя. Управление осуществляют 2 кнопки и тумблер изменения направления вращения.

Силовая часть мною была собрана навесным монтажом. Плата контроллера отутюжина вот в таком виде: 

 

Параллельные резисторы по 270к на проходных затворных конденсаторах (забыл под них места нарисовать) припаял сзади платы, потом хотел заменить на смд но так и оставил.

 Есть внешний вид этой платы, когда уже спаивал:

 С другой стороны

 

Для питания управления был собран типовой импульсный обратноходовой (FLAYBACK) блок питания.

Его схема:

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

Теперь о самом главном...о програме микроконтроллера. Программирование простых моргалок для меня сложности не представляло, но тут надо было поднатужить мозги. Порыскав в нете, я не нашёл на то время подходящей информации. Мне предлагали поставить и специализированные контроллеры, например контроллер фирмы MOTOROLA MC3PHAC. Но хотелось, повторюсь, своего. Принялся детально разбираться с ШИМ модуляцией, как и когда нужно открыть какой транзистор... Открылись некие закономерности и вышел шаблон самой простой программы отработки задержек, с помощью которой можно выдать удовлетворительно синусовую ШИМ и регулировать напряжение. Считать ничего контроллер конечно не успевал, прерывания не давали что надо и поэтому я идею крутого обсчёта ШИМ на PIC16F628A сразу отбросил. В итоге получилась матрица констант, которую отрабатывал контроллер. Они задавали и частоту и напряжение. Возился честно скажу, долго. Пилорама уже во всю пилила конденсаторами, когда вышла первая версия прошивки. Проверял всю схему сначала на 180 ватном движке вентиляторе. Вот как выглядела "экспериментальная установка":

 

 Первые эксперименты показали, что у этого проекта точно есть будущее.

 

Программа дорабатывалась и в итоге после раскрутки 4кВТ-ного движка её можно было собирать и идти на лесопилку.

Товарищ был приятно удивлён, хоть и с самого начала относился скептически. Я тоже был удивлён, т.к. проверилась защита от к.з. (случайно произошло в борно двигателя). Всё осталось живо. Двигатель на 1,5кВт 1440об/мин легко грыз брусы диском на 300мм. Шкивы один к одному. При ударах и сучках свет слегка пригасал, но двигатель не останавливался. Ещё пришлось сильно подтягивать ремень, т.к. скользил при сильной нагрузке. Потом поставили двойную передачу.

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

Её характеристики:

Выходная Частота: 2,5-50Гц, шаг 1,25Гц; Частота ШИМ синхронная, изменяющаяся. Диапазон примерно 1700-3300Гц.; Скалярный режим управления U/F, мощность двигателя до 4кВт.

Минимальная рабочая частота после однократного нажатия на кнопку ПУСК(RUN) - 10Гц.

При удержании кнопки RUN происходит разгон, при отпускании частота остаётся та, до которой успел разогнаться. Максимальная 50Гц- сигнализируется светодиодом. Время разгона около 2с.

Светодиод "готовность" сигнализирует о готовности к запуску привода. 

Реверс опрашивается в состоянии готовности.

Режимов торможения и регулирования частоты вниз нет, но они в данном случае и не нужны.

При нажатии Стоп или СБРОС происходит остановка выбегом.

На этом пока всё. Спасибо, кто дочитал до конца.

 

 

 

 

 

 

Файлы:
Программа ШИММ1.0r для PIC16F628(A)
Плата управления в SPLANe

Все вопросы в Форум.


Как вам эта статья?

Заработало ли это устройство у вас?

2 Простые проекты преобразователя света в частоту для преобразования света в импульсы

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

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

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

Что такое преобразователь света в частоту (TSL235R)?

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

Интенсивность и частота света пропорциональны.

Когда усиливается окружающее или какое-либо внешнее освещение, выходная частота увеличивается, и наоборот.

TSL235R - устройство на трех ножках, внешне очень похоже на транзистор с полупрозрачным корпусом.

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

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

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

Обзор спецификаций:

TSL235R может получать питание от 2.От 7 В до 5,5 В (номинальное напряжение 5 В).

Он имеет широкий диапазон светового отклика от 320 до 1050 нм, который охватывает от ультрафиолетового до видимого света. Он имеет рабочую температуру от -25 градусов по Цельсию до +70 градусов по Цельсию.

Имеет температурный коэффициент 150 ppm на градус Цельсия. Максимальная частота, которую он может передавать, составляет 100 кГц, а минимальная частота находится в диапазоне нескольких 100 Гц.

Выходной рабочий цикл строго откалиброван на 50%. Его длина составляет 19,4 мм, включая клеммы и 4 шт.Ширина 6 мм.

Конденсатор в диапазоне от 0,01 мфд до 0,1 мфд должен быть подключен к его клемме источника питания, а конденсатор и TLS235R должны быть замкнуты насколько возможно.

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

Он объединяет два компонента: кремниевый фотодиод и преобразователь тока в частоту (CFC). CFC - это схема, которая преобразует текущий параметр в частотный.

Ток, протекающий через фотодиод, пропорционален силе света.

Преобразователь тока в частоту (CFC) измеряет величину тока, протекающего через фотодиод.

Когда ток через фотодиод увеличивается; CFC повышает его частоту, и наоборот. Таким образом, мы получаем косвенное преобразование света в частоту.

Как и где им пользоваться?

Вы можете использовать TSL235R там, где вы работаете с любым проектом, основанным на освещении, например:

· Вы можете использовать его для измерения интенсивности окружающего освещения, например, люксметр.

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

· Может использоваться в детекторе движения, где можно обнаружить любое изменение интенсивности света.

· Может использоваться в системе безопасности.

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

Вот иллюстрация, как взаимодействовать с микроконтроллером

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

Преобразователь света в частоту с использованием IC 555

Аналогичная схема может быть получена при использовании IC 555, подключенного в нестабильном режиме, с заменой одного из резисторов на LDR, как показано ниже:

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

Вывод 3 микросхемы IC 555 может быть интегрирован в любую желаемую внешнюю нагрузку или схему. В случае, если требуется TTL-совместимый выход, убедитесь, что на IC 555 подается точное напряжение 5 В.

О Swagatam

Я инженер-электронщик (dipIETE), любитель, изобретатель, разработчик схем / печатных плат, производитель. Я также являюсь основателем веб-сайта: https://www.homemade-circuits.com/, где я люблю делиться своими инновационными идеями и руководствами по схемам.
Если у вас есть какой-либо вопрос, связанный со схемой, вы можете взаимодействовать с ним через комментарии, я буду очень рад помочь!

.

Введение в микроконтроллеры - инженерные проекты

Привет, ребята! Мы здесь, чтобы держать вас в курсе дел и получать полезную информацию, чтобы вы продолжали возвращаться к тому, что мы можем предложить. Сегодня я собираюсь открыть подробности о Introduction to Microcontrollers . Микроконтроллер - это электронное устройство, способное эффективно выполнять различные задачи в системах автоматического управления. Он состоит из памяти, портов ввода / вывода и процессора. Мы используем C и язык ассемблера для программирования микроконтроллера.Это похоже на крошечные компьютеры, которые помогают облегчить наши задачи с помощью программирования, используемого в компактных схемах. Я постараюсь охватить каждый аспект, связанный с микроконтроллером, чтобы вы получили четкое представление о том, что он делает и каковы его основные приложения. Будем надеяться на плату и изучать свойства микроконтроллера один за другим.

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

  • Микроконтроллер - это компактный крошечный компьютер, который изготовлен внутри микросхемы и используется в системах автоматического управления, включая системы безопасности, офисные машины, электроинструменты, систему сигнализации, управление светофорами, стиральную машину и многое другое. Больше.
  • Это экономичное программируемое логическое управление, которое может быть сопряжено с внешними устройствами для управления устройствами на расстоянии.
  • Первый микроконтроллер был произведен Майклом Кокраном и Гэри Бун .
  • Он был специально построен для встраиваемых систем и состоял из памяти для чтения и записи, постоянной памяти, портов ввода-вывода, процессора и встроенных часов.
  • C и языки ассемблера используются для программирования микроконтроллеров.
  • Существуют также другие языки, доступные для программирования микроконтроллера, но для начала изучение программирования микроконтроллера на языке C и ассемблере - отличный выбор, оба языка просты в изучении и дают четкое представление о микроконтроллере.
  • Технологии были удивительно развиты и сделали нашу жизнь проще, чем когда-либо прежде.
  • Несколько лет назад приведение лифта в рабочее состояние было адской задачей, требующей сложного программирования и схемотехники.
  • Теперь вы можете не только управлять лифтом с микроконтроллера, но и перемещать подводную лодку с помощью соответствующих инструкций, передаваемых в один микроконтроллер.
  • Любое приложение, которое включает измерения, управление и отображение, содержит внутри микроконтроллер.
  • Микроконтроллеры поставляются с широким спектром приложений, но решать, какую задачу вы хотите решить с помощью микроконтроллера, зависит только от вас, потому что он будет принимать только инструкции в форме языка программирования.
  • Вы можете создавать, загружать и запускать любую программу в зависимости от ваших приоритетов.

Сравнение с микропроцессором

  • Некоторые люди думают, что микроконтроллер и микропроцессор одинаковы, но на самом деле они разные.
  • Микропроцессор использует внешнюю схему для установления связи с периферийной средой, но микроконтроллер не включает никаких внешних схем, чтобы привести его в рабочее состояние, поскольку он поставляется с указанной встроенной схемой, которая экономит как пространство, так и затраты на разработку устройство аналогичных характеристик.
  • По сравнению с микропроцессорами, которые широко используются в ПК, ноутбуках и ноутбуках, микроконтроллеры специально созданы для встроенных систем.
  • Когда мы говорим о встроенной системе, мы на самом деле имеем в виду устройства, которые поставляются со встроенными схемами и нуждаются в загрузке соответствующих инструкций для управления устройствами.
  • Замечательное во встроенной системе то, что она включает в себя индивидуальное программирование, которое напрямую связано с внутренней схемой, которую можно изменять снова и снова, пока вы не достигнете желаемого результата.
  • Тактовая частота микропроцессора намного больше, чем у микроконтроллера, и они способны выполнять сложные задачи. Они могут работать на частоте 1 ГГц.

Сравнение с настольными компьютерами

  • В отличие от нашего настольного компьютера микроконтроллеры представляют собой крошечные компьютеры, объем памяти которых намного меньше, чем у настольных компьютеров.
  • Также скорость настольного компьютера намного превышает скорость простого микроконтроллера.
  • Однако микроконтроллеры обладают некоторыми функциями, аналогичными настольным компьютерам, например, они оснащены центральным процессором, который является мозгом микроконтроллера.
  • Эти ЦП в микроконтроллерах имеют разную длину слова, то есть от 4 до 64 бит.
  • Они могут работать на более низких частотах 4 кГц и могут сохранять функциональность до нажатия кнопки сброса или вызова какого-либо прерывания.

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

  • В современных технологиях некоторые микроконтроллеры имеют сложную конструкцию и могут иметь длину слова более 64 бит.
  • Микроконтроллер состоит из встроенных компонентов, включая EPROM, EEPROM, RAM, ROM, таймеры, порты ввода / вывода и кнопку сброса.RAM используется для хранения данных, а ROM используется для хранения программ и других параметров.
  • Современные микроконтроллеры спроектированы с использованием архитектуры CISC (компьютер со сложным набором команд), которая включает инструкции типа marco.
  • Инструкция типа одиночного макроса используется для замены количества маленьких инструкций.
  • Современные микроконтроллеры потребляют гораздо меньше энергии по сравнению со старыми.
  • Они могут работать при более низком напряжении в диапазоне от 1.От 8 В до 5,5 В.
  • Флэш-память, такая как EPROM и EEPROM, - очень надежные и расширенные функции в последних микроконтроллерах, которые отличают их от старых микроконтроллеров.
  • EPROM быстрее и быстрее, чем память EEPROM. Он позволяет стирать и записывать циклы столько раз, сколько вы хотите, что делает его удобным для пользователя.

Детали микроконтроллера

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

CPU

  • CPU рассматривается как мозг микроконтроллера, который принимает инструкции в форме программирования и помогает их выполнять.
  • Он ведет себя как мост, который обменивается данными с различными компонентами и действиями, происходящими внутри одного чипа.
  • Возможность индивидуального программирования, доступная в микроконтроллере, делает его более надежным и удобным для пользователя.
  • CPU имеет встроенные регистры, которые разделены на регистры данных двух типов и регистры адресации.
  • Регистры данных, также известные как аккумуляторы, используются для логических команд и команд сдвига.
  • Регистры адресации используются для хранения адресов для доступа к данным памяти. Указатель стека называется адресным регистром, который направляет память, используемую для аппаратного стека. Аппаратный стек используется для вызовов и возвратов прерываний, а также для вызовов и возвратов подпрограмм.
  • Конструкция указателя аппаратного стека не является обязательной, некоторые ЦП поставляются с одинарным регистром связи, который ведет себя как глубокий стек ЦП и помогает в быстрых вызовах и возвратах подпрограмм.
  • ЦП микроконтроллера способен выполнять серию инструкций, некоторые из которых являются инструкциями манипулирования данными, некоторые - логическими инструкциями, а некоторые - инструкциями сдвига.

Ввод / вывод

  • В микроконтроллер встроены различные порты ввода / вывода.
  • Они используются для подключения к микроконтроллеру внешних устройств, таких как принтеры, ЖК-дисплей, светодиоды, внешняя память.
  • В микроконтроллере имеется несколько последовательных портов, которые используются для последовательного подключения периферийных устройств к микроконтроллеру.

Память

  • Подобно микропроцессору, микроконтроллер имеет такие области памяти, как RAM и ROM, которые помогают хранить исходный код программы.
  • Эти объемы памяти очень малы по сравнению с настольными компьютерами.
  • После того, как вы сгенерируете программу и загрузите ее в микроконтроллер, она сохраняется в определенной области памяти микроконтроллера.
  • Эти ячейки памяти уже установлены производителем.

Таймеры и счетчики

  • Таймеры и счетчики очень удобны для решения различных задач, включая генерацию импульсов, генерацию частоты, измерение, функцию синхронизации и модуляцию.
  • Функции таймера и счетчиков синхронизируются с часами микроконтроллера, используются для измерения временных интервалов между двумя событиями и могут подсчитывать до 255 отсчетов для 8-битного микроконтроллера и 65535 для 16-битного микроконтроллера.

АЦП и ЦАП

  • АЦП - это аналого-цифровой преобразователь, который преобразует аналоговый сигнал в цифровую форму, например, преобразовывает аналоговый сигнал датчика в цифровую форму.
  • Точно так же DAC - это цифро-аналоговый преобразователь, который преобразует цифровой сигнал в аналоговую форму, которая может использоваться для управления двигателем.

Interpret Control

  • Interpret Control используется для установки задержки в выполняющейся программе. Эта задержка может быть вызвана внутренними или внешними сигналами.

Специальный функциональный блок

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

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

В зависимости от памяти, архитектуры и размера слова микроконтроллеры подразделяются на различные типы. Некоторые из них следующие.

Классификация на основе битов

  • Микроконтроллеры бывают 8-битные, 16-битные, 32-битные и 64-битные. Некоторые наиболее продвинутые микроконтроллеры имеют биты более 64, которые способны выполнять определенные функции во встроенных системах.
  • 8-битный микроконтроллер способен выполнять более мелкие арифметические и логические инструкции.Наиболее распространенными 8-битными микроконтроллерами являются atmel 8031 ​​и 8051.
  • В отличие от 8-битных микроконтроллеров, 16-битный микроконтроллер выполняет программу с более высокой точностью и точностью. Наиболее распространенный 16-битный микроконтроллер - 8096.
  • 32-битный микроконтроллер применяется в системах автоматического управления и робототехнике, где требуется высокая прочность и надежность. Офисные машины и некоторые системы питания и связи используют 32-битный контроллер для выполнения различных инструкций.

Классификация на основе памяти

  • На основе памяти микроконтроллеры делятся на два типа: i.д. микроконтроллеры с внешней памятью и микроконтроллеры со встроенной памятью.
  • Когда встроенная система требует и микроконтроллера, и внешнего функционального блока, который не встроен в микроконтроллер, микроконтроллер называется микроконтроллером с внешней памятью. 8031 - отличный пример микроконтроллера с внешней памятью.
  • Когда все функциональные блоки объединены в одну микросхему, которая связана со встроенной системой, микроконтроллер называется микроконтроллером встроенной памяти.8051 - отличный пример микроконтроллеров со встроенной памятью.

Классификация на основе набора команд

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

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

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

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

  • Наиболее часто используемые микроконтроллеры принадлежат к семейству 8051. Микроконтроллеры
  • 8051 считаются идеальным выбором для большинства профессионалов.
  • Изобретенный Intel, микроконтроллер 8051 состоит из двух элементов, включая 8052 и 8031.
  • 8052 состоит из 3-х кратного и 256 байт RAM. Он обладает теми же функциями, что и микроконтроллер 8051.
  • Вы также можете рассматривать 8051 как подмножество микроконтроллера 8052 ..
  • Аналогично, 8031 ​​обладает теми же функциями, что и 8051, за исключением ПЗУ.
  • Однако для выполнения инструкций в этот чип может быть встроено внешнее ПЗУ объемом 64 Кбайт.

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

  • Микроконтроллер 8051 - это 40-контактный 8-битный микроконтроллер, изобретенный Intel в 1981 году.
  • 8051 поставляется со 128 байтами ОЗУ и 4 КБ встроенного ПЗУ.
  • Исходя из приоритетов, в микроконтроллер может быть встроена внешняя память объемом 64 КБ.
  • В этот микроконтроллер встроен кристаллический генератор с частотой 12 МГц.
  • В этот микроконтроллер интегрированы два 16-битных таймера, которые можно использовать как таймер, а также как счетчик.
  • 8051 состоит из 5 прерываний, включая внешнее прерывание 0, внешнее прерывание 1, прерывание таймера 0, прерывание таймера 1 и прерывание последовательного порта.Он также состоит из четырех 8-битных программируемых портов.

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

  • Технология микрочипов изобрела контроллер периферийного интерфейса (PIC), который очень распространен среди большинства профессионалов и экспертов.
  • Micro-Chip Technology очень заботится о потребностях и требованиях клиентов, поэтому они постоянно обновляют свои продукты, чтобы предоставлять услуги на высшем уровне.
  • Низкая стоимость, возможность последовательного программирования и широкая доступность выделяют этот микроконтроллер среди остальных.

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

  • Микроконтроллер PIC поддерживает архитектуру Гарварда.
  • Он состоит из ПЗУ, ЦП, последовательной связи, таймеров и счетчиков, генераторов, прерываний, портов ввода-вывода и набора регистров, которые также работают как ОЗУ.
  • Регистры специального назначения также встроены в аппаратное обеспечение микросхемы.
  • Низкое энергопотребление делает этот контроллер идеальным выбором для промышленных целей.
  • Каждый PIC задействует «стек», способный сохранять адреса возврата.
  • В более старых версиях микроконтроллеров PIC доступ к стеку нельзя было получить с помощью программирования, но к более поздним версиям можно было легко получить доступ с помощью программирования.
  • Компьютера с низкими характеристиками достаточно для запуска программного обеспечения, способного программировать схему микроконтроллера PIC.
  • Последовательный порт или USB-порт используется для подключения компьютера к микроконтроллеру.

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

  • AVR называется Advances Virtual RISC, который был произведен компанией Atmel в 1966 году.
  • Он поддерживает Гарвардскую архитектуру, в которой программа и данные хранятся в разных местах микроконтроллера и к ним легко получить доступ.
  • Считается более ранним типом контроллеров, в которых для хранения программ используется встроенная флэш-память.

Архитектура AVR

  • Архитектура AVR была разработана Вегардом Волланом и Альф-Эгилем Богеном.
  • AT90S8515 был первым контроллером, основанным на архитектуре AVR.
  • Однако AT90S1200 был первым микроконтроллером AVR, который был коммерчески доступен в 1997 году.
  • Флеш-память, EEPROM и SRAM интегрированы в один чип, что исключает возможность объединения любой внешней памяти с контроллером.
  • Этот контроллер имеет сторожевой таймер и множество энергосберегающих спящих режимов, которые делают этот контроллер надежным и удобным для пользователя.

Приложения

  • Периферийный контроллер ПК
  • Робототехника и встроенные системы
  • Биомедицинское оборудование
  • Системы связи и питания
  • Автомобили и системы безопасности
  • Имплантированное медицинское оборудование
  • Устройства обнаружения пожара
  • Температура и светочувствительные устройства
  • Устройства промышленной автоматизации
  • Устройства управления технологическими процессами
  • Измерение и контроль вращающихся объектов
Это все на сегодня.Надеюсь, вам понравилась статья. Наша задача - шаг за шагом предоставлять вам полезную информацию, чтобы вы могли ее усвоить без особых усилий. Однако, если вы все еще настроены скептически или сомневаетесь, вы можете спросить меня в разделе комментариев ниже. Я хотел бы помочь вам в соответствии с моим опытом. Быть в курсе. .

Руководство для начинающих по микроконтроллерам

от Джона Уайлдера

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

Эта статья не пытается рассказать о каком-либо конкретном микроконтроллере / микропроцессоре, но представляет собой скорее учебник, объясняющий общие концепции, применимые ко всем микроконтроллерам / микропроцессорам.

Во-первых, давайте ... зададим себе пару вопросов. Первый вопрос -

Что такое микроконтроллер?
Микроконтроллер - это крошечный микрокомпьютер на микросхеме. Он имеет ЦП, ОЗУ (оперативное запоминающее устройство), регистры специальных функций, память ПЗУ программ, память ПЗУ данных, от одного до нескольких портов параллельного ввода / вывода (ввода / вывода) и может иметь множество встроенных периферийных устройств, включая но не ограничиваясь аналого-цифровой преобразователь (АЦП), цифро-аналоговый преобразователь (ЦАП), Serial UART, один или несколько таймеров, / на источник опорного напряжения чипа, захвата / сравнения / ШИМ (широтно-импульсная модуляция) модуля компараторов , Главный синхронный последовательный порт для связи SPI (последовательный периферийный интерфейс) / I2C (меж интегральная схема), порт USB, порт Ethernet, встроенные генераторы, а также множество других периферийных устройств.

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

ПЗУ программ и ПЗУ данных
Встроенная память ПЗУ (постоянное запоминающее устройство) микроконтроллера подобна жесткому диску микроконтроллера. Имеет две перегородки. Один раздел зарезервирован для хранения программного кода, а другой раздел зарезервирован для постоянного хранения данных, которые используются микросхемой во время нормального выполнения программы.На данном микроконтроллере PIC, имеющем, скажем, 8 Кбайт программного пространства, программное пространство будет занимать адреса ПЗУ 0x0000 - 0x1FFF (или 0-8191 в десятичном виде). Пространство данных начнется с адреса ПЗУ программы 0x2100. Если бы пространство ПЗУ данных было 256 байтов, пространство ПЗУ данных занимало бы адреса ПЗУ 0x2100 - 0x21FF (или 8448-8704 в десятичном виде).

CPU
CPU означает центральный процессор. По сути, это «мозг» микроконтроллера. Это то, что извлекает инструкции из памяти кода и выполняет полученные инструкции.

ОЗУ данных
ОЗУ данных (оперативное запоминающее устройство) - это пространство данных, которое используется для временного хранения значений констант и переменных, которые используются микроконтроллером во время нормального выполнения программы. Объем физического пространства RAM на данном микроконтроллере варьируется от одного микроконтроллера к другому. ОЗУ данных на микроконтроллере организовано в несколько «регистров», каждый из которых имеет свой уникальный «адрес». Регистр ОЗУ на 8-битном микроконтроллере может содержать всего 8 бит или один байт данных.Типичная спецификация пространства ОЗУ может указывать, что оно составляет 256 x 8. Это означает, что всего в ОЗУ 256 регистров, и эти регистры могут содержать 8 бит каждый.

Регистр - это просто место в памяти, в которое вы можете записывать или читать данные. Некоторые из нас называют регистры «местонахождением».

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

Каждый бит в SFR назначается функции. В SFR у вас есть биты управления и биты флагов. Управляющие биты подобны «переключателям», которые включают или выключают функцию в зависимости от того, записываете ли вы 1 или 0 в эту битовую позицию в SFR. Биты флагов похожи на «световые индикаторы», которые указывают, существует ли данное условие, в зависимости от того, равен ли бит флага 1 или 0.Биты управления напрямую управляют оборудованием. Биты флагов контролируются оборудованием. В любой данной программе мы обычно записываем в управляющие биты, пока читаем биты флагов (некоторые биты флагов должны быть очищены вручную путем записи в них, в зависимости от микроконтроллера… подробнее об этом позже).

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

Биты конфигурации
Большинство микроконтроллеров имеют специальные биты, известные как «биты конфигурации». Эти биты настраивают специальные параметры микроконтроллера, включая, помимо прочего, -

.

* Тип осциллятора
* Сторожевой таймер Вкл. / Выкл.
* Таймер включения / выключения
* Вкл / Выкл сброса при пониженном энергопотреблении
* Включение / выключение программирования низкого напряжения
* Включение / выключение монитора безопасных часов
* Внутреннее / внешнее переключение Вкл. / Выкл.

В микроконтроллере PIC есть даже биты конфигурации для защиты программного кода и защиты кода данных.Эти биты предотвращают чтение программы или пространств данных внешним программным оборудованием, чтобы другие не могли украсть ваш код. На микросхеме Atmel AT89S (производной от 8051) это устанавливается так называемыми «битами блокировки».

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

АЛУ (Арифметико-логический блок)
Этот аппаратный компонент по существу отвечает за все математические и логические операции, выполняемые микроконтроллером. На большинстве микроконтроллеров с ALU будет связано 3 битовых флага -

* Нулевой бит - Этот бит флага устанавливается в 1 аппаратным обеспечением, когда математическая операция приводит к нулевому результату.Он будет сброшен на 0 оборудованием, когда математическая операция даст ненулевой результат.

* Бит переноса / заимствования - этот бит флага работает как бит переноса для операций сложения, одновременно работая как флаг заимствования для операций вычитания. «Перенос» происходит, когда результат операции сложения приводит к значению, превышающему то, что регистр может хранить. 8-битный регистр может содержать максимальное значение 255 (FF в шестнадцатеричном формате или 11111111 в двоичном).

Если операция сложения приводит к результату больше 255, флаг переноса устанавливается в 1.Если в результате операции сложения результат меньше 255, перенос не происходит, поэтому флаг переноса сбрасывается до 0.

Для операций вычитания вместо этого флаг переноса работает как флаг заимствования. Флаг заимствования работает наоборот, чем флаг переноса. Если операция вычитания дает отрицательный результат, флаг заимствования сбрасывается до 0. Если операция вычитания дает положительный результат, флаг заимствования устанавливается на 1.

* Бит переноса / заимствования цифр - этот бит флага выполняет то же действие, что и флаг переноса / заимствования, но работает только для указания того, происходит ли перенос / заимствование только между битами 3 и 4.

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

Нулевой бит - это удобный флаговый бит, который позволяет нам сравнивать два значения, чтобы увидеть, равны ли они / не равны. Если мы возьмем два числа и вычтем их, результат будет равен нулю, если они равны, и отличны от нуля, если не равны. Итак, чтобы сравнить два значения, чтобы увидеть, равны ли они / не равны, мы вычитаем их, затем читаем / проверяем нулевой бит, чтобы увидеть, является ли бит 1 или 0.Если нулевой бит = 1, результат вычитания равен нулю, что означает, что два значения равны. Если нулевой бит = 0, результат вычитания не равен нулю, что означает, что два значения не равны.

Бит переноса / заимствования - это удобный флаг, который позволяет нам сравнивать два значения, чтобы увидеть, больше или меньше одно значение другого. Пример… у нас есть два значения: VALUE1 и VALUE2. В коде выполняем эту операцию -

VALUE1 - VALUE2 = VALUE3

После выполнения операции вычитания мы считываем / проверяем высокое / низкое состояние бита переноса / заимствования.

Если VALUE2 больше VALUE1, результат вычитания будет отрицательным, что сбросит бит переноса / заимствования в 0. Если VALUE2 меньше VALUE1, результат вычитания будет положительным, что установит перенос / одолжить бит до 1.

Обратитесь к таблице данных, чтобы узнать, какой SFR содержит эти биты. На микроконтроллерах PIC биты флага ALU находятся в STATUS SFR. В MCS-51 они находятся в PSW SFR (слове состояния программы).

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

Когда микроконтроллер перезагружается, счетчик программ устанавливается на 0x0000. ЦП получит инструкцию, которая находится по адресу ПЗУ программы 0x0000. После получения этой инструкции счетчик программ автоматически увеличивается до значения 0x0001. Счетчик программ непрерывно автоматически увеличивается на значение 1, что заставляет ЦП последовательно обращаться к содержимому каждой ячейки регистра в программном ПЗУ.Это продолжается до тех пор, пока ЦП не выберет и не выполнит инструкцию, которая изменяет значение счетчика программ. Такими инструкциями, которые делают это, являются инструкции перехода (ajmp и ljmp на MCS-51, goto на PIC), вызовы подпрограмм (acall и lcall на MCS-51, вызов на PIC) и любые инструкции, которые добавляют или вычитают значение к или от счетчик программ.

Стек
Стек в микроконтроллере в основном используется во время вызовов подпрограмм и переходов к обработчику прерывания.Это буфер «Последний вошел - первым ушел», который используется для хранения адресов возврата. Во время вызова подпрограммы адрес текущего программного счетчика «помещается» в стек с добавлением к нему +1 смещения, затем программный счетчик изменяется на значение адреса, в котором находится вызываемая подпрограмма. Это заставляет счетчик программы переходить к коду подпрограммы для выполнения подпрограммы.

В конце подпрограммы будет инструкция «возврата» (возврат на MCS-51, возврат на PIC). После выполнения команды возврата стек «выталкивается», и последнее значение адреса ПЗУ, которое было помещено в стек, выталкивается из стека и возвращается обратно в счетчик программ.Это заставляет счетчик программ вернуться к инструкции, которая находится после инструкции, которая вызвала подпрограмму (отсюда необходимость смещения +1 в то время, когда адрес ПК помещается в стек), и выполнение программы продолжается с того места, где оно было остановлено. перед вызовом подпрограммы.

Некоторые микроконтроллеры имеют «программный стек» (MCS-51). Программный стек использует часть внутренней памяти микроконтроллера в качестве пространства стека. Другие микроконтроллеры имеют аппаратный стек (PIC).В аппаратном стеке стек представляет собой собственное выделенное пространство, отдельное от всех остальных пространств памяти кристалла.

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

Хорошим примером этого может быть резервное копирование аккумулятора и регистров PSW на MCS-51 во время выполнения подпрограммы обработчика прерывания -

Код (текст):

push ACC; резервное копирование аккумулятора в стек
push PSW; резервное копирование слова состояния программы в стек

; здесь выполнить код обработчика прерывания

pop PSW; восстановить слово состояния программы
pop ACC; восстановить аккумулятор
reti; вернуться к основному коду из прерывания

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

После выполнения кода обработчика прерывания PSW сначала извлекается из стека, затем аккумулятор извлекается из стека после него… в порядке, обратном тому, как они были вытолкнуты.

Типичный SFR
Типичный SFR настроен, как показано ниже.

Код (текст):

| ПОРТ 1 SFR |
———————————————————
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| P1.7 | P1.6 | P1.5 | P1.4 | P1.3 | P1.2 | P1.1 | P1.0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |

Это SFR защелки порта на микроконтроллере MCS-51 для параллельного порта 1. Каждый порт на MCS-51 является 8-битным параллельным портом, и каждый бит в SFR порта назначается каждому контакту порта. P1.0 будет контактом 0 порта 1, P1.1 будет контактом 1 порта 1, P1.2 будет контактом 2 порта 1 и т. Д. И т. Д.

Как показано, у нас есть все нули, записанные в каждый бит в SFR защелки порта 1.Это переведет все контакты порта 1 в состояние низкого уровня (0 вольт). Если бы мы записали 1 в любой из битов SFR порта, это установит контакт, связанный с позицией бита, в которую мы записываем «1», в высокое состояние (+ 5V).

Пример, давайте запишем значение 01010101 в SFR порта 1 -

Код (текст):

| ПОРТ 1 SFR |
———————————————————
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| P1.7 | P1.6 | P1.5 | P1.4 | P1.3 | P1.2 | P1.1 | P1.0 |
| 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |

Как показано, это переведет контакты P1.0, P1.2, P1.4 и P1.6 в состояние высокого уровня, а контакты P1.1, P1.3, P1.5 и P1.7 - в состояние низкого уровня.

Несколько слов о таблицах данных ... и почему они так важны
Не все микроконтроллеры созданы равными. Каждый из них разработан с использованием специального оборудования на кристалле. Все микроконтроллеры разных производителей имеют разную архитектуру.Вы обнаружите, что микроконтроллеры PIC сильно отличаются от микроконтроллеров MCS-51, так же как MCS-51 сильно отличается от, скажем, Motorola 65xx в отношении того, как реализованы SFR, как организована RAM данных, набор команд, конфигурационное слово, как параллельные порты работают и т.д. и т.п.

ЕДИНСТВЕННЫЙ способ точно узнать, как работать с микроконтроллером и его оборудованием, - это просмотреть его техническое описание. В таблице данных объясняется каждый SFR, каждая часть встроенного оборудования, абсолютные максимальные электрические характеристики, организация памяти программ / данных, как подключены параллельные порты и как они работают, сводка набора инструкций (для тех из вас, кто кодирует на ассемблере). язык) и т. д.Практически все, что вам, как программисту, необходимо знать о своем микроконтроллере, находится в его техническом описании.

Большинство из них находятся в свободном доступе в Интернете с помощью простого поиска в Google (я еще не нашел ни одного, которого нет). Заявление о том, что вы не смогли найти таблицу, не является приемлемым оправданием, когда дело доходит до этого. ЕДИНСТВЕННАЯ причина, по которой кто-либо откажется просмотреть таблицу, - это либо то, что он слишком ленив, либо он не понимает их, но не хочет, чтобы другие знали, что они этого не делают.Я скажу прямо сейчас ... на большинство вопросов форума о микроконтроллерах можно было бы ответить самостоятельно, если бы человек нашел время, чтобы найти ответ в таблице данных.

Таблицы данных являются обязательными. Без них вы не сможете написать собственный код.

Об авторе
Джон Уайлдер - внештатный инженер-электронщик и энтузиаст электроники более 20 лет. Он четыре года проработал в ВМС США в качестве специалиста по авиационной электронике.Джон также играет на гитаре с 13 лет и начал объединять электронику и музыку с 15 лет. Джон построил свой первый ламповый усилитель в 17 лет. «Музыкальная электроника», - говорит Джон, - его любовь и страсть.

Джон также является частым участником и страстным членом инженерного сообщества Electro-Tech-Online. В Electro-Tech-Online вы можете задавать вопросы и получать ответы от своих коллег-инженеров по всему, от микроконтроллеров, возобновляемых источников энергии и автомобильной электроники до моделирования схем и проектирования.Кроме того, существуют форумы для микроконтроллеров 8051/8951, AVR, ARM, Arduino, Oshonsoft Project, а также репозиторий кода, где участники обмениваются фрагментами кода.

Следуйте за Джоном в Twitter на @PICmcuguy.

.

Схема обхода препятствий роботом без микроконтроллера

В сообщении объясняется простая схема обхода препятствий роботом без микроконтроллера и без использования специальных схем или микросхем драйвера двигателя. Идея была запрошена г-ном Файиязом

Дизайн

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

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

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

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

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

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

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

Принципиальная схема

Теперь давайте попробуем разобраться в приведенной выше схеме с помощью следующего пояснения:

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

IC 555 настроен как ИК-передатчик и настроен на создание постоянной частоты 38 кГц, в то время как смежная транзисторная схема сконфигурирована как каскад приемника или каскад ИК-датчика.

Предположим, что это правый модуль, и предположим, что этот модуль первым обнаруживает препятствие на пути.

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

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

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

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

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

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

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

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

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

ИС датчика может быть стандартной TSOP17XX серии

Для получения дополнительной информации о вышеупомянутой ИС датчика вы можете узнать, как подключить TSOP1738 IC

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

Установка колес

Полную установку левого и правого модуля и соответствующие электрические соединения можно увидеть на рисунке ниже:

Обновление

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

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

Пример настройки можно визуализировать на следующем изображении:

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

О Swagatam

Я инженер-электронщик (dipIETE), любитель, изобретатель, разработчик схем / печатных плат, производитель.Я также являюсь основателем веб-сайта: https://www.homemade-circuits.com/, где я люблю делиться своими инновационными идеями и руководствами по схемам.
Если у вас есть какие-либо вопросы, связанные со схемами, вы можете взаимодействовать с ними через комментарии, я буду очень рад помочь!

.

Смотрите также