PMSM控制-前言
原因
大约在2018年年中的时候看见了ben katz的博客,对他上面的hopper机器人比较感兴趣,所以开始计划自己实现一个。到了9月份的时候,我开始看SLIP的论文,居然发现那个hopper机器人就是最简单的一维SLIP模型。10月份,在IROS会议上,Sangbae Kim
神秘发布mini cheetah
的视频 ,当时还要求大家不要拍照。然后到了2019年1月份我看见了ben的硕士论文,才知道mini cheetah
是他的硕士毕业论文。顺便这个时候,我结束了hzd与slip算法的学习与实现,于是决定从底层开始做起。开始想先做一个跑阻抗控制的永磁同步电机的电机驱动器。
元件的选择
mcu的选择
一开始,我想用ti的一套实现,原因是我们这里的电机驱动用的MCU为ti的28069
,电机驱动IC用的drv8301
。我也买了28069
和DRV8305
,后来玩了2天,感觉不能习惯它的IDE,于是又改回了stm32。然后看见f3为了st主推的用于电机驱动的mcu,就买了一个f303re的Nucleo-64板子,开始实现foc的算法。大约花了一周的时间实现完了所有程序,然后测试发现,由于f303的主频太低,导致我想在低端导通的的时候adc采样占用了太长的时间影响了pwm的占空比范围,于是我又换成h743,不过我用它调试了2天,发现它的adc的控制,达不到我想要的效果,于是我换成了f446。
电机驱动ic的选择
我买了几种电机驱动ic,比如drv8305
,drv8353
,drv8301
,drv8302
。最后选择 drv8301
原因是这货在淘宝上能够买到便宜的板子Orz。
编码器的选择
我买了ams的as5048a
,as5047
,as5147
。最后在电机架子上安装的as5048a
。
电机的选择
用的T-Motor
的U10
。这个主要是因为我有这个电机。
编码器的选择
我用的pico
的2206B
虚拟示波器~。唯一感觉遗憾的是,感觉应该买4通道的版本。
电源的选择
我买的是30V30A的可编程的直流稳压电源。