лабораторная работа отчет. Генерация шим на контроллерах stm32 с использованием Hal по дисциплине цифровая и микропроцессорная техника в управлении
Скачать 3.02 Mb.
|
МИНОБРНАУКИ РОССИИ Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В.И. Ульянова (Ленина) Кафедра РАПС отчет по лабораторной работе №4 Тема: Генерация ШИМ на контроллерах stm32 с использованием Hal по дисциплине «ЦИФРОВАЯ И МИКРОПРОЦЕССОРНАЯ ТЕХНИКА В УПРАВЛЕНИИ»
Санкт-Петербург 2018 Цель: Разработка ШИМ для микроконтроллера STM32. Создать проект, который будет поочередно зажигать и гасить 2 светодиода постепенно увеличивая и уменьшая их яркость. 1) Описание среды STM32CubeMX STM32CubeMX позволяет нам создавать проекты для STM32 и редактировать многие их свойства по мере надобности. В данном случае мы будем работать с платой STM32F407VET6 Нам потребуется TIM3 В данной вкладке можно настроить амплитуду сигнала Далее нам нужно настроить подключённый ранее таймер Задаем стандартные настройки проекта 2) Описание среды SystemWorkbench for STM32 Данная среда предназначена для проекта, созданного в STM32CubeMX, она позволяет нам написать программу, отладить ее и отгрузить на контроллер. Для правильно работы программы нам необходимо выставить правильные параметры в Debug Configurations и Run Configurations 3) Описание утилиты stm32 st-link utility Данная программа предназначена для отгрузки .bin файла напрямую на плату 4) Плата STM32F407VET6 На данном рисунке изображена сама плата STM32F407VET6 Схема платы На данном рисунке изображена схема платы, расположенной на компьютере C:\Users\ STM32F407VET6 Microcontroller MCU 32-bit STM32 ARM Cortex M4F RISC 512KB Flash 2.5V/3.3V 100-Pin LQFP Tray Технические параметры Серия stm32 f4 Ядро ARM Cortex-M4 Ширина шины данных 32-бит Тактовая частота 168 мгц Количество входов/выходов 82 Объем памяти программ 512 кбайт(512k x 8) Тип памяти программ flash Объем RAM 192k x 8 Наличие АЦП/ЦАП ацп 16x12b/цап 2x12b Встроенные интерфейсы can, eth, i2c, irda, lin, spi, uart, usbotg Встроенная периферия brown-outdetect/reset, dma, i2s, lcd, por, pwm, wd Напряжение питания 1.8…3.6 в Рабочая температура -40…+85c Корпус lqfp-100 5) Программатор STM ST-LINK/V2 ST-LINK/V2 – внутрисхемный программатор/отладчик для микроконтроллеров серии STM8 и STM32 производства фирмы STMicroelectronics. Отладчик подключается к отладочным платам посредством стандартного JTAG/SWD интерфейса (микроконтроллеры на базе ядра STM32) или посредством SWIM-интерфейса (для микроконтроллеров семейства STM8). Особенности JTAG-программатора: • программирование Flash-микроконтроллеров серий STM8 и STM32; • использование стандартного ARM-совместимого JTAG-разъема для STM32; • поддержка JTAG интерфейсом целевого напряжения 1,65 – 3,6 В; • поддержка всех возможностей SWIM интерфейса: режимы пониженной и повышенной скорости, подключение по стандарту ERNI, штыревой разъем с шагом 2,54 мм, поддержка целевого напряжения от 1,65 В до 5,5 В; • для внутрисхемной отладки микроконтроллеров семейства STM8 используется ST Visual Develop – STVD (версии 4.1.0 или более поздней); • для внутрисхемного программирования микроконтроллеров семейства STM8 используется ST Visual Program – STVP (версии 3.1.0 или более поздней); • для программирования и отладки микроконтроллеров семейства STM32 ST-LINK/V2 может использовать следующие приложения: Atollic toolset TrueSTUDIO (не ниже версии 1.0), IAR toolset EWARM (не ниже версии 5.30), Keil toolset ARM-MDK (не ниже версии 3.3) и TASKING; • поддержка режима самообновления (DFU); • USB Full Speed 2.0 интерфейс для подключения к ПК; • отсутствие необходимости во внешнем питании эмулятора – питание от USB-порта; • напряжение питания +5В. 6) Правильное подключение ST_LINK32 V2 к плате STM32F407ZET6 Для правильного подключения нам нужно воспользоваться схемой, на которой будет показано какой вывод для чего предназначен
8) Программная часть Далее представлена часть программы, в которую были внесены изменения Далее представлена часть программы Активируем необходимые нам каналы /* USER CODE BEGIN 2 */ HAL_TIM_PWM_Start (&htim3, TIM_CHANNEL_1); HAL_TIM_PWM_Start (&htim3, TIM_CHANNEL_2); /* USER CODE END 2 */ Прописываем алгоритм с которым будет зажинаться и гаснуть светодиод while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ for(i=0;i<=655336;i++) { TIM3->CCR1=i; TIM3->CCR2=655336-i; } HAL_Delay(100); for(i=655336;i>=0;i--) { TIM3->CCR1=i; TIM3->CCR2=655336-i; } HAL_Delay(100); } /* USER CODE END 3 */ 10) Вывод Современные микроконтроллеры, включая предлагаемое компанией STMicroelectronics семейство STM32, обладают высочайшей производительностью и расширенными функциональными возможностями. Они позволяют создавать широкий спектр разнообразных устройств и встраиваемых систем. Однако их освоение даже с учетом программ STM32CubeMX и System Workbench for STM32 вызывает определенные затруднения и требует для этого серьезных временных ресурсов. Также нами был изучен программный процесс создания ШИМ для данной платы. |