基于FOC控制的双电机力矩反馈控制系统
简介
近期做了几个无刷电机项目,在开发过程中对无刷控制有了一些新的认识,看到“稚晖君”的像素级控制,我也萌生了自己做个一个双电机力矩反馈的系统的念头。借立创的“星火计划”搞起来!
简介:近期做了几个无刷电机项目,在开发过程中对无刷控制有了一些新的认识,看到“稚晖君”的像素级控制,我也萌生了自己做个一个双电机力矩反馈的系统的念头。借立创的“星火计划”搞起来!开源协议
:TAPR Open Hardware License
描述
项目说明
采用STM32F722RET6主芯片实现高性能低成本的FOC双电机控制。
通过双电机之间力矩反馈,实现一个电机作为手持端,另一个电机作为执行端的非直接接触式的实时力反馈系统。
B站视频连接:【FOC双电机力矩反馈-哔哩哔哩】 https://b23.tv/6cs9857
开源协议
硬件开源:提供gerber资料,原理图,PCB,BOM;程序烧录hex档,软件代码关注点赞收藏后帖子下面留邮箱,我会发到邮箱。
项目相关功能
本项目主要是为了做一个人手延申产品,可以让执行设备在人手无法到达地方作业时让人手能够实时感受执行设备的力度反馈。比如手术机器人的机械刀部分,医生通过手持端来操作执行端,执行端受到多大的阻力走了多少度行程都可以同步在手持端反馈到操作者的手上。
项目属性
本项目为首次公开,为本人原创项目,项目未曾在别的地方进行比赛或展出。
项目进度
3.10完成电路设计
3.20日完成首版PCB layout
4.10完成首版PCBA样品打样
5.10完成首版软件调试
6.1定稿完成项目
设计原理
主芯片采用STM32F722,做控制算法驱动两路无刷电机。
硬件驱动部分采用高边驱动芯片DRV8300DR+6Nmos的方式,电流采样使用CC6903SO的霍尔电流传感器在高边做inline电流采样。
软件说明
软件上最需要注意的就是磁编码器的SPI时钟频率,尽量用到10Mbps以上
产品到手确认完硬件OK后进行如下步骤的软件编写和调试:
1:屏幕驱动程序,用于一些调试信息显示
2:串口驱动程序,打印调试信息,系统工作输入等功能
3:磁编码器芯片驱动程序,确认磁编码器AS5048A的SPI数据输出正常
4:无刷driver部分的程序,通过电压环输出,可以得到三相上输出电压为程序设定值
5:电流传感器的校准和读取程序,确定电流采样正常
6:完成上述模块的开发和调试后就可以开始编写open loop电机控制程序的编写和调试
7:最终编写闭环的转矩和角度控制的程序,实现双电机的力矩反馈控制
实物展示
样品板加工因为mos管立创要订货不能贴片,我自己买回来,结果用热风枪吹了好久看起来焊接上了,结果测量有管子是坏的,来回折腾好几天愣是没喊好。吐血了要
把手头的15个mos管给zao完了以后,最终又买了20个回来。这次学乖了,直接把mos管翻过来背朝下手工搭线焊接,一次成功,哇哈哈!
设计注意事项
1:打板回来硬件调试发现电源芯片的使能脚悬空了,一直没电。项目资料已更新
2:AS5048A这个磁编码器的SPI时钟速度尽量用到10Mbps以上,用1M,2M会有单个电机抖动问题
3:板子上的mos管千万要贴片加工,不要手工,不要手工,不要手工!!!
其他
演示视频:一个是开环驱动电机的视频,高低转速都很丝滑;另一个是闭环工作实现双电机力矩反馈的控制。指哪打哪哈
工程附件:Gerber,原理图,BOM,hex,立创工程档案
评论