【六轴机械臂 学习连载 】第四章 制作FOC驱动器
本帖最后由 linccfzu 于 2020-10-12 22:33 编辑大家晚上好。
无意间在网上看到这个项目:MIT Mini Cheetah迷你猎豹机器人
于是我就往下找,找到了作品的出处
作者的博客地址:
https://build-its-inprogress.blogspot.com/search/label/Mini%20Cheetah
作者真是一个牛人,里面很多项目都很牛逼
比如这个倒立摆,用的是无刷电机驱动。大家可以看找一下视频,效果非常好,目前结构、硬件开源,软件未开源。
要做这个猎豹机器人难度有点大,这一套下来某宝要好几万,一个MIT机械狗电机关节总成伺服电机要1500。
由于做个把整个项目都开源了,所以就找到了FOC的开源资料,所以就打样一个测试一下:
硬件地址: https://github.com/bgkatz/3phase_integrated
软件地址:https://os.mbed.com/users/benkatz/code/Hobbyking_Cheetah_Compact/
这是打样回来的PCB:
这是器件焊接上去后的效果(mos管可以用便宜的替代):
(降压芯片比较难找,随便找了一个XC6206替换,调试的时候,电容爆了两个,大家调试的时候要小心)
某宝上花几块钱买的二手无刷电机,屁股上用502粘上一个径向磁铁,然后用热熔胶粘在电路板上,(电路板上有磁编码器)。
然后接上串口线、can总线
调试以下,就DIY成功了。
接下去就是分析源代码
由于开源的代码环境是 mbed , 调试使用起来不习惯,可以先把它转换成keil工程
刚开始调试的时候,先做一下编码器标定,看电机正不正常,无刷电机的极对数NPP要设置对。
电流、力矩参数要设置小一点。
主要控制是这五个参数,可以用CAN总线传输数据,也可以自己修改程序用别的方式,
controller->p_des //位置控制
controller->v_des //速度控制
controller->kp //P值参数
controller->kd //d值参数
controller->t_ff //力矩参数
float torque_ref = controller->kp*(controller->p_des - controller->theta_mech) + controller->t_ff + controller->kd*(controller->v_des - controller->dtheta_mech);
最后简单看一下效果:
好了,就分享这些了,不怎么会写,有什么疑问就给我留言吧。
这个控制效果很棒,力矩非常大,我现在在想这东西可以用来干什么,大家集思广益。
精华,打赏! 硬核分享,期待论坛里搞电机的大神点评下 之前也看过这个设计,好像芯片用的F446。作者程序写得很简洁。看起来效果也很不错! 可以做个狗狗玩,顺便淘宝卖卖硬件{:biggrin:},赚点银子给女朋友买双靓丽的鞋{:lol:} 这个是低速大扭距的电机,闭环控制,不知道有没有成品电机卖。 就买云台电机就可以 楼主可以把你的电路和代码开源吗? 目前我也在要研究 是不是意思用楼上已经开源的软硬件,大家跟着学?还是楼主会根据现有开源出相应东西后,大家学。对于们在哪里都不知道的我。六七年前做了个方向盘练驾照玩飞车,但是就是没理解力反馈,罗技方向盘的力反馈,现在跟这个帖子,貌似明白了,力反馈用的就是这个技术。 无刷电机的极对数NPP要设置,在代码哪里修改呢? 顶,效果真的不错 顶,有套件买来可能更方便的
页:
[1]