2021-09-12 17:27:14 索炜达电子 637
项目编号:E1127
文件大小:9M
源码说明:带中文注释
开发环境:C编译器
简要概述:
驱动步进电机时,加减速算法是非常有必要的,可以防止失步等多种优点,相信熟悉步进电机的同学都有所了解。简言之:
驱动方式:定时器中断法,PWM法,PWM+DMA,从定时器法等
加减速曲线:梯形、指数、S形7段,logisin,SPTA等
此帖主要分享:步进电机加减速---(定时器中断法+S形7段曲线),其他算法后续会一一分享
平台:STM32F103VET6
标准库
步进电机驱动采用共阳极
驱动器16细分-3200
说明:3.3V单片机输出特定的信号经过三极管 转换成步进电机控制器所能容许的设定值,因为大多单片机的3.3V的,而驱动器一般用5V驱动
运行效果:开机后顺时针转一圈,之后逆时针转一圈。
可自行修改圈数和正反转,
目录│文件列表:
└ 定时器中断法--S七段法
└ 定时器中断法--S七段法
├ CORE
│ │ core_cm3.c
│ │ core_cm3.h
│ │ startup_stm32f10x_hd.s
│ └ startup_stm32f10x_md.s
├ OBJ
│ │ core_cm3.crf
│ │ core_cm3.d
│ │ core_cm3.o
│ │ delay.crf
│ │ delay.d
│ │ delay.o
│ │ flash.crf
│ │ flash.d
│ │ flash.o
│ │ inv_mpu.crf
│ │ inv_mpu.d
│ │ inv_mpu.o
│ │ inv_mpu_dmp_motion_driver.crf
│ │ inv_mpu_dmp_motion_driver.d
│ │ inv_mpu_dmp_motion_driver.o
│ │ key.crf
│ │ key.d
│ │ key.o
│ │ lcd.crf
│ │ lcd.d
│ │ lcd.o
│ │ led.crf
│ │ led.d
│ │ led.o
│ │ main.crf
│ │ main.d
│ │ main.o
│ │ misc.crf
│ │ misc.d
│ │ misc.o
│ │ motor.crf
│ │ motor.d
│ │ motor.o
│ │ mpu6050.crf
│ │ mpu6050.d
│ │ mpu6050.o
│ │ mpu6050_dmp.crf
│ │ mpu6050_dmp.d
│ │ mpu6050_dmp.o
│ │ mpuiic.crf
│ │ mpuiic.d
│ │ mpuiic.o
│ │ oled.crf
│ │ oled.d
│ │ oled.o
│ │ remote.crf
│ │ remote.d
│ │ remote.o
│ │ SPI.axf
│ │ SPI.build_log.htm
│ │ spi.crf
│ │ spi.d
│ │ SPI.hex
│ │ SPI.htm
│ │ SPI.lnp
│ │ spi.o
│ │ SPI.sct
│ │ spicon.crf
│ │ spicon.d
│ │ spicon.o
│ │ SPI_sct.Bak
│ │ SPI_SPI.dep
│ │ SPI_Target 1.dep
│ │ startup_stm32f10x_hd.d
│ │ startup_stm32f10x_hd.o
│ │ stm32f10x_adc.crf
│ │ stm32f10x_adc.d
│ │ stm32f10x_adc.o
│ │ stm32f10x_bkp.crf
│ │ stm32f10x_bkp.d
│ │ stm32f10x_bkp.o
│ │ stm32f10x_can.crf
│ │ stm32f10x_can.d
│ │ stm32f10x_can.o
│ │ stm32f10x_cec.crf
│ │ stm32f10x_cec.d
│ │ stm32f10x_cec.o
│ │ stm32f10x_crc.crf
│ │ stm32f10x_crc.d
│ │ stm32f10x_crc.o
│ │ stm32f10x_dac.crf
│ │ stm32f10x_dac.d
│ │ stm32f10x_dac.o
│ │ stm32f10x_dbgmcu.crf
│ │ stm32f10x_dbgmcu.d
│ │ stm32f10x_dbgmcu.o
│ │ stm32f10x_dma.crf
│ │ stm32f10x_dma.d
│ │ stm32f10x_dma.o
│ │ stm32f10x_exti.crf
│ │ stm32f10x_exti.d
│ │ stm32f10x_exti.o
│ │ stm32f10x_flash.crf
│ │ stm32f10x_flash.d
│ │ stm32f10x_flash.o
│ │ stm32f10x_fsmc.crf
│ │ stm32f10x_fsmc.d
│ │ stm32f10x_fsmc.o
│ │ stm32f10x_gpio.crf
│ │ stm32f10x_gpio.d
│ │ stm32f10x_gpio.o
│ │ stm32f10x_i2c.crf
│ │ stm32f10x_i2c.d
│ │ stm32f10x_i2c.o
│ │ stm32f10x_it.crf
│ │ stm32f10x_it.d
│ │ stm32f10x_it.o
│ │ stm32f10x_iwdg.crf
│ │ stm32f10x_iwdg.d
│ │ stm32f10x_iwdg.o
│ │ stm32f10x_pwr.crf
│ │ stm32f10x_pwr.d
│ │ stm32f10x_pwr.o
│ │ stm32f10x_rcc.crf
│ │ stm32f10x_rcc.d
│ │ stm32f10x_rcc.o
│ │ stm32f10x_rtc.crf
│ │ stm32f10x_rtc.d
│ │ stm32f10x_rtc.o
│ │ stm32f10x_sdio.crf
│ │ stm32f10x_sdio.d
│ │ stm32f10x_sdio.o
│ │ stm32f10x_spi.crf
│ │ stm32f10x_spi.d
│ │ stm32f10x_spi.o
│ │ stm32f10x_tim.crf
│ │ stm32f10x_tim.d
│ │ stm32f10x_tim.o
│ │ stm32f10x_usart.crf
│ │ stm32f10x_usart.d
│ │ stm32f10x_usart.o
│ │ stm32f10x_wwdg.crf
│ │ stm32f10x_wwdg.d
│ │ stm32f10x_wwdg.o
│ │ sys.crf
│ │ sys.d
│ │ sys.o
│ │ system_stm32f10x.crf
│ │ system_stm32f10x.d
│ │ system_stm32f10x.o
│ │ s_curve.crf
│ │ s_curve.d
│ │ s_curve.o
│ │ timer.crf
│ │ timer.d
│ │ timer.o
│ │ tlc5615.crf
│ │ tlc5615.d
│ │ tlc5615.o
│ │ usart.crf
│ │ usart.d
│ └ usart.o
├ STEPMOTOR
│ │ motor.c
│ │ motor.h
│ │ s_curve.c
│ └ s_curve.h
├ STM32F10x_FWLib
│ ├ inc
│ │ │ misc.h
│ │ │ stm32f10x_adc.h
│ │ │ stm32f10x_bkp.h
│ │ │ stm32f10x_can.h
│ │ │ stm32f10x_cec.h
│ │ │ stm32f10x_crc.h
│ │ │ stm32f10x_dac.h
│ │ │ stm32f10x_dbgmcu.h
│ │ │ stm32f10x_dma.h
│ │ │ stm32f10x_exti.h
│ │ │ stm32f10x_flash.h
│ │ │ stm32f10x_fsmc.h
│ │ │ stm32f10x_gpio.h
│ │ │ stm32f10x_i2c.h
│ │ │ stm32f10x_iwdg.h
│ │ │ stm32f10x_pwr.h
│ │ │ stm32f10x_rcc.h
│ │ │ stm32f10x_rtc.h
│ │ │ stm32f10x_sdio.h
│ │ │ stm32f10x_spi.h
│ │ │ stm32f10x_tim.h
│ │ │ stm32f10x_usart.h
│ │ └ stm32f10x_wwdg.h
│ └ src
│ │ misc.c
│ │ stm32f10x_adc.c
│ │ stm32f10x_bkp.c
│ │ stm32f10x_can.c
│ │ stm32f10x_cec.c
│ │ stm32f10x_crc.c
│ │ stm32f10x_dac.c
│ │ stm32f10x_dbgmcu.c
│ │ stm32f10x_dma.c
│ │ stm32f10x_exti.c
│ │ stm32f10x_flash.c
│ │ stm32f10x_fsmc.c
│ │ stm32f10x_gpio.c
│ │ stm32f10x_i2c.c
│ │ stm32f10x_iwdg.c
│ │ stm32f10x_pwr.c
│ │ stm32f10x_rcc.c
│ │ stm32f10x_rtc.c
│ │ stm32f10x_sdio.c
│ │ stm32f10x_spi.c
│ │ stm32f10x_tim.c
│ │ stm32f10x_usart.c
│ └ stm32f10x_wwdg.c
├ SYSTEM
│ ├ delay
│ │ │ delay.c
│ │ └ delay.h
│ ├ sys
│ │ │ sys.c
│ │ └ sys.h
│ └ usart
│ │ usart.c
│ └ usart.h
└ USER
│ JLinkSettings.ini
│ main.c
│ SPI.map
│ SPI.uvguix.MACHENIKE
│ SPI.uvoptx
│ SPI.uvprojx
│ startup_stm32f10x_hd.lst
│ stm32f10x.h
│ stm32f10x_conf.h
│ stm32f10x_it.c
│ stm32f10x_it.h
│ system_stm32f10x.c
│ system_stm32f10x.h
└ DebugConfig
│ SPI_STM32F103VE.dbgconf
└ Target_1_STM32F103VE.dbgconf