Файл: Разработка лабораторного стенда по программированию микроконтроллера stm.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.11.2023
Просмотров: 239
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
1.БАЗОВЫЕ ПОНЯТИЯ О МИКРОКОНТРОЛЛЕРАХ
1.3.Основные сведения о широтно – импульсной модуляции
2.ОПИСАНИЕ ЛАБОРАТОРНОГО СТЕНДА
2.1.Описание среды программирования
2.2.Разработка комплекса лабораторных работ
2.3.Указания по выполнению лабораторной работы 1
2.4. Характеристика лабораторной работы 2
2.5. Характеристика лабораторной работы 3
2.6. Характеристика лабораторной работы 4
2.7. Характеристика лабораторной работы 5
2.6. Характеристика лабораторной работы 4
Тема «Программирование трехфазного генератора с синусоидальными
ШИМ – сигналами со сдвигом 120°»
Цель: программирование ШИМ – сигналов, сдвинутых на 120°.
Описание лабораторной работы:
В процессе выполнения данной лабораторной работы, обучающиеся научатся владеть технологией разработки программного обеспечения для микроконтроллеров STM32. Познакомятся с одним из методов формирования трехфазных синусоидальных ШИМ – сигналов, сдвинутых на 120°, узнают о таком периферийном устройстве как DMA – прямой доступ к памяти, также узнают, как использовать его чтобы получать выходные сигналы заданной формы. Данная лабораторная работа позволит обучающимся глубже понять принципы работы частотных преобразователей и формируемых в них ШИМ – сигналов.
Краткие теоретические сведения:
В основе данной лабораторной работы лежит принцип формирования синусоидальных ШИМ – сигналов, сдвинутых на определенных электрический угол. Таблицы для синусов можно рассчитать по формулам 2.
⎧ ???????? = ????∗????????????(????0????)2;????
???????? = ????∗???????????????? ; (2)
⎨ 2????
⎩???????? = ????∗???????????????? , где U* – относительное значение амплитуды напряжения.
Для расчета данных таблиц можно использовать любой расширенный калькулятор, например, можно воспользоваться средствами MS Excel.
Для передачи значений из массивов синусов в регистры сравнения таймера, используются каналы DMA. DMA – это прямой доступ к памяти, минуя процессор, то есть возможно передавать огромные массивы данных, при этом процессор будет «отдыхать». Это аппаратный модуль, которые располагается на системной шине и имеет доступ ко всей памяти и ко всем периферийным устройствам микроконтроллера.
Для того чтобы запустить DMA необходимо:
-
Включить модуль и канал DMA. -
Указать адрес источника и адрес получателя. -
Задать некоторые параметры передачи.
После этого необходимо только дать устройству DMA команду «Старт» и передача данных начнется. Независимо от объема данных эта операция происходит без участия процессора. У микроконтроллера STM32F103C8T6 в наличии имеется один 7 – канальный модуль DMA.
Возможны три направления передачи данных по DMA:
-
Периферия – память, для приема данных и складирование их в буфер. -
Память – периферия, для передачи данных из буфера. -
Память – память, копирование блока данных из одного участка памяти в другой.
Содержание и порядок выполнения работы:
Представлено в ПРИЛОЖЕНИИ В.
Задание: в соответствии с назначенным преподавателем вариантом, необходимо изменить значение поля TIM_Prescaler структуры TIM_TimeBaseInitTypeDef, на значение из таблицы 8, скомпилировать проект, загрузить рабочую программу в микроконтроллер, результат продемонстрировать.
Таблица 8 – значения для поля TIM_Prescaler
Вариант | 1 | 2 | 3 | 4 |
Значения | 5 | 10 | 15 | 20 |
Содержание отчёта:
-
Название и цель работы. -
Код с измененными параметрами. -
Компоновка элементов лабораторной установки, название входящих в нее элементов, в том числе основных узлов микроконтроллера. -
Выводы о проделанной работе. -
Подготовиться к устному опросу по лабораторной работе. Вопросы для самоконтроля:
-
Объясните, как в данном коде организован сдвиг сигналов на определенный электрический угол. -
Что такое DMA? -
Назовите направления передачи DMA. -
По каким формулам строятся таблицы для ШИМ – сигналов?
2.7. Характеристика лабораторной работы 5
Тема «Регулирование скважности сигнала при помощи аналогового потенциометра с настройкой «мертвого» времени (DeadTime)»
Цель: использовать АЦП (аналогово – цифровой преобразователь) для снятия данных с потенциометра для регулирования скважности сигнала.
Описание лабораторной работы:
В процессе выполнения данной лабораторной работы, обучающиеся научатся владеть технологией разработки программного обеспечения для микроконтроллеров STM32 с использованием аналоговых датчиков, в данном случае потенциометра. Обучающиеся также познакомятся с основами тактирования микроконтроллера и выбором множителя частоты, а также предделителей, это очень важная часть, так как тактирование является основой, от настройки тактирования зависит работа периферийных устройств. Также обучающиеся увидят зависимость мертвого времени от частоты тактирования. Данная работа дает глубокое понимание основных аспектов частотного – регулирования электропривода, который нашел свое применение во многих областях.
Краткие теоретические сведения:
Настройка тактирования всегда начинается с выбора кварцевого резонатора. По умолчанию контроллер тактируется от внутреннего кварцевого резонатора (HSI) на 8 МГц, эта частота не может быть изменена. Но микроконтроллер STM32F103C8T6 может работать на частоте до 72 МГЦ, поэтому на отладочной плате установлен внешний кварцевый резонатор (HSE) на 8МГц при инициализации которого, частоту можно изменить, умножив ее на некий коэффициент. PLL – множитель частоты, коэффициент на который умножается частота внешнего кварцевого резонатора. В данном случае максимально возможный коэффициент 9. Далее настраиваются делители частоты на шинах AHB, APB1, APB2.
Данные с аналоговых датчиков, в данном случае с потенциометра всегда снимаются с помощью АЦП. АЦП – аналогово – цифровой преобразователь, это устройство, которое преобразует входной аналоговый сигнал в выходной сигнал в дискретной (цифровой) форме. Выполнен на основе компаратора. Компаратор – устройство сравнения, электронная схема, принимающая на свои входы два аналоговых сигнала, сравнивает их и в результате выдается сигнал высшего уровня напряжения.
В микроконтроллере STM32F103C8T6 в наличии имеются два 12-ти разрядных АЦП. Данные с АЦП можно считывать в буфер при помощи DMA, что реализовано в данной работе. Также запуск АЦП можно организовать по триггеру, в качестве триггера, например, можно использовать таймер, то есть АЦП будет запускаться, когда таймер досчитает до определенного значения. Данное АЦП является 18-ти канальным, шестнадцать внешних каналов и два внутренних.
АЦП является одним из самых важных периферийных устройств микроконтроллера, так как природа вокруг нас не дискретна, а непрерывна, поэтому всевозможные датчики обычно выдают аналоговый сигнал и для перевода его в цифровой вид используется аналогово – цифровой преобразователь.
Содержание и порядок выполнения работы:
Представлено в ПРИЛОЖЕНИИ Г.
Задание: в соответствии с назначенным преподавателем вариантом необходимо изменить значение поля TIM_DeadTime структуры BDTR на значение из таблицы 9, скомпилировать полученный проект, загрузить рабочую программу в микроконтроллер и продемонстрировать результат.
Таблица 9 – Значения для поля TIM_DeadTime
Вариант | 1 | 2 | 3 | 4 |
Значение | 150 | 170 | 200 | 255 |
Содержание отчёта:
-
Название и цель работы. -
Код с измененными параметрами. -
Компоновка элементов лабораторной установки, название входящих в нее элементов, в том числе основных узлов микроконтроллера. -
Выводы о проделанной работе. -
Подготовиться к устному опросу по лабораторной работе. Вопросы для самоконтроля:
-
Что такое АЦП? -
Для чего используется PLL? -
Объясните в чем отличие внутреннего и внешнего кварцевого резонатора в микроконтроллере STM32? -
Какое максимальное значение множителя частоты может быть для микроконтроллера, используемого в лабораторной работе? -
Каким образом организовано снятие данных с потенциометра в данной лабораторной работе?
2.8. Характеристика лабораторной работы 6
Тема «Программирование синусоидального и пилообразного сигнала с помощью цифро – аналогового преобразователя (ЦАП)»
Цель: использовать цифро – аналоговый преобразователь (ЦАП) для генерации синусоидального и пилообразного сигнала.
Описание лабораторной работы:
В процессе выполнения данной лабораторной работы, обучающиеся научатся владеть технологией использования ЦАП для генерации аналоговых сигналов заданной формы. Познакомятся с особенностями настройки цифро – аналогового преобразователя, узнают об использовании ЦАП совместно с триггером (в данном случае с таймером), а также совместно с DMA. Краткие теоретические сведения:
ЦАП (DAC) – цифро – аналоговый преобразователь, устройство для преобразования входного дискретного (обычно двоичного) кода в аналоговый сигнал. ЦАП являются интерфейсом между дискретным цифровым миром и реальным аналоговым.
ЦАП в STM32F407VGT6 имеет следующие характеристики:
-
напряжение от 0 до 3.3В; -
аппаратная генерация шума и треугольных импульсов; -
два независимых канала; -
возможно переключатся между 8 и 12-ти разрядным режимами с выравниванием битов по левому или по правому краю.
ЦАП использует два вывода отладочной платы PA4 и PA5, именно эти выводы задействованы в данной лабораторной работе.
ЦАП в STM32 можно использовать как генератор псевдослучайных чисел, в таком случае на цифровом осциллографе можно будет наблюдать шум.
Также можно задавать амплитуду треугольных импульсов.
Синусоидальный сигнал аппаратно получить нельзя, поэтому рекомендуется использовать ЦАП совместно с DMA, для отправки значений синуса в регистр ЦАП. Также синусоидальный сигнал можно сгенерировать, используя прерывания и описать в обработчике прерывания запись значений массива синуса в регистр ЦАП [22].
Содержание и порядок выполнения работы:
Представлено в ПРИЛОЖЕНИИ Д.
Задание: в соответствии с назначенным преподавателем вариантом, необходимо изменить значение поля DAC_LFSRUnmask_TriangleAmplitudeв структуре ЦАП для генерации пилообразных сигналов на значение из таблицы 10,проект скомпилировать, загрузить рабочую программу в микроконтроллер. Результат работы продемонстрировать.
Таблица 10 – Значения для генерации пилообразного сигнала