Файл: Разработка лабораторного стенда по программированию микроконтроллера stm.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.11.2023

Просмотров: 247

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1.БАЗОВЫЕ ПОНЯТИЯ О МИКРОКОНТРОЛЛЕРАХ

1.1.Микроконтроллеры STM32 В данной разработке лабораторного стенда используются микроконтроллеры STM32. Выбор пал именно на эти контроллеры из-за наличия в них интегрированной периферии – расширенных таймеров, которые позволяют формировать ШИМ – сигнал для управления 3-фазными двигателями, а именно такой ШИМ является целью исследований в лабораторных работах. Микроконтроллеры STM32 выполнены на базе ядра ARM Cortex. На первый взгляд разница между микроконтроллерами STM32 и микроконтроллерами другой фирмы не видна, набор встроенных УВВ (устройств ввода-вывода) такие как АЦП, таймеры общего назначения, I2C, SPI, CAN, USB и часы реального времени имеют и самые обыкновенные микроконтроллеры. Но если рассматривать каждое из этих УВВ более детально станет очевидно, что в STM32 они устроены гораздо сложнее. Например, АЦП – аналогово – цифровой преобразователь имеет разрядность в 12 бит, а также имеет встроенный датчик температуры и поддерживает несколько режимов преобразования входных данных. Таймеры оснащены блоками захвата и сравнения и могут быть использованы как отдельно, так и синхронно, что позволяет создавать большие массивы таймеров. В STM32, как было сказано ранее, имеются, так называемые, расширенные таймеры (advanced timers), их используют для управления электродвигателями. Для этого у них предусмотрено шесть комплементарных ШИМ-выводов с программируемым мертвым временем (dead-time) [20]. В отличие от других микроконтроллеров в STM32 предусмотрен модуль DMA – прямой доступ к памяти, каждый канал данного модуля может быть использован для передачи данных между регистрами любого из УВВ и запоминающими устройствами. Еще одним плюсом микроконтроллеров STM32 является сочетание характеристик малого энергопотребления и довольно высокой производительности. Они способны работать всего лишь от 2В-ого источника питания на тактовой частоте 72Мгц и потреблять в активном состоянии всего лишь 36мА, если же использовать поддерживаемые ядром Cortex экономные режимы работы, то можно снизить энергопотребление до ничтожных 2мА. За безопасность в данном типе микроконтроллеров отвечают два сторожевых таймера (watchdog), которые позволяют в случае ошибки исполнения программы перезагрузить микроконтроллер автоматически и продолжить выполнение. При разработке лабораторного стенда использовались микроконтроллеры STM32F103C8T6 (рисунок 1) и STM32F407VGT6 (рисунок 3). Рисунок 3 – Микроконтроллер STM32F407VGT6 Микроконтроллер STM32F103C8T6 имеет 64Кб Flash – памяти и тактовую частоту ядра 72МГц. Выполнен на базе процессора ARM Cortex M3 и имеет 32-х битную архитектуру. Имеет в наличии один расширенный таймер TIM1 с помощью которого можно генерировать 3-х фазный ШИМ сигнал. Микроконтроллер STM32F404VGT6 имеет 1Мб Flash- памяти и тактовую частоту ядра 192Мгц. В отличие от предыдущего STM32F4VGT6 выполнен на базе процессора ARM Cortex M4, который так же имеет 32-х битную архитектуру. В наличие имеется уже два расширенных таймера, а также двухканальный ЦАП, который будет использоваться в исследованиях. 1.2.Особенности программирования микроконтроллеров STM32 Программирование микроконтроллеров STM32 сводится к написанию алгоритма программы на языке программирования и записи исполняемой программы в память контроллера. Для написания программ будет использоваться язык C (Си). C (Си) – компилируемый статически типизированный язык программирования общего назначения, разработанный в 1969—1973 годах сотрудником Bell Labs Деннисом Ритчи как развитие языка Би. Вначале код пишется на понятном для человека языке в среде программирования IDE, затем с помощью компилятора переводится в, так называемый, машинный код и записывается с помощью программатора в память микроконтроллера. Для программирования STM32 на языке C существует множество платных и бесплатных сред разработок. Также существуют компиляторы для различных языков. Но в данной разработке используется язык программирования Си, следовательно, и компилятор будет использоваться для этого языка. Для того чтобы научиться разрабатывать программное обеспечение для микроконтроллеров, которые будут использованы в лабораторных работах, необходимо научиться общаться с ними на одном языке [17]. Комментарии Комментарии необходимы для пояснения кода программы и не являются частью кода. Комментарии бывают многострочные и однострочные. Однострочные и многострочные комментарии подробнее рассмотрены в таблице 1. Таблица 1 – Виды комментариев

1.3.Основные сведения о широтно – импульсной модуляции

2.ОПИСАНИЕ ЛАБОРАТОРНОГО СТЕНДА

2.1.Описание среды программирования

2.2.Разработка комплекса лабораторных работ

2.3.Указания по выполнению лабораторной работы 1

2.4. Характеристика лабораторной работы 2

2.5. Характеристика лабораторной работы 3

2.6. Характеристика лабораторной работы 4

2.7. Характеристика лабораторной работы 5

2.8. Характеристика лабораторной работы 6

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ



Вариант

1

2

Значение

DAC_TriangleAmplitude_15

DAC_TriangleAmplitude_31

Вариант

3

4

Значение

DAC_TriangleAmplitude_127

DAC_TriangleAmplitude_511



Содержание отчёта:

  1. Название и цель работы.

  2. Код с измененными параметрами.

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

  4. Выводы о проделанной работе.

  5. Подготовиться к устному опросу по лабораторной работе. Вопросы для самоконтроля:

  1. Что такое ЦАП?

  2. Какую разрядность имеет ЦАП в STM32F407VGT6?

  3. Что такое триггер?

  4. Каким образом в данном коде реализована генерация синусоидального сигнала?


ЗАКЛЮЧЕНИЕ


Результатом данной выпускной квалификационной работы стало создание учебного лабораторного стенда по программированию микроконтроллеров STM32.

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

Результат проделанной работы можно разделить на три крупных этапа:

теоретический, конструктивный и методический.

На первом этапе были рассмотрены базовые сведения о микроконтроллерах, также было сказано почему в данной разработке участвует именно микроконтроллеры фирмы STMicroelectronics. Было проведено знакомство с особенностями данных микроконтроллеров, сказано об их основных отличиях от микроконтроллеров других фирм. Также один подраздел посвящен основам программирования микроконтроллеров STM32. Рассмотрен способ генерации ШИМ – сигналов с помощью таймеров, которые являются часть микроконтроллеров.

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


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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ


  1. Анучин А.С. Системы управления электроприводов: учебник для вузов. – Москва: Издательский дом МЭИ, 2015. – 373. с.: ил.

  2. Васильев А. С., Основы программирования микроконтроллеров. – Санкт – Петербург: Университет ИТМО, 2016. – 95 с.

  3. Водовозов А.М., Микроконтроллеры для систем автоматики: учебное пособие/ А. М. Водовозов. Изд. 3-е доп. и перераб. – Москва.: ИнфраИнженерия, 2016. – 164 с.: ил.; табл.

  4. Гусев В.Г. Электроника и микропроцессорная техника: учебник. – 6-е издание – Москва: КНОРУС, 2013. – 800 с.

  5. Дастин Э. Внедрение, управление и автоматизация / Э. Дастин, Д. Рэшка, Д. Пол; Пер. с англ. М. Павлов. – Москва: Лори, 2013. - 567 c.

  6. Джозеф Ю., Ядро Cortex - M3 компании ARM. Полное руководство/ Джозеф Ю; пер. с англ. А. В. Евстифеева. – М.: Додэка-XXI, 2012. – 552с.: ил.

  7. Клеменс Б. Язык С в XXI веке/пер. с английского А. А. Слинкина. –

Москва.: ДМК Пресс, 2015. – 365 с.: ил.

  1. Кузин, Александр Владимирович, Микропроцессорная техника: учебник: для студентов образовательных учреждений среднего профессионального образования, обучающихся по группам специальностей "Информатика и вычислительная техника", "Электротехника" / А. В. Кузин, М. А. Жаворонков. - 7е изд., стер. - Москва: Академия, 2013. – 303 с.

  2. Магда Ю. С., Программирование и отладка С/С++ приложений для микроконтроллеров ARM. – Москва.: ДМК Пресс, 2012. – 168 с.: ил.

  3. Новиков В.А., Электропривод в современных технологиях. Учебник для студентов вузов. Москва: Академия, 2014 – 480 с.

  4. Онищенко Г.Б. Электрический привод: учебник для студ. высш. учеб.

заведений / Г. Б. Онищенко. – Москва: Издательский центр «Академия», 2013. – 288 с.

  1. Огородников И.Н. Микропроцессорная техника: введение в Cortex-

M3: учеб. пособие/ И.Н. Огородников. – Екатеринбург: изд-во Урал. Ун-та, 2015. – 116 с.

  1. Рюмик С.М. 1000 и одна микроконтроллерная схема: энциклопедия. – Москва: Додека XXI, 2015. – 356 с.

  2. Страуструп Б. Язык программирования C++, Специальное издание, Пер. с англ. – М.: Издательство Бином, 2015 г. – 1136 с.: ил.

  3. Торгаев С.Н., Основы микропроцессорной техники: микроконтроллеры STM8S: учебное пособие/С.Н. Торгаев, И.С. Мусоров, Д.С. Чертихина и др.; Томский политехнический университет. – Томск: Изд-во Томского политехничекого университета, 2014. – 130 с.

  4. Федеральный государственный образовательный стандарт высшего образования по направлению подготовки 44.03.04 Профессиональное обучение (по отраслям), утвержденный Приказом Министерства образования и науки Российской Федерации от 01 октября 2015 г. №1085.

  5. ARM – это просто [Электрон. ресурс]: научная статья: СМИ Сайт –


Паяльник «cxem.net», 1999 – 2017. – Режим па: http://cxem.net/mc/mc131.php, свободный. – Загл. с экрана.

  1. Таймеры общего назначения и продвинутые [Электрон. ресурс]: ин-

тернет – урок: RoboCraft, 2009 – 2017. – Режим доступа: http://robocraft.ru/blog/ARM/739.html, свободный. – Загл. с экрана.

  1. Генерация ШИМ в STM32 [Электрон. ресурс]: интернет – урок:

easystm32, 2012. – Режим доступа: http://easystm32.ru/for-beginners/35-pwm-instm32, свободный. – Загл. с экрана.

  1. Brown G., Discovering The STM32 Microcontroller: work is covered by the Creative Commons Attibution-NonCommercial- ShareAlike 3.0 Unported (CC BY-NC-SA 3.0) license, 2013.

  2. Datasheet STM32F103x8, STM32F103xB, DocID13587 Rev 17, 2015

  3. Reay D., Digital signal processing using the ARM Cortex – M4: Published by John Wiley & Sons, Inc., Hoboken, New Jersey Published simultaneously in Canada, 2016.

  4. Reference manual, STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and STM32F107xx advanced ARM® -based 32-bit MCUs, RM0008, 2015.

  5. Martin T., The Designer’s Guide to the Cortex – M: The Boulevard, Langford Lane, Kidlington, Oxford, OX5 1GB 225 Wyman Street, Waltham, MA 02451, USA, 2013.

  6. Noviello C., Mastering STM32, a step-by-step guide to the most complete ARM Cortex – M platform, using a free and powerful development environment based on Eclipse and GCC, 2015 – 2016.

  7. Yiu J., The Definitive Guide to ARM Cortex – M0 and Cortex – M0+ Processors: The Boulevard, Langford Lane, Kidlington, Oxford, OX5 1GB 225 Wyman Street, Waltham, MA 02451, USA, 2015.