这个闭环电机是我转过来的,自己打板验证过稳定 电机版权归开发者,侵删, 上传的源码为开源版本
Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)
单片机源程序如下:
20190917电机软硬件更新:软件跟前版基本一样只更改了几个参数以提高稳定性,增加了中文注释以方便学习理解;硬件加了防反接二极管,型号SL54,将原来的排针座子改为更美观高度更低的XH2.54座子,另外将串口和烧录口合二为一,方便用STLINKV2.1直接进行烧录和串口通信。 20190831软硬件更新:硬件电路板将光耦输入侧覆铜挖空防止干扰,传感器改为底层焊接,电路板设计为需要用尼龙垫圈跟电机隔开2mm左右以防止干扰;软件方面所有浮点数变量都改为定点变量,重新改写了程序以适应定点变量,单片机计算量大为降低,CPU仍然有3/5左右空闲时间可以用来进行其他功能的二次开发。位置环更新频率由5KHZ提高到10KHZ,控制性能加强,42最高转速提到1200RPM左右,57提到1000RPM左右。优化了定时器处理STEP/DIR信号的部分程序,即使是几百K乃至上M的高速脉冲都可以轻松处理而不丢脉冲。重载了stdio.h头文件里的fputc()和fgetc()两个函数,程序现在可以利用printf()和scanf()等标准输入输出函数编写RS232和RS485协议,另外加了一个简单的ASCII协议作为参考。 20190810最新更新:硬件电路板换了新的LDO型号RS3005,彻底解决了稳压芯片过热停机的问题。另外输入信号CLK由原来的外部中断脚位改为定时器TIM1的外部计数输入脚,电路板改为同时支持STM32F103和STM32F030两种单片机。软件上对原来CLK信号的处理由外部中断改为定时器计数,这样就不需要耗费大量的处理器资源。原先用中断来处理CLK信号导致耗费大量的处理时间,也会导致程序对电机的测速不正确,32细分的情况下电机转速只要跑到1000RPM就可能使程序崩溃,想要使用128/256这样的高细分几乎不可能。
这套一体化闭环步进电机是店主自己全新研发的,不是拿人家外国开源的项目直接山寨抄袭来骗小白的, 购买电机附带全套软硬件,包括源代码程序、42步进和57步进的原理图和PCB,可以买回去自己打板复制,也可以二次开发,店主会不定期更新软硬件并修复BUG,可以提供代码级技术支持。数量有限,都是平时抽空手工焊接做出来的,购买前请先咨询店主是否有货。 电机软硬件性能大幅提高,硬件成本仅国外MECHADUINO及其山寨产品的1/2不到,最大驱动电流可达3.5A,是国外版的2倍,最大转速提高2.5倍(42电机1000RPM,57电机800RPM),振动及噪声减小2/3。按照工业级标准设计,加入高速隔离光耦、软件看门狗,可靠性大幅优化。自带开环闭环模式随意切换,细分选择、编码器校正全部拨码开关一键完成,无需连接上位机二次编程!
更多细节和视频可以参考帖子: https://www.bilibili.com/video/av53223504?from=search&seid=10269700708564966156 闭环步进参数:
主控芯片:意法半导体STM32F030C8T6
驱动芯片:两颗A4950(最大电流3.5A)
编码器芯片:英飞凌15位汽车工业级TLE5012B
高速光耦:东芝双通道TLP2168
工作电压:12-30V(推荐24V)
工作电流:额定1.3A(42步进)2.5A(57步进)最大3.5A
控制精度:小于0.08度
电子齿轮:4、8、16、32(可任意设置)
清单:包含一块电机驱动板+电机+专用径向磁铁
+安装垫片,全部组装好测好到手能用!
|