news 2026/3/8 5:09:06

闭环伺服步进电机(磁编码器)全套方案 步进电机 闭环控制器 42步进电机 包含说明文档,AD工...

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
闭环伺服步进电机(磁编码器)全套方案 步进电机 闭环控制器 42步进电机 包含说明文档,AD工...

闭环伺服步进电机(磁编码器)全套方案 步进电机 闭环控制器 42步进电机 包含说明文档,AD工程文件,Keil源代码,固件,双主控支持 闭环步进参数: 主控芯片:航顺HK32F030C8T6(软硬件完全兼容STM32F030C8T6) 驱动芯片:两颗东芝TB67H450(最大电流3.5A) 编码器芯片:麦歌恩超高速零延时AMR编码器MT6816 高速光耦:东芝双通道TLP2168 工作电压:12-30V(推荐24V) 工作电流:额定2A(42步进)2.5A(57步进)最大3.5A 控制精度:小于0.08度 电子齿轮:4、8、16、32(可任意设置)

这闭环步进方案有点东西!主控直接拿航顺HK32F030当大脑,驱动部分两颗东芝TB67H450并联输出,实测带42步进电机能飙到3.5A峰值电流。重点说下MT6816磁编码器,这玩意儿采样速度飙到1MHz,比传统光电编码器快三倍不止,配合中断优先级骚操作,实测角度反馈延迟不到2微秒。

看这段电机初始化代码:

void Motor_Init(void) { GPIO_Mode_Config(MOTOR_EN_PORT, MOTOR_EN_PIN, GPIO_OUTPUT_PP); TIM_PWM_Init(MOTOR_TIM, 20000, 32); //20kHz PWM + 32细分 Encoder_SPI_Init(); //MT6816 SPI接口配置 __enable_irq(); //全局中断必须开! }

注意PWM频率怼到20kHz可不是随便定的,东芝驱动芯片的最佳工作频率就在16-24kHz之间,高了MOS管发热感人,低了电机啸叫能当警报器用。

电子齿轮的实现贼有意思,核心就是个分频器:

void Set_Elec_Gear(uint8_t ratio) { TIM_SetAutoreload(MOTOR_TIM, (200 * ratio) - 1); //每转200步×电子齿轮比 CurrentGear = ratio; }

这骚操作直接改ARR寄存器实现不同步距角,实测切换齿轮比时电机响应时间<10ms。不过记得在改参数前先关PWM输出,否则驱动芯片可能抽风。

闭环伺服步进电机(磁编码器)全套方案 步进电机 闭环控制器 42步进电机 包含说明文档,AD工程文件,Keil源代码,固件,双主控支持 闭环步进参数: 主控芯片:航顺HK32F030C8T6(软硬件完全兼容STM32F030C8T6) 驱动芯片:两颗东芝TB67H450(最大电流3.5A) 编码器芯片:麦歌恩超高速零延时AMR编码器MT6816 高速光耦:东芝双通道TLP2168 工作电压:12-30V(推荐24V) 工作电流:额定2A(42步进)2.5A(57步进)最大3.5A 控制精度:小于0.08度 电子齿轮:4、8、16、32(可任意设置)

MT6816的数据采集必须上DMA,SPI时钟拉到10MHz才够劲:

uint16_t Read_Encoder(void) { SPI_DMA_Enable(ENCODER_SPI); //启动DMA传输 while(!DMA_Flag_Get()); //等待传输完成 return (SPI_Rx_Buffer[0] << 8) | SPI_Rx_Buffer[1]; }

但要注意这个磁编每次上电需要做自检校准,官方手册里藏着的小技巧——先让电机空转两圈再进闭环模式,角度误差能从±0.1度缩到±0.05度。

电流环控制部分,两个驱动芯片的VREF引脚得分开调:

#define MOTOR1_VREF 1.2f //对应2A电流 #define MOTOR2_VREF 1.5f //对应2.5A void Set_Current(float ref_voltage) { DAC_SetChannel1Data(DAC_Align_12b_R, (uint16_t)(ref_voltage*4096/3.3)); //12位DAC精度足够 }

实际调试发现当工作电压超过24V时,最好把VREF降低5%补偿温漂。另外驱动芯片的衰减模式建议用混合衰减,比纯快衰减模式省电30%以上。

最后说下那个双主控支持,其实就是用SWD接口做在线调试时,另一个MCU能接管控制权。代码里加个互锁标志:

__IO uint32_t Control_Lock = 0; void Switch_Controller(void) { if(Control_Lock == 0) { Control_Lock = 1; //切换主控操作 } }

实测主备切换时间控制在50μs内,搞双机热备完全没问题。但要注意两个MCU的时钟源必须同步,否则电子齿轮参数会打架。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/7 4:59:20

导师推荐10个AI论文平台,专科生搞定毕业论文!

导师推荐10个AI论文平台&#xff0c;专科生搞定毕业论文&#xff01; AI 工具如何成为专科生论文写作的得力助手 在当前的学术环境中&#xff0c;AI 工具已经逐渐成为学生完成论文的重要辅助手段。尤其是对于专科生而言&#xff0c;面对时间紧张、资料匮乏、格式不熟等难题&a…

作者头像 李华
网站建设 2026/3/7 4:59:17

一款极简好用的剪贴板,一贴即合,快速响应 强烈推荐

这是一位大神开发的剪贴板工具&#xff0c;挺好用的。分享给需要的朋友。相信工具应该是隐形的。Tiez 建立在这样一个原则之上&#xff1a;您的剪贴板管理器应该在您需要时出现&#xff0c;而在您不需要时消失。通过消除干扰并专注于速度&#xff0c;帮助您保持工作流的顺畅。回…

作者头像 李华
网站建设 2026/3/7 4:59:13

LLMOps – 使用 BentoML 服务 Llama-3 模型

原文&#xff1a;towardsdatascience.com/llmops-serve-a-llama-3-model-with-bentoml-4d580a7a007f 引言 我经常看到数据科学家对 LLM&#xff08;大型语言模型&#xff09;的发展感兴趣&#xff0c;无论是从模型架构、训练技术还是数据收集的角度。然而&#xff0c;我注意到…

作者头像 李华
网站建设 2026/3/4 16:25:51

叫你别乱封装,你看出事了吧~

团队曾为一个订单状态显示问题加班至深夜&#xff1a;并非业务逻辑出错&#xff0c;而是前期封装的订单类过度隐藏核心字段&#xff0c;连获取支付时间都需多层调用&#xff0c;最终只能通过反射绕过封装临时解决&#xff0c;后续还需承担潜在风险。这一典型场景&#xff0c;正…

作者头像 李华
网站建设 2026/3/4 11:16:39

ins如何隐藏已发布的动态

1、浏览器打开Instagram.com并登录&#xff0c; 2、2、选择你的动态&#xff0c;照片和视频栏目 3、3、点击&#xff0c;隐藏。即对外不可见。

作者头像 李华