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

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

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

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

Добавлен: 23.11.2023

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

Скачиваний: 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

ЗАКЛЮЧЕНИЕ

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


Министерство образования и науки Российской Федерации

Федеральное государственное автономное образовательное учреждение высшего образования

«Российский государственный профессионально-педагогический университет»

РАЗРАБОТКА ЛАБОРАТОРНОГО СТЕНДА ПО ПРОГРАММИРОВАНИЮ

МИКРОКОНТРОЛЛЕРА STM

Выпускная квалификационная работа

по направлению подготовки 44.03.04 Профессиональное обучение (по отраслям) профилю подготовки «Энергетика»

профилизации «Энергохозяйство предприятий, организаций, учреждений и энергосберегающие технологии»

Идентификационный код ВКР: 150

Екатеринбург 2017

Министерство образования и науки Российской Федерации

Федеральное государственное автономное образовательное учреждение высшего образования

«Российский государственный профессионально-педагогический университет»

Институт инженерно-педагогического образования

Кафедра электрооборудования и энергоснабжения

К ЗАЩИТЕ ДОПУСКАЮ:

Заведующая кафедрой ЭС

__________ А.О. Прокубовская

«____»_______________2017 г.

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

РАЗРАБОТКА ЛАБОРАТОРНОГО СТЕНДА ПО ПРОГРАММИРОВАНИЮ

МИКРОКОНТРОЛЛЕРА STM

Исполнитель:

студент(ка) группы ЭС-402 _____________ А.Ю. Иванин

(подпись)

Руководитель:

ст. преподаватель кафедры ЭС _____________ А.А. Емельянов

(подпись)

Нормоконтролер:

ст. преподаватель кафедры ЭС _______________ Т.В. Лискова

(подпись)

Екатеринбург 2017

АННОТАЦИЯ

Выпускная квалификационная работа выполнена на 61 страницах, содержит 40 рисунков,10 таблиц, 26 источников литературы, а также 5 приложений на 39 страницах.

Ключевые слова: МИКРОКОНТРОЛЛЕР, ПРОГРАММИРОВАНИЕ, ЯЗЫК ПРОГРАММИРОВАНИЯ, ЛАБОРАТОРНЫЙ СТЕНД, ШИРОТНО – ИМПУЛЬСНАЯ МОДУЛЯЦИЯ.

Иванин А. Ю., Разработка лабораторного стенда по программированию микроконтроллера STM: выпускная квалификационная работа / А. Ю. Иванин; Рос. гос. проф. – пед. ун-т, Ин-т инж. – пед. образования, Каф. Электрооборудования и энергоснабжения. – Екатеринбург, 2017. – 60 с. Краткая характеристика содержания ВКР:

  1. Тема выпускной квалификационной работы «Разработка лабораторного стенда по программированию микроконтроллера STM». В работе рассмотрен процесс программирования микроконтроллеров STM32.

  2. Цель работы: разработать лабораторный стенд по программированию микроконтроллера STM32.

  3. В ходе выполнения выпускной квалификационной работы были рассмотрены: базовые понятия о микроконтроллерах, основные отличия микроконтроллеров фирмы STMicroelectronics – STM32 от микроконтроллеров другой фирмы, особенности программирования микроконтроллеров STM32. Был разработан лабораторный стенд, также был разработан комплекс лабораторных работ.

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


СОДЕРЖАНИЕ

ВВЕДЕНИЕ 6

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

1.1. Микроконтроллеры STM32 12

1.2. Особенности программирования микроконтроллеров STM32 14

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

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

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

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

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

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

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

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

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

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

ЗАКЛЮЧЕНИЕ 63

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

ПРИЛОЖЕНИЕ А ........................................... Ошибка! Закладка не определена. ПРИЛОЖЕНИЕ Б ............................................ Ошибка! Закладка не определена. ПРИЛОЖЕНИЕ В ........................................... Ошибка! Закладка не определена. ПРИЛОЖЕНИЕ Г ............................................

ВВЕДЕНИЕ


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

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

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

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

Актуальность темы обусловлена:

  • развитием микропроцессорной техники в качестве систем управления;

  • применением частотно-регулируемого электропривода во всех отраслях промышленности;

  • развитием полупроводниковой преобразовательной техники;

  • потребностью в высококвалифицированном техническом персонале;

  • необходимостью применения учебной техники в процессе подготовки студентов.

Объект исследования: микроконтроллер STM32.

Предмет исследования: лабораторный стенд по программированию микроконтроллера STM.

Цель: разработка лабораторного стенда по программированию микроконтроллера STM32.


Задачи:

  • провести анализ литературы по микроконтроллерам фирмы

STMicroelectronics;

  • провести обзор элементной базы и схемотехнических решений;

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

  • изготовить лабораторный стенд;

  • разработать комплекс лабораторных работ по программированию микроконтроллеров.

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


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


Рисунок 1 – Микроконтроллер фирмы STMicroelectronics


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

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

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

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


Рисунок 2 – Программатор фирмы STMicroelectronics


Для хранения редко-изменяющихся данных (и сохранения данных во время того как микроконтроллер отключен) используется память EEPROM. В некоторых микроконтроллерах данный тип памяти отсутствует, поэтому приходится эмулировать его программно.


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

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

Неполный список периферийных устройств, которые могут использоваться в микроконтроллерах, включает в себя:

  • универсальные цифровые порты, которые можно настраивать как на ввод, так и на вывод;

  • различные интерфейсы ввода-вывода, такие, как UART, I²C, SPI, CAN, USB, IEEE 1394, Ethernet;

  • аналого-цифровые и цифро-аналоговые преобразователи;

  • компараторы;

  • широтно-импульсные модуляторы (ШИМ-контроллер);

  • таймеры;

  • контроллеры бесколлекторных двигателей, в том числе шаговых;

  • контроллеры дисплеев и клавиатур;

  • радиочастотные приемники и передатчики;

  • массивы встроенной FLASH-памяти;

  • встроенные тактовый генератор и сторожевой таймер.

Для продолжения темы микроконтроллеров необходимо ввести ряд определений:

  1. Порты ввода – вывода (GPIO) – группы выводов микроконтроллеров, предназначенных для общения микроконтроллера с «внешним микром».

  2. UART, I2C, SPI, CAN, USB – различные интерфейсы ввода-вывода, предназначенные для передачи данных.

  3. АЦП – аналогово – цифровой преобразователь, предназначен для измерения значений входящих напряжений и преобразования их в цифровую информацию.

  4. ЦАП – цифро – аналоговый преобразователь, предназначен для преобразования входящего цифрового сигнала в выходящий аналоговый сигнал.

  5. Таймер – позволяет очень точно отмерять интервалы времени, генерировать выходной ШИМ – сигнал, подсчитывать период входного сигнала и т.д.

  6. Watchdog – сторожевой таймер, предназначен для контроля над зависанием системы.

  7. DMA – модуль прямого доступа к памяти, позволяет передавать данные между устройствами не используя ресурсы процессора.