Файл: Разработка лабораторного стенда по программированию микроконтроллера stm.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.11.2023
Просмотров: 245
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
1.БАЗОВЫЕ ПОНЯТИЯ О МИКРОКОНТРОЛЛЕРАХ
1.3.Основные сведения о широтно – импульсной модуляции
2.ОПИСАНИЕ ЛАБОРАТОРНОГО СТЕНДА
2.1.Описание среды программирования
2.2.Разработка комплекса лабораторных работ
2.3.Указания по выполнению лабораторной работы 1
2.4. Характеристика лабораторной работы 2
2.5. Характеристика лабораторной работы 3
2.6. Характеристика лабораторной работы 4
2.7. Характеристика лабораторной работы 5
GPIOC, второй аргумент это номер вывода, в данном случае это GPIO_Pin_13. После этого необходимо сбросить бит функцией GPIO_ResetBits(): функция имеет два аргумента, таких же как их предыдущая. Обе этих функции записываются в бесконечном цикле while(1). Полный код программы представлен на рисунке 14.
После этого программу необходимо скомпилировать, а затем загрузить в память микроконтроллера.
По такому принципу строятся все программы для микроконтроллеров STM32. Так же как был включен светодиод можно инициализировать любое периферийное устройство, входящее в состав микроконтроллера, используя стандартные библиотеки. Описание функций для любого другого периферийного устройства можно найти в заголовочных файлах с расширением «.h».
ШИМ (широтно – импульсная модуляция) – сигнал, который представляет собой последовательность прямоугольных импульсов, которые характеризуются периодом – T и длительностью «единицы» – d, в цифровом виде ШИМ представляет собой череду импульсов с двумя возможными значениями «единицей» и «нулем». ШИМ представлен на рисунке 15.
Отношение длительности «единицы» – d к периоду – T называется скважностью ШИМ и обозначается буквой S:
???? = ???? (1)
????
В зависимости от значения S, ШИМ принимает различный вид, виды сигналов приведены в таблице 4.
Таблица 4 – Виды сигналов при различной скважности
При S = 1, ШИМ представляет собой чистую логическую единицу. При S = 0, ШИМ представляет собой чистый логический ноль. Если S = 0.5, то ШИМ – сигнал представляет собой идущие через равные промежутки прямоугольники, такой сигнал называется – меандр. Эти значения представлены в качестве примера, могут существовать и другие значения, их диапазон лежит в пределах от 0 до 1.
В микроконтроллерах используется генерация ШИМ при помощи таймеров. На рисунке 16 представлена генерация ШИМ при помощи таймера [19].
Пилообразный сигнал формируется счетчиком таймера. Как видно из рисунка 16, как только счетчик начинает считать в ШИМ – сигнале выставляется единица, когда счетчик досчитывает до нужного значения единица сбрасывается в ноль и так далее. Если менять значение, до
которого должен досчитать счетчик, то будет изменяться скважность ШИМ, таким образом, происходит формирование ШИМ – сигнала с помощью таймера.
Для проведения лабораторных работ был разработан учебный лабораторный стенд с использованием отладочных плат на базе микроконтроллеров STM32. Внешний вид стенда представлен на рисунке 17.
Учебный лабораторный стенд предназначен для исследования возможностей микроконтроллеров STM32, изучения принципов программирования ШИМ – сигналов.
Компоненты лабораторного стенда:
Гнезда для подключения цифрового осциллографа размещены на оргстекле.
Используется в лабораторной работе № 6.
Для данного проекта была использована среда программирования CooCox CoIDE. Это свободная интегрированная среда разработки, ориентированная на микроконтроллеры на базе ARM Cortex. По сути CoIDE является текстовым редактором для кода, компилятор для языка Си (GCC for ARM) необходимо устанавливать и подключать отдельно. Основным преимуществом данной среды разработки является то, что благодаря специальному хранилищу, при подключенном интернете, пользователь имеет доступ ко множеству библиотек и примеров. Общий вид окна среды программирования представлен на рисунке 20.
Для работы с CooCox CoIDE необходимо ознакомиться с панелью ин-
струментов (рисунок 21).
Основные инструменты, с которыми работает пользователь:
– создать новый проект (New project);
– создать новый файл (New file);
– сохранить проект (Save);
– собрать проект, скомпилировать (Build);
– начать отладку устройства (Start Debug);
– загрузка кода в Flash – память (Download Code To Flash);
– репозиторий, хранилище, где находятся подключаемые библиотеки (Repository).
Основное пространство окна занимает текстовый редактор кода (рисунок 22), в нем пользователь набирает и редактирует свои коды. В текстовом редакторе присутствует указание на ошибки, если код набран неверно, появляется надпись об этом. Также имеется очень удобная система автодополнения, которая, при написании некоторой последовательности символов, предлагает разработчику дополнить текст чтобы получить необходимые функции в программировании.
После этого программу необходимо скомпилировать, а затем загрузить в память микроконтроллера.
По такому принципу строятся все программы для микроконтроллеров STM32. Так же как был включен светодиод можно инициализировать любое периферийное устройство, входящее в состав микроконтроллера, используя стандартные библиотеки. Описание функций для любого другого периферийного устройства можно найти в заголовочных файлах с расширением «.h».
Рисунок 14 – Полный код программы для включения светодиода
1.3.Основные сведения о широтно – импульсной модуляции
ШИМ (широтно – импульсная модуляция) – сигнал, который представляет собой последовательность прямоугольных импульсов, которые характеризуются периодом – T и длительностью «единицы» – d, в цифровом виде ШИМ представляет собой череду импульсов с двумя возможными значениями «единицей» и «нулем». ШИМ представлен на рисунке 15.
Рисунок 15 – ШИМ
Отношение длительности «единицы» – d к периоду – T называется скважностью ШИМ и обозначается буквой S:
???? = ???? (1)
????
В зависимости от значения S, ШИМ принимает различный вид, виды сигналов приведены в таблице 4.
Таблица 4 – Виды сигналов при различной скважности
Скважность | Вид сигнала |
1 | |
0 | |
0.5 | |
При S = 1, ШИМ представляет собой чистую логическую единицу. При S = 0, ШИМ представляет собой чистый логический ноль. Если S = 0.5, то ШИМ – сигнал представляет собой идущие через равные промежутки прямоугольники, такой сигнал называется – меандр. Эти значения представлены в качестве примера, могут существовать и другие значения, их диапазон лежит в пределах от 0 до 1.
В микроконтроллерах используется генерация ШИМ при помощи таймеров. На рисунке 16 представлена генерация ШИМ при помощи таймера [19].
Рисунок 16 – Генерация ШИМ при помощи таймера
Пилообразный сигнал формируется счетчиком таймера. Как видно из рисунка 16, как только счетчик начинает считать в ШИМ – сигнале выставляется единица, когда счетчик досчитывает до нужного значения единица сбрасывается в ноль и так далее. Если менять значение, до
которого должен досчитать счетчик, то будет изменяться скважность ШИМ, таким образом, происходит формирование ШИМ – сигнала с помощью таймера.
2.ОПИСАНИЕ ЛАБОРАТОРНОГО СТЕНДА
Для проведения лабораторных работ был разработан учебный лабораторный стенд с использованием отладочных плат на базе микроконтроллеров STM32. Внешний вид стенда представлен на рисунке 17.
Рисунок 17 – Лабораторный стенд
Учебный лабораторный стенд предназначен для исследования возможностей микроконтроллеров STM32, изучения принципов программирования ШИМ – сигналов.
Компоненты лабораторного стенда:
-
Фрагмент лабораторного стенда по изучению программирования синусоидальных ШИМ – сигналов, сдвинутых на 90°. Фрагмент выполнен в виде макетной платы без пайки, с установленной на ней отладочной платой на базе микроконтроллера STM32F103C8T6. Также к стенду на металлических стойках прикреплено оргстекло, на нем расположены гнезда для подключения цифрового осциллографа. Используется в лабораторной работе № 1. -
Фрагмент лабораторного стенда по изучению программирования управляющих сигналов транзисторной стойки с генерацией мертвого времени (DeadTime). Так же, как и предыдущий, данный фрагмент выполнен в виде макетной платы без пайки, с установленной на ней отладочной платой на базе микроконтроллера STM32F103C8T6. Также к стенду на металлических стойках прикреплено оргстекло, на нем расположены гнезда для подключения цифрового осциллографа. Используется в лабораторной работе № 2. -
Фрагмент лабораторного стенда по изучению программирования регулирования скважности ШИМ – сигнала с помощью кнопки. Данный фрагмент выполнен в виде макетной платы без пайки, с установленной на ней отладочной платой на базе микроконтроллера STM32F103C8T6, помимо микроконтроллера на макетной плате установлена кнопка при нажатии на которую изменяется выходной сигнал, а также установлен светодиод, который наглядно показывает изменение скважности импульса. Также к стенду на металлических стойках прикреплено оргстекло, на нем расположены гнезда для подключения цифрового осциллографа. Используется в лабораторной работе № 3. -
Фрагмент лабораторного стенда по изучению программирования трехфазных синусоидальных ШИМ – сигналов, сдвинутых на 120°. Выполнен в виде макетной платы без пайки, с установленной на ней отладочной платой на базе микроконтроллера STM32F103C8T6. Также к стенду на металлических стойках прикреплено оргстекло, на нем расположены гнезда для подключения цифрового осциллографа. Используется в лабораторной работе № 4. -
Фрагмент лабораторного стенда по изучению программирования регулирования ШИМ – сигнала с помощью потенциометра с генерацией мертвого времени (DeadTime). Фрагмент выполнен в виде макетной платы без пайки, с установленной на ней отладочной платой на базе микроконтроллера STM32F103C8T6, помимо микроконтроллера на макетной плате закреплен потенциометр при вращении которого изменяется скважность выходных импульсов. Также к стенду на металлических стойках прикреплено оргстекло, на нем расположены гнезда для подключения цифрового осциллографа. Используется в лабораторной работе № 5. -
Фрагмент лабораторного стенда по изучению программирования синусоидального и пилообразного сигналов. В данном фрагменте используется отладочная плата STM32F4 – DISCOVERY (рисунок 18) на базе микроконтроллера STM32F407VGT6. Плата размещена без использования макетной платы.
Гнезда для подключения цифрового осциллографа размещены на оргстекле.
Используется в лабораторной работе № 6.
Рисунок 18 – Отладочная плата STM32F4 – DISCOVERY
-
Программатор ST – LINK/V2. Используется для загрузки рабочего кода в микроконтроллеры, может быть подключен к любому из микроконтроллеров, расположенных на стенде. Также может быть использован для отладки программ. -
Логический анализатор. для того чтобы снимать выходные сигналы с выводов плат, на лабораторном стенде расположены два 8 – ми канальных логических анализатора Saleae logic (рисунок 19). Логический анализатор — это электронное устройство, способное записывать и отображать последовательность цифровых сигналов, с помощью специализированного программного обеспечения для персонального компьютера возможно проводить анализ цифровых сигналов, поступающих с выводов микроконтроллера. К логическому анализатору возможно подключать одновременно восемь выводов контроллера.
Рисунок 19 – Логический анализатор Saleae logic
2.1.Описание среды программирования
Для данного проекта была использована среда программирования CooCox CoIDE. Это свободная интегрированная среда разработки, ориентированная на микроконтроллеры на базе ARM Cortex. По сути CoIDE является текстовым редактором для кода, компилятор для языка Си (GCC for ARM) необходимо устанавливать и подключать отдельно. Основным преимуществом данной среды разработки является то, что благодаря специальному хранилищу, при подключенном интернете, пользователь имеет доступ ко множеству библиотек и примеров. Общий вид окна среды программирования представлен на рисунке 20.
Рисунок 20 – Общий вид CooCox CoIDE
Для работы с CooCox CoIDE необходимо ознакомиться с панелью ин-
струментов (рисунок 21).
Рисунок 21 – Панель инструментов
Основные инструменты, с которыми работает пользователь:
– создать новый проект (New project);
– создать новый файл (New file);
– сохранить проект (Save);
– собрать проект, скомпилировать (Build);
– начать отладку устройства (Start Debug);
– загрузка кода в Flash – память (Download Code To Flash);
– репозиторий, хранилище, где находятся подключаемые библиотеки (Repository).
Основное пространство окна занимает текстовый редактор кода (рисунок 22), в нем пользователь набирает и редактирует свои коды. В текстовом редакторе присутствует указание на ошибки, если код набран неверно, появляется надпись об этом. Также имеется очень удобная система автодополнения, которая, при написании некоторой последовательности символов, предлагает разработчику дополнить текст чтобы получить необходимые функции в программировании.