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。我也买了28069DRV8305,后来玩了2天,感觉不能习惯它的IDE,于是又改回了stm32。然后看见f3为了st主推的用于电机驱动的mcu,就买了一个f303re的Nucleo-64板子,开始实现foc的算法。大约花了一周的时间实现完了所有程序,然后测试发现,由于f303的主频太低,导致我想在低端导通的的时候adc采样占用了太长的时间影响了pwm的占空比范围,于是我又换成h743,不过我用它调试了2天,发现它的adc的控制,达不到我想要的效果,于是我换成了f446。

电机驱动ic的选择

我买了几种电机驱动ic,比如drv8305drv8353drv8301drv8302。最后选择 drv8301 原因是这货在淘宝上能够买到便宜的板子Orz。

编码器的选择

我买了ams的as5048aas5047as5147。最后在电机架子上安装的as5048a

电机的选择

用的T-MotorU10。这个主要是因为我有这个电机。

编码器的选择

我用的pico2206B虚拟示波器~。唯一感觉遗憾的是,感觉应该买4通道的版本。

电源的选择

我买的是30V30A的可编程的直流稳压电源。