91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2.78MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-09-11
  • 語言: 其他
  • 標簽: 步進電機??STM32??

資源簡介

STM32控制步進電機勻加速勻減速,修改宏定義就可以控制起始頻率,目標頻率,加速時間和加速次數。

資源截圖

代碼片段和文件信息

#include?“stepmotor.h“
#if?STEP_MOTOR

StepMotorAddSpeed?MotorAddSpeed;




/*******************************************************************************
* 定時器4初始化函數
*
*函數名:void?TIM5_Int_Init(u16?arru16?psc)
*
*形參: arr? 預裝載值
psc 分頻系數
*
*返回值: 無
*
*
*******************************************************************************/
void?TIM4_Int_Init(u16?arru16?psc)
{
GPIO_InitTypeDef?GPIO_InitStructure;
TIM_TimebaseInitTypeDef??TIM_TimebaseStructure;
TIM_OCInitTypeDef??TIM_OCInitStructure;

?
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4?ENABLE); //使能定時器3時鐘
? RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB??|?RCC_APB2Periph_AFIO?ENABLE);??//使能GPIO外設和AFIO復用功能模塊時鐘?
?
???//設置該引腳為復用輸出功能輸出TIM4?CH3的PWM脈沖波形 GPIOB.8
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_8;? //TIM_CH2
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AF_PP;?? //復用推挽輸出
GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;
GPIO_Init(GPIOB?&GPIO_InitStructure); //初始化GPIO
?
???//初始化TIM4
TIM_TimebaseStructure.TIM_Period?=?arr;? //設置在下一個更新事件裝入活動的自動重裝載寄存器周期的值
TIM_TimebaseStructure.TIM_Prescaler?=psc;? //設置用來作為TIMx時鐘頻率除數的預分頻值?
TIM_TimebaseStructure.TIM_ClockDivision?=?0;? //設置時鐘分割:TDTS?=?Tck_tim
TIM_TimebaseStructure.TIM_CounterMode?=?TIM_CounterMode_Up;?? //TIM向上計數模式
TIM_TimebaseInit(TIM4?&TIM_TimebaseStructure);? //根據TIM_TimebaseInitStruct中指定的參數初始化TIMx的時間基數單位

//初始化TIM3?Channel2?PWM模式 ?
TIM_OCInitStructure.TIM_OCMode?=?TIM_OCMode_PWM1;? //選擇定時器模式:TIM脈沖寬度調制模式2
? TIM_OCInitStructure.TIM_OutputState?=?TIM_OutputState_Enable;? //比較輸出使能
TIM_OCInitStructure.TIM_OCPolarity?=?TIM_OCPolarity_High;? //輸出極性:TIM輸出比較極性高
TIM_OC3Init(TIM4?&TIM_OCInitStructure);?? //根據T指定的參數初始化外設TIM3?OC2
?
TIM_OC3PreloadConfig(TIM4?TIM_OCPreload_Enable);? ?//使能TIM3在CCR2上的預裝載寄存器
?
// TIM_Cmd(TIM4?ENABLE);??//使能TIM4
}

u32?PluseNum?=?0;

/*******************************************************************************
* 步進電機初始化
*
*函數名:void?MotorInit(void)
*
*形參: 無
*
*返回值: 無
*
*
*******************************************************************************/
void?MotorInit(void)
{
GPIO_InitTypeDef??GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOD?ENABLE); ?

GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_14|GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_Out_PP;??//推挽輸出
GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;?
GPIO_Init(GPIOE?&GPIO_InitStructure);
GPIO_ResetBits(GPIOEGPIO_Pin_14|GPIO_Pin_15);

GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_10|GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_Out_PP;??//推挽輸出
GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;?
GPIO_Init(GPIOB?&GPIO_InitStructure);
GPIO_SetBits(GPIOBGPIO_Pin_11);
GPIO_ResetBits(GPIOBGPIO_Pin_10);

MF?=?0;
DIR?=?1;
DE?=?0;

TIM3_Int_Init(1000-1); //計算PWM波的脈沖來進入中斷
TIM4_Int_Init(100071); //1Mhz.1ms一個10us的脈沖?步進電機的脈沖必須大于2.5us

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-04-15?20:57??步進電機梯形加速算法\MOTOR_B\
?????文件???????11512??2019-04-15?21:03??步進電機梯形加速算法\MOTOR_B\stepmotor.c
?????文件????????2293??2019-04-15?17:47??步進電機梯形加速算法\MOTOR_B\stepmotor.h
?????文件??????786542??2019-04-11?23:25??步進電機梯形加速算法\幾種步進電機加減速方法的對比研究及其應用.pdf
?????文件?????1838596??2019-04-11?20:22??步進電機梯形加速算法\基于AT91SAM9261的步進電機S曲線_加減速控制研究與實現.pdf
?????文件??????664839??2019-04-11?23:25??步進電機梯形加速算法\基于S曲線的步進電機加減速的控制.pdf
?????目錄???????????0??2019-04-15?21:17??步進電機梯形加速算法\

評論

共有 條評論