当前位置: 首页 > news >正文

公司关于网站设计公司的简介韩国封号事件网站建设

公司关于网站设计公司的简介,韩国封号事件网站建设,软件开发工具平台,fn网站不是做那么好吗步进电机位置速度双环控制实现 野火stm32电机教学 提高部分-第11讲 步进电机位置速度双环控制实现(1)_哔哩哔哩_bilibili PID模型 位置环作为外环,速度环作为内环。设定目标位置和实际转轴位置的位置偏差,经过位置PID获得位置期望,然后讲位置期望(位置变化反映了转轴的速…

步进电机位置速度双环控制实现

野火stm32电机教学

提高部分-第11讲 步进电机位置速度双环控制实现(1)_哔哩哔哩_bilibili

PID模型

位置环作为外环,速度环作为内环。设定目标位置和实际转轴位置的位置偏差,经过位置PID获得位置期望,然后讲位置期望(位置变化反映了转轴的速度)和实际转轴速度作为差值,经过速度PID获得速度期望,然后控制步进电机的输入脉冲频率,调整电机转速。

实验环境

【*】 程序简介 
-工程名称:步进电机-位置环控制-位置式PID
-实验平台: 野火STM32 F103 拂晓 开发板
【 !】功能简介:
位置速度环例程 默认使用从PID调试助手界面打开串口
【 !】实验操作:
下载本程序,复位开发板即可。
【 !!】注意事项:
步进电机驱动器使用32细分
/************************************************************/
步进电机驱动器接口1:PUL+<--->VCOMPUL-<--->PC6DIR+<--->VCOMDIR-<--->PE6ENA+<--->VCOMENA-<--->PE5	
编码器与步进电机的接线红线+5V	<------------>VENC黑线GND <------------->GNDA相蓝线	<------------>PD12B相绿线	<------------>PD13Z相黄线	<------------>PD14屏蔽线()<------------>GND(没有PIN屏蔽线的可以不接)
/*************************************************************************/
【*】 时钟
A.晶振:
-外部高速晶振:8MHz
-RTC晶振:32.768KHz
B.各总线运行时钟:
-系统时钟 = SYCCLK = AHB = 72MHz
-APB2 = 72MHz 
-APB1 = 36MHz

定时器输出PWM控制步进电机

定时器8,通道1,时钟频率72MHz ,预分频因子为16,重装载值0xFFFF,

//Motor 脉冲
#define MOTOR_PUL_IRQn                  TIM8_CC_IRQn
#define MOTOR_PUL_IRQHandler            TIM8_CC_IRQHandler#define MOTOR_PUL_TIM                   TIM8
#define MOTOR_PUL_CLK_ENABLE()  		    __HAL_RCC_TIM8_CLK_ENABLE()#define MOTOR_PUL_PORT       			      GPIOC
#define MOTOR_PUL_PIN             		  GPIO_PIN_6
#define MOTOR_PUL_GPIO_CLK_ENABLE()		  __HAL_RCC_GPIOC_CLK_ENABLE()
#define MOTOR_PUL_CHANNEL_x             TIM_CHANNEL_1#define MOTOR_TIM_IT_CCx                TIM_IT_CC1
#define MOTOR_TIM_FLAG_CCx              TIM_FLAG_CC1
/*频率相关参数*/
//定时器实际时钟频率为:72MHz/TIM_PRESCALER
//具体需要的频率可以自己计算
#define TIM_PRESCALER                16 /*补充:对F103例程测试,提高分频利于位置环稳定状态*/
// 定义定时器周期,输出比较模式周期设置为0xFFFF
#define TIM_PERIOD                   0xFFFF

比较输出模式的反转模式

/********************************************************************************* @file    bsp_stepper_init.c* @author  fire* @version V1.0* @date    2019-xx-xx* @brief   步进电机初始化******************************************************************************* @attention** 实验平台:野火  STM32 F103 开发板  * 论坛    :http://www.firebbs.cn* 淘宝    :http://firestm32.taobao.com********************************************************************************/
#include "./stepper/bsp_stepper_init.h"TIM_HandleTypeDef TIM_StepperHandle;__IO uint16_t OC_Pulse_num = 65535;     //比较输出的计数值/*** @brief  中断优先级配置* @param  无* @retval 无*/
static void TIMx_NVIC_Configuration(void)
{/* 外设中断配置 */HAL_NVIC_SetPriority(MOTOR_PUL_IRQn, 0, 0);HAL_NVIC_EnableIRQ(MOTOR_PUL_IRQn);
}/*** @brief  配置TIM复用输出PWM时用到的I/O* @param  无* @retval 无*/
static void Stepper_GPIO_Config(void) 
{GPIO_InitTypeDef GPIO_InitStruct;/*开启Motor相关的GPIO外设时钟*/MOTOR_DIR_GPIO_CLK_ENABLE();MOTOR_PUL_GPIO_CLK_ENABLE();MOTOR_EN_GPIO_CLK_ENABLE();/*选择要控制的GPIO引脚*/															   GPIO_InitStruct.Pin = MOTOR_DIR_PIN;	/*设置引脚的输出类型为推挽输出*/GPIO_InitStruct.Mode  = GPIO_MODE_OUTPUT_PP;  GPIO_InitStruct.Pull =GPIO_PULLUP;/*设置引脚速率为高速 */   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;/*Motor 方向引脚 初始化*/HAL_GPIO_Init(MOTOR_DIR_GPIO_PORT, &GPIO_InitStruct);	/*Motor 使能引脚 初始化*/GPIO_InitStruct.Pin = MOTOR_EN_PIN;	HAL_GPIO_Init(MOTOR_EN_GPIO_PORT, &GPIO_InitStruct);	/* 定时器通道1功能引脚IO初始化 *//*设置输出类型*/GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;/*设置引脚速率 */ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;/*设置复用*/GPIO_InitStruct.Pull =GPIO_PULLUP;/*选择要控制的GPIO引脚*/	GPIO_InitStruct.Pin = MOTOR_PUL_PIN;/*Motor 脉冲引脚 初始化*/HAL_GPIO_Init(MOTOR_PUL_PORT, &GPIO_InitStruct);			
}/** 注意:TIM_TimeBaseInitTypeDef结构体里面有5个成员,TIM6和TIM7的寄存器里面只有* TIM_Prescaler和TIM_Period,所以使用TIM6和TIM7的时候只需初始化这两个成员即可,* 另外三个成员是通用定时器和高级定时器才有.*-----------------------------------------------------------------------------* TIM_Prescaler         都有* TIM_CounterMode			 TIMx,x[6,7]没有,其他都有(基本定时器)* TIM_Period            都有* TIM_ClockDivision     TIMx,x[6,7]没有,其他都有(基本定时器)* TIM_RepetitionCounter TIMx,x[1,8]才有(高级定时器)*-----------------------------------------------------------------------------*/
void TIM_PWMOUTPUT_Config(void)
{TIM_OC_InitTypeDef  TIM_OCInitStructure;  	/*使能定时器*/MOTOR_PUL_CLK_ENABLE();TIM_StepperHandle.Instance = MOTOR_PUL_TIM;    /* 累计 TIM_Period个后产生一个更新或者中断*/		///当定时器从0计数到TIM_PERIOD-1,即为TIM_PERIOD次
http://www.yayakq.cn/news/678383/

相关文章:

  • 政务公开系统网站建设wordpress不能评论
  • 简述营销网站建设策略2014苏州建设银行招聘网站
  • 用iis浏览网站飞享套餐
  • 东莞网络营销推广渠道谷歌seo网站运营
  • 高端开发网站哪家专业企业管理者培训查询
  • 快速网站排名营业执照注册网站
  • phpstudy怎么做网站资阳网站推广
  • 网站建设策划报告自己做网站服务器的备案方法
  • 网站做二级登录页面容易吗移动互联网开发考试
  • 那个网站上有打码的任务做微信公众号设计方案
  • 如何在网站做电子杂志收费的网站如何免费
  • 网站宽屏图片怎么做wordpress打开速度很慢
  • 网站做短信验证需要多少钱站长权重
  • 网站网页怎么做网站关键词排名优化技巧
  • 南阳做网站多少钱自己编写网站
  • 轻淘客 轻网站怎么做广州市住房住建局网站
  • 手机网站制作招聘网站建设费可以计入办公费用么
  • 百度网站的网址是什么青海教育厅门户网站
  • pc端和移动端的网站区别是什么意思烟台网站建设在哪
  • 网站推广找品牌设计公司排名广州设计
  • 网站优化排名网站设计网站怎么做的
  • 网站大全免费完整版网站主机租用多少钱
  • 无锡网站优化推广方案百度经验官方网站登录入口
  • 东莞怎么制作网站云南网站推广的目的
  • 沈阳公司做网站wordpress 自适应cms主题
  • 游戏网站平台大全游戏网王建设的网站
  • 郑州市建设厅官方网站建设网站公司哪里好相关的热搜问题解决方案
  • 谷歌优化网站链接怎么做西安做网站朋朋
  • 一个网站开发小组如何做翻唱网站
  • 网站访客qq系统答题卡在线制作网站