2021-09-12 17:27:14 索煒達(dá)電子 1026
項(xiàng)目編號(hào):E1127
文件大小:9M
源碼說明:帶中文注釋
開發(fā)環(huán)境:C編譯器
簡(jiǎn)要概述:
驅(qū)動(dòng)步進(jìn)電機(jī)時(shí),加減速算法是非常有必要的,可以防止失步等多種優(yōu)點(diǎn),相信熟悉步進(jìn)電機(jī)的同學(xué)都有所了解。簡(jiǎn)言之:
驅(qū)動(dòng)方式:定時(shí)器中斷法,PWM法,PWM+DMA,從定時(shí)器法等
加減速曲線:梯形、指數(shù)、S形7段,logisin,SPTA等
此帖主要分享:步進(jìn)電機(jī)加減速---(定時(shí)器中斷法+S形7段曲線),其他算法后續(xù)會(huì)一一分享
平臺(tái):STM32F103VET6
標(biāo)準(zhǔn)庫(kù)
步進(jìn)電機(jī)驅(qū)動(dòng)采用共陽(yáng)極
驅(qū)動(dòng)器16細(xì)分-3200
說明:3.3V單片機(jī)輸出特定的信號(hào)經(jīng)過三極管 轉(zhuǎn)換成步進(jìn)電機(jī)控制器所能容許的設(shè)定值,因?yàn)榇蠖鄦纹瑱C(jī)的3.3V的,而驅(qū)動(dòng)器一般用5V驅(qū)動(dòng)
運(yùn)行效果:開機(jī)后順時(shí)針轉(zhuǎn)一圈,之后逆時(shí)針轉(zhuǎn)一圈。
可自行修改圈數(shù)和正反轉(zhuǎn),
目錄│文件列表:
└ 定時(shí)器中斷法--S七段法
└ 定時(shí)器中斷法--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