stm32使用TB6600驱动器控制42BYGH型步进电机

这篇具有很好参考价值的文章主要介绍了stm32使用TB6600驱动器控制42BYGH型步进电机。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

stm32使用TB6600驱动器控制42BYGH型步进电机

stm32使用TB6600驱动器控制42BYGH型步进电机



前言

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


一、使用的设备说明介绍

stm32使用TB6600驱动器控制42BYGH型步进电机

24V开关电源

24V电源就是通过电路控制开关进行高速的导通于截至,将直流电转化为高频率的交流电提供给变压器进行变压从而产生所需要的一组或多组24V电压
stm32使用TB6600驱动器控制42BYGH型步进电机

接线注意事项,一般使用直接接线火线和零线,电源不分正负极,
输出电源和输入别搞反了,搞反了就冒烟了,容易到沫子
电压微调旋钮一般不建议使用。

TB6600驱动器

产品特点

原装全新步进电机驱动芯片— 芯片:TB67S109AFTG
8档电流控制
7种细分可调
接口采用高速光耦隔离
自动半流减少发热量
大面积散热片不惧高温环境使用
抗高频干扰能力强
输入电压防反接保护
过热,过流短路保护

技术规格

输入电压:DC9-42V
控制信号:3.3-24V通用(无需串电阻)
输入电流:推荐使用开关电源功率5A
输出电流:0.5-4.0A
最大功耗:160W
细 分:1,2/A,2/B,4,8,16,32
温 度:工作温度-10~45℃;存放温度-40℃~70℃
湿 度:不能结露,不能有水珠
气 体:禁止有可燃气体和导电灰尘
体 积:96 * 71 * 37 mm
重 量:0.2 kg

拨码开关设定

6路拨码开关
S1~S3 细分脉冲
S4~S6 电流设置
stm32使用TB6600驱动器控制42BYGH型步进电机
stm32使用TB6600驱动器控制42BYGH型步进电机

42BYGH 步进电机

stm32使用TB6600驱动器控制42BYGH型步进电机

接线方法

stm32使用TB6600驱动器控制42BYGH型步进电机

stm32使用TB6600驱动器控制42BYGH型步进电机

控制步进电机的正反转

TB6600驱动器上面有方向控制使能如下图
stm32使用TB6600驱动器控制42BYGH型步进电机
通过高低电平的使能方向来控制电机的正方转。
DIR+ 高电平 正转
DIR+ 低电平 反转
DIR- 低电平 正转
DIR- 高电平 反转

具体的转向根据实际电机的情况

控制步进电机的调速

通过使用驱动器来调速,开关拨码S1~S3 来设置不同的细分设置,
例如: 200,400,,,,3200,6400。
我们通过设置的pwm 的输入频段来确定每秒的输出,来确定所转化的步数,来确定转动一圈所需要的时间,或者转动的角度来确定的时间,TIM4_PWM_Init(100,500);通过数值算出一秒1440次,电机大约4.44秒转一圈 ,72000000/100/500= 14,40步/s ,设置6400 步为一周,则需要4.44s

stm32使用TB6600驱动器控制42BYGH型步进电机

根据定时器时钟的频率,比如时钟的频率是72MHZ,可以理解为一秒钟STM32会自己数72M次,预分频系数就是将频率分割,比如分频系数是72,则该时钟的频率会变成72MHZ/72=1MHZ,但是在设置的时候要注意,数值应该是72-1。假定分频系数是72-1,那么频率变成1MHZ,也就意味着STM32在一秒钟会数1M次,即1us数一次。
接下来就是确定预装载值,比如需要定时1ms,由于1ms=1us*1000,那么预装载值就是1000-1;如此类推,在预分频系数确定的情况下,定时的时长就由预装载值确定了。
至于要把值减一的原因,估计是计数是从0开始,所以要减一。

二、实例

1.源码如下

代码如下(示例):
//通过数值算出一秒1440次,电机大约4.44秒转一圈 ,72000000/100/500= 14,40步/s ,设置6400 步为一周,则需要4.44s

int main(void)
{		
    DIR_Init();		
    TIM4_PWM_Init(100,500);				
    TIM_SetCompare1(TIM4,200/2);	//设置占空比为50%=arr/2
	GPIO_SetBits(GPIOA,GPIO_Pin_0);
}

void DIR_Init(void)		//DIR——PA0初始化
{	
 GPIO_InitTypeDef  GPIO_InitStructure;
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);	 
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;				 
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		 
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		 
 GPIO_Init(GPIOA, &GPIO_InitStructure);					 
						 				
}

void TIM4_PWM_Init(u16 arr,u16 psc)
{  
    //结构体
	NVIC_InitTypeDef NVIC_InitStructure;
	GPIO_InitTypeDef GPIO_InitStructure;
	TIM_OCInitTypeDef  TIM_OCInitStructure;
	TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
	//使能时钟
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); 
 	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);  
	  
 
   //设置该引脚为复用输出功能,输出TIM4 CH1的PWM脉冲波形	GPIOB.6
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; 
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //复用推挽输出
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOB, &GPIO_InitStructure);
    
    //设置定时器参数
    TIM_TimeBaseStructure.TIM_Period = arr; 
	TIM_TimeBaseStructure.TIM_Prescaler =psc; 
	TIM_TimeBaseStructure.TIM_ClockDivision = 0; 
	TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  
	TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); 
    
    //中断设置
	TIM_ITConfig(TIM4,TIM_IT_Update,ENABLE ); 
	NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQn;  
	NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  
	NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  
	NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; 
	NVIC_Init(&NVIC_InitStructure);  
	
	//初始化TIM4 Channel1 
	TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; 
 	TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; 
	TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; 
	TIM_OC1Init(TIM4, &TIM_OCInitStructure);  

	TIM_OC1PreloadConfig(TIM4, TIM_OCPreload_Enable);  
    TIM_Cmd(TIM4, ENABLE);  //使能TIM4
}
//定时器4中断服务程序
void TIM4_IRQHandler(void)   
{
	if (TIM_GetITStatus(TIM4, TIM_IT_Update) != RESET) //检查指定的TIM中断发生与否:TIM 中断源 
	{
		TIM_ClearITPendingBit(TIM4, TIM_IT_Update  );  //清除TIMx的中断待处理位:TIM 中断源 

	}
}

2.接线效果

如下图示例:使用共阴极接线法。2跟白线接GND

stm32使用TB6600驱动器控制42BYGH型步进电机

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:

例如:文章来源地址https://www.toymoban.com/news/detail-500658.html

到了这里,关于stm32使用TB6600驱动器控制42BYGH型步进电机的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32步进闭环控制、速度控制(张大头Emm_V4.2驱动器)速度控制 角度控制 位置控制

    本文继续简述使用stm32对张大头步进电机进行速度控制和角度控制。 张大头与stm32的硬件连接请看这个 要注意哈!usart模式要先通过张大头的小屏幕进行设置的哈!!要配置好波特率和地址。这些在张大头提供的pdf说明文档里面都有写! 基础配置不说了,由于我们需要用stm32的

    2024年02月14日
    浏览(52)
  • 配有 1TB 驱动器的 Surface Pro 5 设备显示两个驱动器

    在配有 1TB 驱动器的某些 Surface 设备上遇到以下症状: Diskpart 显示两个 512 GB 驱动器而不是一个 1 TB 驱动器。 Windows 资源管理器显示两个 512 GB 驱动器而不是一个 1 TB 驱动器。 裸机恢复 (BMR) 映像表示“在恢复您的电脑时出现问题”,或者在尝试恢复 BMR 映像时报告其他错误。

    2024年02月04日
    浏览(96)
  • 基于STM32CUBEMX驱动低压步进器电机驱动器STSPIN220(3)----定时器中断产生指定数量脉冲

    在步进电机控制过程中,为了实现精确的位置和速度控制,经常需要输出指定数量的脉冲。这就需要使用定时器功能来生成PWM脉冲信号。本文将详细介绍如何利用STM32CUBEMX配置定时器以输出指定数量的PWM脉冲。 定时器是STM32微控制器的一个重要功能模块,可用于生成各种定时

    2024年02月14日
    浏览(51)
  • 【 使用 Arduino 和 L293D 电机驱动器 IC 控制直流电机】

    如果你打算用直流电机建造一个机器人,那么你最终会了解到,如果你想让它朝某个方向移动,你需要同时控制电机的速度和方向。最好的方法之一是使用 L293D 电机驱动器 IC,因为它便宜、易于使用,并且有一点 PWM 支持,它可以控制速度和方向。这就是为什么在本教程中我

    2024年02月15日
    浏览(44)
  • 森泰克sumtak控制器维修伺服驱动器维修SQ-12

    日本森泰克sumtak控制器维修全系列型号。 控制器常见维修故障:短路,模块损坏,带不动负载,主轴准备未绪,驱动器未使能,编码器故障,主轴驱动模块故障,输出电压低,红色灯亮,无显示,缺相,输出控制点坏,使能不正常,报故障,不能启动、过流、过压、欠压、过

    2024年02月09日
    浏览(38)
  • ESP32设备驱动-直流电机与L298N电机驱动器

    在本文中,我们将介绍如何使用ESP32通过L298N电机驱动器驱动直流电机。 L298N 电机驱动器模块非常易于与微控制器一起使用,而且相对便宜。 它被广泛用于控制机器人,因为我们可以一次连接多达四个电机,但如果我们还想控制速度和方向,那么它允许连接两个电机。 因此,

    2024年02月13日
    浏览(44)
  • 【电机应用控制】——步进电机控制原理(四相五线/两相四线/细分驱动)&驱动器&梯形/S形加减速算法&直线/圆弧插补

    目录 一、步进电机简介 二、步进电机控制原理 1.四相五线 2.两相四线 3.细分驱动 三、步进电机驱动器 四、梯形加减速算法 五、S形加减速算法 六、直线插补 七、圆弧插补  八、步进电机闭环系统(位置闭环) 总结 前言 声明:学习笔记来自B站正点原子教程,仅供学习交流

    2024年02月07日
    浏览(48)
  • 【】三菱FX3U-48MT/ES PLC 控制台达ASDA-B2伺服驱动器

    (对此篇文章有任何疑问,欢迎一起交流) 1. 控制前提条件与控制原理 1 .1   三菱 F X3U-48MT/ES 控制伺服驱动器的前提条件 1.1.1 三菱FX3U-48MT/ES可以进行程序的上传、下载。 1.1.2 理解伺服电机与减速器、脉冲量、以及电子轮比之间的关系。 1.1.3 PLC与伺服驱动器接线正确,伺服

    2024年02月12日
    浏览(46)
  • elmo驱动器上位机的使用

    1.接线 2.连接和配置 3.调试 4.开机自运行 1.接线示意图 2. 连接和配置 (1)添加驱动器到工作空间。在工作空间右键,选择Add Gold Driver。 (2)新建驱动器(Driver03)如图所示,前面两个为之前新建过的。 (3)在Driver03里,选择目标连接方式,选择Direct Access USB(直接使用US

    2023年04月16日
    浏览(45)
  • 用于永磁同步电机驱动器的自适应SDRE非线性无传感器速度控制(Matlab&Simulink实现)

    目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码Simulink仿真实现 本文方法基于状态依赖的里卡蒂方程(SDRE)控制技术及其梯度型神经网络的实时计算方法,允许在线控制PMSM。 为了实现用于永磁同步电机驱动器的自适应 SDRE(State-Dependent Riccati Equation)非线性无传感

    2024年02月15日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包