yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
STM32-BoardCar📖
0. Get started quickly
  • 0.ReadMe
  • 1. Installation Instructions
  • 2. Version configuration
  • 3. Smart car installation video
  • 4. Precautions for use
1. Introduction to STM32 development board
  • 1. Learn about STM32
  • 2. Introduction to STM32 development board
  • 3. Development board pin assignment
  • 4. Introduction to HAL library and LL library
2. Setting up and using the development environment
  • 1. Common development tools
  • 2. STM32CubeMX Install - Use
  • 3. STM32CubeIDE Install - Use
  • 4. Common Driver Installation
  • 5. Program download and simulation
  • 6. Engineering experience and migration
3. Development board basic tutorial
  • 1. RGB searchlight (GPIO)
  • 2. Buzzer control (GPIO)
  • 3. Button control (EXTI)
  • 4. Serial communication (UASRT)
  • 5. Voltage detection (ADC)
  • 6. Internal temperature sensor(ADC)
  • 7. Independent watchdog(IWDG)
  • 8. Window watchdog(WWDG)
  • 9. Basic timer (TIM6)
  • 10. Universal Timer (TIM3)
  • 11. Advanced timers (TIM1)
  • 12. I2C Communication (IIC)
  • 13. Off-chip Flash (SPI)
  • 14. On-chip Flash (Flash)
  • 15. DMA:USART
  • 16. DMA:SPI
  • 17. DMA:I2C
  • 18. USB communication
  • 19. USB analog U disk
  • 20. FreeRTOS
4. Car expansion tutorial
  • 1. Servo control
  • 2. Basic use of ultrasonic steering gear gimbal
  • 3. Motor control
  • 4. OLED display light sensitivity value
  • 5. Infrared sensor
  • 6. Four-way tracking module
  • 7. Infrared remote control
  • 8. Ultrasonic ranging
  • 9. PS2 controller test
  • 10.K230 Vision Module
  • 11.AI voice interaction integration module
5. Robot car tutorials
  • 1. Car line patrol
  • 2. Ultrasonic follow
  • 3. Ultrasonic obstacle avoidance
  • 4. Ultrasonic obstacle avoidance (servo gimbal version)
  • 5. Infrared sensor obstacle avoidance
  • 6. Infrared remote control
  • 7. PS2 handle remote control
  • 8.K230 face tracking on PTZ
  • 9.K230 color tracking
  • 10.K230 Color Line Patrol
  • 11.K230 QR code command
  • 12.K230 machine code tracking
  • 13.K230 road sign indication action (voice)
  • 14.K230 color response (voice)
  • 15.K230 gesture control (voice)
  • 16.K230 Rock-Paper-Scissors Game (Voice)
6. Operation video
  • 1-How to install STM32CubeIDE software
  • 2-How to create Demo project
  • 3-How to download code into STM32 robot car
  • 4-How to open and compile a code file for STM32
  • 5-About IR control and Charge battery
Download
  • Code
  • SCH
  • Software File
  • STM32 Chip DataSheet
  • Installation manual
Download ZIP

Welcome to STM32-BoardCar repository

10. Universal Timer (TIM3)

Universal timers

Universal timers1、software-hardware2、Brief principle2.1、Hardware schematic diagram2.2、Physical connection diagram2.3、Principle of control3、Engineering configuration3.1、Notes3.2、Pin configuration4、Main functionFunction analysis5、Experimental phenomenon

This tutorial demonstrates how to control an onboard RGB breathing light on a development board using a Universal Timer (TIM3) .

1、software-hardware

  • STM32F103CubeIDE

  • STM32 robot extension board

    TIM: Chip internal peripherals

    RGB: Onboard

  • Type-C cable or ST-Link

    Download or simulate the program of the development board

2、Brief principle

2.1、Hardware schematic diagram

image-20231122170655624

2.2、Physical connection diagram

image-20231122171109595

2.3、Principle of control

By changing the duty cycle of the PWM signal, the Angle of rotation of the servo is controlled

  • PWM(Pulse Width Modulation)

PWM, short for Pulse width modulation, is a technique that controls the level by adjusting the pulse width of a signal.

Period:the duration of a complete PWM waveform;

Duty cycle:The ratio of the duration of the high level to the cycle time;

Frequency:The inverse of the period is called frequency, which is the number of PWM cycles generated per second;

  • Universal timers

The timing counting function of TIM3 on the STM32F103ZET6 development board is used

  • The Basics
Timer typesUniversal timers
The timer nameTIM2、TIM3、TIM4、TIM5
Number of counter bits16
Counting modeIncrease/decrease/center alignment
Predivision coefficient1-65536
Generating DMA requestsYes
Capture/compare channels4
Complementary outputNo
Clock frequency72MHz(max)
Mount busAPB1

Time base cell

registerFunction
The counter register(TIMx_CNT)The current value of the counter
Predivider register(TIMx_PSC)Set frequency division coefficient (1-65536)
Automatically reload registers(TIMx_ARR)The counter counts the boundary and the overloaded value

Timing formula

T(s)=(ARR+1)∗(PSC+1)TIM_CLK(Hz)
parametermeaning
T(s)Timing time in seconds
ARRAutomatically reload the value
PSCPredivision coefficient
TIM_CLKThe timer ticks in Hz

Timing time for the project: 10us

T(s)=(ARR+1)∗(PSC+1)TIM_CLK(Hz)=(9+1)∗(71+1)72000000(Hz)=0.00001s=10us

3、Engineering configuration

Project Configuration: Prompt for configuration options during STM32CubeIDE project configuration

3.1、Notes

Omitted project configuration: New project, chip selection, project configuration, SYS for pin configuration, RCC configuration, clock configuration, and project configuration content

The project configuration part, which is not omitted, is the key point to configure in this tutorial.

Please refer to [2. Development environment construction and use: STM32CubeIDE installation and use] to understand how to configure the omitted parts of the project.

3.2、Pin configuration

  • Configure the specified pin functionality

You can directly select the corresponding pin number in the pin view, and the corresponding option will appear when the mouse is left clicked

image-20231122151847305

  • GPIO

image-20231122152451397

  • Timers

image-20231122151959166

  • NVIC

The NVIC option allows you to change the priority

image-20231122181613662

  • Advanced Settings

image-20231030191606658

  • Generate code

image-20231011102854602

4、Main function

This section mainly introduces the functional code written by users. Detailed code can be opened by yourself in the project file we provide, and enter the Bsp folder to view the source code.

Function analysis

The HAL library functions that were covered in the previous tutorial will not be covered

xxxxxxxxxx
If you want to find the HAL library and LL library function analysis involved in the entire tutorial, you can view the documents in the folder [8. STM32 Manual: STM32F1_HAL Library and LL Library_User Manual]

HAL_TIM_PeriodElapsedCallback:The timer update interrupt callback function

Function prototypesvoid HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
Functional DescriptionThe timer update interrupt callback function
Input parametershtim:Timer handle address
Return valueNone
NotesThis function is called by HAL_TIM_IRQHandler, which allows you to write specific tasks

Each time the timer interrupt callback is entered, the timer's pwm_val variable is incremented by 1 and compared against the pwm_set variable in the main loop.

If pwm_val < pwm_set, RGB lights off; If pwm_val > pwm_set, RGB light is on.

Main loop function

In the main loop function, the comparison value of the interrupt callback function is changed by controlling the increment and decrement of the pwm_set variable to achieve different duty cycles per unit time.

xxxxxxxxxx
The above two functions can control the PWM duty cycle of RGB to achieve the gradual effect of light.

5、Experimental phenomenon

After downloading the program successfully, press the RESET button of the development board to observe the phenomenon of the development board

xxxxxxxxxx
For program download, please refer to [2. Development environment construction and use: program download and simulation]

phenomenon:

left and right RGB lights:display the purple color, which goes from bright to dark, and from dark to bright.

image-20231123183723053

Basic timer (TIM6)
Advanced timers (TIM1)

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文